Home
1130 LP-MOSS - about the IBM 1130 Computing System
Contents
1. FE AE AE AE AH 44 13 14 MUST BE BLANK X CK EXEC FEFE FE XE IE PE IE IEEE IE IE REI IRE 15 22 SECOND NAME FIELD THE ROW VARIABLE FOR AN EQUATION 3 CACHE MEE IE ME IE IE FE JE JE EXE QE EXE REX JE AOI POPOP ERE 23 24 MUST BE BLANK 363 E IE IE JE IE FE E E IE JE FE E AE IHA AE 25 36 VALUE FIELD COEFFICIENT OF THE VARIABLE IN THE FIRST NAME FIELD IN THE EQUATION CORRESPONDING TO THE VARIABLE IN THE SECOND NAME FIELD 3 3t 3E 3E 3C 3E
2. IEEE RHEE EH HH INPUT 3 3 336 EE IC 2E EXE IEEE HE X x DATA IN UNIT RECORD FORM X E X HEE SE 36 3 3E GE 3e TE SE 1 3E 2E IE EHH HEH INSERT 3t 3E JEDE HEHE EE EHE JC e EAE JE CE IEEE HER 303 PREVIOUS SOLUTION RUN LEVELS 3t 4 3C 36 36 3C 3 Je 3 3C 3 dE 3 30 3 e 3 9E 1E FE e IEEE MOVE DATA LARGEPRB BOUNDS LIMITSPB MAXIMIZE PROFIT ENDATA RESTORE DATA LARGEPRB LPSOLUTION PUNCH 3t 4t 3 3t 3 3 3 4 36 e 3 JC E 3E 36 3t 3C 4E 36 RHEE BLANK CARDS FOR NEW 3 SOLUTION LEVELS x HEHE KEM 3 3 36 3 3 3E 4 363 E 3E IEEE IEEE JE IE DELETE DATA LARGEPRB ENDATA EDIT 3t 4E X 36 3 3 9 3 3 JE 3E 3 3E 3E 1 C 3E e JE 3E 3E 3C 3 Je HHH HE Figure 67 Use of INSERT RESTORE and PUNCH subsequent optimization CONDITIONAL CONTROL IF The IF procedure provides a conditional bypass of part or all of the remaining procedure sequence The IF procedure reads a data control record that specifies condition and search label If the condition is untrue the next data control record is read the IF procedure is terminated by an ENDATA indicator following the last condition label data control record If the condition is
3. MP8 360 RO UAE L P71620 559 994 ERE seus Chapter 1 Sample Probiem 996 9 9202820 6959 59929999 Chapter 3 LPS Input Data Formats Z xad n rS 50 The Problem Equations Bounds 2 o asuy Era wo n EY a a dad e pa Data Preparation Problem Data ee Program Control Output Reports ree Ge aie eee ees Postoptimal Analysis Report Parametric Reports qs Data Maintenance 29pecuescwesesa Data Revision and Merge jugi ADU Starting Solutiong 21 Conditional Control ee eg a AE Data Generation and Merge 28 Input Data Preparation 50 Basic Input Record Formats 50 Input u va a4 Vyss RrCsercx wy OL The NAME Indicator 51 Problem Equation Data 51 The Bounds on the Variables 51 The ENDATA Idicator 51 A Basic INPUT Data Deck 52 Standard Bounds 52 Selection Files ROWS and COLS 52 Rhs s and Ranges 52 Right Hand Side Files RHS and RHS HuovsuscRaaw D Chapter 2 The LPS Procedures 28 Range Files Ranges 53 uice n ENDFILE Indicator
4. Figure 2 Scrap metal inventories will be assigned values that result in the lowest value for the variable COST which meets the speci fications of the problem In order to formulate a linear programming problem for solution by the LPS three varieties of data must be available 1 A system of equations defining the relation ships among all the problem variables 2 A set of bounds defining the limits on the values of the problem variables such as inventory limitations or chemical specification constraints 3t 36 E 9 SE 9E 3E 9 3 3 4 3E 9 JE C 3 3 3 JE IE 9E 9 3E 3E 4E E JE JE JE JC 36 JE E EE 9 9E 3E E 9 3E EE 9 CHEMICAL SCRAP METALS E E E E 3 BINel BINe2 BINe3 BINe BINe5 ALUMINUM SILICON E 3t 3 3t 3 JC C 3 3E JE 9 FE 3 3E 3 3E 3 JE C 96 3 3E 3 3E EE JE EC IE 9E 3E EXE IE 9E IE IE JE IEEE E EXE Me 3 HE FE 3E 36 3 3E 3 HE SE C XE SESE SEE E JE JE JE C3 9 JE 9E XE EE EXE 3E 3 E E EE C 36 9E JE 9 4
5. 40 JE IEEE AERE 3t 4 3E 96 363 3 3 46 RE 3 46 36 4E 303 43 34 4 3 REE 3 3t 9E 96 9E 3 3 4 9 3 3 3 3 3 9 9 3 363 333 49 60 000 100 000 402000 30 000 3 3t 9 4 9 36 46 4 4 300 000 120 000 XC EAE IEEE 2000 000 3 36 3 36 3 9 3 4 3E 9 3t 3 4 36 3 9 4 4 4 3t 3 96 9 3 4 H 4t 36 36 4 3 9 3E 4E 3 3t 9t 3 46 3 4 3 36 363 3 46 3 36 3 9 96 3 46 3 X 4t 3 3 3t 3 3 3 3 36 9 39 60 000 100 000 206 000 252000 HEHEHE HHH 350 000 150 000 3t 3t 3 36 36 9 3 3 46 36 3 200 000 7502000 800 000 700 000 1500 000 MEAE 36 3 3 3 4E M T HEHE Figure 47 MERGE problem MULTIBLE LPSOLUTION report LOWER BOUND 0 000 2000 000 0 000 0 000 0 000 0 000 0 000 02000 02000 02000 0 000 0 000 0 000 15002000 2502000 0 000 02000 2000 000 0 000 02000 02000 02000 0e000 02000 02000 0 000 0 000 0 000 0 000 1500 000 300 000 0 000 0 000 02000 02000 0 000 0 000 02000 0 000 0 000 CURRENT COST 12000 0 000 02000 02000 02000 02000 0 000 02000 02000 0 000 02000 0 000 02000 02000 02000 02000 12000 0 000 06 000 02000 02000 020
6. ERR BES SSES 0 F d 6 Then if there is a range entry it is applied as shown in Figure 91 Bounds after applying Final bounds after applying RHS value Range value r UB INFINIT Y LB FINITE LB INFINIT Y r lt 0 LB UB abs r gt 0 UB LB abs r UB LB abs r LB UB abs r Figure 91 RANGE values when RHS sets are used This provides compatibility with MPS 360 Abs r means the absolute unsigned value of r PROBLEM CAPACITY LPS capacity is restricted by row variables disk capacity and numerical accuracy The maximum number of row variables is 700 The maximum disk capacity is 794 sectors The following formulas can be utilized to find the approximate number of disk sectors used in storing and processing a problem If a problem is to be input and processed and the solution output taken the approximate number of disk sectors used is R C 1 5 N 25 If the problem is to be input only the approxi mate number of disk sectors used is 25 CN 50 Where R is the number of rows in the problem C is the number of columns including RHS range and bound sets N is the average number of nonzero elements per column x lies between 1 and 1 5 depending on prob lem characteristics Examples Nonzero Elements 132 to 162 204 to 245 990 to 650 680 to 833 PRECISION AND ACCURACY Numerical accuracy depends o
7. 0 BIN 1 75 BIN 2 80 BIN 3 75 BIN 4 80 5 97 ALUMINUM AL SI 02 BIN 1 06 BIN 2 08 BIN 3 12 BIN 4 02 BIN 5 01 ALUMINUM 97 SILICON One more equation relevant to the chemical content of the desired alloy must be formulated which re flects the specification see Figure 1 regarding the maximum total weight of iron and copper inthe alloy BASE 1 0 FE 1 0 CU A final equation is required which defines the objective variable for this problem The price of each ingredient per pound multiplied by the quan tity in pounds of each ingredient used will provide the cost COST 03 BIN 1 08 BIN 2 17 BIN 3 12 BIN 4 15 BIN 5 21 ALUMINUM 38 SILICON Gathering all these equations into a system then provides the framework of a model for the alumi num alloy problem 1 0 BIN 1 1 0 BIN 2 1 0 BIN 3 1 0 BIN 4 1 0 BIN 5 1 1 0 ALUMINUM 1 0 SILICON WEIGHT COST 03 BIN 1 08 BIN 2 17 BIN 3 12 BIN 4 15 BIN 5 2 21 ALUMINUM 38 SILICON FE 15 BIN 1 04 BIN 2 02 BIN 3 04 BIN 4 02 BIN 5 3 01 ALUMINUM 03 SILICON CU 03 BIN 1 05 BIN 2 08 BIN 3 02 BIN 4 06 BIN 5 4 01 ALUMINUM MN 02 BIN 1 04 BIN 2 01 BIN 3 02 BIN 4 02 BIN 5 5 MG 02 BIN 1 03 BIN 2 6 01 BIN 5 AL 70 BIN 1 75 BIN 2 80 BIN 3 75 BIN 4 80 BIN 5 7 97 ALUMINUM SI
8. 02 BIN 1 06 BIN 2 08 BIN 3 12 BIN 4 02 BIN 5 8 01 ALUMINUM 97 SILICON BASE 1 0 FE 1 0 CU 9 BOUNDS The set of equations we have formulated is not a complete model for the alloy smelting problem be cause it does not provide a set of bounds restricting the solution within the constraints imposed by in ventory limitations and chemical specifications The bounds of course are determined by the availability of scrap inventory Figure 2 and the chemical specifications for the desired alloy Fig ure 1 The final weight WEIGHT is made equal to 2000 Ibs and COST which will be minimized by the LPS may take any value The inventories given in Figure 2 provide the upper bounds for the raw materials used the lower bounds are 0 since it would make no sense to use a negative weight of scrap Similarly the specifica tions given in Figure 1 provide bounds for the chemical contents of the alloy There must for instance be between 250 and 300 lbs of silicon in the alloy no less than 1500 lbs of aluminum no more than 30 lbs of magnesium etc Figure 5 provides a tabular representation of the set of bounds required in this problem The provision of a set of bounds completes the mathematical model of our problem The 1130 LPS operating upon the data here formulated will pro duce a solution that satisfies all the problem bounds and print or type a solution report containing 1 The weight of each r
9. 02000 02000 02000 02000 15002000 2502000 02000 CURRENT COST 1 2000 02000 02030 0 099 0 170 02120 0 170 00210 04340 02000 02000 02000 02000 02000 02000 02000 CURRENT COST 1 000 0 000 0 030 00109 0 170 02120 02180 0 210 0 320 02000 0 000 0 000 02000 02000 02000 0 000 REDUCED COST 12000 0 247 0 337 02000 02000 0 000 0 007 02000 02000 3 18 02000 02000 0 000 02000 06 209 0 255 REDUCED COST 1 000 0 243 0 278 02000 02000 0 009 0 015 02000 02000 2 963 02000 02000 02000 02000 0 179 0 286 STARTING SOLUTIONS SAVESOLUTION SAVESOLUTION saves the current status of the current optimization problem variables in a disk problem file The saved solution can be used as an advanced starting solution for subsequent optimiza tions of this problem or for a subsequent optimiza tion of a different problem Data Control SAVESOLUTION reads a NAME data control record naming the problem file into which the solution is to be saved H the named problem file is already on the disk the solution is saved into it if not a new problem file is created Typical records that save a current solution would appear as follows SAVESOLUTION NAME LPSOL Since SAVESOLUTION reads only one data control record no ENDATA indicator is required Output The NAME data control record is logged
10. revision data should be verified listed and checked before REVISEion to ensure protection of the exist ing data If there are a substantial number of revi sions or if there are inadequate checking facilities the MERGE procedure should be used to protect the original files The MERGE procedure can be used to disk problem data file or to combine one or more disk problem data files The use of MERGE in data generation is discussed later in this section We shall first illustrate the use of MERGE to combine two data files saving both to form a new file This conforms to standard data processing file protection methods We may INPUT the changes into a problem file CHANGES on the disk We may then form a new problem LPSAMPL2 on the disk by MERGEing the DATA LPSAMPLE and the DATA CHANGES Figure 35 lists the input and control records for this use of MERGE Figure 36 02000 02000 02000 02000 049000 02000 02000 02000 0 000 02000 Q2000 15002000 300 4000 INP NAM FR FX UB UB UB UB UB END MER 02000 UT E ALLOY2 ALLOY2 ALLOY2 ALLOY2 ALLOY2 ALLOY2 ALLOY 2 ALLOY2 ALLOY2 ALLOY2 ALLOY2 ALLOY2 ALLOY2 ALLOY2 ALLOY2 ATA GE NAME DATA DATA ENDATA Figure 35 CURRENT COST l1e000 0 000 02030 0 5079 0 170 020120 00150 0210 06379 06 000 02000 02000 02000 02000 0 000 02000 CHANGES COST WEIGHT BINel BINe2 BINe3
11. 3 3 3E EE 3E E EC IE E 3 3 3t 3C JC 3C 3 Me 4 3 3 32 3E 3 3E 3E 9E ECC k ICE ECCE 1 TW 09 l6 236 2 10 17 34 3 ell 18 32 3 3 3C JE 3C 3 IE 9E 3 36 3 4 9 9 3E IE 4E E 4E EE COE Figure 25 Parametric cost changes VARIABLE ENTRIES SOLUTION UPPER LOWER TYPE ACTIVITY BOUND BOUND COST B 0 3066197 HEREHERE HE AERE WEIGHT EQ 0 2000 000 2000 000 2000 000 BINel LL 8 02000 2002000 02000 BINe2 ps 8 743 597 7502000 02000 BINe3 Be 7 100 512 800 000 O 000 BIN B 7 462 548 700 2000 02000 5 LL 8 0 000 1500 000 0 000 ALUMINUMB 6 5524816 JJ 0009000 04000 SILICON B 4 140 4524 3X3 dx eC EG 02000 FE UL 1 60 000 60 000 0 000 CU Bs 1 60 000 100 000 02000 MN UL 0 402000 402000 0 000 MG B 0 22 307 302000 02000 AL B 0 1521 251 xxx 1500 000 S1 LL 0 2502000 300 000 250 000 UL 0 1202000 120 000 0 000 Figure 26 LPPARAMETRIC cost change first report VARIABLE ENTRIES SOLUTION UPPER LOWER TYPE ACTIVITY BOUND BOUND COST 0 210 767 3t 3 3 36 3 3 3 3 9 3636 36 36 3 306 4 9 9 WEIGHT EQ 0 2000 000 2000 000 20002000 BINel LL 8 02000 2002000 02000 BINe2 8 483 476 750 000 02000 BINe3 B 7 212 117 800 000 02000 BINe4S UL 7 7002000 700 2000 02000 BINe5 8 02000 1500 000 02000 ALUMINUMB 6 485 679 REN
12. 3 96 3 3 64 000 1002000 402000 302009 3t 4 36 96 3 3 3 96 9 300 009 120 000 Figure 31 LPPARAMETRIC bounds change second report LOWER BOUND Je 3 4 3 3 363 3 EXE 3E 3 dE E e IE t 2000 000 02000 02000 0 000 02000 0 000 02000 02000 0 000 0 000 02000 02000 15002000 2504000 02000 LOWER BOUND 3 3 96 9 2000 000 02000 02000 02000 0 000 02000 02000 02000 02000 02000 02000 0 000 1500 000 2502000 02000 CURRENT COST 000 0 000 02030 0 079 0 170 0 120 06150 00210 00379 02000 02000 02000 02900 02000 02000 02000 CURRENT COST 1 000 0 000 02030 02079 0e170 02120 00150 00210 0 379 02000 O60900 02000 0 000 02000 0 000 02000 REDUCED COST leO00 0 242 0 288 02000 0 001 0 000 02000 02000 02000 24951 02000 0 908 02000 02000 0 6241 0 245 REDUCED COST 12000 00219 02000 02000 02000 0 030 O 011 02000 02000 06624 02000 2 546 02000 02000 0 192 06 272 17 DATA MAINTENANCE We shall illustrate the data maintenance and editing features by using the alloy blend problem LPSAMPLE and the parametric problem data sets PARCOST and PARFE As a result of our optimization we have used 606 5 Ibs of the original 750 lbs of BIN 2 554 7 lbs of the original
13. 3X 3 3E 3 X 3E 3 36 3 3 3 3E 3 3 9E T 36 2 3 3 3 1 2 3 39 3E 9E 9 DELETE DATA LARGEPRB ENDATA EDIT 3t 36 3 35 3 3 3 32 JE 3E X X 3E X EXEC 3 3 9 9 3 3 3E X Figure 40 Use of INSERT RESTORE and PUNCH subsequent optimization CONDITIONAL CONTROL So far we have assumed perfection That is we have assumed that the input data was correctly pre pared that the problem definition provides a feasi ble answer it is possible to satisfy all of the bounds of the problem and that the solution is bounded there is a finite cost The problem however may be infeasible that is no solution may exist which satisfies all of the bounds of the bound set used in optimization or the problem may be unbounded that is a feasible solution may exist but there may 22 be no lowest cost or no highest profit or the 1130 LPS has encountered a processing error during optimization and cannot continue optimization Each of these conditions is a possibility during any optimization and is usually due to faulty formu lation or incorrect input data These conditions can usually be cured by reformulation or by REVISEion of input data Many experienced users of LP systems expect to find some trouble in the first optimization of a model The experienced user will often INPUT a problem during
14. 9E 3E 9E FE 015 04 02 02 eO1 s 03 CU 0232 05 08 02 006 1 MN 02 2004 01 02 602 02 03 01 AL X 70 e075 80 w 75 80 097 SI 202 06 208 12 02 01 97 3t 3 HE SE JC JC 3E 3E 3E 36 4 K SE 3 KE 3E FE JE XC JE FE TE FE 9 3C 3E 2E IE E JE ME 9E IEEE JE 342 E E IE 4 Figure 3 Chemical analysis of the raw materials in pounds per pound of alloy 3 3 3 3 3 3C 3E 3E 3E 3 JE E IE 3 2 4 6E x RAW MATERIAL COST PER LB HH 3 3 JE 3E 3C 3 3E 9E IE JE de E E 003 C 3 3e Ie X 3 3 3E 3E EE 3 3C 3E IEEE JE OE IC YE EXEC EE OE EHH BINe1 03 BINe2 08 BINe3 el BINe 4 12 BINe5 15 ALUMI NUM e21 SILICON 38 3 3 36 3t 4 C 3 3 4 3 9 3E JE M IE EC e 3 3 E 9E JE 3 9 4 Figure 4 Raw materia
15. Figure 72 Indicator format FIELD I FIELD 2 FIELD 3 FIELD 4 BOO 20 0000002 22 20605005 EL we 1 H IRE HH HHHH eap m Figure 73 Typical comments record Record position 1 must contain an asterisk Comments records must contain valid number fields positions 25 36 50 61 when placed within unit record input or revision data files INPUT DATA The NAME indicator NAME indicator is used to give a name to the problem and should be the first record of the INPUT unit record file Its format is shown in Figure 75 If no NAME indicator is provided the problem is given a name consisting of eight blanks If there is already a disk problem file with the specified name it is automatically deleted Problem Equation Data The problem equations are input by records in ele ment format The contents of these records are shown in Figure 76 Name field 3 and coefficient field 2 may be used to input two equation coefficients on one record If so desired the second coefficient represents a second row variable entry for the first name variable A record is required to represent each of the nonzero coefficients on the right hand side of the problem equations see Formulation Rules in the Appendix No indicator record is required to input the prob lem equation data and the data may appear in any sequence For compatibility with MPS 360 how ever a set of records
16. Major Errors If NAME data control record does not immediately follow the SAVESOLUTION call a major error is recorded and the procedure is terminated If there is no current solution thatis ifneither OPTIMIZE nor RESTORE has been called for this problem a major error is recorded and the procedure termi nated PUNCH PUNCH saves the current status of the current opti mization problem variables in a unit record PUNCH device file The PUNCH procedure output can later be INSERTed into new or existing disk problem file and can then be used as an advanced starting solution for this problem or for a subsequent opti mization of a different problem Output The first record of the output deck produced by the PUNCH procedure is a NAME indicator record con taining the name of the current problem The last record of the deck is an ENDATA indicator The remaining records are status records in the format required by INSERT see INSERT Data in Chapter 3 Status records are output only for variables that are not at standard initial status Hence 1 row variables at upper or lower levels are output standard initial intermediate level 2 column variables at intermediate level standard initial at lower level 3 column variables at upper level Major Errors If a PUNCH output is to be on cards PUNCH reads the next card in the hopper and checks that the first 36 positions are blank Ifthey are not a ma
17. Status records The format of a status record is shown in Figure 83 and the possible status types are illustrated in Figure 84 53 Figure 83 INSERT data format The ENDATA Indicator The last record of an INSERT data deck must be an ENDATA indicator INSERT Data Deck The contents of an INSERT unit record file are shown in Figure 85 They consist of a NAME indi cator status records and an ENDATA indicator LINMENN NUN The variable in Name 1 is at lower level The variable in Name 1 is at upper level The variable in Name 1 is at lower level The variable in Name is at intermediate level The variable in Name 1 is at intermediate level Variable Name 2 at lower level Name 1 intermediate Variable Name 2 at upper level Name 1 intermediate Figure 84 INSERT data types PUNCH NAME EQ WEIGHT RS BINe2 RS amp RS BINe5 BS ALUMINUM BS SILICON LPSAMPLE UL BASE ENDATA Figure 85 COMPATIBILITY WITH MPS 360 LPS has been designed to be compatible with MPS 360 Wherever possible LPS uses the names and 54 formats used in MPS 360 With the few exceptions listed below LPS will accept input data decks pre pared for MPS 360 The LPS input procedures however are designed to provide facility and flexi bility rather than great efficiency For this reason data decks prepared for 1130 LPS will not neces sarily be acceptable to MPS 360 Therefore if compatibility between MPS 360 a
18. 2 If not the lower and upper bound are set to their standard values 0 and INFINITY unless otherwise specified by standard bound record 3 If both the standard lower and upper bounds are finite but not equal the RHS and range entries are ignored 4 If both the standard lower and upper bounds are infinite the RHS and range entries are ignored 5 Otherwise if there is an RHS entry set all finite bounds equal to the RHS value 62 FIELD FIELD 2 FIELD 3 FIELD 4 a aes of else 2000060 23 2090600000000 aaee Li Paneer HE oo y n ezwe llli een eza Vizver LETT loi LLLI EDEBESERELT E X ES id E3 al Pc NS LN eS nt Ste EE AET E ii sro Il ll wwwwwwA reo poppe 20 2000060 05 2002050606052 65 PIS S s Sit P Er E Es Bs Es SESI E IM AISI JS Pet l l IN T IA TU NN ERR T T T S Pi L Pal Pl eripe Kum sss LER km as SD 2 Kusi u ana BES BESS SW UR HESE
19. 53 Controlling LPS Revise 53 Error Philosophy ssseecesccsssesee 28 Remove Records sc 53 Record Formats 29 Insert Data Procedure Call Record Format 29 Data Control Record Format 29 Input and Data Maintenance 80 RARE EV TE VEA STATISTICS i22 or RYYEREO RA ORE REVISE EA NER e Ris 81 MERGE 6523393999 end uie RUN Uaec BODOUT 2 236494 tb REPE ET E YI Ud DELETE 5 RE IER UE Calling the System 55 EDIT pericos Sei Shere Card System iuusvssu e esie xy RS DD DICTIONARY 34 Paper Tape 55 Processing Specifications 35 Using the Typewriter 55 MOVE tant bee seh wena e Sue pda Interruption Error and Malfunction Problem Solution rr v RECOVELY s oss ss d DD OPTIMIZE RES 31 Recovery Operating Procedure M06 No LPSOLU TION Eve Prosram ErrOPb o 234 4e 4xx xw xac 309 RESTART oido ka vier itd usu gue A Card System 55 Postoptimal Analysis E E 0 Paper Tape System 55 RU Resta
20. CU 100 CHEMICAL MN 40 0 CONTENT MG 30 AL NONE 1500 SI 300 250 BASE 120 3 JE 3E 3E E 3E 3E QE MO YM IE E E 9E 9E IE 9E EE IE I IE HE E Figure 9 Bounds on the sample problem variables that data in order to obtain the LP solution and the various additional reports that the 1130 LPS pro vides Before discussing the program control fea tures provided by 1130 LPS let us consider the methods for inputting the problem data contained in the mathematical model of our LP aluminum alloy sample problem PROBLEM DATA Mathematical models of LP problems formulated for solution by the 1130 LPS must consist of equa tions of the form RV CV1 CV2 CV3 CVn We shall call those variables that appear on the left hand side of such problem equations row vari ables and any variables which do not appear on the left hand side of any equation column varia bles Note that row variables may sometimes appear on the right hand side of some problem equations but column variables by definition never appear on the left hand side of any problem equation Further problem equations must be formulated according to the following rules 1 Only one variable may appear on the left hand side of a problem equation that is equations of the
21. The 1130 LPS provides a procedure which enables us to discover the effects of such price changes We can formulate a problem file that names the variables in which we are interested and indicates what changes of coefficients we would like to investi gate Assumethat we would like to investigate the effect of these price fluctuations at each 1 increase in the cost of BIN 2 and BIN 5 and 2 decrease in SILICON cost To accomplish this we first input the problem file containing the change coefficients INPUT NAME PARCOST BIN 2 COST 01 BIN 5 COST 01 SILICON COST 02 ENDATA Note that these records are the same type which are used to input the original problem data First an 1130 LPS procedure named INPUT signals that data follows Then an indicator record names the probiem file PARCOST in which the data is to be Stored The data itself then appears in the form of equation element records indicating a cost in crease of 14 for the materials in bins 2 and 5 and a cost change of 2 for silicon since we wish to determine the effect of a price reduction in silicon Finally an ENDATA indicator record signals the end of the data stream Figure 24 illustrates the data and control sequence required for this run The data control record follow ing the MOVE record indicates the number of solution REPORTS required 14 For example MOVE PARAMET ENDATA The ENDATA indicator record signals the end of the data control str
22. The upper heading identifies the informa tion contained in the first row associated with each variable and the lower heading identifies the infor mation contained in the second row associated with each variable The report should be interpreted as follows 1 VARIABLE the name of each variable in the solution at a bound Figure 59 and the name of each variable in the solution at an intermediate level Figure 60 In other respects the two parts of the report provide the same type of data 2 TYPE the status of each variable in terms of its bounds The status codes used are as follows LL variable is at lower limit UL variable is at upper limit EQ variable is a fixed variable FR variable is a free variable at 0 level B variable is at intermediate level 3 SOLUTION ACTIVITY the value of the vari able in the current solution 4 CURRENT COST the current cost per unit of the variable 5 UPPER BOUND the upper bound on the value that the variable may take 6 LOWER BOUND the lower bound on the value that the variable may take VARIABLE SOLUTION UPPER BOUND COST UNITT INCREASED LOWEST ACTIVITY INCREASE ACTIVITY COST TYPE CURRENT LOWER BOUND COST UNIT CECREASED HIGHEST COST DECREASE ACTIVITY COST WEIGHT 20004000 200020060 00242 21794629 9 2242 EQ 0 000 20006000 06242 19932060 33uzbknid BINel 02000 200 000 288 224319 00258 LL 0 030 0 000 0 288 13 679 uua e de de BINe3 0
23. as shown in Figure 80 possible bound types are the same as those for bound data records as shown in Figure 78 A blank in the bound type field is equivalent to a G type Standard bound records may appear anywhere in the INPUT data deck except in files headed by COLUMNS BOUNDS RHS s or RANGES indicator records Selection Files ROWS and COLS Files of records headed by ROWS or COLS indicator records are used to select row or column variables for use in optimization A ROWS file is a list of the UP or UB LO or LB FX or E Bound value No effect Bound value No effect Bound value Bound value No effect INFINITY INFINITY Bound value INFINIT Y INFINITY No effect INFINITY INFINIT Y Bound value Figure 78 The bound types 52 Equation and bound element records Figure 79 basic INPUT data deck row variables to be used in optimization It is necessary only if not all the row variables are to be used in the optimization A COLS file is a list of the column variables to be used in optimization It is necessary only if not all column variables are to be used ROWS and or COLS files can be used to select a subset of the problem for optimization The selec tion of a subset of the problem data for optimization is a traditional feature of LP systems The primary utility of the selection capability for the 1130 LPS user is compatibility with MPS 360 input ROWS file and simplification of probl
24. ll 18 32 BOUNDS ALLOY1 3E 3E 3E 3 3E 3E 3E FE 36 3E HE C E C 9E 3E HE 36430 E HE E HE HE SE ENDATA LPSOLUTION MOVE Figure 61 Parametric cost changes PARAMET REPORTS 300 ENDATA LPPARAMETRIC DATA PARCOST Figure 62 Parametric cost setup and input data VARIABLE ENTRIES SOLUTION UPPER LOWER CURRENT REDUCED TYPE ACTIVITY BOUND BOUND COST COST COST 8 0 3066197 ME 1 000 1 000 WEIGHT EQ 0 20002000 2000 000 20002000 02000 0 244 BINel LL 8 02000 200 000 0 000 0 030 020312 BINe2 8 7430597 7504000 0 000 0 089 02000 BINe3 B 7 100 512 800 000 0 000 04170 02000 4 B 7 462 548 7004000 0 000 04120 02000 BINed LL 8 0 000 1500 000 0 000 0 160 06 003 ALUMINUMB 6 552 816 inb XE 0 000 04210 000 2 SILICON B amp 1406524 3t Xt ese iei 0 000 0 4360 02000 gt F UL 1 60 000 604 000 0 000 02000 3 197 CU B 1 60 000 100 000 02000 02000 000 MN UL 0 402000 40 000 0 000 0 000 0 464 B 0 22 307 30 000 02000 02000 02000 AL B 0 15216251 33949 8 15004000 0 000 0 000 S 1 LL 0 2502000 300 000 250 000 02000 0 225 BASE UL 0 120 000 120 000 0 000 0 000 0 239 Figure 63 LPPARAMETRIC cost change first report 43 VARIABLE ENTRIES TYPE COST B WEIGHT EQ BINel LL BIN 2 B4 BINe3 B BINe4 UL BINe5 LL ALUMI NUMB SILICON FE UL CU Bs MN B MG Bx AL 8 Sf LL BASE UL Figure 64 LPPARAMETRIC cost chang
25. 0ALUMIAUM 1 0 ALUMIBUM 43 SILICTN 1 0SILICAN 1 0SILICBN 25 COTT 1 0 COIT 1 0 CO T 26 These equations 19 to 26 are usually called linking equations and are often shown as the first equations in a schematic or diagrammatic display of the model as shown in Figure 42 The equations used to represent the total aluminum ALUMITUM and total silicon SILICTN are included only for con venience since no limits are imposed on their us age This convenience should be avoided when the number of such unnecessary equations is large and when processing time is limited The bounds on the problem are shown in Figure 43 It remains now to discuss the provisions within the 1130 LPS which may be used to simplify the data preparation in problems of this sort First we shall INPUT the data corresponding to the linking equations and the required bounds This INPUT LINKEQ is shown in Figure 44 The MERGE pro cedure provides the ability to combine one or more problems stored on the disk to form a new prob lem We may specify a fixed variation in the names of the column variables and a different fixed vari ation in the names of the rows variables 24 Linking Equations Establishing Overall Inventory Limitations and Total Price Specification Equations BLEND1 Specification Equations BLEND2 Figure 42 Schematic model for multiblend problem The new problem file is established by a NAME data control record W
26. 3 3 3 3 3 3C 3 3 36 3 96 2 3 9 9 2 3t 36 96 3 3 3 3 3 3 2 3E 9 3 3 3 3 3 3t 3t 9 3 3 3 3 3 96 36 3 3 3E 3 3E 3 3 3 3 9 3 9 9 9 SECOND ALLOY WE2GHT 2000 2000 CO2T NONE NONE FE2 60 0 CU2 100 O MN2 50 3 0 MG2 25 0 AL 2 NONE 1500 S12 350 300 BA2E 150 0 3t 3t 3 3t 36 3 3E 3 3 3t 3 3 3 3 3 9E 9E 36 3 32 3 9E 3 3E 3 9 3 3 36 9 t 9 3 3E 30 3 96 3 3 9 3E 3 3 3 3 SEE ESE 3 3 3 3 9 9E 3 3 3 3 9 3 3 9 306 3E 36 464 TOTAL COST COTT NONE NONE 3 3 3 3 3 36 3t 36 3 36 36 3 30 3030 3 3 30 96 3 3 3 3 3 3E 3 9 2 3 3E 3 9 3 1E 9E 30 3 9 3 3E 3 3 3 3 3 3 3 9 9E 3E 9E 3 3 9E 9 9 96 9 3 ALLOY MATERIALS BIN A NONE 0 ALUMIAUM NONE 0 SILICAN NONE BIN B NONE 0 3 3 ALUMIBUM NONE 0 SILICBN NONE O x 3t 3 3 3 2 3 3E 3E E
27. 3 9 H 9 9E 4 9E at INPUT DATA RECORDS LPSAMPLE 4 3 96 36 JE 46 JE 36 30 36 3 33 3 3 4 3 96 3 9 36 4 4 3E 3639 4 1 3 at ENDATA MOVE DATA LPSAMPLE MINIMIZE COST BOUNDS ALLOY1 ENDATA LPSOLUT ION 3t 4 4 46 4E 3 46 4E 3 3 36 36 36 46 9 46 4 36 3E 4 96 9E 3 3E 9C 3E 3E 3C 4E 3E 3E 46 3 3 3E 46 3 3 3E 3E 3E 3E 3E 30 3 4 3E 3E 4 3 3 3 3E 3 36 3E 4 3E 3 OE OP 3E 4 4 Figure 20 Schematic layout for LPSAMPLE input and solution 10 for each variable whether the value of the variable in the solution lies at an upper limit UL a lower limit LL or an intermediate level B The heading Entries appears over a column of figures indicating the number of equation elements input for each variable The column headed Solution Activ ity indicates the total COST of the alloy blend the total final WEIGHT of the alloy blend the quantities of each raw material required and the quantities of each of the chemical ingredients in the final blend The next two columns headed Upper Bound and Lower Bound respectively indicate for each vari able the upper and lower bound as defined in the set of bounds named ALLOYI which controlled the solu tion of this LP problem The next to last col
28. ALLOY2 would appear as follows MOVE DATA MINIMIZE BOUNDS ENDATA OPTIMIZE LPSOLUTION MOVE BOUNDS ENDATA OPTIMIZE LPSAMPLE COST ALLOY1 ALLOY2 Optional Control of the Optimization Process The parameter settings are initialized by the system Only the settings MAXIMUM ITERATIONS and MAX IMUM PRICING will generally be useful even to the experienced LP user Resetting the other op tions may cause serious processing difficulties and should be used with great care only by the experi enced 1130 LPS user e MAXIMUM ITERATIONS is used to limit the number of iterations that may be performed for this DATA since this DATA was MOVEd and in cluding all subsequent optimizations This param eter is sometimes set to a small number for example 5 for the first partial optimization of a large new or complex model This checkout 37 run of the model will test the procedure sequence and if the run includes an LPSOLUTION report may also indicate data and or formulation errors The MAXIMUM ITERATIONS are checked at the end of each major iteration and the optimization will end when the number of iterations taken is equal to or exceeds the maximum This parameter is ini tially set to 32767 e MAXIMUM PRICING governs the size of the subset of variables chosen in each major iteration This parameter is effective only if it is less than the limitation imposed by available storage The subset size will be the smaller
29. BINe4 BINe5 FE CU MN MG SI SI AL BASE LPSAMPL2 LPSAMPLE CHANGES REDUCED COST 12000 02124 02000 0 061 0 012 0 053 02000 02000 02000 Q e 656 02000 02000 02000 406 2346 0 540 02000 200040 200 0 143 45 800 0 14503 1267 8 6060 100 60 5020 2560 35020 30020 150020 15020 illustrates the output log Note one restriction namely that a variable or a bound set cannot be re moved INPUT ENDATA PROBLEM CHANGES CONTAINS ROWS SELECTED ROWS VARIABLES SELECTED COLUMNS BOUNDS RHS S RANGES COLUMN ELEMENTS LOWER BOUND ELEMENTS UPPER BOUND ELEMENTS RHS ELEMENTS RANGE ELEMENTS CHANGES O O OO CO ODOKOIDDQODO NAME LPSAMPL2 DATA LPSAMPLE CHANGES PROBLEM LPSAMPL2 CONTAINS 9 ROWS SELECTED ROWS 16 VARIABLES 0 SELECTED COLUMNS BOUNDS RHS S RANGES COLUMN ELEMENTS LOWER BOUND ELEMENTS UPPER BOUND ELEMENTS RHS ELEMENTS RANGE ELEMENTS Ut O O O O O tN Figure 36 MERGE may also be used to prepare a copy of the problem file before revision We may first use MERGE to form new copy which we NAME LPSAMPL2 from the DATA LPSAMPLE We then REVISE the problem LPSAMPLE leaving the copy LPSAMPL2 untouched We may later list the revi sions if there are processing problems Figure 37 lists the input and control records for this use of MERGE Figure 38 illustrates the output log 20 MERGE NAME LPSAMPL2 DATA LPSAMPLE END
30. CSv 0 07H V S f Ut porund TBM International Business Machines Corporation Data Processing Division 112 East Post Road White Plains N Y 10601 USA Only IBM World Trade Corporation 821 United Nations Plaza New York New York 10017 International
31. HEHE E E 26 9 JE E 3E E 3E 3 JE 9 JE 9 E JE 9E 9E SEXE C JE JE 3E 3E E IE E dE EE E E E 3 9E 9E 9 4e 1E 3E 9E ETOH Figure 7 Equation element record format the coefficient of the variable on the right hand side The equations representing the chemical compo in the first value field 25 36 The worksheet sition may be input in precisely the same fashion for the records that input the WEIGHT equation Figure 10 provides a printout of a portion of the would appear as in Figure 8 In this manual work input deck beginning with the indicator record sheets are used instead of the Mathematical Program naming the problem LPSAMPLE and including all ming Input Form X20 1761 which is recommended the nonzero elements for input data preparation It is now necessary to input the set of bounds Similarly the worksheet for the records which indicating the weight of the desired alloy the inven input the equation elements for the cost equation tory limitations and the chemical specifications To this end the user must define a name for the set of bounds This name ALLOY1 here may be COST 03 BIN 1 08 BIN 2 17 BIN 3 thought of as a special sort of name and it will ap 12 BIN 4 15 BIN 5 pear in the first name field on each of the element 21 ALUMINUM 38 SILICON records that input the set of bounds for the proble
32. OPTIMIZE IF INFEAS LREOPTIM ENDATA LPANALYSIS LREOPTIM MOVE BOUNDS ENDATA LPSOLUTION LPANALYSIS BOUND2 Figure 41 DATA GENERATION AND MERGE The sample problem has shown how to formulate and prepare data for a single blend of material In many blending applications more than one product for example several alloys must be made from the same inventory In the previous example we supposed that only one alloy could be produced Let us see what would be required to prepare a multiblend problem where instead of producing one alloy from the ingredients we shall produce two alloys First we must provide a new formulation com plete with new names for the variables The new names are required to differentiate between mate rials in the first blend and materials in the second blend A common technique to simplify name gener ation and result interpretation is to assign a specific character or characters for example 1 2 A or B to appear in some part of the name If we arbitrarily choose the letter A to replace the cur rent character appearing in position 6 of the column variable names each name will be unique BIN 1A BIN 2A BIN 3A BIN 4A BIN 5A ALUMIAUM SILICAN and this representation can be used to distinguish the materials to be used in the first blend Similarly we may arbitrarily choose the letter B in position 6 of the column variable names to provide a unique representation of variables used in th
33. and only one bound 1f the previous variable bound type see Figure 78 defined two bounds FX E FR N G and L all define both a UB and an LB a single UB or LB will change only one bound MERGE The MERGE procedure forms a new disk problem file from problem file s previously stored on the disk The MERGE procedure makes it possible to alter the names of row variables and or column variables as they are combined to form the new disk problem file This provides useful model genera tion capability for many application areas The Source problem files the problem files previously stored on the disk are not altered by MERGE The new MERGEd file can be used in every way as if it had been formed by unit record INPUT it may be REVISEd OPTIMIZEd SOLVEd MERGEd DELETEZd etc The source problem files are designated by DATA control records Each source problem DATA record can be preceded by a column variable mask COLS data control record and or by a row variable mask ROWS data control record The column row variable name change is specified by a user specified mask in a COLS ROWS data con trol record The mask specifies the character s and the position s in the name field that the char acter s are to occupy For example a ROWS mask of bbibbbbb will cause the row variable names orig inating from the next specified DATA to be identical 31 to the row variable names in the source file except that the third position of ea
34. bound 3 Upper level otherwise Data Control RESTORE reads a DATA record naming the problem file containing the problem solution to be used Figure 66 illustrates RESTORE used in conjunction with SAVESOLUTION Figure 67 illustrates RE STORE used in conjunction with INSERT Since RESTORE reads only one data control record no ENDATA indicator is required Output The DATA record is logged Major Errors If a DATA record does not immediately follow the RESTORE call a major error is recorded and the procedure is terminated 3 3t 3 36 3 3E 3C 4E 36 3E 3 9 3 36 3 3 3 32 3 38 3 32 32 3 3 3 32 38 3 MOVE DATA LPSAMPLE ENDATA REVISE 3 3 C 36 36 3 32 26 3 3 3063 3 3 3 30 36 36 90 946163650 2 3 3 3 0X x MAINLY COEFFICIENTsBOUND x CHANGES 3t 3t 3 S 4 3E 3 36 36 3 3 4 3 3 4 2E 3E 3 3 E 9 0 3 3E 0E MOVE BOUNDS ALLOY1 MINIMIZE COST ENDATA RESTORE DATA LPSAMPLE LPSOLUTION SAVESOLUTION NAME LPSAMPLE SEM 3 4 3 3 3 30 9E 3E 26 3E 36 3E 3E 1E 6 3 3E 3 3 36 3E SE EEEE EE Figure 66 Use of SAVESOLUTION and RESTORE This illustrates a subsequent optimization of the model During the first optimization the data would be INPUTted and usually no advance solution would be available for RESTOREation 46 3t 3 3E 3E EK HHH EE
35. bound set RHS set or range set RRRRRRRR The name of a row variable SSSSSSSS The name of a RHS or range set TT Bound type VVVVVVVV The name of a variable Bound Types Figure 87 shows all the possible bound types and the bounds they generate INSERT Figure 88 is a summary of the input data formats used by the INSERT procedure Symbols Used TINI The name of a variable that is to be at intermediate level XL and XU status types only The name of variable that is to be at a bound XL and XU status types only SS Status type VVVVVVVV The name of a variable Status Types Figure 89 shows all possible status types and their meanings 59 FIELD FIELD 3 FIELD 4 ved m Het Rt t ett 4 ell NEN ra ss E HL i Im Fen JN THI d ane loje lI sl L T T et et T B PE i Z e ju lx quom W t u it b b x I lt Ip d 1 j E BERRE 1 olehi TTT TTT TT TT SOO MALE Di Ed d iid id FIELD FIELO 2 FIELD 3 FIELD 4 FIELD 5 FIELD 6 I I PKI L TII DT TA TU ke U ZL Ly XU T nini mer S T L L Te deffo Lats bolo fest HH PT ri poo ponen em Jn pertinen peo ee ere o eje 0 445 n nun mii TH TE HT BE EHI doas e
36. deck Comments records in this format may also be placed in the sequence of procedure call records and will be printed out LISTON record positions 1 7 can be used to begin listing input data on the typewriter All element indicator and comment cards following the LISTON record will be listed until an ENDATA or a LISTOFF record positions 1 8 Blank records may appear anywhere in an input unit record file not in a sequence of data control records and are ignored The following rules apply to the construction of all name and value fields 1 User defined names consist of 1 to 8 alpha meric characters It is recommended that names be left justified and not contain embedded blanks 2 System defined names such as ENDATA must be left justified and must not contain embedded blanks 3 A number in a value field may consist of from 1 to 11 digits The number must contain a decimal point The number must not contain embedded blanks A negative number is denoted by an 11 punch in position 25 Punching the decimal point in position 30 is recommended to simplify data check ing See figure 74 An invalid value field may cause an 1130 MONI TOR F003 accumulator display halt or if the decimal point is missing the position of the decimal point is assumed to lie between the 6th and 7th posi tions of the value field This usually results in wasted computer processing time mius 1 14 Indicator name 15 22 Name
37. field DATA CONTROL Symbols Used BBBBBBBB FFFFFFFF NNNNNNNN RRRRRRRR VVVVVVVV I IN EN 7 P i z a B E 1 E The name of a bound set The name of a problem file contain ing data to be used The name of a problem file into which data is to be stored The name of an RHS set or range set as appropriate The name of a variable FIELD 3 61 FIELD FIELD 2 FIELD 3 FIELD 4 00000006 ee eepe Wid kazola Teese H pror JI 111 RE EL keed PITIT J Hemar pere LE LU TT podera konrol 1 ITN Likes Wid Hd haror padoe JI peoe eaea lee ener Yl EE Tit pwer litt fehle EL Lil i llli HL eR 4 oss l 0 Ine a keroers bilol HH ZA IN des Er enoa araa LL i Ha a POS personen po pepe pe CACCARA eec en Figure 90 Cont BOUND GENERATION The rules for finding the bounds generated by LPS from RHS and range entries are as follows 1 there are entries for the variable in a bound set specified for use during optimization the RHS and range entries are ignored
38. follows 3t 3 3 3 HE HSE TE 36 3 3E 3 3 3E 3 3 3E 3 3 46 3 9 3 3 3 4E 3E 3 3 3 3 0 3 E JE E X X 3E 3 9 E JE 9E E 9 9E 9 E 3 MOVE DATA LPSAMPLE MINIMIZE COST BOUNDS ALLOY ENDATA RESTORE DATA LPSAMPLE OPTIMIZE 3 C 3C3C JE C 3E 3E JEJE C 9E E 3 JE IE E 3 3E 3 9e 9E E IE IEEE EE EE IE ECC IE Exhibit A Re optimization from saved solution Chapter 1 SAMPLE PROBLEM We shall present a typical though simplified pro AGGERE E GE AERE IE BEIDE UE ICE AE COE EE IEEE EUH AEUGUGLHEEE EE EGER GEGEN 7 duction problem as a basis for the development of CHEMICAL is ALLOY CONTENT IN LBS E an LP model that will illustrate the methods and Wc xeu uc NS I E MI capabilities of the 1130 Linear Programming Sys pueda uc a U nee tem LPS COPPER CU 100 e An aluminum alloy smelter wishes to produce ao as zi 2000 lbs ofa particular alloy at minimum cost The E us 358 sn gm alloy must however meet certain chemical con or nice ii uiii Ni straints The smelter has available various scrap materials and some industrially pure aluminum and silicon Five scrap materials of known chemical composition and in specific quantities are available for the blend wh
39. is Position 1 12 Procedure name Must be left justified and must not contain embedded blanks Indicator or procedure name Name indicator only the problem names Must be blank Figure 49 Indicator procedure call format DATA CONTROL RECORD FORMAT As illustrated in Figure 50 the data control format is Positions 1 4 Must be blank Positions 5 12 Contain the data control name for example PARAMET DATA Positions 15 22 Contain an I O designation dis cussed later or a processing specification name for example INTERVAL or a user defined name for example LPSAMPLE Positions 25 36 Contains the value assigned for processing specifications System defined names such as data control names must be left justified and must not contain embedded blanks User defined names consist of one to eight alpha meric characters It is recommended that names be left justified and not contain embedded blanks A number in a value field may consist of from one to eleven digits The number must contain a decimal point The number must not contain em bedded blanks A negative number is denoted by an 11 punch in position 25 Punching the decimal point in position 30 will simplify data checking If a dec imal point is not punched in a value field the deci mal point is assumed to lie between the sixth and seventh field positions An invalid value field may cause an 1130 MONI TOR stop displaying F003 in the accumulato
40. left hand side of an equation to highlight the differ ence in relationship between the LPS formulation and traditional LP usage of right hand sides The LPS row variables conform to the common mathematical usage of defining a variable in rela tionship to other variables hence in LPS notation Yi F X Y where F is a linear function of varia bles X and Y excluding Yi In 1130 LPS notation a variable is a row variable if it is defined on the left hand side of an equation variable is a col umn variable if it is not defined on the left hand side of any equation All row and column variables are assumed to be restricted to nonnegative solution activities unless otherwise specified All row and column variables may have type designations for example any variable may have a fixed solution activity or may be restricted to nonpositive solution activities or may be designated as a free variable or may be the objective variable Limits on the solution activities of 1130 LPS variables are normally specified by an upper bound and or by a lower bound explicit user specified lower bound is required only if the lower limit on the solution activity is different from the standard the standard is zero unless a type has been specified for a variable Similarly an ex plicit upper bound is required to specify an upper limit on solution activity unless a type is specified for a variable The traditional LP ROW ID or ROWS file def
41. not exceed either bound by the feasibil ity tolerance Too large a value may lead to un recognized infeasible solutions the solution activity may be too far below the lower bound or too far above the upper bound Too small a value may lead to unnecessary iterations or to failure to find a solu tion when an acceptable solution exists This param eter is initially set to 0001 and applies to the internally computed and scaled activities Use extra caution therefore when increasing this value e TOLERANCE PIVOT sets the pivottolerance Toolarge a value may lead to a false unbounded so lution Too small a value may lead to computational error This parameter is initially set to 0005 e TOLERANCE ELEMENT sets the threshold for computed elements A computed element is set to zero if its magnitude is less than the element tolerance Too smalla value may lead to unnecessary computation time Too large a value may lead to computation error This parameter is initially set to 000 000 000 5 e TOLERANCE SCREEN sets the scaled input data threshold After the input data has been scaled any number whose magnitude is below this tolerance is ignored high screen tolerance may result in incorrect solution low a screen tolerance may result in computation error and or excessive computation time This tolerance is initially set to the value 001 e TOLERANCE ERROR sets the optimization process error
42. not ready To continue ready the unit and press PROGRAM START on the console 2 Anerror is detected by the 1130 FORTRAN routines Such an error causes control to return to the 1130 Disk Monitor System Fora complete list of FORTRAN I O errors see C26 3750 The following are 1130 Disk Monitor System input output subroutine halts a Disk read error F102 use RESTART if optimization is in process b Format input error F003 correct c Disk overflow F101 problem too large or data area inadequate for this additional problem may or may not be improved by EDIT If any unexplained halts occur submit an Author ized Programming Analysis Report APAR through your local IBM systems engineer In addition to the report send 1 A sheet showing the status of the console lights 2 A core dump taken at the point at which the system halts 3 The log of the run up to that point 4 Input decks forany problems processed during the run These materials will enable any program error to be found and corrected as quickly as possible ERROR PHILOSOPHY There are two types of error major errors which prevent procedure from completing its task as required by the user and minor errors which are associated with problem data Whenever possible corrective action will be taken by the procedures as specified below and the processing of the current problem will be continued PROGRAM AND ERROR MESSAGES The following lis
43. plus infinity and an LB entry of minus infinity Revision by a single LB or UB entry will have no effect on the other limit After the REVISE data has been processed the old problem data no longer exists It is recommended there fore that all REVISE data be listed and checked before making the revision REVISE NAME LPSAMPLE X ALLOY FR ALLOY2 COST FX ALLOY2 WEIGHT 200040 UB ALLOY BiINel 200 0 UB ALLOY2 RINe 14365 UB ALLOY2 BINe3 80020 UB ALLOY2 BINe4 145 3 UB ALLOY2 BINe5 1267 8 UB ALLOY2 FE 6040 UB ALLOY2 CU 10060 UB ALLOY2 MN 5040 UB ALLOY2 MG 2540 UB ALLOY2 S 35050 LB ALLOY2 S1 30040 LB ALLOY2 AL 150040 UB ALLOY2 BASE 15040 ENDATA Figure 33 LOWER BOUND 3 3 9t 3 3E 3E 3 EE C 20002000 VARIABLE ENTRIES SOLUTION UPPER TYPE ACTIVITY BOUND COST B 0 3660265 4mm WEIGHT EQ 0 20002000 20006000 BINel B3 8 1366051 200 000 BINe2 UL 8 143 500 143 4500 BINe3 UL 7 800 000 800 000 BINe4 amp UL 7 1452300 145 300 BINeS B 8 13 575 1267 800 ALUMINUMB 6 553 92 3x 3 SILICON B 4 207 651 XX 3 4 X 43 FE UL 1 602000 602000 cu B 1 8 amp 516 100 000 MN B 0 194638 50 8000 MG B 0 7 161 252000 AL LL 15004000 3 txieieg oen SI LL 0 300 000 350 000 BASE 0 1444516 150 000 Figure 34 The LPSOLUTION for alloy 2 DATA REVISION AND MERGE The ability to add new elements rows and column variables and bound sets to an existing problem imposes certain responsibilities on the user The
44. sign must not appear in a value field it will cause an F003 Monitor FORTRAN format halt 9 LPS considers a blank as a valid character in a name field It does not automatically left justify names or squeeze out embedded blanks 6 Row names and column names in LPS must be distinct unless the column is to be the slack variable for the row of the same name Formu lation Rules in the Appendix 7 The input data for the 1130 LPS REVISE is the same as that for the 1130 LPS INPUT 1130 LPS does not use MPS 360 REVISE functions MODIFY DELETE BEFORE and AFTER records 8 1130 LPS coefficients or value fields must contain a decimal point for correct data input If no decimal point is punched a decimal point is assumed to lie between the sixth and seventh field positions Chapter 4 OPERATING PROCEDURES CALLING THE SYSTEM To call LP MOSS insert the disk cartridge on which the system has been loaded and turn the FILE switch ON When the FILE READY light comes on use the appropriate procedure given below CARD SYSTEM The deck required for an LP MOSS run consists of 1 An IBM 1130 Disk Monitor Cold Start card 2 bJOB 3 bXEQbMOSS 4 The LP MOSS control and or input deck for this run If there is no deck place a blank card after the XEQ card To begin the run 1 Press START on the printer if any 2 Run all cards out of the card reader by pressing NPRO on the card reader 3 Place
45. solu tion Each major iteration is a selection of a subset of the problem variables for suboptimization by the minor iterations OPTIMIZE periodically calls for new inversions in the course of solution to improve processing accuracy or to reduce the size of the computation files The optimization is complete when no subset of variables can be found which may improve the current solution Data Control The optimize problem definition and processing parameters are specified by MOVE data control records Problem Definition e DATA names and retrieves the problem file containing the data to be used e MINIMIZE or MAXIMIZE names the vari able whose solution value is to be minimized or maximized e BOUNDS names the bound set to be used if any e RHS names the right hand side set to be used if any e RANGE names the range set to be used if any The DATA and MINIMIZE or MAXIMIZE rec ords are always required to begin a series of optimizations The remaining records are used only if a corresponding set is to be used Thus if only a bound set is defined only a BOUND record is required No RHS or RANGE record need be provided If several optimizations are to be made using the same problem file only changes of objective BOUNDS or RHS or RANGE should be specified by MOVE control records A typical set of records designed to optimize an LP problem using bounds set ALLOY1 and then using bound set
46. the problem data LPPARAMETRIC can be used to determine the effect on the problem solution activi ties due to cumulative changes in the formulation data This procedure requires a disk stored para metric data problem file in addition to the problem formulation data file An LPSOLUTION report is printed for each variation of the problem data The problem data and the parametric files are not altered by this procedure Parametric Data The parametric data file specifies the change data which may include equation elements bound entries RHS elements and RANGE elements The para metric file must be stored before problem opti mization 42 Data Control A DATA control record must follow the LPPARAMETRIC procedure calito specify the para metric problem file No ENDATA indicator is required Optional MOVE Data Control PARAMET REPORTS can be used to specify the number of successive variations for which LPSOLUTION reports are required Since the number of reports is initialized to 5 five reports will be output unless otherwise specified by the user PARAMET INTERVAL provides a means of al tering the scale of the change data so that the same parametric data can be used for both gross scale and fine scale parametric investigations The in terval is initialized to 1 which will not scale the parametric data used An INTERVAL of 2 0 would have the same effect as a multiplication of every coefficient including bounds RHS ra
47. the deck in the hopper of the card reader 4 Press START on the card reader 5 Press IMM STOP RESET and then PRO GRAM LOAD on the console NOTE Remove the LP MOSS disk after the run to protect the data files PAPER TAPE SYSTEM The paper tape records required for an LP MOSS run are 1 An IBM 1130 Disk Monitor Cold Start record 2 bJOB 3 bXEQbMOSS 4 The LP MOSS control and or input records for this run if any To begin the run 1 Press START on the printer if any 2 Put the cold start paper tape record into the reader position any of the delete codes after the program name in the tape leader under the read starwheels 3 Press IMM STOP RESET and then PRO GRAM LOAD on the console 4 Put the remaining records into the reader always positioning a delete code under the read starwheels Press START on the console to read the next record NOTE Remove the LP MOSS disk after the run to protect the data files USING THE TYPEWRITER If the typewriter is assigned as the control device when a control record is required by the system the KB light on the console will come on Type in the required record and press the EOF key to indi cate that the record is ended mistake is made in typing press the ERASE key and begin the record again INTERRUPTION ERROR AND MALFUNCTION RECOVERY RECOVERY OPERATING PROCEDURE M06 NO PROGRAM ERROR restart after an invalid procedure call resulting in a
48. threshold During optimization pricing checks are made When the computation error exceeds the error tolerance a reinversion is performed If after a reinversion the computa tional error is still greater than the errortolerance the optimization is abandoned high an error tolerance can result in failure to detect computation errors and may result in invalid results Too low an error tolerance can result in failure to continue optimization This tolerance is initially set to the value 01 PROBLEM SOLUTION OPTIMIZE OPTIMIZE finds the solution to an LP problem The problem to be solved is defined by MOVE data control records naming the problem file to be used the objective variable of the problem and the BOUNDS RHS and RANGE sets to be used if any When OPTIMIZE is first called following a MOVE DATA it scales the problem data to provide greater processing accuracy OPTIMIZE will auto matically generate a somewhat arbitrary set of starting solution levels or status to begin optimiza tion except when 1 a starting solution is RESTOREd see Starting Solutions later in this chapter or 2 second or subsequent optimization is performed without an intervening MOVE DATA The procedure will call invert to compute the solution activities at the beginning of the first op timization Then the procedure performs a number of minor iterations changes in solution using each minor iteration as a base to find an improved
49. true the procedure begins a search for the label record on the CONTROL device The search and the procedure are completed when the label record or an END call record is read Control is returned to the LP MOSS Monitor which reads the procedure call record following the label record Data Control See IFNOT Label Records See IFNOT IFNOT The IFNOT procedure provides a conditional bypass of part or all of the remaining procedure sequence IF condition is NOT true the IFNOT procedure reads a condition label data control record IF the condition specified by the data control record is NOT untrue the next data control record is used This procedure is also terminated by an ENDATA indicator following the last condition label data control record IF the condition specified by the data control record is NOT true the procedure begins a search for the label on the CONTROL device The search and procedure are completed when the label record or an END call record is read Control is returned to LP MOSS which reads the next procedure call record Data Control The first name field positions 5 12 of the data con trol records read by IF and IFNOT specify the con dition to be tested The second name field positions 15 22 contains the label to be searched for if the test is positive The data control records must be followed by an ENDATA indicator The conditions that may be tested are e OPTIMUM Anoptimum and feasib
50. value field The sign of the number is ignored If this parameter is not MOVEd the initial value will be used This parameter is ini tially set to 5 e INTERVAL sets the interval parameter of LPPARAMETRIC to the number contained in the value field This parameter is initially set to 1 0 Optimization Parameters of the parameters are initialized by the system Only resetting MAXIMUM ITERATIONS and MAXI MUM PRICING will generally be useful even to the experienced LP user Resetting the other param eters may cause serious processing difficulties and should be done with great care only by the ex perienced 1130 LPS user e BETWEEN INVERTS sets the parameter which controls the number of minor iterations be tween inversions This will cause reinversion at the first major iteration when the number of minor iterations exceeds the specified number Inversions are also called for by OPTIMIZE when an internally calculated processing error is exceeded Too low a value may result in failure to complete the optimiza tion too high a value may result in extremely long processing times or may have little or no effect depending on internal processing error calculation inversion checks This parameter is initially set to 40 e AFTER INVERT sets the parameter which controls the number of iterations allowed since in vert when an optimum solution is found When this number is exceeded reinversion occurs and opti mization
51. 0 0 010000 0 020000 0 020000 0 020000 0 030000 0 010000 0 700000 0 750000 02800000 0 750000 0 800000 0 97 02020000 0 060000 02080000 02120000 02020000 0 01 0 97 1 0 1 0 of different bounds by using later during the solution process a new single control record to name a dif ferent bound set to be used in the computation The element records that input bounds differ from equation element records in that bound element rec ords always indicate what sort of bound is being defined For our purposes at the moment we need to define four principal bound types upper lower fixed and free For each of these types LPS pro vides a specific symbol which must appear in cc 2 and 3 of the bound element data record Consider the bound element record in Figure 11 The UB in cc 2 3 signifies that the record will input an upper bound ALLOYI in the first name field names the bound set and BIN 1 in the second name field names the variable to be bounded The figure 200 0 in the coefficient field indicates that the upper bound on the material symbolized by BIN 1 is 200 lbs The lower bound is automatically set at zero by the 1130 LPS The record in Figure 12 illustrates an element data card defining a lower bound LB on the quantity of ALUMINUM which must appear in the solution em ploying bound set ALLOYI1 To the obvious designations UB and LB signify ing upper bound and lower bound we must add the designations FX and FR FX
52. 0 000 0 251 257 596 00241 LL 02000 2504000 00241 160 727 Xxs x XX BASE 1202000 120 000 0 245 122 9318 xXxxxxuxx UL 02000 02000 00245 1142360 00245 Figure 22 LPANALYSIS variables at bounds 12 TRA VARIABLE SOLUTION UPPER BOUND COST UNIT INCREASED LOWEST ACTIVITY INCREASE ACTIVITY COST TYPE CURRENT LOWER BOUND COST UNIT DECREASED HIGHEST COST DECREASE ACTIVITY COST COST 201 0434 3 3 4 36 3 3 3 9E 3 36 3 3E 3E 0 3E 3E X NX 3 3 XE 3014434 3t 3 3 2 3 3 9 4 3 39 3 1 2000 3t3t3 30 3 3 4 3 3 3 3 3 3 3 36 3 3 3 3 3 301 e434 Jt 3t 3 3 4 3 3E HE 3 9 3 BINe2 6062508 750 000 0 000 7434597 0 079 Bx 0 079 02000 0 010 4300237 02090 BINe4 5540733 700 000 0 012 8514851 0 107 Bx 0 120 0 000 02001 4620548 0 121 BINeS 232 248 150054000 0 015 342 490 00134 Bx 0 150 0 000 0 000 10 845 0 150 ALUMINUM 464 497 XXXIX XX 0 001 552 816 0 208 0 210 06 000 02024 393 873 0 234 SILICON 142 011 HHH HHH HHH 0 203 151 001 0176 Rx 00379 0 000 0 091 1404524 02471 CU 60 4000 100 000 2 951 646 801 2 951 Ba 0 000 0 000 0 245 54 360 0 245 MG 200517 20 000 0 076 220307 O 5076 Bx 0 000 0 000 06421 16 332 0 421 AL 15070292 KIRRI 02009 15210251 0 009 B 3t 0 000 1500 000 25 1459 289 Oe 251 B Figure 23 LPANALYSIS variables at intermediate levels per unit price rise but also the range ov
53. 0 2502000 300 000 250 000 BASE UL 0 1202000 120 000 02000 Figure 28 LPPARAMETRIC cost change third report The parametric data can include any of the equa tion coefficients and can also include bound entries It is highly recommended that bound parametric data apply only to explicit bound entries Paramet ric bound data for implicit bound data for example the upper bound of ALUMINUM is an implicit bound of infinity can yield unexpected and undesired re INPUT sults NAME Figure 29 shows an example that would produce a UB ALLOY1 series of solution reports corresponding to iron ENDATA specification changes from the input upper bound MOVE value of 60 lbs at two pound intervals to a final A value of 64 Ibs Figures 30 and 31 show the series BOUNDS of solution reports produced by this example ENDATA During an LPPARAMETRIC run the data files LPSOLUTION formed and used by the LPS optimization routines MOVE are actually altered to reflect the parametric PARAMET changes specified by the user Thus in the previ ENDATA I LPPARAMETRIC ous example at the end of the parametric run the DATA upper bound of the variable FE would actually be 64 lbs The original input data files are not al tered and can be used again for processing Figure 29 16 CURRENT COST 16000 0 000 02030 02109 02170 0 120 0 180 0 210 0 320 QeCOO 02000 02000 02000 02000 02000 0 000 PARFE FE LPSAMPLE COST ALLOY1 RE
54. 00 02000 02000 02000 02000 02000 02000 0e900 02000 0e000 02000 1 000 02000 02000 0 000 02000 02000 02000 02000 REDUCED COST 02000 06235 0 098 02000 0 028 02000 02000 02000 029000 12014 0 000 02000 02000 02000 06207 0 865 02000 0 226 06 000 02000 02000 02000 0 014 02000 02000 02466 02000 02000 02000 0 448 0 639 0 000 12000 02000 0 049 0 003 0 047 02000 02000 02000 27 Chapter 29 THE LPS PROCEDURES CONTROLLING LPS This chapter provides a description of the LPS procedures Each procedure carries out a specific task for example 1 INPUT the problem data 2 MOVE the processing specifications or para meters such as bound set name objective 3 OPTIMIZE the specified problem 4 LPSOLUTION report preparation and writing This chapter is intended to serve as a reference for procedure usage System concepts formulation and general description have been given in Chapter 1 It is highly recommended that the user read the appropriate procedure description in this chapter before using a new or unfamiliar procedure The new LPS user should begin by formulating one or more small practice problems It is advis able to begin with a simple procedure sequence gradually increasing familiarity with the procedures that appear to be most relevant to the application Figure 48 provides a table of the functions and procedures of 1130
55. 000 CURRENT COST 02000 000 000 02000 02000 02000 REDUCED COST 02000 02000 02000 02000 02000 02000 REDUCED COST 02000 0 000 OQ e000 02000 02000 02000 49 Chapter 3 LPS INPUT DATA FORMATS This chapter provides a discussion of the LPS for mats The system provides a very flexible prob lem definition capability for the advanced LP user together with a minimum of data preparation detail for allusers Certain input data options are designed expressly for the 1130 LPS user who is also an MPS 360 user Some portions of this chap ter discuss features that may be of little interest to the new LP user other portions are directed pri marily to the joint 1130 LPS and MPS 360 user The section entitled Basic Input Record For mats provides a discussion of input from card and paper tape the general formats and rules governing data preparation The precise format of each type of record is illustrated and described The section entitled Input Data completes the additional details for the preparation of basic data required for problem definition The beginner should skip the subsections Standard Bounds and Selection Files ROWS and COLS The remain der of Input Data except for ENDFILE Indica tor is oriented to the joint 1130 LPS MPS 360 user The section entitled Revise Data discusses the LPS disk problem data maintenance functions This topic should be thoroughly read an
56. 000 86020900 02 001 1004512 Qo168 LL 0 170 0 000 Q 001 52 6513 FE 605000 600000 2 957 620033 Wb UL 02000 02000 20951 556 198 2 951 MN 404 000 406 4000 0 908 410579 Tinte UL 0 000 02000 00908 282059 00908 SI 250 000 300 000 241 257 596 0 024 LL 0 000 2502000 0 241 160 727 GE BASE 120 000 120 000 0245 122 218 kanishka UL 0 000 0 000 02245 1144360 0 245 Figure 59 LPANALYSIS variables at bounds ee TVARIABLES AT INTERMEDIATE LEVEL l VARIABLE SOLUTION UPPER BOUND COST UNIT INCREASED LOWEST ACTIVITY INCREASE ACTIVITY COST TYPE CURRENT LOWER BOUND COST UNIT DECREASED HIGHEST COST DECREASE ACTIVITY COST COST 3016424 HHH REE 3010434 HHH HEH Bx 1 OOO HHHHHHR HHH HUME RHE 3010434 BINe2 606 508 7502000 02000 7436597 0 079 Bt 0 079 0 000 0 010 4300237 0 090 BINe4d 554 733 700 000 0 012 8512851 0 107 B 0 120 02000 02001 462 548 0 121 BINe5 232 4248 15004000 02015 3426490 0 134 0 150 02000 02000 10 845 0 150 ALUMINUM 464 497 E XXX x43 02001 552 816 0 208 B 0 210 0 000 0 024 393 873 0 234 SILICON 142 011 HHH HHH 0 203 151 001 0 176 Be 02379 02000 0 091 140 524 0 471 CU 60 000 100 000 2 951 64 801 2 951 B 02000 02000 0 245 54 360 0 245 MG 20 517 304 000 02076 22 307 05 076 B 0 000 0 000 0 421 16 332 0 421 AL 1507 292 HIE t ib ei 02009 1521251 0 009 B 0 000 15004000 0 251 1459 289 0 251 Figure 60
57. 700 lbs of BIN 4 and 232 2 Ibs of the original 1500 Ibs of BIN 5 In addition the quantities required of ALUMINUM and SILICON have been purchased and ALLOY1 has been pro duced Suppose that we now must produce from our re duced inventory ALLOY2 To run this new prob lem we could prepare a new INPUT deckor REVISE the current problem data LPSAMPLE Figure 32 gives the specifications of ALLOY2 As a consequence of our ALLOY1 production we can remove the bound set ALLOY1 and add a new bound set ALLOY2 To indicate our new inventory situation and the new ALLOY2 we shall REVISE the data of NAMEd problem LPSAMPLE as shown in Figure 33 This revision illustrates a new data specification type the variable removal type The effect of this type is to X out cross out the named variable or bound set This element record requires an X in record position 2 and the bound set or variable name in the first name field record position 5 12 In our example we required only inventory and alloy specification changes This was done by X ing out the previous bound set ALLOY1 and in troducing a new bound set ALLOY2 Normal day to day processing will probably require 1 new column variables to represent materials purchased 2 price changes in current inventory variables to reflect market cost changes 3 column variable removals as inventory variables are used up and He MET TE EH RE RE VARIABLE UPPER BCUND LCwER BOU
58. 8 BIN 2B BINe2B BINe2B BINe2B BINe2B BINe28 BINse2B BINe3B BINs3B BINe3B BIN 38 BINe3B BINe38 BIN 3B BINe3B BINe4 amp 8 BINe4B BINe4B BINe4B BINe4B BINe4SB BINe48 BINe5B BINeSB BINe5B BINe5B BIN 5B BINe5B BIN 5B BINe5B BINe5B ALUMI BUM ALUMIBUM ALUMIBUM ALUMIBUM ALUMI BUM ALUMIBUM ALUMIBUM SILICBN SILICBN SILIC8N SILICBN SILICBN FE2 Cu2 BOUNDS FX UP UP UP UP LO ALLOYMU ALLOYMU ALLOYMU ALLOYMU ALLOYMU ALLOYMU ALLOYMU ALLOYMU ALLOYMU ALLOYMU ALLOYMU ALLOYMU ALLOYMU ALLOYMU ALLOYMU ALLOYMU ALLOYMU ALLOYMU ALLOYMU ALLOYMU ALLOYMU ALLOYMU ALLOYMU ENDATA COTT CO2T WE2GHT FE2 CU2 MN2 MG2 AL 2 512 BINelT 2 WE2GHT FE2 CU2 MN2 MG2 AL 2 S12 BINe2T co2T WE2GHT FE2 2 MN2 AL 2 S12 BINe3T co2T WE 2GHT FE2 CU2 MN2 AL 2 S12 BINeST CO2T WE 2GHT FE2 CU2 MN2 MG2 AL 2 SI2 BINe5T CO2T WE 2GHT FE2 CU2 AL 2 SI2 ALUMITUM CO2T WE 2GHT FE2 512 SILICTN BA2E BA2E WEIGHT FE1 CU1 MGI AL1 511 511 1 WE2GHT FE2 CU2 MN2 MG2 AL 2 S12 512 2 BINelT BINe2T BINe3T BINe4ST BINeST Figure 54 MULTIBLE problem data generated by MERGE output by the BCDOUT procedure 1 000000 0 030000 1 000000 0 150000 02030000 02020000 02020000 0 700000 0 020000 1 000000 0 080000 1 000000 02940000 0 050000 0 040000 0 030000 0 750000 0 060000 1 000000 02170000 1 000000 02020000 0 080000 02010000 0
59. 800000 0 080000 1 000000 0 120000 12000000 02040000 0 020000 0 020000 0 750000 0 120000 1 000000 0 150000 1 000000 02020000 0 060000 0 020000 02010000 0 800000 02020000 12000000 06210000 12900000 0 010000 02010000 0 970000 0 010000 12000000 0 380000 1 000000 02030000 0 970000 1 000000 1 000000 1 000000 20004 000000 602000000 1002000000 402000000 302000000 15004000000 2502000000 3002000000 1202000000 2000 2000000 602000000 1002000000 50 000000 25 2000000 15002000000 3002000000 3502000000 1502000000 200 000000 750 000000 8002000000 700 2000000 15002000000 33 Output The PUNCH unit can be CARD PRINTER PAPER TAPE or TYPEWRITER PUNCH assignment can be made by a data control record read by MOVE before BCDOUT If PRINTER output is desired the following records will accomplish that end MOVE DATA MULTIBLE PUNCH PRINTER ENDATA BCDOUT If a deck of punched cards is desired the follow ing records are appropriate MOVE DATA MULTIBLE PUNCH CARD ENDATA BCDOUT If the output is on cards or paper tape the BCDOUT output deck can be used as input data to be read by INPUT Figure 54 illustrates the output produced by BCDOUT on the printer for the prob lem file MULTIBLE Major Errors If the output is on cards BCDOUT reads the next card in the deck being read and checks that the first 36 positions of the card are blank 1f they are not blank a major error is recorded and the procedu
60. ATA MOVE DATA LPSAMPLE ENDATA REVISE X ALLOY FR ALLOY2 COST FX ALLOY2 WEIGHT 2000 0 UB ALLOY2 BINel 20000 UB ALLOY2 BINe2 14365 UB ALLOY2 BINe3 800 0 UB ALLOY2 BINe4 14503 UB ALLOY2 BINe5 1267 8 UB ALLOY 2 FE 60 0 UB ALLOY CU 10040 UB ALLOY2 MN 5060 UB ALLOY2 MG 2500 UB ALLOY2 S1 35060 LB ALLOY2 SI 30040 LB ALLOY2 AL 1500 0 UB ALLOY2 BASE 15040 ENDATA Figure 37 MERGE NAME LPSAMPL2 DATA LPSAMPLE ENDATA PROBLEM LPSAMPL2 CONTAINS 9 ROWS SELECTED ROWS 16 VARIABLES O SELECTED COLUMNS 1 BOUNDS RHS S RANGES 50 COLUMN ELEMENTS 4 LOWER BOUND ELEMENTS 13 UPPER BOUND ELEMENTS O RHS ELEMENTS O RANGE ELEMENTS MOVE DATA LPSAMPLE ENDATA REVISE ENDATA PRORLEM LPSAMPLE CONTAINS 9 ROWS O SELECTED ROWS 16 VARIABLES SELECTED COLUMNS 2 BOUNDS RHS S 0 RANGES 50 COLUMN ELEMENTS 8 LOWER BOUND ELEMENTS 26 UPPER BOUND ELEMENTS O RHS ELEMENTS O RANGE ELEMENTS Figure 38 In addition since we have produced ALLOY1 we are no longer interested in the parametric data PARCOST Consequently we shall DELETE this problem DATA named PARCOST Since we may wish to DELETE several obsolete DATA files this procedure is alsoterminated by an ENDATA indicator DELETE DATA ENDATA PARCOST When these records are processed the DATA named PARCOST ceases to be available to the user The area on the disk occupied by the problem data will not be made available to the user until the disk is EDITed In gen
61. BLE No solution can be found in which the values of all the problem variables lie within their bounds The infeasible variables are indicated by messages on the LPSOLUTION report e SOLUTION UNBOUNDED The objective vari able may be decreased MINIMIZE or increased MAXIMIZE without limit The variable causing this unboundedness is indicated by a message on the LPSOLUTION report e INCOMPLETE OPTIMIZATION The maxi mum numbers of iterations allowed have been taken without finding an optimal solution e MAXIMUM PROCESSING ERROR XXXXXX XXXXXX A computational error has been found that is greater than the error tolerance The maximum error found is printed The problem should be examined to attempt to reduce greatly the number of elements A reduction in the number of row variables is also desirable Major Errors If there is no problem data in the problem file re trieved by the MOVE DATA record or if no file has been retrieved an error message is logged and a major error recorded If this condition occurs OPTIMIZE returns control to the LP MOSS Monitor regardless whether OPTIMIZE was called by the user by LPSOLUTION or by any other procedure ITERATION INFEASIBILITY VALUE OF NUMBER COUNT COST 0 2 GR7e761 0 301 434 SOLUTION OPTIMUM Figure 56 Iteration log LPSOLUTION LPSOLUTION automatically calls OPTIMIZE if the latter has not already been called At the end of OPTIMIZE LPSOLUTIO
62. C 3 3 JE 3E 363 3 3 9 3 3 36 3 3E 3E 4 XXI 3E 3E 3E 3 96 3 3 3 3E 3E 3E 3E 3E 3E3E 3 3 3 3E 3E 3E 3E 3E 3E 9E 3E E Ge xt 389 030 Figure 43 Bounds on the multiblend problem 25 INPUT MERGE NAME LINKEQ NAME MULT IBLE CO1T COTT 120 ROWS 1 co2T COTT 120 COLS A BINelA BINelT 120 DATA LPSAMPLE BINel8 BINelT 1 0 ROWS 2 BINe2A BINe2T 140 COLS B BINe2B BINe2T 1 0 DATA LPSAMPLE BINe 3A BINe3T 1 0 DATA LINKEQ BINe 38 BINe3T 10 4A BIN 4T 120 REVISE BINe 4B BINe4T 1 0 X ALLOY2 BINe5A BINe5T 1 0 ENDATA BINe 5B BINe 5T 1 0 ALUMIAUM ALUMITUM 120 ALUMIBUM ALUMITUM 1 0 Figure 45 The MERGE data control cards to generate the multiple SILICAN SILICTN 100 blend problem MULTIBLE SILICBN SILICTN 1 0 UB ALLOYMU BINelT 200 0 UB ALLOYMU BINe2T 750040 UB ALLOYMU BINe3T 800 0 UB ALLOYMU BINe4T 700 60 INPUT UB ALLOYMU BINs 5ST 1500 60 FX ALLOYMU WEIGHT 2000 0 LINKEQ UB ALLOYMU FEL 60 0 3t 3 JE CC HEHE 3 3E 3E 3E 3E 3E HEE JE IE E 3E EE EE UB ALLOYMU cul 10020 x UB ALLOYMU MN1 4020 LINKING EQUATIONS x UB ALLOYMU MG1 3020 LB ALLOYMU AL 1 1500 0 x INVENTORY UR ALLOYMU 511 30060 SPECIFICATION LB ALLOYMU 511 25060 BOUNDS UB ALLOYMU BAIE 12040 FX ALLOYMU WE2GHT 200000 X X Xt HE 3E 3E 3E FE GE EXE E
63. C IEEE IE IER 3636 3C MERE IE IE HEE 174 MUST BE BLANK 5 12 NAME 1 13 14 MUST BE BLANK 15 22 NAME 2 23 21 MUST BE BLANK 25 36 VALUE 33 4 3E 3 3 3 3E 3E 3 3 3 3 3 3E EE E 30 39 3 BEE Figure 18 Data control record format MOVE DATA LPSAMPLE MINIMIZE COST BOUNDS ALLOY1 ENDATA LPSOLUTION Figure 19 Move and data control records required to solve LPSA MPLE OUTPUT REPORTS The 1130 LPS will produce the output report repro duced in Figure 21 for the alloy blending problem we formulated Across the top of the report appears a series of headings describing the tabular information contained in the report Under the heading 1 ble is a list of all the variables that figure in the problem heads a column which indicates 3t 463 3t 3t 3 4 36 3E 3E JE 3E 3E 3 4 JE 36 3 JE 3E ME 3 3C 4E 3E 3E JE 3E 3E 3E 9E E 9e JE 3E 2E IE E 3 3E 9E 36 3 3 3E IE 4E 3 36 3 96 9E 9E INPUT NAME LPSAMPLE 3t 3 3 3 JE 3E 3E 36 9 3E 3 9 3
64. E NEED HE 0 000 SILICON B 4 118 727 02000 FE UL 1 60 000 604 000 0 000 CU B 1 60 000 100 000 0 000 MN Bx 0 35 460 40 000 0 000 MG Bs 0 14 504 304 000 0 000 AL B 0 15280410 ssxxde HEE 15002000 51 LL 0 2502000 300 000 250 000 UL 0 120 000 120 000 0 000 Figure 27 LPPARAMETRIC cost change second report CURRENT COST 1 000 0 000 0 030 0 089 0 170 04 120 0 160 0 210 0 360 02000 02000 02000 02000 0 000 0 000 0 000 CURRENT COST l 000 0 000 02030 02099 0 170 02120 02170 0 210 0 340 02000 02000 02000 0 000 02000 0 000 0 000 REDUCED COST 1 000 0 244 0 312 02000 02000 C2000 0 003 0200C 02000 23 197 0 000 0 464 02000 02000 02225 0 239 REDUCED COST 1 000 0 247 0 337 02000 02000 0 000 0 007 02000 06000 30418 02000 02000 02000 02000 0 209 0 8255 15 VARIABLE ENTRIES SOLUTION UPPER LOWER TY ACTIVITY BOUND BOUND COST Bs 0 313 227 X 4X 4iX34X IHAN WEIGHT EQ 0 2000 000 2000 000 2000 000 BINel LL 8 02000 2002000 02000 BIN 2 B 8 483 476 750 000 02000 BINe3 Bs 7 212 117 800 000 0 000 BINe UL 7 700 000 700 000 0 000 5 LL 8 02000 1500 000 0 000 ALUMINUMB 6 485 679 02000 SILICON B 4 119 727 0 000 FE UL 1 60 000 606 000 0 000 CU B 1 602000 100 000 02000 MN Be 0 356 460 402000 02000 MG Bst 0 14 504 30 4000 02000 AL B 0 15280410 1500 2000 51 LL
65. EE UB ALLOYMU FE2 6020 ENDATA UB ALLOYMU CU2 10050 UR ALLOYMU MN2 5060 MERGE UR ALLOYMU MG2 256 0 NAME MULTIBLE LB ALLOYMU AL2 150060 ROWS 1 UR ALLOYMU SI2 2500 COLS A LR ALLOYMU 512 300 0 DATA LPSAMPLE UR ALLOYMU BA2E 150 0 ROWS 2 ENDATA COLS B DATA LPSAMPLE DATA LINKEQ Figure 44 LINKEQ input ENDATA REVISE X ALLOY2 ENDATA MOVE MINIMIZE COTT BOUNDS ALLOYMU PUNCH PRINTER ENDATA s BCDOUT LPSOLUTION LPANALYSIS Figure 46 The run setup for MULTIBLE 26 VARIABLE ENTRIES SOLUTION TYPE CO1T B WEIGHT EQ BINelA LL BIN 2A BINe3A LL BINe4A B BINe5A B ALUMI AUMB SILICAN B FE1 UL CUI Bs MN1 Bs MG1 B AL B 511 LL BALE UL 027 Bs WE2GHT EQ BIN 1B B BINe2B B BINe38B BIN 4B BINeSB LL ALUMT BUMB SILICBN B 2 UL CU2 B MN2 Bs MG2 B AL 2 LL SI2 Lt BA2E B COTT B BIN 17T B BINe2T UL BINe3T UL BINe4T UL BINe5T B ALUMI TUMB STLICTN 8 0 0 Oro ooo O v v Ob wo J O OD ACTIVITY 3016716 20002000 02000 578 338 0 000 577 949 249 866 453 210 140 635 602000 60 000 39 689 194 848 15060723 2502000 120 000 3654788 2000 000 135 776 171 661 799 999 122 050 02000 561 517 208 993 60 000 845 712 20 023 7e865 15002000 3004000 144 712 6674505 135 776 7502000 800 000 700 000 249 866 10142727 349 6628 UPPER BOUND 4 9 9 9E 96 303 2000 000
66. EN Ji mi elo dnos THEE n mE in E ast fs HILL Bi Hii HH E mu E zie H ERE HHL ERESI J i i mn pun ud HHHH HH au HAE H SHEESH 12 D FIELD 1 FIELD 2 Bound value No effect No effect Bound value Bound value Bound value Infinity infinity Bound value Infinity Infinity Bound value Figure 87 INPUT and REVISE bound types 60 PELOS FIELD 4 XL Intermediate level XU Intermediate level LL Lower bound WL Upper bound BS Intermediate level Figure 89 INSERT status types CONTROL RECORD FORMATS Figure 90 shows all the procedure call control records and the data control records that may be read by each procedure For the MOVE control FIELD I FIELD 2 FIELD 3 imm Ll INS TS TJ SN T st I C I mmm TELE CU AM E HR A ad EEER g ME mie 5 pup 3 EGLIBENENEMLCN EB Lb BIER Ka xuma 290 SR ERES tn REIR UNI Figure 90 Status of variable in 15 22 Lower bound Upper bound data records requiring a numeric value the initial value of the corresponding parameter is shown in the value
67. LPANALYSIS variables at intermediate levels 7 COST UNIT INCREASE per unit addi tional cost produced by increasing the activity of the variable by one unit valid up to the activity shown under INCREASED ACTIVITY 8 COST UNIT DECREASE the per unit addi tional cost produced by decreasing the activity of the variable by one unit valid down to the activity shown under DECREASED ACTIVITY 9 INCREASED ACTIVITY the activity level of the variable which would be produced by a change in its cost to the LOWEST COST 10 DECREASED ACTIVITY the activity level of the variable which would be produced by a change in its cost to the HIGHEST COST 11 LOWEST COST amp HIGHEST COST the cost range within which the activity level of the variable remains unchanged When the variable cost falls below the LOWEST COST its activity increases to the value listed under INCREASED ACTIVITY When the variable cost exceeds HIGHEST COST its ac tivity decreases to the value listed under DE CREASED ACTIVITY The values listed under INCREASED ACTIVITY and DECREASED ACTIVITY are valid only in the neighborhood of the values listed under LOWEST COST and HIGHEST COST If the solution is infeasible or unbounded LPANALYSIS will call LPSOLUTION in order to avoid using machine time to produce anessentially meaningless LPANALYSIS report LPPARAMET RIC The LPPARAMETRIC procedure performs a series of optimizations on successive variations of
68. LPS ERROR PHILOSOPHY The system will continue the procedure sequence except for conditional control bypass eveniferrors are made in the problem description or in the speci fication of processing parameters Whenever pos sible corrective action is taken by the procedures to continue operation LPS distinguishes two types of errors minor errors which allow the procedure to continue processing and major errors which cause the procedure to discontinue processing Minor errors These errors are usually due to incorrect data A message is printed describing the error The procedure will also print any cor rective action taken Major errors These errors are usually due to invalid procedure or data control sequence An appropriate error message is printed and in many of the procedures the procedure will discontinue processing The next procedure requested will be read and called to perform its task 28 Function Data Maintenance Processing Specification Problem Solution Postoptimal Analysis Starting Solutions Conditional Control Solution Simultaneous Equations Program Termination Figure 48 Procedure INPUT STATISTICS REVISE MERGE BCDOUT DELETE EDIT DICTIONARY MOVE OPTIMIZE LPSOLUTION RESTART LPANALYSIS LPPARAMETRIC SAVESOLUTION RESTORE PUNCH INSERT IF IFNOT SOLVE END Purpose Reads unit record data to form problem file then calls STATISTIC
69. N prints a report listing the solution values for all the variables in the prob lem as well as additional information useful for postoptimal analysis Data Control Before LPSOLUTION can be called the parameters of the problem must be set by MOVE procedure cal and the appropriate data control records see OPTIMIZE just preceding this section Output The LPSOLUTION report is a tabular representation of the solution containing two heading lines and one line for each variable in the problem Figure 57 illustrates the report produced by LPSOLUTION for the problem LPSAMPLE and should be interpreted as follows 1 VARIABLE the name of each variable in the problem 2 TYPE the status of each variable in the solution in terms of its bounds One of the follow ing status codes will appear LL variable is at lower limit UL variable is at upper limit EQ variable has a fixed value FR a free variable is at zero level B variable is at an intermediate level 3 ENTRIES the number of equation elements in put for each variable very useful for checking data 4 SOLUTION ACTIVITY the value of each variable in the current solution 5 UPPER BOUND the effective upper bound defined for each variable value in the input data The effective upper bound may be due to STANDARD BOUNDS BOUNDS set RHS or RANGE set 6 LOWER BOUND the effective lower bound defined for each variable value in the input
70. NAME LPSAMPLE 3t 3C 3 3 3 3 4 3E 3 3E 9 3E 9E 9E 3E 3E 9E 3 JE JOE JE E Figure 39 Use of SAVESOLUTION and RESTORE This illustrates a subsequent optimization of the model During the first optimization the data would be INPUTted and usually no advance solution would be available for RESTOREation 21 3C 3E 3 3 X JE 3 3E 3 3 30 2 9 3 9 9 JE 3E E IE IE 9E 3 INPUT 3 3 3 2 3 3 36 3 9 30 3E 3E 3 3 3 3 3 3 3 903 3 28 36 30 9 9E 0 X DATA IN UNIT RECORD FORM Li 3X 3 3E 3 36 3 TE 9 3 3E 4 9 9E 9 C 9 9 Ie 3E E 9E E INSERT 3 4 3 3C 3 96 3 X 3C 3 3E 3E 9 3 E E PREVIOUS SOLUTION RUN LEVELS 3t 3 3 3 3 36 3 96 X 3 36 3 3 3 30 9E 3 4 3 3 3 MOVE DATA LARGEPRB BOUNDS LIMITSPB MAXIMIZE PROFIT ENDATA RESTORE DATA LARGEPRB LPSOLUTION PUNCH 3t 3 3 3 3 30 3 3 JE 3 JE 3 3 3 3 3E 3 dE HK 3 4 3 3 3 BLANK CARDS FOR NEW SOLUTION LEVELS
71. ND 9 3 EE AE ERE IEEE AKASH HHA X R AE EA FE EIE CE AE EAE AERE EHE E 3E EEG RARER KREME ERE EERE EET EERE EEE TTTS EERE TERE WEIGHT 2000 2000 COST NONE NONE 60 0 CU 100 0 NN 50 0 OMG 25 Q AL NONE 1500 Si 350 300 BASE 150 ME EEE REED AGERE 4 6 4 4 3 ED Figure 32 Alloy 2 specifications 18 4 row variable additions and removals as the model definition changes REVISE is the only way to alter data in a problem file and the only way to add or remove variable or bound sets __ The data order or sequence in REVISE is im material the number of variables and bound sets to be X d out is not limited and the data removal ele ment records may appear anywhere in the REVISE unit record data file NOTE The same name cannot be X d out and added during the same revision For example do not X out BIN 1 and then define a new BIN 1 Bound revisions should be made with care The bound types FX and FR generate internal UB and LB entries The FX type generates the same inter nal data as distinct UB and LB entries with identical coefficients for the same variable Revision of an FX bound type by a UB bound type entry only does not alter the LB entry generated during input and conversely revising by an LB entry only will not alter the UB entry The FR bound type will gener ate a UB entry of
72. Ns1A CO1T BINelA WEIGHT BINelA FE1 RINs1A cul BINelA MN1 BINeiA MG1 BINelA AL 1 BINe1A 511 BINelA BINelT BINe 2A CO1T BINeZA WE 1GHT BINeZA FE1 BIN 2 CU1 RIN 2A MN1 2 MG1 BINeZA AL 2 511 2 BINe2T BINe3A CO1T BIN 3A WE 1GHT BIN 3A FE1 BIN 3A cul BINe3A MN1 AL 1 511 BINe3A BINe3T BINe4A CO1T BINe A WE 1GHT BINeGA FEL BINeSA CUI1 BINe4SA MN1 BINeSA AL 1 BINs4A 511 BINe4A BINe4T BIN CO1T BINe5A WE 1GHT BINeSA FE BINe5A CU1 BINe5A MN1 MG1 BIN45A AL 1 BINe5SA 511 BIN amp 5A BINs 5T ALUMIAUM COLT ALUMIAUM WEIGHT ALUMIAUM FEl ALUMIAUM CUI ALUMIAUM AL ALUMIAUM 511 ALUMIAUM ALUMITUM SILICAN CO1T SILICAN WE 1GHT SILICAN FEL SILICAN 511 SILICAN SILICTN FEl BAIE Cul BAIE 12000000 0 030000 12000000 02150000 0 030000 0 020000 02020000 0 700000 02020000 1 000000 0 080000 1 000000 0 040000 0 050000 0 040000 02030000 0 750000 0 060000 1 000000 0 170000 1 000000 02020000 0 080000 0 010000 0 800000 02080000 12000000 0 120000 1 000000 02040000 0 020000 0 020000 0 750000 0 120000 1 000000 02150000 1 000000 0 020000 0 060000 0 020000 0 010000 04800000 02020000 1 000000 0 210000 1 000000 0 010000 0 010000 0 970000 02010000 12000000 02380000 12000000 0 030000 0 970000 1 000000 1 000000 1 000000 CO2T BIN41B 18 BINe1B BINe1 8B BINelB BIN 18 1 BINelB BINe 18 BIN 2B BINe2
73. PORTS PARFE REDUCED COST 1 000 02243 0 278 02000 0 000 0 009 0 015 02000 02000 2 963 02000 02000 02000 06000 0 179 0 286 VARIABLE TY COST WEIGHT BINel BINe2 BINe3 BINe4 BINeS ALUMINUM SILICON FE CU MN MG AL SI BASE PE Be EQ LL Bx LL Bx B B3 Bx UL B UL B Bx LL UL ENTRIES O rx OD 0 SOLUTION ACTIVITY 2950532 2000 000 02000 5460745 02000 6974633 2084875 4170751 128 994 62 000 58 4000 40 000 18 491 1505 603 250 000 1202000 UPPER BOUND 20006000 2002000 750 000 800 000 7006000 1500 000 HHH HH HH 3 9 3 XXX 3 3 3 4 EE 626 4000 100 000 402000 302000 3t 3E 3 36 36 3 4 39 9 39 3002000 1202000 Figure 30 LPPARAMETRIC bounds change first report VAR TABLE TYPE COST g WEIGHT EQ BINel Be BINe2 B BINe3 B BINe UL BINe5 LL ALUMI NUMB SILICON B FE UL CU B MN UL MG AL Bs 51 LL BASE UL O Q J 4 OD O O 0 ENTRIES SOLUTION ACTIVITY UPPER BOUND 291 791 X 4 xx44u 2000 000 7 167 628 857 700237 700 000 02000 4726312 1216425 642000 55 999 402000 194009 1515 992 250 000 120 000 2000000 200 000 7504000 800 000 700 000 15002000 3t 3 46 36 96 3 3 9 36 96 3 3t 3 3 36 3t 9
74. S Figure 52 LPSAMPLE statistics log amd Jl f 2Z OO FO REVISE REVISE reads input data specifying deletions changes or additions to the data contained in a problem file stored on the disk To revise an existing file either 1 MOVE the problem DATA before calling REVISE or 2 REVISE a NAMEd problem data file Input Data The format and rules for compiling a data deck to be read by REVISE are the same as those for INPUT except that 1 if the first card of a revision deck is a NAME card the NAMEd problem will be revised 2 if the first card of a revision deck is not NAME card the current problem will be revised 3 if a NAME card appears after the first card of a revision deck the NAME card will be treated as an invalid indicator and 4 removal of specific variables may be accomplished by punching an X in either the second or third position of the record and the name of the variable bound set etc to be removed in the first name field positions 5 12 Thus the following records would enable the user to remove the variable BIN 1 from the problem file LPSAMPLE REVISE NAME x BINel ENDATA LISTON and LISTOFF may be used for selective listing of revisions LPSAMPLE In order to revise the coefficients of variables the values in bounds sets etc simply prepare element data records with the new values The new values will be incorporated into the problem file and the old va
75. S Writes tabular summary of current problem file Reads unit record data to alter problem file then calls STATISTICS Combines variations of problem files to form new file then calls STATISTICS Writes unit record data from problem file Removes obsolete problem files Frees disk space previously used by deleted problems calls DICTIONARY Lists names of problem files stored on disk Sets or alters problem and system parameters Finds solution to linear pro gramming problem Writes unit record LP solution report calls OPTIMIZEs if optimization not done Provides OPTIMIZE recovery procedure Call OPTIMIZE if optimization not done Writes unit record LP analysis report Performs series of optimizations with LPSOLUTION reports as LP problem file is modified by change data Saves current solution status file for next reoptimization Restores a previous solution for hew optimization Writes current solution status records Forms a previous solution file from unit records Bypasses part of procedure se quence if condition true Bypasses part of procedure se quence if condition false Writes solution to set of simultaneous equations Terminates LP MOSS run RECORD FORMATS The LPS uses three record formats indicator procedure call Figure 49 data data control Figure 50 and comment Figure 51 PROCEDURE CALL RECORD FORMAT As illustrated in Figure 49 the procedure call format
76. UND LOWER BOUND 3t 3 3 3 3 3 36 3 3 3 36 9 3 3 3 3 3 36 36 3 9 3E 9 3 3 3 3E 9 3 3 E X 9 3 3 3 3 3E 3E 36 3 E X 1E 36 9 9 3E 3 9 9 3 3t 3 3 36 3E 3 3 3 X 3E 3E 3 3E 9 3 3 3E 9 3 4 3 HK X X 3E 3E 3 3 36 3 3 3E 3E 3 3 3 3E 3 3 9 3 3 3 3 3 9C 9E 9E RAW MATERIALS BINelT 200 0 BINe2T 750 0 BINe3T 800 1 4 amp 700 0 BINeST 1500 0 ALUMITUM NONE SILICTN NONE 0 FE 3 3 3 3 3 3 3 3 3 3 3 9 3E 3E 3 3 3 3 3 3 3 3E 39 3 3t 3 3 3 3 3 96 3 3 3 3 3 3 3E 9 30 36 3 3 3 3E 3 3 9 3 9 3 3 3 3 39 3 3 30 9 3 3 3 3 3 36 3 3 9E 9 3 2 3 FIRST ALLOY WEl1GHT 2000 2000 COLT NONE NONE FE1 60 0 cul x 100 0 MNI 40 0 MG1 3 30 0 AL 1 NONE 1500 511 300 250 BA1E i 120 0 3 3E
77. X2 x3 Bl B2 3t ROWS Yl 1 1 21 9 2 1 1 9 322252 6 MATRIX COEFFICIENTS X1 Yl X2 Yl X1 Y2 X3 Y2 X2 Y3 X3 Y3 RHS FIRST ReH S 81 Yl Bl Y2 81 Y3 SECOND R H S B2 Yl B2 Y2 B2 ENDATA MOVE RHS Bi ENDATA SOLVE MOVE RHS B2 ENDATA SOLVE Figure 68 Te le 2e 9e Q VARIABLE ENTRIES SOLUTION UPPER TYPE ACTIVITY BOUND X1 B3 2 3 000 HEHEHE EEE Yl LL 0 7e000 3339 49 99 4 363 x2 B 2 amp 000 itte x Y2 LL 0 leOQO0 343 43 EHH Bs 2 5 000 9355 W 433 Y3 LL 0 26000 s3x44x43x Figure 69 Solution of simultaneous equations first R H S VARIABLE ENTRIES SOLUTION UPPER TYPE ACTIVITY BOUND 1 B 2 5 571 EEK Yl LL 0 9 000 HEHEHE RE X2 p 2 36628 XXXXXX33X343 Y2 LL 0 9 000 33333334333 X3 B 2 26142 Y3 LL 0 6 e 000 3339 4 3 1 3 rat Figure 70 Solution of simultaneous equations second R H S PROGRAM TERMINATION END The END procedure is used to terminate an LP LOWER BOUND 02000 7 000 0 000 1 000 02000 22000 LOWER BOUND 02000 92000 02000 92000 02000 6 6000 MOSS run and return control to the IBM 1130 Moni tor The run will be terminated when the END procedure is called It is usually called by the user via an LP MOSS Monitor control record but may also be called by the IF and IFNOT procedures if an END control record is read during bypass operation CURRENT COST 02000 02000 02000 02000 02000 02
78. a cards including the interrupted procedure 3 Press START on the card reader and printer if any 4 Press IMM STOP RESET and PROGRAM LOAD on the console Paper Tape System 1l Remove the current paper tape from the paper tape reader 2 Place the following records in the paper tape reader a An IBM 1130 Disk Monitor Cold Start record b bJOB c bXEQbMOSS d RESTART 3 Press IMM STOP RESET and then PRO GRAM LOAD on the console 4 Putthe remaining records including the interrupted procedure called into the reader always positioning a delete code under the read starwheels Press START on the console to read the next record INTERRUPTING OPTIMIZE To interrupt the OPTIMIZE procedure simply press PROGRAM STOP on the console Remove the LP MOSS disk before beginning the next job To begin the next IBM 1130 Disk Monitor System job use the cold start operating procedures detailed in C26 3750 56 CARRIAGE CONTROL TAPE The carriage control tape must contain Channel 1 punch to define the first line on a page Channel 12 punch to define the last line on a page HALTS AND MESSAGES HALTS During normal operation of the system the computer should not halt except when waiting for a record to be typed on the console typewriter Inthis case the KB SELECT light on the console is on To continue type the required record and press the EOF key on the typewriter Halts may also occur if 1 I O unit is
79. able for use Figure 55 illustrates the output produced by DICTIONARY PROBLEM NAME NOe RECORDS LPSAMPLE 2 NEXT AVAILABLE SECTOR IS 9 Figure 55 DICTIONARY output PROCESSING SPECIFICATIONS MOVE The MOVE procedure is used to reset or alter processing parameters for problem definition de vice assignment and LPPARAMETRIC and OPTI MIZE parameters MOVE reads data control records which specify the parameter changes for the current computation If the record is being typed a complete record name must be typed in cluding trailing blanks in the second name field if necessary before pressing the EOF key to end the record For example bbbbDATAbbbbbbFILENMbb would retrieve the problem file FILENM for use by OPTIMIZE and the other LPS procedures The types of data control record positions 5 12 and their functions are discussed in this section Problem Definition These records are used to retrieve a problem file and define the problem to be optimized the ob jective bound set to be used etc The name of the problem file bound set etc appears in positions 15 22 of the record e DATA retrieves the problem file named in positions 15 22 of the record and makes its problem data available to the other LPS procedures The problem file to be used in an optimization or with REVISE or BCDOUT must be called before any other procedures may be called except when using RE START Once called a problem file need
80. aw material required to make the alloy at the least possible cost 2 The weight of alloy made 3 The cost of the alloy made 4 The chemical contents of the alloy made DATA PREPARATION A mathematical model of a linear programming problem is for our purposes not useful until it is converted into input for the LPS The principal purpose of this manual is to acquaint the user with the vocabulary and syntax of the 1130 LPS so that he may convert the mathematical models of LP prob lems into input data and control the manipulations of 3E JC ME 3E M E E 3E IE 9 SS X TTS Pe E IC Je CAE ees EF VARIABLE UPPER BOUND LOWER BOUND 3C JE HR ME EHH E IE CC OE LAE IE E IEEE E EIE IEEE EIE E 3 BINel 200 0 RAW BINe2 750 0 3 800 0 MATERIALS BINeS 700 0 BINe5 1500 o ALUMINUM NONE SILICON NONE o 3 3E JE E E JEJE MEE E E SEI HE IEEE EXE EE CI JC CAE IE 9E E IE 9 9E E E 9 9E E IE E ALLOY WEIGHT WEIGHT 2000 2000 COST COST NONE NONE IEEE OE ME IEEE E IEEE EAE IEEE E ETE CE AE E IE EHE 3E E UE JE TEE EE e FE 60 ALLOY
81. blem file LPSAMPLE 3 4 AE HEHE 3E 4 3C JE 9E JE 3E JE 3E EE JE 3E JEDE ETE HE ME SE IE EXE EE 4 3 E dE 4 ERE RECORD CONTENTS COMMENTS 3 POSITIONS 3 AE 3 JE 9 3E 9 3 IE C 9 3E 9 9 36 3 96 3 9 3 JE E 3E E 9E 3E 3E E E 9 E 3 JE 3E EXE IE EE EH X 55 5 XC 3C JE IE 3E HEHE 4E E 9E E EE QE 9E E EE E C EXC EIE E EE JE XE EXE EE EE EXE IEEE EE EXE EIE ICE IEEE IE EHE OEC IEEE EC 1 4 TYPE FIELD MUST BE BLANK FOR EQUATION ELEMENT RECORDS JC JC CE XC rT EXE IE DE FE EXE 4 RE EIE IEEE AEN 5712 FIRST NAME FIELD THE NAME OF A VARIABLE ON THE RIGHT HAND SIDE OF AN EQUATION 3t JE E E OE JE M AE SE JE IE JE JEME FE FE AE
82. bols Used vwswettresx e ed Status TyDeS Control Record Formats Data Control 424 5 adore dace e duse ALI RO Symbols Used E Bound Generalion bere sv veNe ew ROSE E Problem Capacity ve aes Precision and Accuraey Machine and Systems Configuration Bibliography 0 6 59 59 61 61 61 62 63 63 63 63 64 INTRODUCTION READER S GUIDE This manual is divided into tutorial procedure format and operational sections An appendix is provided to serve as a handy reference for system usage The tutorial section Chapter 1 presents system concepts and provides a background for the usage of 1130 LPS It defines a simple blending ap plication shows the mathematical development and illustrates data preparation and setup for the com puter run The output reports are also shown and described Chapter 1 continues with a natural ex tension of the original problem to illustrate data maintenance features of the system It concludes with a discussion of the usage of starting solutions conditional control and data generation Chapter 2 describes and illustrates the functions carried out by the various LP procedures that is the functions required to solve a linear program ming problem and to provide the necessary data maintenance and control functions for LP applica tion data processing Chap
83. ch row variable name will be 1 FE changed to FE1 COST changed to COIT If the source problem files contain variables or sets BOUNDS RHS RANGE with the same name the new file will contain the combined variable or set If the same element is contained in more than one of the files the element coefficient of the last source problem specified in the MERGE DATA records will be used the others will be eliminated Data Control Records MERGE reads a series of data control records 1 The NAME data control record names the new problem file The new problem name must be given in the second name field 2 9 COLS ROWS records are optional These may be used to specify a variation in the column row variable names of the new problem from col umn row variables originating in the next source DATA file The name variation is specified by a mask in the second name field The COLS ROWS variation applies only to the next source DATA file 4 DATA records designate the source problem file The second name field specifies the name of the source problem No variation of names is re quired COLS and or ROWS variations may be specified 5 ENDATA indicator must follow the last DATA record IF the data control records include no NAME the new problem file will be assigned a name of eight blanks If there are multiple NAMEs the last NAME will be used Any problem file with the same NAME is automatically DELETEd It is recommended that th
84. consisting entirely of problem equation data may be preceded by a COLUMNS indi cator All records following such an indicator are assumed to be problem equation data until another indicator record is found 26 29 _ 31 36 Record Position 51 54 56 61 uu i 308 Figure 74 Suggested value field format bounds on each bounded variable Indicator name Name Name Name of the problem Name indicator Figure 75 The Bounds on the Variables The bounds on the problem variables are input to LPS by element records defining the upper and lower The bounds are input as a set that has a user defined name One unit record input file may contain several distinctly named bound sets Figure 77 shows the format of a bound element record and Figure 78 shows the bounds defined by the various bound types The alternate bound type designations provide compatibility with MPS 360 Bound element records are required for 1 Ali nonzero lower bounds variable that is given no lower bound by the user is given a lower bound of 0 2 All finite upper bounds A variable that is given no upper bound by the user is given an upper bound of 1019 which is defined as LPS INFINITY No indicator record is required to input the bound data and the data may appear in any sequence For compatibility with MPS 360 however a set of records consisting only of bound data may be pre ceded by a BOUNDS indicator record All reco
85. continues low a value may result in failure to complete the optimization process too high value may result in processing error This parameter is initially set to 30 e MAXIMUM ITERATIONS is used to limit the number of iterations that may be performed forthis DATA since this DATA was MOVEd and including all subsequent optimizations This parameter is sometimes set to a small number for example 5 for the first partial optimization of a large new or complex model This checkout run of the model 36 will test the procedure sequence and if the run in cludes an LPSOLUTION report may also indicate data and or formulation errors The MAXIMUM IT ERATIONS are checked at the end of each major iteration and the optimization will end when the number of iterations taken is equal to or exceeds the maximum This parameter is initially set to 32767 e MAXIMUM PRICING governs the size of the subset of variables chosen in each major iteration This parameter is effective only if it is less than the limitation imposed by available storage The subset size will be the smaller of MAXIMUM PRICING and 747 ROW VARIABLES 8 Since this parameter is initially set to 32767 the real limit will be imposed by the problem size unless the MAXIMUM PRICING is set by the user e TOLERANCE FEASIBLE sets the allowable margin for solution activity bound match A variable will be considered to be feasible if the computed activity does
86. cords are similar in format to input data element records but differ in that they supply information to the 1130 LPS procedures rather than supply problem data The format for data control records is given in Figure 18 and Figure 19 illus trates the data control records that would follow the procedure control record MOVE in order to set parameters for the solution of problem LPSAMPLE The first of these a DATA record names the problem file containing the data for computation the second record establishes that COST is the ob jective variable and that it should be MINIMIZED the third names the set of BOUNDS to be employed in the current computation An ENDATA indicator is necessary to signal the end of the data control rec ords relevant to the MOVE procedure control rec ord Once the problem data has been input and the parameters set the single procedure control rec ord LPSOLUTION will result in a solution to the problem and produce an output report detailing that solution Figure 20 provides a schematic illustra tion of the entire deck required for the solution of the aluminum blend problem 3 RECORD CONTENTS POSITIONS 3 3C IE EX
87. d the problem file will be assigned a name consisting of eight blanks If more than one NAME indicator appears within the data deck the last name encountered will be used Any problem file already on the disk and having the same name as the current problem will automatically be deleted 2 The input data for the problem 3 An ENDATA indicator record LISTON record positions 1 7 can be used to begin listing the input data on the typewriter Data records following the LISTON will be listed on the typewriter until a LISTOFF record positions 1 8 or ENDATA record The input may contain several LISTON and LISTOFF records for selective listing of input data Output After INPUT has sorted the problemfile and checked the data for duplicates the STATISTICS procedure is called to provide a summary of the data Major Errors If an invalid indicator record is found a major er ror is recorded and the indicator is treated as an ENDATA indicator If some of the problem data has been bypassed because of the invalid indicator the bypassed data may be added to the partially INPUT problem file by using the REVISE procedure STATISTICS The STATISTICS procedure provides a statistical summary of the current problem This procedure is called automatically by INPUT REVISE and MERGE The user may obtain the STATISTICS of a previ ously stored problem by first using MOVE to obtain 30 the required DATA Output The summary c
88. d understood be fore the REVISE procedure is used The section entitled Insert Data is provided for completeness since the data under discussion is almost always prepared by the PUNCH procedure Chapter 3 concludes with a discussion of com patibility with MPS 360 INPUT DATA PREPARATION The Mathematical Programming Input Form X20 1761 is recommended for input data preparation BASIC INPUT RECORD FORMATS The 1130 LPS input procedures INPUT REVISE and INSERT will accept input data in the form of 80 column cards or 61 position paper tape records The input device is specified by the user when the system is generated see Initializing LP MOSS the COMM1 Routine in the Application Directory but can be changed during a run by use of the MOVE procedure input data records are in one of three basic formats 1 Element format Figure 71 used for actual problem data The data control records also use this format 2 Indicator format Figure 72 used to indicate the beginning and end of sets of data The proce dure call records also use this format 90 Must be blank Type Must be blank Name field 1 Must be blank Name field 2 Must be blank V alue field 1 Must be blank Name field 3 Must be blank Value field 2 Figure 71 Element format 3 Comments format Figure 73 used to in clude comments records in the unit record data Comments records are not printed out when included in the data
89. data 7 CURRENT COST the coefficient of each vari able in the equation defining the objective variable if the objective variable is a row variable Itis zero ifthe objective variable is column variable 8 REDUCED COST for variables in the solu tion at a bound a value indicating what change per unit measure of the objective variable value would result if the bound on this specific variable were relaxed The reduced cost value is valid only in the neighborhood of the solution but provides a good indication of the cost of inventory limitations and specification constraints VARIABLE ENTRIES SOLUTION UPPER LOWER CURRENT REDUCED TYPE ACTIVITY BOUND BOUND COST COST COST B 0 301 434 HERKHERER EHE HHH IHI EH H 10000 10000 WEIGHT EQ O 20005000 2000 000 2000 000 00000 00242 BINel LL 8 0 000 200 000 0 000 0 030 00288 BINe2 B 8 6060508 7502000 0 000 0 079 0 000 BIN3 LL 7 0 000 800 000 09000 00170 0 001 BINe Be 7 5546733 700 000 0 000 0 120 0 000 BINeS Be 8 2324248 1500 000 0 000 02150 0 000 ALUMINUMB 6 4642497 XXIII 02000 00210 04000 SILICON B 4 1624011 ERROR RE 0 000 00379 0 000 FE UL 1 60 000 60 000 0 000 02000 20951 CU B 60 000 100 000 0 000 0 000 0 000 MN UL 40 000 406000 0 000 00000 0 908 MG Be 0 200517 305000 0000 0 000 0 000 AL B 1507 292 x4 xi xd nde 15006000 00000 00000 St LL O 250 000 300 000 2506000 0 000 00241 BASE UL 120 000 120 000 0 000 0 000 00245 Figure 57 LPSOLUTION report If
90. device name must be left justified with trailing blanks if re quired to complete the device name e INPUT the device to be used to read input data records by INPUT REVISE and INSERT May be CARD or PAPERTAPE e CONTROL the device to be used to read control records procedure call and data control records May be CARD PAPERTAPE or TYPEWRITER e LOG the device upon which control records OPTIMIZE iteration log DICTIONARY report and procedure messages are printed May be PRINTER TYPEWRITER or NONE if no log or error messages are required e REPORT the device used to output the LPSOLUTION LPANALYSIS and LPPARAMETRIC reports May be PRINTER TYPEWRITER CARD or PAPERTAPE e PUNCH the device used to output unit record files by BCDOUT and PUNCH May be CARD PAPERTAPE PRINTER or TYPEWRITER LPPARAMETRIC Parameters These records are used to set parameters used to control the LPPARAMETRIC procedure In each case the word PARAMET must appear in positions 5 11 of the data control record the word REPORTS or INTERVAL left justified in positions 15 22 and 35 the value of the parameter in positions 25 36 Ini tial values are provided for LPPARAMETRIC and OPTIMIZE parameters The initial values will be used unless user assigned values are MOVEd e REPORTS sets the parameter which con trols the number of reports printed during an LPPARAMETRIC run to the integer part of the number in the
91. e second report VARIABLE TYPE COST WEIGHT EQ BINel LL BIN 2 B BIN 23 B3 BIN UL 5 LL ALUMINUMB SILICON B FE UL CU B MN MG B AL B 51 LL BASE UL Figure 65 LPPARAMETRIC cost change third report 44 O cv It 0 O t p 0 SOLUTION ACTIVITY 310 767 2000 000 02000 483476 21225117 7002000 02000 4852679 118 727 60 000 60 000 35 460 14 504 152825410 2502000 1202000 ENTRIES SOLUTION ACTIVITY UPPER BOUND 7502000 8002000 7002000 1500 000 36 36 96 lt 3 9 9t 3E 96 KH 1E 3 3E d 4 3 3E 3 4 KH 60 000 1002000 40 000 30 000 FEI E EEE EIE IE REA 300 000 120 000 UPPER BOUND LOWER BOUND 33b JE 46 3 3 30 NAY MEE MEE IEEE E 9E E 0 2000 000 2002000 20004 000 02000 02000 02000 02000 0 000 0 000 0000 02000 02000 02000 0 000 15002000 2502000 02000 LOWER BOUND 213 227 XxXxY xc ext dex etae 2000 000 0 000 4830476 212 117 700 000 0 000 485 679 119 727 60 000 60 000 356460 146504 15282410 250 000 120 000 2000 000 2002000 750 000 800 000 700 000 1500 000 KH BH EH 4E Hh He 36 363638 60 000 100 000 402000 304 000 HH EHE AE GERE 3002000 120 000 2000 000 0 000 0 000 0 000 0 000 0 000 02000 02000
92. e 54 illustrates the problem coefficients and bounds generated in the formation of MULTIBLE Major Errors If there is no problem file on the disk with a name specified on a data control record read by MERGE a major error is recorded The remaining MERGE data control records are processed normally If an invalid data control record is read a major error is recorded and the record is treated as an ENDATA record BCDOUT BCDOUT will write the data in a problem file on the PUNCH unit The PUNCH unit is assigned during system generation and may be reassigned by MOVE PUNCH may be assigned to PAPERTAPE CARD PRINTER or TYPEWRITER The problem file to be output must first have been retrieved by a MOVE procedure reading a DATA control data record naming the problem file BCDOUT will output problem data only INSERTed and SAVESOLUTION data will not be output See PUNCH procedure for output of starting solution data Input If the output of the BCDOUT procedure is to be in the form of punched cards a sufficient number of blank cards must follow the procedure call in the hopper of the card reader MOVE DATA MULT IBLE PUNCH PRINTER ENDATA REVISE ENDATA PROBLEM MULTIBLE CONTAINS 26 ROWS SELECTED ROWS 40 VARIABLES O SELECTED COLUMNS 1 BOUNDS 0 RHS S O RANGES 116 COLUMN ELEMENTS 6 LOWER BOUND ELEMENTS 19 UPPER BOUND ELEMENTS O RHS ELEMENTS RANGE ELEMENTS BCDOUT NAME MULTIBLE COLUMNS coit COTT BI
93. e now wish to change the variable names as described in the multiblend formulation Generally a MERGE procedure control record requires data control records naming the problem files to be merged However the system also provides the feature of changing the names of the existing problem files in the MERGE process but without actually changing the original data through the agency of data control records An optional ROWS data control record will cause whatever nonblank characters appear in the name field 15 22 to be superimposed on the row variable names For example 1 in the third position of the name field record position 17 will cause the third position of each row variable name to contain the character 1 Similarly an optional COLS data control record with an A in the sixth position of the name field record position 20 will cause the sixth position of each column variable name to contain the charac ter The sequence of data control records is shown in Figure 45 the run setup in Figure 46 and the out put in Figure 47 m 3t 3 3 36 3 3 3 9 3 9 3 3 3 3 3 3 3 3E 3 96 3 dE 3 3 36 96 2 3 3 3 3 3 9 3 3 4 9E 3E 3 3E 3 3 3 9 3639 3 9 9 9 E VARIABLE UPPER BO
94. e second blend BIN 2B SILICBN The change of column names is the first step in the new formulation we must also uniquely change the row names to differentiate between the alloys Again we may arbitrarily select the numbers 1 and 2 to change the third position of the row variables for blends 1 and 2 respectively Hence the new formulation in part of the problem would be First alloy Equations 1 8 as shown on page 5 ex cept that the column variable names would contain the letter A as the sixth character of the name and the row variable names would contain the digit 1 as the third character of the name Second alloy Equations 9 16 as shown by equations 1 8 on page 5 except that column variable names would incorporate the letter B in the sixth position 23 and row variable names would incorporate the digit 2 in the third position These equations do not complete the equation part of the formulation since the material usage is not limited It will not be sufficient to place an upper bound on BIN 2A or BIN 2B since we are con cerned with the total usage of the material rather than the individual ingredient alloy usage Hence to express the total material usage and the total cost we also include the equations BIN 1T 1 0 BIN 1A 1 0 BIN 1B 19 BIN 2T 1 0 BIN 2A 1 0 BIN 2B 20 BIN 3T 1 0 BIN 3A 1 0 BIN 3B 21 BIN 4T 1 0 BIN 4A 1 0 BIN 4B 22 BIN 5T 1 0 BIN 5A 1 0 BIN 5B 23 ALUMITUM 1
95. e user MERGE prob lems with like selection files see Chapter 3 If all source problems have ROW selection files the new problem will have a ROW selection file that combines the source problem ROW selection files If some source problems do not have ROW selection files and some do the new problem ROW selection file will often contain only a subset of the problem desired since the unselected row variables will be omitted similar comment applies to COLS se lection files The following records result in the creation of a new file named MULTIBLE The new file merges the data contained in LPSAMPLE and LINKEQ Further it will contain instead of the original variable names in LPSAMPLE new variable names in which row names containing the numeral 1 in the third position will be defined and row names con taining the numeral 2 in the third position will be defined similarly the column names of LPSAMPLE 32 will be altered and doubled in number through the agency of the template which defines new names with in the sixth position and new names with B in the sixth position MERGE NAME MULTIBLE ROWS 1 COLS DATA LPSAMPLE DATA LINKEQ ROWS 2 COLS B DATA LPSAMPLE ENDATA The last MERGE control data record must be followed by an ENDATA record Output After the data in the new problem file has been sorted and checked for duplicates MERGE auto matically calls STATISTICS to log a summary of the data in the new file Figur
96. eam We have at this point loaded the computer with all the data required to compute a series of output reports of the same form as those output by LPSOLUTION which will provide new solutions to the original problem showing the effects of the price variations in which we are interested As shown in Figure 24 an LPPARAMETRIC proce dure control record and a DATA record are re quired to call the appropriate procedure and to specify the data to be used respectively No ENDATA indicator is required since the LPPARA METRIC procedure requires exactly one data con trol record These two records will initiate the series of re solutions as defined in the PARAMET data control records and the change data stored in PARCOST Solution reports will be provided for each change level or interval in our example at the costs shown in Figure 25 The solution reports are shown in Figures 26 27 and 28 REPORTS 3 0 INPUT NAME PARCOST BINe2 COST 0 01 BINeS5 cost 0201 SILICON COST 0202 ENDATA MOVE DATA LPSAMPLE MINIMIZE COST BOUNDS ALLOY1 ENDATA LPSOLUTION MOVE PARAMET REPORTS 3 0 LPPARAME TRIC DATA PARCOST Figure 24 Parametric cost setup and input data 3C 3 3E JEDE 3 2E 3E 3E JE 9C 3E 2 3E 9E JE EXE E E EEE EEE EE 4t REPORT BINe2 BINeS SILICON COST w COST COST a it 3 JC 3 3 3 3 3 9 36 3 3E 3E JE 36 3E 9 36 9 3
97. ely above the message and treated as an ENDATA indicator INVALID RECORD Major error An invalid data control record has been found The record is logged immediately above the message The action taken depends on the procedure logging the message INVALID TYPE Minor error An input record with invalid bound or status type has been found in an input deck The record is logged immediately above the message and ignored MAXIMUM PROCESSING ERROR XXXXXX XXXXXX OPTIMIZE has been terminated because of uncorrectable computational error The maxi mum error found is shown M06 NO PROGRAM This 1130 Disk Monitor System message indi cates that an invalid procedure call has been read by the LP MOSS monitor Use the re covery operating procedure to continue see Recovery Operating Procedure M06 No Pro gram Error in this chapter NO DATA Major error There is no problem data in the problem file retrieved by a MOVE DATA record or no file was retrieved NO OBJECTIVE Minor error No objective variable was speci fied for an optimization The name of the variable used will be logged on the next line NO SOLUTION Major error No current solution is available to be saved by SAVESOLUTION or PUNCH The procedure is terminated NONE USED No bound set RHS range set is in the problem file to replace one specified OBJECTIVE NNNNNNNN MISSING Minor error The objective variable named by a MOVE MINIMIZE or MAXIMIZE record i
98. em conversion from other systems to 1130 LPS The records following a ROWS COLS indicator are in standard bound record format see Figure 80 and may be used to set standard bounds if so desired Each record names a row column variable to be used during optimization Any row column variable not so named will be ignored All records following a ROWS COLS indicator are assumed to be naming row column variables for selection until another indicator record is found RHS s and Ranges The bounds on a variable may be specified by RHS and range values rather than by an explicit bound value Contents Type Bound type if any Name 1 The name of the variable being bounded or selected Name 2 Blank Value 1 The bound value if any Name 3 Blank Value 2 Blank Figure 80 Standard bound record and selection file record The bounds on a variable generated by RHS and range values depend on the standard bounds of the variable The determination of the bounds generated by the general case is quite complex However the bounds generated in 1130 LPS by MPS 360 input pro vide an equivalent problem definition The 1130 LPS does not use the traditional slack variable technique for the conversion of row types to equations The 1130 LPS will accept the MPS 360 input data within the limitations described under Compatibility with MPS 360 The ROWS RHS and RANGE information is translated internally as required to spec
99. er which the price rise holds The last column Lowest Cost and Highest Cost indicates that if aluminum drops to a price of 20 8 per lb the activity level of aluminum in the solution will rise to 552 816 Ibs Further if the price of aluminum rises to 23 4c per lb the activ ity level of aluminum will fall from 464 497 lbs to 393 873 lbs Thus we have an indication that the quantity of aluminum in the final blend will remain constant at 464 497 lbs as long as the price of aluminum remains between 20 84 and 23 4 per Ib As a further illustration of the usefulness of the LP analysis report consider the variable FE in the report pictured in Figure 22 Iron is present in the optimal solution at its upper level 60 lbs The cost per unit increase is 2 951 which means that for every additional pound of iron in the final blend the cost of the blend would drop 2 951 per pound until 62 033 Ibs of iron were present Onthe other hand if less than 60 lbs of iron were present the cost of the final blend would increase 2 951 per 1b until the iron content was reduced to 55 198 Ibs Since the variable FE is a specification variable rather than a raw material variable the highest cost figure is not relevant Again consider the variable BIN 3 in Figure 22 This material which costs 17 per pound is not used in the optimal solution The cost per unit increase figure together with the increased activity figure indicat
100. eral when procedure requires a single data control card no ENDATA indicator is re quired When a procedure may be used with one or more data control cards an ENDATA indicator is required to signify end of data control cards for the procedure The EDIT procedure makes available for addi tional problem files the disk space that has been occupied by deleted files EDIT automatically calls the DICTIONARY procedure which causes a report to be printed out listing the names of all the re maining problem files on the disk the number of disk sectors used by each and the number of the next disk sector available for use as illustrated below PROBLEM NAME NO SECTORS LPSAMPLE 3 NEXT AVAILABLE SECTOR IS 9 STARTING SOLUTIONS The time required to find the optimal solution may depend heavily on the solution used to start the process The 1130 LPS will perform a number of iterations changes in solution using each itera tion as solution base to find an improved solution This process is continued until the optimum solu tion is computed The 1130 LPS will begin by setting the row and column variables at more or less arbitrary levels lower bound upper bound or intermediate level unless the user RESTOREs advanced solution levels from a disk solution file Often the user can pro vide good starting solution levels based on past experience Indeed most optimizations are not the first for a particular model Usually the same model i
101. eric characters It is recommended that the name be left justified and that it not contain em bedded blanks If no name is provided by the user the 1130 LPS will assign the problem file a name consisting of eight blanks Figure 6 provides the format for indicator records and illustrates the NAME indicator record for the problem LPSAMPLE which we are here formulating Every input data deck must end with an ENDATA indicator record signaling the end of the data deck Following the NAME indicator record will be a number of element records prepared according to the format defined in Figure 7 Such records are required to input the elements of the equations we formulated for our sample problem The first equation defined the weight of the de sired alloy WEIGHT 1 0 BIN 1 1 0 BIN 2 1 0 BIN 3 1 0 BIN 4 1 0 BIN 5 1 0 ALUMINUM 1 0 SILICON In this equation WEIGHT is the name of the row variable To input the elements of this equation we must prepare an element record for each vari able on the right hand side of the equation Each record will include the name of a variable on the right hand side of the equation in the first name field cc 5 12 the name of the row variable WEIGHT in the second name field cc 15 22 and Indicator name Name FIELD FIELD 2 FIELD 3 FIELD 4 PT ve e ee 29 eo ee ev eo e fe 4i jasiga TEC Figure 6 Indicator record format and NAME indicator for pro
102. es that 100 5 lbs of the material in BIN 3 could be used at an increased cost of only about 1 lb for the final blend The lowest cost figure associated with BIN 3 indicates that at an approxi mate price of 16 84 only about 2 less than its price in LPSAMPLE over 100 Ibs would be used in the final blend Such information provides the user with an excellent basis for purchasing and in ventory maintenance decisions The difference between the two values 14 and 2 is due to output truncation 13 PARAMETRIC REPORTS We have examined the method for formulating a simple LP problem and the method for punching the input records that load the data on the computer and enable the 1130 LPS to solve the problem and pro duce an output report We have examined the LPSOLUTION and LPANALYSIS solution reports We need now to examine what capabilities the 1130 LPS provides to explore the effects of changes to several variables simultaneously or to investi gate changes that transcend the limits described by the LPANALYSIS report Assume that the price of the material in BIN 2 and BIN 5 depending on local market conditions will fluctuate from the original cost of 8 and 15 per pound up to 114 and 18 per pound respectively Assume also that the price of pure silicon might drop from 38 to 32 during these same market fluctuations What effect would these particular price fluctuations have on the optimum solution
103. form RV1 RV2 CV1 CV2 may not be input to the 1130 LPS 2 The same variable may not appear on the left hand side of more than one equation 3 The coefficient of the variable on the 1 hand side of problem equation must be 1 0 that is equations of the form xRV CV1 CV2 CVm where x is a number other than 1 may not be input to the 1130 LPS Given the preceding nomenclature and formula tion rules consider now the methods for preparing a problem data deck designed to input the problem equations and bounds for the sample alloy problem we have been considering A problem data deck may contain records pre pared in three different formats depending on the specific purpose of the record 1 Indicator record format used for a variety of functions such as naming problem files in which data is stored and signaling the end of data deck 2 Element record format used to input the problem equations and bounds 3 Comment record format used to document the problem for user s convenience records in comment format in the data deck are ignored by 1130 LPS The format for input records is discussed in de tail in Chapter 3 of this manual Since several dif ferent problems may be simultaneously stored on the disk each problem data deck should be intro duced by a NAME indicator record naming the prob lem file into which the problem data will be stored Such problem file names should consist of from 1 to 8 alpham
104. he two systems Data conversion can be made by using MPS 360 TRNSLATE to con vert LP 1620 problem decks to MPS 360 problem decks which can be used as input data for 1130 LPS CAUTION The 1130 LPS requires unique row and column names Referenced data feature of LP 1620 is not required since multiple bound sets and a complete REVISE are available with 1130 LPS Revise The 1130 LPS REVISE allows new ele ments rows columns bound sets right hand sides and ranges to be added and allows the re moval of variables This additional flexibility im poses a far greater need for data checking than was required for LP 1620 The revision data should be verified checked and listed before using 1130 LPS REVISE If there are a substantial number of revisions or if there are inadequate checking facilities the 1130 LPS user is recommended to use MERGE instead of or in conjunction with REVISE This topic is further discussed in Chapter 1 under Data Main tenance Basis is optional INPUT on LP 1620 The user can optionally INSERT a basis advanced starting solution with LPS 1130 Optimize All data coefficients bounds right hand sides etc required in the optimization of a problem must be in the problem data The current problem data must be recalled and the processing parameters must be set before optimization When a start from a starting solution is desired it must be RESTOREd before optimization The control sequence is as
105. i Application Program H20 0345 2 I 1130 Linear Programming Mathematical ptimization Subroutine System 1130 LP MOSS 1130 CO 16X Program Reference Manual This manual contains all the information needed to use the LP MOS S 1130 Linear Programming System Chapter 1 is written in tutorial form to present concepts to new users The rest of the manual describes the system procedures data formats and operating instructions Kristofer Sweger Third Edition This edition H20 0345 2 is a major revision obsoleting H20 0345 1 and H20 0345 0 Significant changes or additions to the specifications contained in this publication will be reported in subsequent revisions or Technical Newsletters Copies of this and other IBM publications can be obtained through IBM branch offices Address comments concerning the contents of this publication to IBM Technical Publications Department 112 East Post Road White Plains N Y 10601 International Business Machines Corporation 1967 1968 CONTENTS Conditional Control 47 IENOI 24524 Sy AT Solution of Simultaneous Equations 48 SOLVE Program Termination 49 Introduction RERO aoaaa Reader s Guide s Comparison with Other Systems ERA Wa Ww e s
106. ic Arc Furnace Steelmaking E20 0147 Feed Manufacturing E20 0148 Ice Cream Blending E20 0156 Blast Furnace Burdening E20 0160 Cotton Blending E20 0164 Gasoline Blending E20 0168 IBM SYSTEM 360 Mathematical Programming System 860A C0 14x Linear Programming User s Manual H20 0291 64 OTHER REFERENCES Charnes and W W Cooper Management Models and Industrial Applications of Linear Programming John Wiley amp Sons Inc New York 1961 Dantzig George B Linear Programming and Extensions Princeton University Press 1963 Garvin Walter W Introduction to Linear Programming McGraw Hill Book Company Inc New York 1960 Gass Saul L Linear Programming Method and Applications McGraw Hill Book Company inc New York 1958 Orchard Hays William Matrices Elimination and the Simplex Method C E I R Inc Arlington Virginia October 1961 Riley Vera and Robert Loring Allen Interindustry Economic Studies Operations Research Office Johns Hopkins Press Baltimore Maryland May 1955 Riley Vera and S I Gass Bibliography on Linear Programming and Related Techniques Johns Hopkins Press Baltimore Maryland 1958 Wolfe Philip ed The RAND Symposium on Mathematical Programming Santa Monica March 1959 Proceedings published by the RAND Corporation R 351 1960 1 I i Ww A v lt amp m T 1 20 0345 2 9 3
107. ify upper bounds and lower bounds on the variables The technical details of the con version are given in the Appendix Right Hand Side Files RHS and RHS s A right hand side RHS file must be headed by an RHS or RHS s indicator record The format of a right hand side record is shown in Figure 81 records following an RHS or RHS s indicator are assumed to be right hand side records until another indicator is found Range Files RANGES range file must be headed by a RANGES indicator record The format of range record is shown in Figure 81 records following a RANGES indica tor are assumed to be range records until another indicator is found The ENDFILE Indicator The ENDFILE indicator may be used to terminate a set of records headed by another indicator for example ROWS An ENDFILE indicator record is used to terminate such a set of records only if the set of records is not immediately followed by another indicator record and its associated data Type Blank Name 1 Name of the RHS or range set Name of a variable RHS or range element for the variable in Name 2 Name of a variable RHS or range element for the variable in Name 3 Name 2 Value 1 Name 3 Value 2 Figure 81 RHS and range records The general bound format Figure 77 gives the record positions for each field REVISE DATA A REVISE data deck is identical in format and make up to an INPUT data deck except that 1 A NAME indica
108. ile the pure aluminum and silicon will be purchased as needed The cost of each of these seven ingredients is known We shall assume Figure 1 Chemical specifications for 2000 pounds of alloy dd JC dE E EHE IE CIE IE IE GL UE EOE E EEUU IE SERRE AHEHHAH TEARS EUG HEHEHE EE that chemical substances are neither lost from nor BIN NUMBER INVENTORY LBS added to the raw materials during the process FENCE NERO uswa Tabular representations of all the relevant infor Parcs E G Sy Ei mation are provided in Figures 1 4 Figure 1 pro pae 7 h vides the chemical specifications of the desired 4 BINe amp 700 alloy Figure 2 serap metal inventories Figure 3 BO ON opc ME oq NP ans ss a chemical analysis of the available scrap metals and Figure 4 the price per pound of each of the raw materials The problem is to determine which combination of raw materials will produce the specified alloy at the least cost The LPS is designed to solve a set of simultaneous equations so that the value of one of the variables in the equation system which we shall call the objective variable is either maximized or minimized depending on whether we seek the cost or the profit associated with some process In this problem we shall minimize the objective variable COST The other variables in the system of equa tions the weight of each raw material used the weight of each chemical element in the alloy etc
109. ines the type or relationship of a row or linear function F X to constant A or constants A B specified by a RHS entry and for MPS 360 by a RANGE entry The traditional LP slack then provides a conversion of these various types to equations Relationship Row Type to RHS Equation Free F X A F X FREE A Equation F X A F X ARTIFICIAL A Greater than F X 2A F X SLACK A Less than F X lt F X SLACK A Range As F X sB F X SLACK A O lt s SLACK s B A The 1130 LPS does not use the traditional slack variable technique for the conversion of row types to equations The 1130 LPS will accept the MPS 360 input data within the limitations described at the end of Chapter 3 under Compatibility with MPS 360 The ROWS RHS and RANGE informa tion is translated internally as required to specify upper bounds and lower bounds on the variables MPS 360 The 1130 LPS is conceptually more similar to this system than to other systems The obvious advan tage is the simple transition from the 1130 LPS to MPS 360 Additional information about MPS 360 compatibility is contained in Chapter 3 LP 1620 The 1130 LPS provides many features not included in the LP 1620 system Certain functions operate in a different manner from the LP 1620 system to provide greater flexibility A careful reading therefore is highly recommended Input Both systems provide for unit record in put and disk data maintenance The data formats are different on t
110. jective used instead of the one named by the user XXXXX ROWS TOO MANY Major errors There are more than 700 rows in a problem The number of rows in excess of 700 is logged APPENDIX FORMULATION RULES 1 The relationships between the problem vari ables are expressed as a set of equations The equations must obey the following rules a Each equation may have only one variable on the left hand side of the equal sign b The coefficient of this variable must be 1 0 c No variable may appear on the left hand side of more than one equation A variable appearing on the left hand side of an equation is called the row variable for that equation It may appear on the right hand side of other equa tions Any variable not appearing on the left hand side of any equation is called a column variable 2 Restrictions on the values that the problem variables may take are expressed as bounds on the variables 3 The optimization procedures will determine values for the problem variables which Satisfy the problem equations b Satisfy the bounds on the problem vari ables c Minimize or maximize the value of one of the variables INPUT DATA FORMAT SUMMARY INPUT and REVISE Figure 86 is a summary of the input data formats used by the INPUT and REVISE procedures Symbols Used AAAAAAAA The name of the problem file in which data will be stored BBBBBBBB A bound set name NNNNNNNN The name of a variable
111. jor error is recorded and the procedure is terminated If there is no current solution that is if neither OPTIMIZE nor RESTORE has been called for this problem a major error is recorded and the pro cedure is terminated INSERT INSERT reads a unit record PUNCH file and stores the status of the variables in NAMEd disk problem file The INSERTed disk file can be used to provide an advanced starting solution in subsequent optimiza tions Input Data The INSERT input data deck must be as described under INSERT Data in Chapter 3 The solution is stored in the problem file named by a NAME indica tor record which should be the first record of the data deck If no problem file with this name is stored on the disk one is created Ifthe data deck does not contain a NAME indicator the name is assumed to consist of eight blanks If the deck con tains more than one NAME indicator the last one read is used Output The ENDATA record is logged Major Errors If an indicator other than NAME or ENDATA is found in the deck major error is recorded and the indicator is treated as an ENDATA record 45 5 RESTORE applies the status of the variables as stored in a problem file by SAVESOLUTION or IN SERT Ifthe status of a variable is not specified in the file the standard starting status is used 1 Intermediate level for row variables 2 Lower level if the variable is a column variable with a finite lower
112. l costs 3 The nature and name of the objective variable that is the variable whose value will be either minimized or maximized Thus for a sample problem designed to discover what blend of raw materials will produce a specified aluminum alloy at least cost the LPS will require 1 A system of equations establishing the rela tionships among all the problem variables in terms of the cost chemical composition and weight of alloy desired 2 A set of bounds establishing the inventory availability of each raw material the limits on the weight of each chemical substance in the desired alloy that is the specifications and the total weight of alloy to be produced 3 The name of the objective variable in this case COST which in this sample problem will be minimized The LPS will find the minimum value for the ob jective variable COST which is consistent with the chemical specifications of the desired alloy and the available serap inventories The solution will 1 indicate the cost of the desired alloy andthe weight of each of the materials required 2 produce a variety of reports that may alert the producer to relationships profoundly affecting the total cost of the end metal and 3 suggest methods for reducing the cost THE PROBLEM EQUATIONS The system of equations that must be input in order to solve this problem will contain the following vari ables 1 The weight of each raw material required to produce
113. l save 24 In effect the reduced cost figure represents a rate of change actually a slope which does not hold over all values but only in the immediate vicinity of the calculated solution Inany case the reduced cost fig ure gives the user a good indication of the cost of speci fication quality and the cost of inventory limitations and can suggest at which points the user should intro duce changes in order to operate more profitably VARTABLE ENTRIES SOLUTION UPPER LOWER CURRENT REDUCED TYPE ACTIVITY BOUND BOUND COST COST COST Bs 0 301636 334 4334 9E MMM l 000 1 000 WEIGHT EQ 0 20002000 2000 000 20004000 02000 0 242 BINel LL 8 02000 200 000 02000 02030 0 4288 BINe2 B 8 606 508 750 000 02000 02079 02000 BINe3 LL 7 02000 800 000 0 2000 02170 06 001 BIN B 7 554 733 700 000 02000 0 120 02000 BINs5 8 232 248 1500 000 02000 00150 02000 ALUMINUMB 6 464 497 4 4 0 000 00210 02000 SILICON B 4 1420011 HH EHH 02000 00379 02000 FE UL 1 60 000 602000 02000 02000 2595 CU B 1 602000 100 000 02000 02000 Q 000 MN UL 0 402000 402000 02000 0e000 02908 MG B 0 206517 30 000 02000 02000 02000 AL B 0 1507 292 5 X x4 xs 15002000 02000 02000 SI LL O 2502000 300 000 2506000 02000 906241 BASE UL 0 120 4000 120 000 02000 02000 0 245 Figure 21 LPSOLUTION report POSTOPTIMAL ANALYSIS REPORT If the control deck includes a record calling LPANALYSIS after the LPSOLUTION procedure an additional report in two part
114. le solution to an LP problem has been obtained by OPTIMIZE e MAJOR A major error has been detected during the preceding run The major error switch is set to off if it is on e MINOR A minorerror usually indicating input data error has been detected during the pre ceding run The minor error switch is set to off after it has been tested successfully as being on e NORMAL No errors major or minor have been detected during the preceding run Both the minor and major error switches are set off after the test e UNBOUND The current LP problem has no finite solution the value of the objective variable is unbounded e INFEAS The current LP problem has no feasible solution the problem is infeasible e ANY The test for ANY allows the user to employ an unconditional break in order to bypass a portion of the program sequence Label Records These records must be preparedinindicator format label in positions 1 8 The label must contain a digit in the first position Output Data control records read by IF and IFNOT are logged Of the records read during the search phase only the record ending the search is logged 47 SOLUTION OF SIMULTANEOUS EQUATIONS SOLVE SOLVE determines the solution to a set of simul taneous equations The inversion method used is designed to maintain accuracy when inverting sparse matrices SOLVE should not be used to solve large systems of equations with many c
115. lues will be replaced automatically Similarly the addition of new variables or coeffi cients is accomplished by preparing new element data records to be read by the REVISE procedure Only additions changes or deletions must be input The remainder of the problem file is unchanged Output After the problem has been updated as specified by the data cards read by the REVISE procedure the STATISTICS procedure is automatically called for to provide a data summary Figure 53 illustrates the STATISTICS log after the REVISE procedure which eliminated BIN 1 from the problem file LPSAMPLE Major Errors If an invalid indicator record is found a major er ror is recorded and the indicator is treated as an ENDATA record Any remaining revisions can be made by again employing the REVISE procedure PROBLEM LPSAMPLE CONTAINS 9 ROWS SELECTED ROWS 15 VARIABLES SELECTED COLUMNS BOUNDS RHS S RANGES 42 COLUMN ELEMENTS 4 LOWER BOUND ELEMENTS 12 UPPER BOUND ELEMENTS RHS ELEMENTS O RANGE ELEMENTS Figure 53 LPSAMPLE statistics after deleting BIN 1 O O O NOTE When removing obsolete data do not include a new variable with the same name as a re moved variable If you do the new variable will be removed The variable may subsequently be REVISEd into the problem in a later REVISEion Note also that some of the bound types generate an upper bound and a lower bound entry An UB UP or an LB LO bound entry will revise one
116. m at hand Note that several bound sets may be input for one problem through the simple agency of de fining a different name for each set Corsequently would appear as in Figure 9 the same LP equations may be solved with a variety e FIELD FIELD 2 FIELD 3 FIELD 4 FIELD FIELD 2 FIELD 3 FIELD 4 bs e pe ro eod a se 3 espa wearer TT 7 esl fn im a Lam BERE ISR ep ES EN EN um Figure 8 Worksheet for weight equation Figure 9 Worksheet for cost equation COST EQUATION BINel COST BINe2 cost BINe3 COST BINe4 COST BINe5 COST ALUMINUM COST SILICON COST WEIGHT EQUN BINel WEIGHT BINe2 WEIGHT BINs 2 WEIGHT 4 WEIGHT BINe5 WEIGHT ALUMINUM WEIGHT SILICON WEIGHT CHEMICAL CONTENT EQUNS BINel FE BINe2 FE BINe3 FE BINeS FE BINe5 FE ALUMINUM FE SILICON FE BINel CU BINe2 CU BINe CU BINe4S CU BINe5 CU ALUMINUM CU BINel MN BINe2 MN BIN MN BINeS MN BINe5 MN BINel MG BINe 2 MG BINe5 MG BINel AL BINe2 AL BINe3 AL BIN AL BINe5 AL ALUMINUM AL BINel SI BINe2 SI BINe3 SI BIN SI BINe5 SI ALUMINUM SI SILICON SI FE BASE CU BASE Figure 10 Portion of input deck 0203 0208 0617 0 12 0 15 0021 0 38 1 00 1 00 1 000 1 000 12000 1 000 12000 02150000 02040000 0 020000 0 040000 02020000 0201 0 03 02030000 0 050000 02080000 0 020000 0 060000 0201 0 020000 02604000
117. n M06 NO PROGRAM has been read by the LP MOSS Monitor the following procedure can be used provided the 1130 has not been used for another job and core storage has not been altered Card System 1 Run all cards out of the card reader 2 Place the following deck in the hopper of the card reader a bJOB b bXEQbMOSSM c The corrected procedure call card or a blank card if some other CONTROL device is used d The remainder of the deck for this run 3 Press START on the card reader 4 Press START on the console Paper Tape System 1 Remove the current paper tape from the paper tape reader 2 Place the following records in the paper tape reader beginning with a delete code under the starwheels a bJOB b bXEQbMOSSM c The corrected procedure call record if the paper tape reader is the control device d Theremainder of the paper tape forthis run 55 3 Press START on the console RESTART OPTIMIZATION OPERATING PROCEDURE To restart after a machine malfunction for example an F102 disk read error or an operator interruption during OPTIMIZE the following procedure can be used provided the disk containing LP MOSS has not been used since the interruption Card System 1 Run all cards out of the card reader 2 Place the following card deck in the hopper of the card reader a An IBM 1130 Disk Monitor Cold Start card b bJOB c bXEQbMOSS d RESTART e The remainder of the procedure and dat
118. n many factors in cluding problem size and the average number of column elements The system scaling procedures and inversion methods are designed to produce accurate reliable solutions within the limits of a 3l bit mantissa TIMING It is impossible to predict the solution time for a particular LP problem even if the solution time for a similar problem is known However as a rough guide to estimating throughput using LP MOSS 1130 the table below shows the approximate solution times for various problem sizes The times shown are for the initial solution and for solution beginning at an advanced starting solution Approximate Solution Time hours Advanced Starting ROWS COLUMNS Initial Solution 50 75 2 4 Number of 5 1 3 3 8 1 2 2 5 3 8 MACHINE AND SYSTEM CONFIGURATION e 1130 Model 2B with 8192 words of core storage and one disk storage drive 1442 Card Read Punch and or 1134 Paper Tape Reader and 1055 Paper Tape Punch e 1132 Printer optional The recommended 1130 system for best perform ance and simplest operation includes a 1442 Card Read Punch with an 1132 Printer Programming System LP MOSS 1130 operates under control of the IBM 1130 Monitor System Version 1 The source language is IBM 1130 FORTRAN 63 BIBLIOGRA PHY IBM PUBLICATIONS Introduction to Linear Programming E20 8171 IBM 1130 Disk Monitor Reference Manual C26 3750 Aluminum Alloy Blending E20 0127 Electr
119. nd 1130 LPS is es sential data decks should be prepared as described in MPS 360 360A CO 14X Linear Programmin User s Manual H20 0291 rather than as described in the relevant chapters of this manual Though the LPS procedure BCDOUT will punch a data deck that is usually acceptable to MPS 360 this is sometimes not possible because of the additional features allowed by the 1130 LPS input procedures The following MPS 360 input data is not recog nized by LPS 1 The D row type of MPS 360 is not allowed by 1130 LPS 1130 LPS allows rows row variables to be added together without the use of any special feature see Formulation Rules in the Appendix 2 The MPS 360 MARKER records will generate an extraneous row by 1130 LPS which is not used during the optimization and which will have no effect on the optimal solution 3 The MPS 360 SCALE records will generate an extraneous row by 1130 LPS which is not used in the optimization and which will have no effect on the op timal solution LPS automatically scales problem data to increase the accuracy of the solution found 4 A dollar sign in field field 5 indicating comments in the remainder of the card is not recog nized by LPS Such records in the ROWS file will have no effect 1f however they appear in the COLUMNS RHS s or RANGES files an extraneous row will be generated which is not used in the opti mization and which will not affect the optimal solu tion The
120. nges in the parametric data by 2 0 for a more gross scale in vestigation An INTERVAL of 25 would similarly leave the same effect as a multiplication of every coefficient in the parametric data by 25 for a finer scale study Output LPPARAMETRIC will produce five LPSOLUTION reports unless a PARAMET REPORTS has been MOVEd to set a different value Each report will reflect the effect of the cumulative changes on the problem data by the parametric data The DATA control record is logged Figure 61 shows the desired parametric changes for LPSAMPLE problem run Figure 62 is a listing of the data procedure calls and data control records for the LPPARAMETRIC study Figure 63 is the solution report at the first level ofdata change Figure 64 is the solution report at the second level or interval Figure 65 is the solution report at the third level 36 3 3 SE 36 SE 4 3 36 3 3 3 3 3 3 3E 9E 3E C30 3 3 30 3 3E 363 HEH HEH INPUT x PARCOST REPORT BINe2 BIN 5 SILICON BINe2 COST 0601 COST COST COST BINe5 COST 0201 x x SILICON COST 0202 3t 36 3 36 3 3E 3 3 9 3 36 3C 9 E 2 3 3 3 36 3 36 3 3E Je 9E 3E 3 3 C 2E 3E 404 ENDATA 3t 3b JE 36 3C 3 2 3E HEIC 3E BE IC C EE C XXT HE CIE EIE C4 IE HEHE MOVE 1 609 616 36 x DATA LPSAMPLE 2 0 17 634 x MINIMIZE COST 3
121. not be called again except after INPUT MERGE EDIT DICTIONARY or INSERT The INSERT INPUT REVISE MERGE DICTIONARY and EDIT pro cedures and the DATA control record in MOVE reset the objective bounds RHS and ranges set names The user must MOVE the appropriate names after these procedures or following the MOVE DATA control record e MINIMIZE MAXIMIZE names the variable to be minimized or maximized in an optimization The name of the variable appears in positions 15 22 e BOUNDS names the bound set to be used in an optimization The name of the bound set appears in positions 15 22 If in a series of optimizations using the same problem file a bound set is used for one optimization but no bound set is to be used for the next this must be signified by a BOUNDS data control record containing NONE in posi tions 15 22 e RHS names the RHS set to be used in an op timization Its use is exactly the same as a BOUNDS data control record e RANGES names the ranges set to be used in an optimization Its use is exactly the same as a BOUNDS data control record Device Assignment These data control records are used to change the physical I O devices assigned to the I O functions The initial setting of the I O units is done by the operator see the Application Directory during system generation The name of the I O device assigned to a particular function appears in positions 15 24 of the record The I O
122. np CHI IRENE db Figure 14 Bound element record free FIELD FIELD 2 FIELD 3 FIELD 4 jpg D BBHEHCUC ZZ EGO IZ eisi Jex piiri 22 dea elelee de T bilis dea pieri ipis gd dea pileri I pem i vis peer des TT deol TTT dea peri de pari iiis 28 dos fele LY Figure 15 Worksheet for bounds set ALLOY1 problem file LPSAMPLE Having prepared records which name the problem file LPSAMPLE describe the equation elements and name and describe the set of bounds we need only one further record to complete the input data deck a second indicator to indicate that the data deck is now concluded A standard ENDATA record beginning in cc 1 as in Figure 16 must be the final record in an input data deck FIELD FIELD 2 FIELD 3 FIELD 4 epp pop ppp ss mp f 20 55505650055 wer T Kama MHEEBHHE I L Lu l Figure 16 End of data indicator record PROGRAM CONTROL We have considered the format of records required to input the problem data and constructed an input data deck We need now to consider a number of 1130 LPS procedure control records that provide means for actually inputting and processing the problem data The format for a procedure control record is qui
123. oefficients Data Preparation The problem must be defined as a set of equations as in the LP formulation The row variable names must be distinct from column variable names Figure 68 illustrates data preparation and control sequence for the solution of a set of simultaneous equations Figures 69 and 70 show the solution reports Data Control SOLVE is used in precisely the same way as OPTIMIZE see OPTIMIZE except that no ob jective variable need be specified The data file containing the equation data previously formed by INPUT or MERGE must have been retrieved by a MOVE DATA record and the name of the bound set RHS and or range set to be used must have been specified by MOVE BOUNDS RHS and or RANGE control data records Output The output report is exactly the same as the LPSOLUTION report see LPSOLUTION The report shows the solution value for each variable of the problem The user is cautioned to observe the solution type of column variables An incom plete and invalid solution is shown by one or more column variables at LL lower level This indi cates either non independence of row or column variables or numerical processing difficulties Major Errors If there is no equation data in the problem file re trieved by the MOVE DATA record or if no file was retrieved a major error is recorded and the procedure is terminated 48 INPUT NAME SIMULTEQ DESCRIPTION COLUMNS R H 7 X1
124. of MAXIMUM PRIC ING and 747 ROW VARIABLES 8 Since this parameter is initially set to 32767 the real limit will be imposed by the problem size unless the MAXIMUM PRICING is set by the user e Others The remaining options have been dis cussed under MOVE earlier in this chapter Output While it is performing iterations to find the optimal solution to a problem OPTIMIZE prints an itera tion log on the LOG device to show how the op timization is progressing When OPTIMIZE has found the optimal solution or terminates its opera tion for some other reason it logs a message stating the reason for its termination The iteration log prints two heading lines then one line for each major iteration that is each updating of a group of variables to the current solu tion for possible change in solution status Figure 56 shows an example of an iteration log The headings are ITERATION The number of minor itera NUMBER tions so far A line repeating the current iteration number is printed after an inversion INFEASIBILITY The number of variables COUNT whose solution value exceeds the bounds on the variable VALUE OF The current value of the ob jective variable name of the variable is printed be tween the quotation marks in the second line 38 Possible termination messages are e SOLUTION OPTIMUM An optimum solution to the problem has been found e SOLUTION INFEASI
125. one LP run and check the INPUT statistics for clues to obvious data preparation er rors before the first try at optimization When the problem is sufficiently small or if the model and most of the data have previously been run the ex perienced user may include optimization The use of LPANALYSIS and or LPPARAMETRIC should generally be limited to checked out models Suppose now that we have loaded a large alloy blend problem named BLEND and that the model and data are pretty well checked out with two bound sets BOUND1 and BOUND2 which reflect somewhat different specifications Either blend is acceptable but we prefer the blend defined by BOUND if this bound set provides a feasible solution BOUNDI has tighter specifications smaller upper bounds or larger lower bounds and is more likely to be infeasible than BOUND 2 Hence we wish at a certain point in the LPS procedure se quence to OPTIMIZE the blend defined by BOUND1 and IF the solution is INFEASible to bypass LPANALYSIS To provide these additional functions we intro duce the procedures OPTIMIZE which obtains an LPSOLUTION but does not print an LPSOLUTION report and IF which provides a conditional con trol of the LPS procedures on the conditions and in the order specified by one or more data control records IF data control records The first name field specifies the condition If the condition is true for example IF the probiem is INFEASible a search is
126. ontains one line stating the name of the problem and one line for each of the types of data in dicatingthe number of elements contained in each set Example MOVE DATA ENDATA STATISTICS The tabular summary for the problem LPSAMPLE discussed earlier would be logged as in Figure 52 The logged information is interpreted as follows PROBLEM LPSAMPLE CONTAINS 9 ROWS the number of row variables in the problem 0 SELECTED ROWS the number of row vari ables selected by a ROWS file 16 VARIABLES the total number of variables in the problem 0 SELECTED COLUMNS the number of column variables selected by a COLS file 1 BOUNDS the number of bound sets input 0 RHS S the number of right hand side sets input 0 RANGES the number of range sets input 90 COLUMN ELEMENTS the number of equation elements input for the problem 4 LOWER BOUND ELEMENTS the number of lower boundelements input for the problem 13 UPPER BOUND ELEMENTS the number of upper bound elements input for the problem 0 RHS ELEMENTS the number of RHS elements input for the problem 0 RANGE ELEMENTS the number of range ele ments input for the problem LPSAMPLE Optional MPS 360 compatibility data types discussed at the end of Chapter 3 Major Errors None PROBLEM LPSAMPLE CONTAINS 9 ROWS SELECTED ROWS 16 VARIABLES SELECTED COLUMNS BOUNDS RHS S RANGES COLUMN ELEMENTS LOWER BOUND ELEMENTS UPPER BOUND ELEMENTS RHS ELEMENTS RANGE ELEMENT
127. performed for the LABEL record whose name or label is specified by the second name field for ex ample IREOPTIM If the condition is not true the next data control record is read until an ENDATA indicator is encountered LABEL records These are unit records with a label instead of a procedure name in position 1 8 of the record The user must use a numeric char acter for the first character of a label Figure 41 illustrates a control sequence that will provide the conditional control desired for our large BLEND problem with the tighter specifications in BOUND1 than in BOUND2 The procedure execution sequence is identical whether BOUND 1 is infeasible or not except that the LPANALYSIS procedure preceding IREOPTIM will be bypassed IF BOUND1 is INFEASible The various conditions that can be tested through the agency of the IF and IF NOT procedures are listed in Chapter 2 In every case if the condition tests negatively the next data control record is read For example suppose BOUND1 provides a feasible solution this is a negative test on the condition INFEAS If all IF data control records have been read and if all test negative the ENDATA indicator signifies end of testing and the next pro cedure control record is read If the condition tests positive the procedure results in a scan until the appropriate label is encountered whereupon the run recommences MOVE DATA BLEND MINIMIZE COST BOUNDS BOUND1 ENDATA
128. r Blank except for bounds record First system defined name or user defined name Second system defined name or user defined name Value field Field positions should be blank in Data Control Format Figure 50 Data data control format 1 24 Comment asterisk must be in column 1 Must be blank if in input or revise data Figure 51 Comment format The ENDATA Indicator Some procedures such as SAVESOLUTION read only one data control record Others for example DELETE read a variable number All the proce dures that read a variable number of data control records require an ENDATA indicator record to mark the end of the particular data control deck Procedures requiring an ENDATA indicator are INPUT IF and IFNOT INSERT REVISE MERGE MOVE DELETE Procedures reading data control records and not requiring an ENDATA indicator are SAVESOLUTION RESTORE LPPARAMETRIC 29 INPUT AND DATA MAINTENANCE INPUT The INPUT procedure reads input data records and forms a problem file containing the data on the disk The input data may represent complete problem or may be a partial set of data for later use with MERGE or LPPARAMETRIC procedures Input Data The format and contents of the records in an input data deck must conform to the specifications in Chapter 1 under Data Preparation Such a data deck must contain 1 A NAME indicator record This record names the problem file If no NAME indicator is provide
129. rds following such an indicator are assumed to be bound data records until another indicator record is found The ENDATA Indicator The last record of the input deck must be an ENDATA indicator record Type Must be blank Name 1 The name of a variable appearing on the right hand side of an equations The name of a row variable The coefficient of the variable in name field 1 in the equation corresponding to the row variable in name field 2 The name of a row variable The coefficient of the variable in name field 1 in the equation corresponding to the row variable in name field 3 Name 2 Value 1 Name 3 Value 2 Figure 76 Equation element record ol Bound type Name 1 Name of the bound set Name 2 Name of a variable Value 1 Bound value Name 3 Must be blank Value 2 Must be blank Figure 77 Bound element record A Basic INPUT Data Deck The contents of a basic INPUT data deck are shown in Figure 79 They consist of 1 A NAME indicator record 2 Probiem equation and bound data records in any sequence 3 An ENDATA indicator record Standard Bounds If no lower bound is input in particular bound set for a variable it is given a lower bound of 0 If no upper bound is input for a variable in a particular bound set it is given an upper bound of INFINITY These implicit bounds 0 INFINITY may be changed for a particular variable by a standard bound record
130. re is terminated DELETE DELETE is used to remove one or more obsolete problem files from the disk DATA control records designate the obsolete problem s The disk space previously occupied by the deleted files can be made available for further use by the EDIT procedure Data Control The DELETE procedure deletes from the disk the problem files named on DATA control records which follow it DELETE DATA ENDATA LPSAMPLE 34 Since DELETE may read any number of data control records the last DATA record must be followed by an ENDATA indicator record Output Each DATA control record and the ENDATA record are logged Major Errors If an invalid data control record is found a major error is recorded The remainder of the data con trol records are processed normally EDIT EDIT packs the current problem files into consecu tive disk sectors thus freeing disk space previous ly used by deleted problems Output EDIT automatically calls the DICTIONARY proce dure after it has packed the problem data thus producing the DICTIONARY output report DICTIONARY DICTIONARY lists the names of the problem files Stored on the disk the number of disk sectors used by each one and the location number of the next disk sector available for use Output The DICTIONARY report contains a heading line one line for each problem file stored on the disk and a line showing the location number of the next disk sector avail
131. rs under Cost Unit Increase indicates that for each additional pound of aluminum used at the current cost the cost of the alloy would increase by 1 The next column indicates that such a price change in the final blend would occur until 552 8 pounds of aluminum were used Similarly the figure under Cost Unit Decrease indicates that if less aluminum were used in the final blend the cost of the alloy would increase by 2 4 per pound until the amount of aluminum used was reduced to 393 8 lbs When ever a variable is present in the optimal solution at an intermediate level it follows that any forced change either increasing or decreasing the activity of that variable will produce a rise in the price of the final blend This report reveals not only the VARIABLES AT UPPER BOUND OR LOWER BOUND VARIABLE SOLUTION UPPER BOUND COST UNIT INCREASED LOWEST ACTIVITY INCREASE ACTIVITY COST TYPE CURRENT LOWER BOUND COST UNIT DECREASED HIGHEST COST DECREASE ACTIVITY COST WEIGHT 20004000 20002000 00242 21794629 00242 EQ 0 000 20002000 0 262 1993 060 39x BINel 02000 200 000 06288 22 319 0 258 LL 0 030 0 000 0 288 13 678 BIN 3 0 000 8002000 02001 1004512 06168 LL 0 170 02000 0 001 52 6513 FE 606 4000 60 000 2e 951 62 033 Xxxxxxsx UL 0 000 02000 2 951 55 198 20951 MN 40 000 402000 0 908 410579 3Xx3 x 34X4 X UL 0 000 02000 0 908 38 059 00908 51 2502000 30
132. rt Optimization Operating LPPARAMETRIC Za Ee PFOGOdUfB i v vs sess seekers SO Starting Solutions ss sro atis x a rn ens 45 Card SYStOM i404 e voamvaeckwr a 00 SAVESOLUTION 45 Paper Tape System 56 PUNCH recarono eic nid n ei eae ute 2495 Interrupting Optimize 56 INSERT 649225 SOU RV CHEESE EO Carriage Control 56 RESTORE TU TEE Halts Messages 56 co GU Cn A c H A DO s S s 9 EE E SE 0 0 0 90 0 6 0 9 09 53 The NAME Indicator 53 Status 58 The ENDATA Indicator 54 An INSERT Data Deck 54 Compatibility with MPS 360 54 Chapter 4 Operating Procedures 55 Halte yu rror Phil oS ophy amp amp 9 9 6 9 6 8 6 6 6 0 8 97 95 9 8 Program and Error Messages Appendix 9999999 G 50 0 90 0 0 0 6 6 0 b 0 09 0 e Formulation Rules ccce eet Input Data Format Summary Input and Revise Symbols Used e cose eoe eee Bound LyDOS 44 exer v 9h ERREUR A RO RUN 2622290299409 EA e UR Lee 56 56 57 59 59 59 59 59 59 59 Sym
133. s as illustrated in Figures 22 and 23 will be printed out for the alu minum blend problem One section of the LP analy sis report is titled Variables at Upper Bound or Lower Bound and the other is titled Variables at Intermediate Level Across the top of the LP analysis report appears a series of headings de scribing the tabular information contained in the report Note that most columns have two headings and each variable listed is followed by two rows of information In each case the top heading identifies the information in the first row associated with each variable and the bottom heading identifies the in formation in the second row Essentially the LP analysis report is designed to indicate the effect that price changes inventory availability changes or specification changes would have on the cost of the final blend and over what range the effect would be valid To illustrate con sider the information output for the variable ALUMINUM in the report in Figure 23 The first three headings are self explanatory The variable is ALUMINUM and the B under indicates that it is at an intermediate level in the solution Solution Activity gives the weight of ALUMINUM in the final blend and Current Cost gives the in put cost of ALUMINUM in the problem LPSAMPLE There is no upper bound on ALUMINUM and the lower bound as indicated is 0 The next three columns of data require explana tion The figure which appea
134. s not in the problem file The name of the variable used is logged on the next line RANGE SET NNNNNNNN MISSING Minor error The range set named by a MOVE RANGE record is not in the problem file The name of the range set used is logged on the next line 57 58 RHSIDE SET NNNNNNNN MISSING Minor error The RHSide set named by a MOVE RHSIDE record is not in the problem file The name of the bound set used is logged on the next line ROW NNNNNNNN EMPTY Minor error The row variable named has no equation elements The variable will have no effect on the problem solution SOLUTION INFEASIBLE No solution to the problem can be found satis fying all the variable bounds The variables whose values exceed their bounds are so noted on the LPSOLUTION report SOLUTION OPTIMUM An optimum solution has been found SOLUTION UNBOUNDED The value of the objective variable can be improved without limit The variable causing the unboundedness is so noted on the LPSOLUTION report TOO MANY PROBLEMS Major error More than 64 problem files were specified to be combined by MERGE The pro cedure continues as if an ENDATA record had been read The file so far formed can be com bined with the remaining files in another MERGE operation NNNNNNNN MISSING FROM DICTIONARY Major error The problem file named on a DATA control data record is not in the dictionary NNNNNNNN USED The name of the bound set RHS Range Set or Ob
135. s optimized many times the subsequent optimizations being required by changes in some of the equation coefficients and or some changes in the problem bounds Thus significant optimization processing time may be saved by using the first solution of a model as an advanced solution for the second optimization the second solution as an ad vanced solution for the third and so forth The procedure SAVESOLUTION is recommended to save the current optimization solution levels in file for models that are kept and maintained on the disk as shown in Figure 39 The PUNCH and INSERT procedures are recommended for models that will be maintained in unit record form as shown in Figure 40 The SAVESOLUTION procedure requires a single data control record to designate a NAME for the starting solution level file The RESTORE procedure requires a single data control record to specify which disk stored DATA file contains the starting solution levels SAVESOLUTION NAME LPSOL RESTORE DATA LPSOL X 46 EH EE HE EE EE MOVE DATA LPSAMPLE ENDATA REVISE HRA ENKEI HHH HE MAINLY COEFFICIENT sBOUND CHANGES E 3 CEDE E MOVE BOUNDS ALLOY1 MINIMIZE COST ENDATA RESTORE DATA LPSAMPLE LPSOLUTION SAVESOLUTION
136. signifies a fixed level and may be thought of as an equal sign The record in Figure 13 indicates that the total weight of the desired alloy must be equal to 2000 lbs Similarly the FR on the record in Figure 14 signifies that COST is free unlimited that is COST is not really bounded at all Since in this problem we wish the objective variable minimized the LPS will compute FIELD FIELD 2 FIELD 3 FIELD 4 000000000000 20 e npo po opo opes en 208000005 dual bera zl lole lol EIER E REESE ERE Ei Loe L Figure 11 Bound element record upper bound FIELD FIELD 2 FIELD 3 FIELD 4 ppp e po o oppo en oie or se 5 Les 6474 EEC ey Figure 12 Bound element record lower bound t 12 the lowest possible value for COST consistent with the other bounds defined in the bound set ALLOYI Were the problem designed to maximize profit the variable representing profit would be maximized in the solution Figure 15 then provides the work sheet for the deck of bound element records required for our problem FIELO I FIELD 2 FIELD 3 FIELD 4 eee inn poppe epe erepto e EA Figure 13 Bound element record fixed bounds FIELD FIELD FIELD 3 FIELD 4 oof ie pepe pe po npn fepe pes non o ef Fiet bee
137. t shows every message logged by the system the probable cause of the error and the corrective action taken by the system or to be taken by the user BOUND SET NNNNNNNN MISSING Minor error The bound set named is not in the problem file The name of the bound set used is logged on the next line CARD NOT BLANK Major error The first card of a deck to be used for punching is not blank The procedure is terminated COLUMN NNNNNNNN EMPTY Minor error The column variable named has no equation elements that is it does not appear in any of the problem equations The variable will have no effect on the optimal solution DUPLICATE ELEMENTS Minor error Duplicate elements have been found in an input data deck The elements used are listed below the message INCOMPLETE OPTIMIZATION The maximum number of iteration specified have been taken by OPTIMIZE without reaching an optimal solution INFEASIBLE BOUNDS NAME UPPER BOUND LOWER BOUND Major error The lower bound on the variables listed are greater than the upper bound The name upper bound and lower bound on each variable are listed The optimization is abandoned INVALID FORMAT Minor error An input data record has been found which has a nonblank character in one of the fields that must be blank The record is logged immediately above the message and ignored INVALID INDICATOR Major error An invalid indicator name has been found The record is logged immediat
138. te simple Punch the name of the pro cedure beginning in cc 1 of the record The name of the procedure that introduces a data deck into the computer storage is INPUT and Figure 17 illus trates an INPUT procedure control record Such a record followed by the problem data deck results in the storage of the data in a problem file on the disk FIELD I FIELD 2 FIELD 3 Bg E 20 AM iil Lb ad FIELD 4 Figure 17 Input procedure call record Assume that several problem files in addition to LPSAMPLE are stored on the disk We wish now to produce a solution for the problem LPSAMPLE To accomplish this the parameters for the problem must be assigned that is the data contained in the problem file LPSAMPLE must be retrieved the bounds set to be used ALLOY1 in this case must be named and the objective varia ble to be optimized minimize COST in this case must be named before a solution can be undertaken The 1130 LPS procedure that sets the parameters for each computation is named MOVE and a proce dure control record punched MOVE beginning in cc 1 will call the MOVE procedure But MOVE must be supplied with its own data records indicating which problem file which bounds set and which objective variable should be used in the computation The records which provide that information to the MOVE procedure are called data control records These data control re
139. ter 3 describes the LPS input data and unit record formats Chapter 4 contains the operating procedures and System and error messages The Appendix contains summary of the formu lation rules and the unit record formats and other data and serves as a handy reference for system usage COMPARISON WITH OTHER SYSTEMS General The 1130 LPS contains a row variable feature in place of the more common and less flexible slack and or artificial variable feature The row varia ble feature has been incorporated to simplify prob lem formulation and to provide more efficient and natural problem representation The following are some of the advantages of this feature as expressed in slack variable terms 1 Rows can be added together independently of row limits This feature can be used to reduce sub stantially the number of coefficients in the problem data for many applications 2 Slack costs are allowed 3 Slacks can replace transfer variables While the experienced user of other LP systems will find this comparison useful the new user should omit it and proceed to Chapter 1 The row variables of 1130 LPS which do not contain other coefficients for row summing slack costs etc appear similar to negative slacks except that the solution activity of these variables is constrained to be positive negative free according to the problem limits expressed by bounds RHS RANGES etc The 1130 LPS row variables are shown on the
140. the alloy 2 The weight of each of the chemical contents of the desired alloy 3 The total cost of the raw materials required to produce the alloy this is the objective variable and will be minimized 4 The weight of the desired alloy this will later be limited to a single value 2000 lbs Since we have assumed that no chemical sub stances will be lost or added during the smelting process we can easily formulate an equation that provides the total weight of the desired alloy 1 0 BIN 4 1 0 BIN 5 1 0 ALUMINUM 1 0 SILICON where WEIGHT is the weight of the desired alloy and BIN 1 BIN 2 etc are variables representing the weights of the raw materials used Similarly we can formulate equations for the chemical content of the desired alloy As indicated in Figure 3 the scrap in BIN 1 contains 02 mag nesium by weight Hence 02 BIN 1 expresses the weight of magnesium from that source which will appear in the desired alloy It follows that the total weight of magnesium in the desired alloy may be expressed as MG 02 BIN 1 03 BIN 2 01 BIN 5 Again referring to Figure 3 we can formulate the remainder of the chemical content equations in the same fashion 16 BIN 1 04 BIN 2 02 BIN 3 04 BIN 4 02 5 01 ALUMINUM 03 SILICON FE CU 03 BIN 1 05 BIN 2 08 BIN 3 02 BIN 4 06 BIN 5 01 ALUMINUM MN 02 BIN 1 04 BIN 2 01 BIN 3 02 BIN 4 02 BIN 5
141. the solution is found to be unbounded the line VARIABLE CAUSES UNBOUNDED SOLUTION is printed after the variable that caused the un bounded solution If the problem is found to be in feasible messages are printed after each infeasible variable These messages are e INFEASIBLE UPPER BOUND The solution value of the variable exceeds its upper bound e INFEASIBLE LOWER BOUND The solution value of the variable exceeds its lower bound e INFEASIBLE XXXXXXXXX XXX ARTIFI CIAL Anartificial variable generated during the optimization process is at the nonzero level shown This also indicates a genuine infeasibility The number of infeasibilities is printed as the last line of the report Joekbkeeieiecke PROBLEM CONTAINS XXXXX INFEASIBILITIES RESTART If during OPTIMIZEation of a problem a computer malfunction occurs or the computer has to be used for other purposes the RESTART procedure allows processing to be continued from the point of proc essing interrupt For example if OPTIMIZE is interrupted at some time after the LOG headings have been printed out RESTART reinitializes core so that the problem can be restarted from approxi mately the point of interrupt as long as the 1130 LPS disk has not been used for another job The user must use an OPTIMIZE LPSOLUTION or LPANALYSIS procedure call record following RESTART Operating instructions are given under RESTART Optimization Operating Procedure Ou
142. tor if used must be the first card 2 Remove X out records may be used to re move obsolete variables bound sets etc Remove Records Any variable bound set RHS set or range set may be removed from a problem file by remove record Figure 82 Remove records may appear anywhere in a REVISE data deck When removing obsolete data do not include a new variable that bears the same name as a removed variable if you do it will be removed The variable may subsequently be REVISEd into the problem in a later REVISEion Also note that some of the bound types generate an upper bound and a lower bound entry An UB UP or an LB LO bound entry will revise one and only one bound I the previous variable bound type see Figure 78 defined two bounds FX EQ E FR N and L all define both a UB and an LB a single UB or LB will change only one bound bX or Xb The name of the variable bound set etc to be deleted Blank Blank Blank Blank Value 2 Figure 82 REVISE delete record format INSERT DATA The NAME Indicator NAME indicator is used to name the problem file into which the starting solution is to be stored If no NAME indicator is provided the name will be assumed to consist of eight blanks If there is already a problem file with the speci fied name the starting solution is stored in it If not a problem file is created The 1130 LPS will accept an MPS 360 PUNCHed solution status file
143. tput RESTART logs the name of the problem file as illustrated in Figure 58 RESTART DATA LPSAMPLE Figure 58 RESTART log This variable in effect transforms the original statement of the problem to be RV ARTIFICIAL ACV1 BCV2 where RV is the row variable preceding the message 40 POSTOPTIMAL ANALYSIS LPANALYSIS After the optimal solution is found LPANALYSIS prints a report in two parts The first part of the report lists all the variables in the solution at a bound and indicates for each variable the type of bound upper lower or fixed the solution activity the current cost the bound values the per unit additional cost produced by increasing or decreasing the activity of each variable by one unit the cost range for each variable at which its activity in the final solution remains unchanged and the new ac tivity of each variable at the point where that cost range is exceeded The second part of the LPANALYSIS report lists the same information for all variables in the solution at an intermediate level Output The LPANALYSIS report is a tabular representation of the effect of price changes on variable activity and the effect of variable activity changes on price Figures 59 and 60 illustrate respectively the first and second part of the report produced by LPANALYSIS for the problem LPSAMPLE Each part of the report contains two rows of headings and each variable in the report occupies two rows as well
144. umn headed Current Cost provides where relevant the cost of the available raw materials The last column in the output report requires a separate treatment since its significance is less obvious Headed Reduced Cost it provides a significant figure for all those variables repre sented in the solution at a bound either an upper or alower bound When the solution of a least cost LP program indicates that some variable either a raw material ingredient or a specified chemical is present at a bound it is fairly safe to assume that if the particular bound constraining the activity level of that variable were removed the cost associated with the process would decrease The reduced cost figure indicates how much less per unit measure in this case pounds the cost of the final blend would be if the bound limiting each particular variable were relaxed that is made higher if the variable were at an upper bound or made lower if the vari able were at a lower bound For example the chemical specifications require that the final blend contain between 250 and 300 lbs of silicon In fact the optimal solution contains 250 Ibs the lower limit If that minimum of 250 lbs could be relaxed lowered somewhat the reduced cost indicates that a saving of 24 per Ib would be realized But note that this figure is valid only in the neighborhood of the solution The user cannot assume that a speci fication of 100 165 less silicon wil
Download Pdf Manuals
Related Search
Related Contents
ModelSim PE Tutorial Thermomètre sans contact infrarouge Kicker PS69 Owner's Manual Electro-Voice PI6415 User's Manual Copyright © All rights reserved.
Failed to retrieve file