Opening the transcript file "output". MATMAN, version 1.58 Last modified on 30 January 1996. This is the matrix manipulator, an interactive program which carries out elementary row operations on a matrix, or the simplex method of linear programming. This program was developed by Charles Cullen and John Burkardt. All rights reserved by the authors. This program may not be reproduced in any form without written permission. Special thanks to Jeff Borggaard for suggestions. Send comments to burkardt@icam.vt.edu. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Turn off paging. # $ Paging turned OFF. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Get a brief list of legal commands. # h C I,J,S changes matrix entry I, J to S. E enters a matrix to work on. HELP for full help. L switches to linear programming. O checks if the matrix is row reduced. Q quits. Z automatic row reduction (requires password). ? for interactive help. R1 <=> R2 interchanges two rows R1 <= S R1 multiplies a row by S. R1 <= R1 + S R2 adds a multiple of another row. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Get the full list of legal commands. # help Here is a list of all MATMAN commands: A Add S times row I to row J. B Set up sample problem. BASIC I, J changes basic variable I to J. C Change entry I, J to S. D/M Divide/Multiply row I by S. DET Print the determinant of the matrix. E Enter matrix with I rows and J columns. E Enter linear program, I constraints, J variables. EDET Print ERO determinant. F Choose arithmetic (Real, Fraction, or Decimal). G Add/delete a row or column of the matrix. H for quick help. HELP for full help (this list). I Interchange rows I and J. J Jacobi rotation in (I,J) plane. K Open/close the transcript file. L To switch between linear algebra and linear programming. N Set the number of decimal digits. O Check matrix for reduced row echelon form. O Check linear program tableau for optimality. P Pivot linear program, entering I, departing J. Q Quit. S/R Store/Restore matrix or tableau. T Type out the matrix TR Transpose the matrix. TS Type linear programming solution. U Undo last operation. V Remove LP artificial variables. W/X Write/read example to/from file. Y Turn automatic printing ON or OFF. Z Automatic operation (requires password). # Begins a comment line. < Get input from a file. %/$ Turn paging on/off. R1 <=> R2 interchanges two rows R1 <= S R1 multiplies a row by S. R1 <= R1 + S R2 adds a multiple of another row. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Work in fractional arithmetic. # rational You are already using the arithmetic type that you have requested. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Enter a 3 by 3 matrix. # e Enter number of rows, number of columns. 3,3 Enter entries 1 to 3 of row 1 1,2,3 Enter entries 1 to 3 of row 2 4,5,6 Enter entries 1 to 3 of row 3 7,8,11 A copy of this matrix is being saved. The "R" command can bring it back. The current matrix: 1 2 3 4 5 6 7 8 11 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Interchange rows 1 and 3 # r1 <=> r3 ERO: Row 1 <=> Row 3 The current matrix: 7 8 11 4 5 6 1 2 3 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Divide row 1 by 7 # r1 <= r1/7 ERO: Row 1 <= Row 1 / 7 The current matrix: 1 8 11 7 7 4 5 6 1 2 3 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Add -4 times row 1 to row 2, # Add -1 times row 1 to row 3. # r2 <= r2 - 4 r1 ERO: Row 2 <= -4 Row 1 + Row 2 The current matrix: 1 8 11 7 7 0 3 -2 7 7 1 2 3 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r3 <= r3 - 1 r1 ERO: Row 3 <= -1 Row 1 + Row 3 The current matrix: 1 8 11 7 7 0 3 -2 7 7 0 6 10 7 7 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Interchange rows 2 and 3 # and divide row 2 by 6/7. # r2 <=> r3 ERO: Row 2 <=> Row 3 The current matrix: 1 8 11 7 7 0 6 10 7 7 0 3 -2 7 7 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r2 <= r2 / 6/7 ERO: Row 2 <= Row 2 / (6/7) The current matrix: 1 8 11 7 7 0 1 5 3 0 3 -2 7 7 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Add -8/7 times row 2 to row 1, # Add -3/7 times row 2 to row 3. # r1 <= r1 - 8/7 r2 ERO: Row 1 <= -8/7 Row 2 + Row 1 The current matrix: 1 0 -1 3 0 1 5 3 0 3 -2 7 7 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r3 <= r3 - 3/7 r2 ERO: Row 3 <= -3/7 Row 2 + Row 3 The current matrix: 1 0 -1 3 0 1 5 3 0 0 -1 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Check for row reduced echelon form. # o This matrix is NOT in row echelon form. The first nonzero entry in row 3 which occurs in column 3 is -1 rather than 1. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Divide row 3 by -1 # r3 <= - r3 ERO: Row 3 <= -1 Row 3 The current matrix: 1 0 -1 3 0 1 5 3 0 0 1 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Add 1/3 row 3 to row 1 # Add -5/3 row 3 to row 2 # r1 <= r1 + 1/3 r3 ERO: Row 1 <= 1/3 Row 3 + Row 1 The current matrix: 1 0 0 0 1 5 3 0 0 1 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r2 <= r2 -5/3 r3 ERO: Row 2 <= -5/3 Row 3 + Row 2 The current matrix: 1 0 0 0 1 0 0 0 1 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Consider another matrix # e Enter number of rows, number of columns. 3,3 Enter entries 1 to 3 of row 1 1,2,3 Enter entries 1 to 3 of row 2 4,5,6 Enter entries 1 to 3 of row 3 7,8,9 A copy of this matrix is being saved. The "R" command can bring it back. The current matrix: 1 2 3 4 5 6 7 8 9 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Request automatic conversion to row reduced echelon form. # z Enter authorization key for "Z" command. 31984 Authorization confirmed. ERO: Row 3 <=> Row 1 ERO: Row 1 <= Row 1 / 7 ERO: Row 2 <= -4 Row 1 + Row 2 ERO: Row 3 <= -1 Row 1 + Row 3 ERO: Row 3 <=> Row 2 ERO: Row 2 <= Row 2 / (6/7) ERO: Row 1 <= -8/7 Row 2 + Row 1 ERO: Row 3 <= -3/7 Row 2 + Row 3 The current matrix: 1 0 -1 0 1 2 0 0 0 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Restore the original matrix. # r The saved matrix has been restored. The current matrix: 1 2 3 4 5 6 7 8 9 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Insert a new row at row position 3. # g +r3 Enter entries 1 to 3 of row 3 6.1, 6.2, 6.3 The current matrix: 1 2 3 4 5 6 61 31 63 10 5 10 7 8 9 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Change entry 3,2 to 77 # c 3,2 77 Change entry 3, 2 to 77 The current matrix: 1 2 3 4 5 6 61 77 63 10 10 7 8 9 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Remove column 2. # g -c2 The column has been deleted! The current matrix: 1 3 4 6 61 63 10 10 7 9 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Get the determinant test matrix # b d The following examples are available: "D" for determinant; "E" for eigenvalues; "I" for inverse; "S" for linear solve. "C" to cancel. Enter number of rows desired. 4 The current matrix: 1 2 3 4 2 2 3 4 3 3 3 4 4 4 4 4 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) det The determinant is -4 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Repeat work in real arithmetic. # real Converting to real arithmetic. Note: Real arithmetic can be inaccurate. In particular, a singular matrix may be incorrectly found to be nonsingular. The current matrix: 1. 2. 3. 4. 2. 2. 3. 4. 3. 3. 3. 4. 4. 4. 4. 4. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) e Enter number of rows, number of columns. 3,3 Enter entries 1 to 3 of row 1 1,2,3 Enter entries 1 to 3 of row 2 4,5,6 Enter entries 1 to 3 of row 3 7,8,11 A copy of this matrix is being saved. The "R" command can bring it back. The current matrix: 1. 2. 3. 4. 5. 6. 7. 8. 11. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # r1 <=> r3 ERO: Row 1 <=> Row 3 The current matrix: 7. 8. 11. 4. 5. 6. 1. 2. 3. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r1 <= r1/7 ERO: Row 1 <= Row 1 / 7.000000 The current matrix: 1.0000000 1.1428570 1.5714290 4.0000000 5.0000000 6.0000000 1.0000000 2.0000000 3.0000000 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r2 <= r2 -4 r1 ERO: Row 2 <= -4.000000 Row 1 + Row 2 The current matrix: 1.0000000 1.1428570 1.5714290 .0000000 .4285712 -.2857141 1.0000000 2.0000000 3.0000000 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r3 <= r3 - r1 ERO: Row 3 <= -1.000000 Row 1 + Row 3 The current matrix: 1.0000000 1.1428570 1.5714290 .0000000 .4285712 -.2857141 .0000000 .8571428 1.4285710 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r2 <=> r3 ERO: Row 2 <=> Row 3 The current matrix: 1.0000000 1.1428570 1.5714290 .0000000 .8571428 1.4285710 .0000000 .4285712 -.2857141 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r2 <= r2 / 0.8571428 ERO: Row 2 <= Row 2 / .8571428 The current matrix: 1.0000000 1.1428570 1.5714290 .0000000 1.0000000 1.6666670 .0000000 .4285712 -.2857141 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r3 <= r3 - 0.4285712 r2 ERO: Row 3 <= -.4285712 Row 2 + Row 3 The current matrix: 1.0000000 1.1428570 1.5714290 .0000000 1.0000000 1.6666670 .0000000 .0000000 -.9999996 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r3 <= r3 / -0.9999996 ERO: Row 3 <= Row 3 / -.9999996 The current matrix: 1.0000000 1.1428570 1.5714290 .0000000 1.0000000 1.6666670 .0000000 .0000000 1.0000000 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # o This matrix is NOT in row echelon form. The first nonzero entry in row 3 which occurs in column 2 is -.2980234E-07 rather than 1. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # OK, cheat and force the entry to be zero. # c 3,2 0.0 Change entry 3, 2 to .0000000 Warning! Changing the matrix has probably made the ERO determinant incorrect. Do not rely on it! The current matrix: 1.0000000 1.1428570 1.5714290 .0000000 1.0000000 1.6666670 .0000000 .0000000 1.0000000 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) o This matrix is in row echelon form. This matrix is NOT in reduced row echelon form. Row 2 has its leading 1 in column 2 This means that all other entries of that column should be zero. But the entry in row 1 is 1.142857 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # e Enter number of rows, number of columns. 3,3 Enter entries 1 to 3 of row 1 1,2,3 Enter entries 1 to 3 of row 2 4,5,6 Enter entries 1 to 3 of row 3 7,8,9 A copy of this matrix is being saved. The "R" command can bring it back. The current matrix: 1. 2. 3. 4. 5. 6. 7. 8. 9. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) z ERO: Row 3 <=> Row 1 ERO: Row 1 <= Row 1 / 7.000000 ERO: Row 2 <= -4.000000 Row 1 + Row 2 ERO: Row 3 <= -1.000000 Row 1 + Row 3 ERO: Row 3 <=> Row 2 ERO: Row 2 <= Row 2 / .8571428 ERO: Row 1 <= -1.142857 Row 2 + Row 1 ERO: Row 3 <= -.4285712 Row 2 + Row 3 ERO: Row 3 <= Row 3 / .3746578E-06 ERO: Row 1 <= 1.000000 Row 3 + Row 1 ERO: Row 2 <= -2.000000 Row 3 + Row 2 The current matrix: 1. 0. 0. 0. 1. 0. 0. 0. 1. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # r The saved matrix has been restored. The current matrix: 1. 2. 3. 4. 5. 6. 7. 8. 9. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) g +r3 Enter entries 1 to 3 of row 3 6.1, 6.2, 6.3 The current matrix: 1.0000000 2.0000000 3.0000000 4.0000000 5.0000000 6.0000000 6.1000000 6.2000000 6.3000000 7.0000000 8.0000000 9.0000000 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) c 3,2 77 Change entry 3, 2 to 77.00000 The current matrix: 1.0000000 2.0000000 3.0000000 4.0000000 5.0000000 6.0000000 6.1000000 77.0000000 6.3000000 7.0000000 8.0000000 9.0000000 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) g -c2 The column has been deleted! The current matrix: 1.0000000 3.0000000 4.0000000 6.0000000 6.1000000 6.3000000 7.0000000 9.0000000 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Get the determinant test matrix # b d The following examples are available: "D" for determinant; "E" for eigenvalues; "I" for inverse; "S" for linear solve. "C" to cancel. Enter number of rows desired. 4 The current matrix: 1. 2. 3. 4. 2. 2. 3. 4. 3. 3. 3. 4. 4. 4. 4. 4. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) det The determinant is -4.000000 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Repeat work in decimal arithmetic. # # # Set number of digits to 5 # n 5 How many decimal places should be used in converting real results to a decimal? 1 means 123.45 becomes 1 * 10**2 2 means 123.45 becomes 12 * 10**1 3 means 123.45 becomes 123 and so on. The number of decimal digits will now be 5 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Change to decimal arithmetic. # decimal Converting to decimal arithmetic. Note: The representation of decimals is exact. However, this representation will break down if any exponent becomes too large or small. Calculations with decimals are NOT exact. The current matrix: 1 2 3 4 2 2 3 4 3 3 3 4 4 4 4 4 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Enter the test matrix. # e Enter number of rows, number of columns. 3,3 Enter entries 1 to 3 of row 1 1,2,3 Enter entries 1 to 3 of row 2 4,5,6 Enter entries 1 to 3 of row 3 7,8,11 A copy of this matrix is being saved. The "R" command can bring it back. The current matrix: 1 2 3 4 5 6 7 8 11 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r1 <= r3 ERO: Row 1 <=> Row 3 The current matrix: 7 8 11 4 5 6 1 2 3 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r1 <= r1/7 ERO: Row 1 <= Row 1 / 7 The current matrix: 1 1.1429 1.5714 4 5 6 1 2 3 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r2 <= r2 - 4 r1 ERO: Row 2 <= -4 Row 1 + Row 2 The current matrix: 1 1.1429 1.5714 0 0.4284 -0.2856 1 2 3 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r3 <= r3 - r1 ERO: Row 3 <= -1 Row 1 + Row 3 The current matrix: 1 1.1429 1.5714 0 0.4284 -0.2856 0 0.8571 1.4286 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r2 <=> r3 ERO: Row 2 <=> Row 3 The current matrix: 1 1.1429 1.5714 0 0.8571 1.4286 0 0.4284 -0.2856 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r2 <= r2 / 0.8571 ERO: Row 2 <= Row 2 / 0.8571 The current matrix: 1 1.1429 1.5714 0 1 1.6668 0 0.4284 -0.2856 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r3 <= r3 - 0.4284 r2 ERO: Row 3 <= -0.4284 Row 2 + Row 3 The current matrix: 1 1.1429 1.5714 0 1 1.6668 0 0 -0.99966 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r3 <= r3 / -0.99966 ERO: Row 3 <= Row 3 / -0.99966 The current matrix: 1 1.1429 1.5714 0 1 1.6668 0 0 1 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # o This matrix is in row echelon form. This matrix is NOT in reduced row echelon form. Row 2 has its leading 1 in column 2 This means that all other entries of that column should be zero. But the entry in row 1 is 1.1429 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # e Enter number of rows, number of columns. 3,3 Enter entries 1 to 3 of row 1 1,2,3 Enter entries 1 to 3 of row 2 4,5,6 Enter entries 1 to 3 of row 3 7,8,9 A copy of this matrix is being saved. The "R" command can bring it back. The current matrix: 1 2 3 4 5 6 7 8 9 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) z ERO: Row 3 <=> Row 1 ERO: Row 1 <= Row 1 / 7 ERO: Row 2 <= -4 Row 1 + Row 2 ERO: Row 3 <= -1 Row 1 + Row 3 ERO: Row 3 <=> Row 2 ERO: Row 2 <= Row 2 / 0.8571 ERO: Row 1 <= -1.1429 Row 2 + Row 1 ERO: Row 3 <= -0.4284 Row 2 + Row 3 ERO: Row 3 <= Row 3 / 0.00036 ERO: Row 1 <= 1.0002 Row 3 + Row 1 ERO: Row 2 <= -2.0001 Row 3 + Row 2 The current matrix: 1 0 0 0 1 0 0 0 1 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # r The saved matrix has been restored. The current matrix: 1 2 3 4 5 6 7 8 9 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) g +r3 Enter entries 1 to 3 of row 3 6.1, 6.2, 6.3 The current matrix: 1 2 3 4 5 6 6.1 6.2 6.3 7 8 9 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) c 3,2 77 Change entry 3, 2 to 77 Warning! Changing the matrix has probably made the ERO determinant incorrect. Do not rely on it! The current matrix: 1 2 3 4 5 6 6.1 77 6.3 7 8 9 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) g -c2 The column has been deleted! The current matrix: 1 3 4 6 6.1 6.3 7 9 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Get the determinant test matrix # b d The following examples are available: "D" for determinant; "E" for eigenvalues; "I" for inverse; "S" for linear solve. "C" to cancel. Enter number of rows desired. 4 The current matrix: 1 2 3 4 2 2 3 4 3 3 3 4 4 4 4 4 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) det The determinant is -4 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Work in real arithmetic # real Converting to real arithmetic. The current matrix: 1. 2. 3. 4. 2. 2. 3. 4. 3. 3. 3. 4. 4. 4. 4. 4. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Get the sample matrix for the Jacobi method. # b e The following examples are available: "D" for determinant; "E" for eigenvalues; "I" for inverse; "S" for linear solve. "C" to cancel. Eigenvalue problem We have a 4 by 4 symmetric matrix, whose eigenvalues are 10, 5, 2, and 1. Use the "J" command to reduce it to diagonal form. Be sure to use real arithmetic! The current matrix: 5. 4. 1. 1. 4. 5. 1. 1. 1. 1. 4. 2. 1. 1. 2. 4. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Use Jacobi rotations. # j 1,2 The current matrix 5. 4. 1. 1. 4. 5. 1. 1. 1. 1. 4. 2. 1. 1. 2. 4. The current matrix .9999999 .0000000 .0000000 .0000000 .0000000 8.9999990 1.4142140 1.4142140 .0000000 1.4142140 4.0000000 2.0000000 .0000000 1.4142140 2.0000000 4.0000000 Enter row I, column J, or "Q" to quit. 3,2 The current matrix .9999999 .0000000 .0000000 .0000000 .0000000 9.3722800 .0000001 1.8767610 .0000000 .0000001 3.6277190 1.5740920 .0000000 1.8767610 1.5740920 4.0000000 Enter row I, column J, or "Q" to quit. 4,2 The current matrix .9999999 .0000000 .0000000 .0000000 .0000000 9.9629650 .4725705 .0000000 .0000000 .4725704 3.6277190 1.5014810 .0000000 .0000001 1.5014810 3.4093150 Enter row I, column J, or "Q" to quit. 4,3 The current matrix .9999999 .0000000 .0000000 .0000000 .0000000 9.9629650 .3460651 -.3218102 .0000000 .3460652 5.0239630 -.0000003 .0000000 -.3218100 -.0000001 2.0130700 Enter row I, column J, or "Q" to quit. 3,2 The current matrix .9999999 .0000000 .0000000 .0000000 .0000000 9.9870960 -.0000001 -.3210307 .0000000 .0000001 4.9998330 .0223843 .0000000 -.3210306 .0223844 2.0130700 Enter row I, column J, or "Q" to quit. 4,2 The current matrix .9999999 .0000000 .0000000 .0000000 .0000000 9.9999990 -.0008991 -.0000001 .0000000 -.0008989 4.9998330 .0223662 .0000000 .0000001 .0223664 2.0001670 Enter row I, column J, or "Q" to quit. 4,3 The current matrix .9999999 .0000000 .0000000 .0000000 .0000000 9.9999990 -.0008991 .0000066 .0000000 -.0008989 5.0000000 -.0000001 .0000000 .0000068 .0000001 2.0000000 Enter row I, column J, or "Q" to quit. 3,2 The current matrix .9999999 .0000000 .0000000 .0000000 .0000000 9.9999990 -.0000001 .0000066 .0000000 .0000001 5.0000000 -.0000001 .0000000 .0000068 .0000001 2.0000000 Enter row I, column J, or "Q" to quit. q Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Switch to Linear Programming mode, # and don't save the current matrix. # l Switching to linear programming mode. Enter "Y" to use current matrix in linear programming. n Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Work in fractional arithmetic # rational Converting to fractional arithmetic. Note: The representation of fractions is exact. Calculations with fractions are exact. However, this representation will break down if any numerator or denominator becomes larger than the maximum legal integer, 2,147,483,647. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Get the "simple" linear programming example. # b s The following examples are available: "S" a simple linear programming problem; "A" an advanced linear programming problem. "C" to cancel. Simple linear programming problem: Maximize: Z=120 X + 100 Y + 70 subject to 2 X + 2 Y < 8 5 X + 3 Y < 15 The linear programming tableau: 1 2 3 4 P C X3 2 2 1 0 0 8 X4 5 3 0 1 0 15 Obj -120 -100 0 0 1 70 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Get a brief list of linear programming commands. # h C I, J, S changes tableau entry I, J to S. E Enters a tableau to work on. HELP for full help. L switches to linear algebra. O checks if the solution is optimal. P I, J performs a pivot operation. Q quits. TS types the linear programming solution. V removes artificial variables. Z automatic solution (requires password). ? interactive help. R1 <=> R2 interchanges two rows R1 <= S R1 multiplies a row by S. R1 <= R1 + S R2 adds a multiple of another row. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Pivot on the first variable and second row. # p 1,2 Objective row 1 2 3 4 P C Obj -120 -100 0 0 1 70 Variable with most negative objective coefficient? The entering variable is 1 Variable with smallest nonnegative feasibility ratio? Nonnegative feasibility ratios: Row 1, variable 3, ratio = 4.00000 Row 2, variable 4, ratio = 3.00000 The departing variable is 4 with feasibility ratio 3.000000 ERO: Row 2 <= Row 2 / 5 ERO: Row 1 <= -2 Row 2 + Row 1 ERO: Row 3 <= 120 Row 2 + Row 3 The objective changed from 70 to 430 The linear programming tableau: 1 2 3 4 P C X3 0 4 1 -2 0 2 5 5 X1 1 3 0 1 0 3 5 5 Obj 0 -28 0 24 1 430 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Pivot on the second variable, first row. # p 2,1 Objective row 1 2 3 4 P C Obj 0 -28 0 24 1 430 Variable with most negative objective coefficient? The entering variable is 2 Variable with smallest nonnegative feasibility ratio? Nonnegative feasibility ratios: Row 1, variable 3, ratio = 2.50000 = 5/2 Row 2, variable 1, ratio = 5.00000 The departing variable is 3 with feasibility ratio 2.500000 ERO: Row 1 <= Row 1 / (4/5) ERO: Row 2 <= -3/5 Row 1 + Row 2 ERO: Row 3 <= 28 Row 1 + Row 3 The objective changed from 430 to 500 The linear programming tableau: 1 2 3 4 P C X2 0 1 5 -1 0 5 4 2 2 X1 1 0 -3 1 0 3 4 2 2 Obj 0 0 35 10 1 500 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Check for optimality. # o Optimality test Are all objective entries nonnegative? Yes. The current solution is optimal. The linear programming solution: 1 2 3 4 3 5 0 0 2 2 Objective = 500 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Repeat work in real arithmetic # real Converting to real arithmetic. The linear programming tableau: 1 2 3 4 P X2 .0000000 1.0000000 1.2500000 -.5000000 .0000000 X1 1.0000000 .0000000 -.7500000 .5000000 .0000000 Obj .0000000 .0000000 35.0000000 10.0000000 1.0000000 C X2 2.5000000 X1 1.5000000 Obj 500.0000000 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) b s The following examples are available: "S" a simple linear programming problem; "A" an advanced linear programming problem. "C" to cancel. Simple linear programming problem: Maximize: Z=120 X + 100 Y + 70 subject to 2 X + 2 Y < 8 5 X + 3 Y < 15 The linear programming tableau: 1 2 3 4 P C X3 2. 2. 1. 0. 0. 8. X4 5. 3. 0. 1. 0. 15. Obj -120. -100. 0. 0. 1. 70. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) p 1,2 Objective row 1 2 3 4 P C Obj -120. -100. 0. 0. 1. 70. Variable with most negative objective coefficient? The entering variable is 1 Variable with smallest nonnegative feasibility ratio? Nonnegative feasibility ratios: Row 1, variable 3, ratio = 4.00000 Row 2, variable 4, ratio = 3.00000 The departing variable is 4 with feasibility ratio 3.000000 ERO: Row 2 <= Row 2 / 5.000000 ERO: Row 1 <= -2.000000 Row 2 + Row 1 ERO: Row 3 <= 120.0000 Row 2 + Row 3 The objective changed from 70.00000 to 430.0000 The linear programming tableau: 1 2 3 4 P X3 .0000000 .8000000 1.0000000 -.4000000 .0000000 X1 1.0000000 .6000000 .0000000 .2000000 .0000000 Obj .0000000 -28.0000000 .0000000 24.0000000 1.0000000 C X3 2.0000000 X1 3.0000000 Obj 430.0000000 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) p 2,1 Objective row 1 2 3 4 P Obj .0000000 -28.0000000 .0000000 24.0000000 1.0000000 C Obj 430.0000000 Variable with most negative objective coefficient? The entering variable is 2 Variable with smallest nonnegative feasibility ratio? Nonnegative feasibility ratios: Row 1, variable 3, ratio = 2.50000 Row 2, variable 1, ratio = 5.00000 The departing variable is 3 with feasibility ratio 2.500000 ERO: Row 1 <= Row 1 / .8000000 ERO: Row 2 <= -.6000000 Row 1 + Row 2 ERO: Row 3 <= 28.00000 Row 1 + Row 3 The objective changed from 430.0000 to 500.0000 The linear programming tableau: 1 2 3 4 P X2 .0000000 1.0000000 1.2500000 -.5000001 .0000000 X1 1.0000000 .0000000 -.7500001 .5000001 .0000000 Obj .0000000 .0000000 35.0000000 10.0000000 1.0000000 C X2 2.5000000 X1 1.5000000 Obj 500.0000000 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) o Optimality test Are all objective entries nonnegative? Yes. The current solution is optimal. The linear programming solution: 1 2 3 4 1.5000000 2.5000000 .0000000 .0000000 Objective = 500.0000 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Repeat work in decimal arithmetic # decimal Converting to decimal arithmetic. The linear programming tableau: 1 2 3 4 P C X2 0 1 1.25 -0.5 0 2.5 X1 1 0 -0.75 0.5 0 1.5 Obj 0 0 35 10 1 500 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) b s The following examples are available: "S" a simple linear programming problem; "A" an advanced linear programming problem. "C" to cancel. Simple linear programming problem: Maximize: Z=120 X + 100 Y + 70 subject to 2 X + 2 Y < 8 5 X + 3 Y < 15 The linear programming tableau: 1 2 3 4 P C X3 2 2 1 0 0 8 X4 5 3 0 1 0 15 Obj -120 -100 0 0 1 70 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) p 1,2 Objective row 1 2 3 4 P C Obj -120 -100 0 0 1 70 Variable with most negative objective coefficient? The entering variable is 1 Variable with smallest nonnegative feasibility ratio? Nonnegative feasibility ratios: Row 1, variable 3, ratio = 4.00000 Row 2, variable 4, ratio = 3.00000 The departing variable is 4 with feasibility ratio 3.000000 ERO: Row 2 <= Row 2 / 5 ERO: Row 1 <= -2 Row 2 + Row 1 ERO: Row 3 <= 120 Row 2 + Row 3 The objective changed from 70 to 430 The linear programming tableau: 1 2 3 4 P C X3 0 0.8 1 -0.4 0 2 X1 1 0.6 0 0.2 0 3 Obj 0 -28 0 24 1 430 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) p 2,1 Objective row 1 2 3 4 P C Obj 0 -28 0 24 1 430 Variable with most negative objective coefficient? The entering variable is 2 Variable with smallest nonnegative feasibility ratio? Nonnegative feasibility ratios: Row 1, variable 3, ratio = 2.50000 Row 2, variable 1, ratio = 5.00000 The departing variable is 3 with feasibility ratio 2.500000 ERO: Row 1 <= Row 1 / 0.8 ERO: Row 2 <= -0.6 Row 1 + Row 2 ERO: Row 3 <= 28 Row 1 + Row 3 The objective changed from 430 to 500 The linear programming tableau: 1 2 3 4 P C X2 0 1 1.25 -0.5 0 2.5 X1 1 0 -0.75 0.5 0 1.5 Obj 0 0 35 10 1 500 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) o Optimality test Are all objective entries nonnegative? Yes. The current solution is optimal. The linear programming solution: 1 2 3 4 1.5 2.5 0 0 Objective = 500 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Work in fractional arithmetic # rational Converting to fractional arithmetic. The linear programming tableau: 1 2 3 4 P C X2 0 1 5 -1 0 5 4 2 2 X1 1 0 -3 1 0 3 4 2 2 Obj 0 0 35 10 1 500 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Get the "advanced" linear programming example. # b a The following examples are available: "S" a simple linear programming problem; "A" an advanced linear programming problem. "C" to cancel. Advanced linear programming problem: Maximize Z=40 X + 30 Y subject to X + 2 Y > 6 2 X + Y > 4 X + Y < 5 2 X + Y < 8 The linear programming tableau: 1 2 3 4 5 6 7 8 P C X7 1 2 -1 0 0 0 1 0 0 6 X8 2 1 0 -1 0 0 0 1 0 4 X5 1 1 0 0 1 0 0 0 0 5 X6 2 1 0 0 0 1 0 0 0 8 Obj2 0 0 0 0 0 0 1 1 1 0 Obj -40 -30 0 0 0 0 0 0 1 0 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Automatically handle it. # z The objective entry in column 7 is not zero, but this corresponds to a basic variable. ERO: Row 5 <= -1 Row 1 + Row 5 The objective entry in column 8 is not zero, but this corresponds to a basic variable. ERO: Row 5 <= -1 Row 2 + Row 5 The entering variable is 2 The departing variable is 7 with feasibility ratio 3.000000 ERO: Row 1 <= Row 1 / 2 ERO: Row 2 <= -1 Row 1 + Row 2 ERO: Row 3 <= -1 Row 1 + Row 3 ERO: Row 4 <= -1 Row 1 + Row 4 ERO: Row 5 <= 3 Row 1 + Row 5 The objective changed from -10 to -1 The entering variable is 1 The departing variable is 8 with feasibility ratio .6666667 ERO: Row 2 <= Row 2 / (3/2) ERO: Row 1 <= -1/2 Row 2 + Row 1 ERO: Row 3 <= -1/2 Row 2 + Row 3 ERO: Row 4 <= -3/2 Row 2 + Row 4 ERO: Row 5 <= 3/2 Row 2 + Row 5 The objective changed from -1 to 0 Optimality test Are all objective entries nonnegative? Yes. The current solution is optimal. The linear programming solution: 1 2 3 4 5 6 7 8 2 8 0 0 5 4 0 0 3 3 3 Objective = 0 This problem has artificial variables. Use the "V" command to remove them. The linear programming tableau: 1 2 3 4 5 6 7 8 P C X2 0 1 -2 1 0 0 2 -1 0 8 3 3 3 3 3 X1 1 0 1 -2 0 0 -1 2 0 2 3 3 3 3 3 X5 0 0 1 1 1 0 -1 -1 0 5 3 3 3 3 3 X6 0 0 0 1 0 1 0 -1 0 4 Obj2 0 0 0 0 0 0 1 1 1 0 Obj -40 -30 0 0 0 0 0 0 1 0 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Remove artificial variables. # v All the artificial variables were deleted. The original objective function is restored. You must now use the "A" command to zero out objective row entries for all basic variables. The linear programming tableau: 1 2 3 4 5 6 P C X2 0 1 -2 1 0 0 0 8 3 3 3 X1 1 0 1 -2 0 0 0 2 3 3 3 X5 0 0 1 1 1 0 0 5 3 3 3 X6 0 0 0 1 0 1 0 4 Obj -40 -30 0 0 0 0 1 0 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Eliminate the nonzero objective row entries associated with # the basic variables, X1 and X2. # r5 <= r5 + 40 r2 ERO: Row 5 <= 40 Row 2 + Row 5 The linear programming tableau: 1 2 3 4 5 6 P C X2 0 1 -2 1 0 0 0 8 3 3 3 X1 1 0 1 -2 0 0 0 2 3 3 3 X5 0 0 1 1 1 0 0 5 3 3 3 X6 0 0 0 1 0 1 0 4 Obj 0 -30 40 -80 0 0 1 80 3 3 3 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r5 <= r5 + 30 r1 ERO: Row 5 <= 30 Row 1 + Row 5 The linear programming tableau: 1 2 3 4 5 6 P C X2 0 1 -2 1 0 0 0 8 3 3 3 X1 1 0 1 -2 0 0 0 2 3 3 3 X5 0 0 1 1 1 0 0 5 3 3 3 X6 0 0 0 1 0 1 0 4 Obj 0 0 -20 -50 0 0 1 320 3 3 3 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Reapply the simplex method to the new tableau. # z The entering variable is 4 The departing variable is 6 with feasibility ratio 4.000000 ERO: Row 1 <= -1/3 Row 4 + Row 1 ERO: Row 2 <= 2/3 Row 4 + Row 2 ERO: Row 3 <= -1/3 Row 4 + Row 3 ERO: Row 5 <= 50/3 Row 4 + Row 5 The objective changed from 320/3 = 106.6667 to 520/3 = 173.3333 The entering variable is 3 The departing variable is 5 with feasibility ratio 1.000000 ERO: Row 3 <= Row 3 / (1/3) ERO: Row 1 <= 2/3 Row 3 + Row 1 ERO: Row 2 <= -1/3 Row 3 + Row 2 ERO: Row 5 <= 20/3 Row 3 + Row 5 The objective changed from 520/3 = 173.3333 to 180 Optimality test Are all objective entries nonnegative? Yes. The current solution is optimal. The linear programming solution: 1 2 3 4 5 6 3 2 1 4 0 0 Objective = 180 The linear programming tableau: 1 2 3 4 5 6 P C X2 0 1 0 0 2 -1 0 2 X1 1 0 0 0 -1 1 0 3 X3 0 0 1 0 3 -1 0 1 X4 0 0 0 1 0 1 0 4 Obj 0 0 0 0 20 10 1 180 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Repeat work in real arithmetic # real Converting to real arithmetic. The linear programming tableau: 1 2 3 4 5 6 P C X2 0. 1. 0. 0. 2. -1. 0. 2. X1 1. 0. 0. 0. -1. 1. 0. 3. X3 0. 0. 1. 0. 3. -1. 0. 1. X4 0. 0. 0. 1. 0. 1. 0. 4. Obj 0. 0. 0. 0. 20. 10. 1. 180. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) b a The following examples are available: "S" a simple linear programming problem; "A" an advanced linear programming problem. "C" to cancel. Advanced linear programming problem: Maximize Z=40 X + 30 Y subject to X + 2 Y > 6 2 X + Y > 4 X + Y < 5 2 X + Y < 8 The linear programming tableau: 1 2 3 4 5 6 7 8 P C X7 1. 2. -1. 0. 0. 0. 1. 0. 0. 6. X8 2. 1. 0. -1. 0. 0. 0. 1. 0. 4. X5 1. 1. 0. 0. 1. 0. 0. 0. 0. 5. X6 2. 1. 0. 0. 0. 1. 0. 0. 0. 8. Obj2 0. 0. 0. 0. 0. 0. 1. 1. 1. 0. Obj -40. -30. 0. 0. 0. 0. 0. 0. 1. 0. Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) z The objective entry in column 7 is not zero, but this corresponds to a basic variable. ERO: Row 5 <= -1.000000 Row 1 + Row 5 The objective entry in column 8 is not zero, but this corresponds to a basic variable. ERO: Row 5 <= -1.000000 Row 2 + Row 5 The entering variable is 2 The departing variable is 7 with feasibility ratio 3.000000 ERO: Row 1 <= Row 1 / 2.000000 ERO: Row 2 <= -1.000000 Row 1 + Row 2 ERO: Row 3 <= -1.000000 Row 1 + Row 3 ERO: Row 4 <= -1.000000 Row 1 + Row 4 ERO: Row 5 <= 3.000000 Row 1 + Row 5 The objective changed from -10.00000 to -1.000000 The entering variable is 1 The departing variable is 8 with feasibility ratio .6666667 ERO: Row 2 <= Row 2 / 1.500000 ERO: Row 1 <= -.5000000 Row 2 + Row 1 ERO: Row 3 <= -.5000000 Row 2 + Row 3 ERO: Row 4 <= -1.500000 Row 2 + Row 4 ERO: Row 5 <= 1.500000 Row 2 + Row 5 The objective changed from -1.000000 to .2980232E-07 The entering variable is 4 The departing variable is 6 with feasibility ratio 4.000000 ERO: Row 1 <= -.3333333 Row 4 + Row 1 ERO: Row 2 <= .6666667 Row 4 + Row 2 ERO: Row 3 <= -.3333333 Row 4 + Row 3 ERO: Row 5 <= .2980232E-07 Row 4 + Row 5 The objective changed from .2980232E-07 to .1490116E-06 Optimality test Are all objective entries nonnegative? Yes. The current solution is optimal. The linear programming solution: 1 2 3 4 5 6 3.3333330 1.3333330 .0000000 4.0000000 .3333333 .0000000 7 8 .0000000 .0000000 Objective = .1490116E-06 This problem has artificial variables. Use the "V" command to remove them. The linear programming tableau: 1 2 3 4 5 6 X2 .0000000 1.0000000 -.6666667 .0000000 .0000000 -.3333333 X1 1.0000000 .0000000 .3333333 .0000000 .0000000 .6666667 X5 .0000000 .0000000 .3333333 .0000000 1.0000000 -.3333333 X4 .0000000 .0000000 .0000000 1.0000000 .0000000 1.0000000 Obj2 .0000000 .0000000 .0000000 .0000000 .0000000 .0000000 Obj -40.0000000 -30.0000000 .0000000 .0000000 .0000000 .0000000 7 8 P C X2 .6666667 .0000000 .0000000 1.3333330 X1 -.3333333 .0000000 .0000000 3.3333330 X5 -.3333333 .0000000 .0000000 .3333333 X4 .0000000 -1.0000000 .0000000 4.0000000 Obj2 1.0000000 1.0000000 1.0000000 .0000001 Obj .0000000 .0000000 1.0000000 .0000000 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) v The phase 1 objective function is nonzero. Hence, this problem may have no solution. All the artificial variables were deleted. The original objective function is restored. You must now use the "A" command to zero out objective row entries for all basic variables. The linear programming tableau: 1 2 3 4 5 6 X2 .0000000 1.0000000 -.6666667 .0000000 .0000000 -.3333333 X1 1.0000000 .0000000 .3333333 .0000000 .0000000 .6666667 X5 .0000000 .0000000 .3333333 .0000000 1.0000000 -.3333333 X4 .0000000 .0000000 .0000000 1.0000000 .0000000 1.0000000 Obj -40.0000000 -30.0000000 .0000000 .0000000 .0000000 .0000000 P C X2 .0000000 1.3333330 X1 .0000000 3.3333330 X5 .0000000 .3333333 X4 .0000000 4.0000000 Obj 1.0000000 .0000000 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r5 <= r5 + 40 r2 ERO: Row 5 <= 40.00000 Row 2 + Row 5 The linear programming tableau: 1 2 3 4 5 X2 .0000000 1.0000000 -.6666667 .0000000 .0000000 X1 1.0000000 .0000000 .3333333 .0000000 .0000000 X5 .0000000 .0000000 .3333333 .0000000 1.0000000 X4 .0000000 .0000000 .0000000 1.0000000 .0000000 Obj .0000000 -30.0000000 13.3333300 .0000000 .0000000 6 P C X2 -.3333333 .0000000 1.3333330 X1 .6666667 .0000000 3.3333330 X5 -.3333333 .0000000 .3333333 X4 1.0000000 .0000000 4.0000000 Obj 26.6666700 1.0000000 133.3333000 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r5 <= r5 + 30 r1 ERO: Row 5 <= 30.00000 Row 1 + Row 5 The linear programming tableau: 1 2 3 4 5 X2 .0000000 1.0000000 -.6666667 .0000000 .0000000 X1 1.0000000 .0000000 .3333333 .0000000 .0000000 X5 .0000000 .0000000 .3333333 .0000000 1.0000000 X4 .0000000 .0000000 .0000000 1.0000000 .0000000 Obj .0000000 .0000000 -6.6666670 .0000000 .0000000 6 P C X2 -.3333333 .0000000 1.3333330 X1 .6666667 .0000000 3.3333330 X5 -.3333333 .0000000 .3333333 X4 1.0000000 .0000000 4.0000000 Obj 16.6666700 1.0000000 173.3333000 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) z The entering variable is 3 The departing variable is 5 with feasibility ratio .9999998 ERO: Row 3 <= Row 3 / .3333333 ERO: Row 1 <= .6666667 Row 3 + Row 1 ERO: Row 2 <= -.3333333 Row 3 + Row 2 ERO: Row 4 <= .1490116E-07 Row 3 + Row 4 ERO: Row 5 <= 6.666667 Row 3 + Row 5 The objective changed from 173.3333 to 180.0000 Optimality test Are all objective entries nonnegative? Yes. The current solution is optimal. The linear programming solution: 1 2 3 4 5 6 3.0000000 2.0000000 .9999998 4.0000000 .0000000 .0000000 Objective = 180.0000 The linear programming tableau: 1 2 3 4 5 X2 .0000000 1.0000000 .0000000 .0000000 2.0000000 X1 1.0000000 .0000000 .0000000 .0000000 -1.0000000 X3 .0000000 .0000000 1.0000000 .0000000 3.0000000 X4 .0000000 .0000000 .0000000 1.0000000 .0000000 Obj .0000000 .0000000 .0000000 .0000000 20.0000000 6 P C X2 -1.0000000 .0000000 2.0000000 X1 1.0000000 .0000000 3.0000000 X3 -1.0000000 .0000000 .9999998 X4 1.0000000 .0000000 4.0000000 Obj 10.0000000 1.0000000 180.0000000 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Repeat work in decimal arithmetic # decimal Converting to decimal arithmetic. The linear programming tableau: 1 2 3 4 X2 0 1 0 0 X1 1 0 0 0 X3 0 0 1 0 X4 0 0 0 1 Obj 0 0 0 0 5 6 P C X2 2 -1 0 2 X1 -1 1 0 3 X3 3 -1 0 1 X4 0.000000044703 1 0 4 Obj 20 10 1 180 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) b a The following examples are available: "S" a simple linear programming problem; "A" an advanced linear programming problem. "C" to cancel. Advanced linear programming problem: Maximize Z=40 X + 30 Y subject to X + 2 Y > 6 2 X + Y > 4 X + Y < 5 2 X + Y < 8 The linear programming tableau: 1 2 3 4 5 6 7 8 P C X7 1 2 -1 0 0 0 1 0 0 6 X8 2 1 0 -1 0 0 0 1 0 4 X5 1 1 0 0 1 0 0 0 0 5 X6 2 1 0 0 0 1 0 0 0 8 Obj2 0 0 0 0 0 0 1 1 1 0 Obj -40 -30 0 0 0 0 0 0 1 0 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) z The objective entry in column 7 is not zero, but this corresponds to a basic variable. ERO: Row 5 <= -1 Row 1 + Row 5 The objective entry in column 8 is not zero, but this corresponds to a basic variable. ERO: Row 5 <= -1 Row 2 + Row 5 The entering variable is 2 The departing variable is 7 with feasibility ratio 3.000000 ERO: Row 1 <= Row 1 / 2 ERO: Row 2 <= -1 Row 1 + Row 2 ERO: Row 3 <= -1 Row 1 + Row 3 ERO: Row 4 <= -1 Row 1 + Row 4 ERO: Row 5 <= 3 Row 1 + Row 5 The objective changed from -10 to -1 The entering variable is 1 The departing variable is 8 with feasibility ratio .6666667 ERO: Row 2 <= Row 2 / 1.5 ERO: Row 1 <= -0.5 Row 2 + Row 1 ERO: Row 3 <= -0.5 Row 2 + Row 3 ERO: Row 4 <= -1.5 Row 2 + Row 4 ERO: Row 5 <= 1.5 Row 2 + Row 5 The objective changed from -1 to 0 Optimality test Are all objective entries nonnegative? Yes. The current solution is optimal. The linear programming solution: 1 2 3 4 5 6 7 0.66667 2.6666 0 0 1.6666 4 0 8 0 Objective = 0 This problem has artificial variables. Use the "V" command to remove them. The linear programming tableau: 1 2 3 4 5 6 X2 0 1 -0.66667 0.33334 0 0 X1 1 0 0.33333 -0.66667 0 0 X5 0 0 0.33333 0.33334 1 0 X6 0 0 0 1 0 1 Obj2 0 0 0 0 0 0 Obj -40 -30 0 0 0 0 7 8 P C X2 0.66667 -0.33334 0 2.6666 X1 -0.33333 0.66667 0 0.66667 X5 -0.33333 -0.33334 0 1.6666 X6 0 -1 0 4 Obj2 1 1 1 0 Obj 0 0 1 0 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) v All the artificial variables were deleted. The original objective function is restored. You must now use the "A" command to zero out objective row entries for all basic variables. The linear programming tableau: 1 2 3 4 5 6 X2 0 1 -0.66667 0.33334 0 0 X1 1 0 0.33333 -0.66667 0 0 X5 0 0 0.33333 0.33334 1 0 X6 0 0 0 1 0 1 Obj -40 -30 0 0 0 0 P C X2 0 2.6666 X1 0 0.66667 X5 0 1.6666 X6 0 4 Obj 1 0 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r5 <= r5 + 40 r2 ERO: Row 5 <= 40 Row 2 + Row 5 The linear programming tableau: 1 2 3 4 5 6 X2 0 1 -0.66667 0.33334 0 0 X1 1 0 0.33333 -0.66667 0 0 X5 0 0 0.33333 0.33334 1 0 X6 0 0 0 1 0 1 Obj 0 -30 13.333 -26.667 0 0 P C X2 0 2.6666 X1 0 0.66667 X5 0 1.6666 X6 0 4 Obj 1 26.667 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) r5 <= r5 + 30 r1 ERO: Row 5 <= 30 Row 1 + Row 5 The linear programming tableau: 1 2 3 4 5 6 X2 0 1 -0.66667 0.33334 0 0 X1 1 0 0.33333 -0.66667 0 0 X5 0 0 0.33333 0.33334 1 0 X6 0 0 0 1 0 1 Obj 0 0 -6.667 -16.667 0 0 P C X2 0 2.6666 X1 0 0.66667 X5 0 1.6666 X6 0 4 Obj 1 106.66 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) z The entering variable is 4 The departing variable is 6 with feasibility ratio 4.000000 ERO: Row 1 <= -0.33334 Row 4 + Row 1 ERO: Row 2 <= 0.66667 Row 4 + Row 2 ERO: Row 3 <= -0.33334 Row 4 + Row 3 ERO: Row 5 <= 16.667 Row 4 + Row 5 The objective changed from 106.66 to 173.32 The entering variable is 3 The departing variable is 5 with feasibility ratio .9996100 ERO: Row 3 <= Row 3 / 0.33333 ERO: Row 1 <= 0.66667 Row 3 + Row 1 ERO: Row 2 <= -0.33333 Row 3 + Row 2 ERO: Row 5 <= 6.667 Row 3 + Row 5 The objective changed from 173.32 to 179.98 Optimality test Are all objective entries nonnegative? Yes. The current solution is optimal. The linear programming solution: 1 2 3 4 5 6 3.0001 1.9996 0.99961 4 0 0 Objective = 179.98 The linear programming tableau: 1 2 3 4 5 6 X2 0 1 0 0 2 -1 X1 1 0 0 0 -0.99999 1 X3 0 0 1 0 3 -1 X4 0 0 0 1 0 1 Obj 0 0 0 0 20.001 10 P C X2 0 1.9996 X1 0 3.0001 X3 0 0.99961 X4 0 4 Obj 1 179.98 Enter command? ("H" for short menu, "HELP" for full menu, ? for full help) # # Close the disk file. # k Closing the transcript file "output".