Site hosted by Angelfire.com: Build your free website today!
E-mail Webmaster
_______________
Navigation

Home
________________
Recent Additions

________________
English Section

TI Graphing Calculators
TI Program Descriptions

TI Programs
TI Programming Keystrokes

Brief User Guides
TI-82
TI-82 Statistics
TI-83 Plus Series

TI-83 Plus Statistics
TI-83 Plus Finance APP
TI-83 Plus Busines & Economics
TI-83 Plus Lin Prog
TI-83 Plus Geometry
TI-89 User Guide
TI-89 Statistics
TI-89 Finance
Arithmetic of  Lists

TI FAQs
For Beginners
More Detailed Page 1
More Detailed Page 2
TI-89 FAQs

Links to  Guidebooks by TI
TI-82
TI-83 Plus

Casio Graphing    Calculator

Casio Program Descriptions

Casio Programs
CFX-9850 & CFX-9750

Brief  Guides

CFX-9850 & CFX-9750
User Manual

Statistics Guide

Casio Programming Keystrokes
________________
Brief Guides Other Calculators
HP 43S Calculator

Scientific Calculators
FAQs for Scientific Calculators

===============

Sección Española

FAQs en Español
FAQs Basicos
Mas Dificil Pagina 1
Mas Dificil Pagina 2

Guías en Espaňol
TI-82 Espanol
TI-82 Estidisticas
TI-83 Plus Espanol
TI-83 Plus Estidisticas
TI-83 Plus Guía Financiera
TI-89 Titanium Guía
TI-89 Estidisticas
TI-89 Guía Financiera

 

Casio Calculadoras

Breve Guía Español
Cfx-9850 & Cfx-9750

Casio FAQs en Espanol

Calculadoras Científicos

FAQs en Espanol
________________
Links
Programs at Other Sites

Links to Tutorials

  

EXTENDED SIMPLEX METHOD FOR CASIO CFX-9850/9860GB PLUS

About this program:  This is a front-end add-on to the program LINPROG that is archived in the Casio CFX-9850Plus calculator.  You must activate LINPROG in order to use this program.  I'll tell you how to do that  later. This add-on sets up the first feasible tableau for mixed inequalities and standard minimization problems and transfers that matrix to Mat A and calls LINPROG to provide the final solution.  This is a pseudo-menu driven program that gives solutions to standard maximization, mixed maximization, or standard minimization problems.  To solve either problem, the appropriate matrix with proper slack variables and objective function must be entered into matrix A.  Appropriate negative slack variables must entered for mixed, or minimization problems.  The objective function must be negative for maximization problems and positive for minimization problems.  Of course, you can solve standard maximization problems by entering the first tableau with appropriate positive slack variables.   

Running the Program:
  Unlike several of my other programs, the student does not participate in this program other than to enter the first tableau into position A and to formulate the first tableau with appropriate negative slack variables and the proper objective function.  I'll give you examples on this after the coding section. 

Memory used and entry time:  This program uses uses 383 bytes of memory and LINPROG uses 617 bytes of memory.  I estimate that it will take about 20 minutes to enter this program by hand and only about 30 seconds to load LINPROG. 

Watch Out!  You may be tempted to change some of the variables or the matrix names in this program.  Just be aware that the variables and matrix names were correlated with the program LINPROG to reduce memory usage, and to make sure that the matrix that is handed over to LINPROG is in the correct matrix position.

SNYTAX NOTE: The symbol => is not equal to or greater than, but is the symbol obtained by [SHIFT], [PRGM],[F3],[F3]. The symbol ∆ is not a triangle, but the symbol obtained by [SHIFT], [PRGM],[F3]. The symbol _| is the button ab/c.

DISCLAIMER:  This program is free, and, therefore, I make no claims about it's efficacy, efficiency, or proper operation.  Version V1.0 was posted on 8/12/03 and V1.1, only a slight revision, was added on 9/30/04. If you find a problem with this program, or can suggest  improvements, please e-mail me at knosummath@aol.com  .

Use of this Program:  You may use this program freely for your own personal use and for the use of other students, but use for publication or any means of profit requires my permission.


Coding

Keystrokes

Comments

cassimplex

 

Program designation

"V1.1 FKizer"

  Version  (9/30/04)

:Lbl 0

   
Mat A→Mat B    

" 1 STD MAX"

  Pseudo Menu

"2 MIXED MAX"

   
"3 STD MIN"    

?→S

 

 

S=1=>Goto 1

   

Dim Mat A

   

List Ans[1→R

 

 

List Ans[2→C

 

 

Mat A→Mat F

 

 

For R→K To C-1

   

Mat→List(Mat F, K)→List 6

   

0→List 6[R

   
0→M    

If Min(List 6) = Sum List 6 And Min(List 6) = -1

   

Then Min (List 6)→M

   

Else Goto 5

   

 IfEnd

   

For 1→N To R-1

   

Min=List 6[N =>N→I

   

Next

   

TrnMatF→Mat T

   

Mat→List(Mat T,I)→List 6

   

0→List 6[C

   

Max(List 6→H

   

:0→K

   

For 1→D To C-1

   

H=List 6[D=>D→J

   
Next    
*Row ((1_|(Mat F[I,J], F, I    

For 1→E To R

   

E≠I=>*Row+((-Mat F[E, J], F, I,E

   
Next    

Lbl 5

   

Next

   

Mat F→Mat A

   

Lbl 1

   

:Prog "LINPROG"

   
Stop    

Loading:  Okay, so how do I load LINPROG?. 
Go to the MENU, select PRGM, and press EXE.  Then press F6; then F5(Load).
Scroll down to U.S.A. and highlight it; then press EXE.  That's give you a list of programs. Scroll down to LINPROG and press EXE.  That'll load the program.  


(Notice that if you want to read any of these decimals in fractions, just scroll over the element you want to read.)
Now for using it:
  Let's do this a maximization problem:
Maximize P = 2x1 +4x2 +3x3
With these constraints:
x1 +3x2 + x3 6
2x1 +2x2 +x3 5
3x1 =x2 +4x3 7

Using slack variables, the first tableau will be this:
| 1   3     1  1  0  0  6|
|2    2     1  0  1  0  5 |
|3    1    4   0  0 1  7 |
|-2  -4  -3   0  0  0 0

Notice that the last row, the objective function, has negative coefficients.  Plug that into matrix A; go to your program and execute it.  At then at the prompt, press 1; then EXE. A message will appear on the screen; them after a few seconds your answer will be displayed.


Note:  Mat F is the working matrix for maximization problems. So if you need to run the matrix again, the original is still in Mat A. Note carefully, however, that the pre-program for minimization problems stores its changes in Mat A for the LINPROG.  But I have included a line in the program to store the original matrix in Mat B.  So, you can get the original matrix back into Mat A by going to the run screen and doing the following: 
Mat BMat A, EXE.
Note carefully, however, that if you run a mixed or minimization problem twice in succession without performing the above operation, on the second run
will store the solve matrix in Mat B, and you will have to re-enter your matrix in Mat A.

Standard M
inimization problem: (Be sure you know what standard minimization means.)
Minimize w= 3y1 +2y2
With these constraints:
y1 + 3y2 ≥6
2y1 + y2 ≥3

We can look at this problem like this:
Maximize:  z = -w= -3y1 - 2y2
Subject to:y1 + 3y2 ≥6
                   2y1 + y2 ≥3

So, our first tableau is this:
| 1   3    -1   0  |6
| 2   1     0  -1  |3
|3    2     0   0  |0
Notice that in this minimization problem, the objective function has positive numbers and the slack variables are negative..

Enter that into matrix A; execute the program and enter 3 at the prompt, ?, and press EXE.  The display will be  this:
|  0    1  - 0.4   0.2    1.8 |
|  1   0    0.2  -0.6     0.6 |
|  0   0    0.2   1.4     -5.4|

Notice that -5.4 is the negative of the minimum, 5.4, and that y1 = 0.6 and y2 = 1.8.

Mixed ≤ and ≥ problem:
Maximize:    Z= 120x1 + 40x2 + 60x3
Subject To: 
x1 +x2 + x3 ≤ 100
400x1+160x2+280x3≤20000
x1 +x2 +x3 ≥60

Using slack variables, the first tableau will be this: (Note the signs carefully.)
| 1      1      1    1  0  0  |100
|400 160  280  0  1  0  |20000
|1        1    1     0  0 -1 | 60
|-120  -40  -60   0  0  0| 0

Enter that into matrix A; execute the program and enter 2 at the prompt, ?, and press EXE.  The display will be  this:
| 0      0      0    1       0           1           40
| 1      0     0.5  0   4.1E-3    0.6666     43.3333
| 0      1     0.5  0    -4E-3     -1.666      16.666
| 0      0     20   0     0.333    13.333     5866.6

                     


Last Revised: 9/30/04