Home

Modification and Enhancement

image

Contents

1. CHARLEN 500 eo e Co US OD ANMAN DEDO e OO DAS ROO Tun DSG AO AO OO SO SO DO Of f Pon P P PO 0000 00 6000 00000 0 NC OC C OC OO OO OO nOA rmn A rd e rd nk d lr rl ead pl md a d d id rl d oed m ond EI OE Pen en Pen en en 0 ey mm ev m m en en m en m m EA e m e m e 0 e e e en e e OO OO MIUQUOQgUOOUUUOOOXOUDOQOUDUUDUOODUOQOUDUOCOQGOQUOOQOOCOOUOUCOOOOUOU 3 YO RODANDO E a ad 4 4 1 33 55355 AW rnm gt e gt 0 p 0 O uy 2 e LU C uc e ue 0 e UJ t Lu E O HIS de 0 lt O ud LU o mu o wd gt Co Q uu N 13 in e gt ii por Bd w ao Y 223 e e e A WY Ch Z e O US N gt UN ON UY 4 e w th F o gt e gt e LL mom 4 U O mt DO gt Lid FO H t gt lt LO 20 N NAA m 24 eZ m N Y I 22 ui e XG Y wk Wee LU MM e H tu e 2 IA
2. _ dd dl dd 4 dd CS ed ad uJ gt at e ee Qm e do gt lt lt bt po Z Uv gt lt uJ v Q ae oO od a T lt gt lt x e a e gt gt LL N x gt 9 WY e q gt C Q O po T a a gt S O bone N NO 2 lt o O ul Z ZN ul x gt A tu t oa Ce uJ gt uJ e gt Ir O Y Q bra Da P lt x P z O DN XA hk LL O lt lt t e ul a Q 2 OO 2 O gt C e lt gt vu N u N O mM Z wf UJ Me lt x Oh Lond Xx O AN LUJ L gt O tot uJ 4 gt u Oe a bbe d gt Om gt lt PP e x Ox O WO zd ed occ lt nr lt AD tad X Qo t Qu 63 N Z ur TOTO gt we gt Qe gt 2 ZZA m d e e LU e lt We Z qu Qs u t au a Y xr gt o 2 gt Pd 2 C AL w CON e e uc Em Z mm Q2 at e o AX 27 Q tious
3. we O Co po x ad por 2 e OL jJ H Z gt XIX EX ma tO x 2 E AY a ed ul UZ 3 s Y lt G O OC loc KL 0 lt C TQ eo C eq IO au X Ou uv OAU QU 4616 Qo _ 735 JO Bu el d mi ek 4 oc ON OA gt om QV Q ety e ux e Ca er QDD O oO 200 N Na OOM vgt NX QOO OWN N Drs Na MOP ed NOS no ORGA Nm Tm Oe Tr Y PFF a elo al altel aval AW DN nun Pop PS vd rund eni NN CN GJ ei ar PAS r s s n AS 2e n END A G us sss Gs 0 eee oea e ISN 1F DO 2 m SO Un O UY OPS es CO oen x O C UN OM DDO O DOO AA O s PS Pe r r r DD 09 DD 00 1D CO WON ON Y DO CIO N Qa pd NOVO CIES ATES AS ANN ONNIN OOO OSOS OSOS O IU NJ NON ON EY C 004 0 0 0 Y 00 C e Cy n3 09 ON en e Qe e en 00 en een ee en en en e 00 00 6 en e 0 70 en e en en 0 en
4. 1987 05 i P Spring 1987 SOUTHERN METHODIST UNIT Modification and Enhancement of LOCSYS and LOCGEN Roger Murry MODIFICATION AND ENHANCEMENT OF LOCSYS AND LOCGEN BY ROGER MURRY FOR DR DICK BARR SOUTHERN METHODIST UNIVERSITY Pg ee poe SES A DEPARTMENT OF OPERATIONS RESEARCH AND ENGINEERING MANAGEMENT ScHOOL OF ENGINEERING AND PPLIED SCIENCE DALLAS TEXAS 73275 AND ENHANCEMENT DICK BARR 1987 BY ROGER MURRY FOR DR SOUTHERN METHODIST UNIVERSITY OF LOCSYS AND LOCGEN PRESENTED MAY 8 MODIFICATION E AA A o ees mt es md o o Bt o A a ee ee Be Be ee 22 ipa te et 20 TES Se x MODIFICATION AND ENHANCEMENT LOCSYS It s one problem when program I wrote myself needs to be debugged and or enhanced It s quite another when someone ELSE S program isn t working properly and I have to find the problem Yet that was the project to which 1 was committed for my senior design project It consisted of debugging and modifying two separate but related programs LOCSYS written by Terry Ross in Austin Texas is client site resourse allocation goal programming algorithm The second program LOCGEN designed by John Deschner was the LOCSYS data generator for LOCSYS Lt was also intended to be the front end of LOCSYS However when I first received my 8 assignment LOCGEN was still
5. en e mv ea c a carey ALOE CAVE QU UUXQUIEGQGDGUQGQGOUOUCUCQGQ Q QUCGCUOQOUUQGQCQOGOOCQOUGUCQCGCICCQOQUOQOQOQQO QUOOOUOU QOQGOQOO QOUQOQOOQUOQU OdXOOCuUOCOOGOO QUOOOOOUQOQUOOOCOQUOCULLOOQUOQUOGCOCOUGOOCOOOQOGQOOCOCOCO ld od el el med ad a crol od ed ceo aua lt gt oral _ O D sd e m lt t o e lt e m v x a C uJ C2 ti WY 2 rm gt e ed Q LL 2 E 22 e o a m gt lt Eu e po x r Nr i I a uJ rd O N lt lt el x e 4 zl gt uJ dto e X p lt P y poo Y lt N 9 O Odo lt a e e gt gt cx gt Qui Or Ce O lt e u N NUJ e Va t t N Li QU oe OO u Or OW lt AJ UJ 5 4 D O Om O Lid e er gt gt Der l CC LL e OL bm LL and E Qo IAD lt i lt uJ LW xul t t1 gt Q gt I XL M gt gt c e t OU O lt A e lt Z gt t O lt Ul eu e am Zhe IX 5 a e Ca 2 mT lt lt lt lt gt lt ur e rm N d Lo du mew ICON OZ OO DE gt h WI OL u Uu uu e a I md ZU O w 6
6. FU ONDD OmN MS qo ex WO NM COCO ano POH Paco OO OOQO0Cw mind mi ond wirid pr dem ended mea wed mod m pod tl etie Cow o sema sus dad arar yr rn 21 40 45 TIME MAY 10 1987 DATE VS FORTRAN Foce o ecclooeccccccececeo 200 veo LEVEL 2 1 1 SEPT 1986 ISN IF DO CPU O DS mM AQUA GD GO 0 5 x N 00 T f O PUY 0S CO T OP CO NON Ny 00 0n en ee SF Sr Mn SP SP fF O O 40 vJ OO P lt P lt en eno PY CO ry en een RELY eio n em nee e eveoey ey nm em aom cree ien oen e CY Core 0 ed ep CY Y OY CY CIL UT nnm n POY 003 00 00 0 Y 00 17 y 08 Y ey 0 63 03 00 00 3 00 en 0 S Y 07 Y 080 qve em mm QU OUO YOU YOU DU D NY O IDO UU 000 0000020000000 YA
7. o O c C a O XU ug YUN O Xu oC Z O O Buy ce Cm Q xO od m Cu Cru DN uy NJ o CN mep 2o Nw N m ONAN O Nes O OU Omer Q O OMY y m MO MOO Corne ON NOPOO Mm CO UY ON DOD Om Nm 154 D rd 4 44 N INNNNN C CN NMMOMM c 0 MMM c SE ST OA au ed w mrii ipimie o rial rra o d ga rd 2 luma s FORA Y MIS A MS OR NAM 4 am LE TE 25 eco ence ee eb eeccsccece ISN IF DO DO ad NOFA OPM PUN OM 9 Ora FLA 25 CO T O A OA CA G 2 2 CoOOCOQOOOOOoooocooooo QC e en rus DP ON 50 OS A Cei mes ye neci e ey cn xp ST Tet Tree rt YY X T T FAM TAY n ror Yr pea MO oce SVE te aan CO Or ey C Yo e n Ou a ey WO WOOO OW K2C O O Y DION O RIN NO II gt DANA sr IO mer ei Lu mA eA UCI IOI 00 r T WOVVOUVOVQVUVOVVUOWU d ae
8. uw We Iz Y mu ze gt Z ec Q e 3 2 lem uj gt utu gt amp uu WO O 2 4 A LUT tu O pue dowd DO a ed N tQ tJ Lu ce uz Pa J C NZ gt Z o COND e lt bo y A Z O Dm Z O ON Z lt ve u QOU band Aj be CY Fu C m e Jr 0 e Ar 00 xx gt u i d e we uz lt Deke t UJ 2 ZO Wr j gt Q mB Od UO O Z Weu cox gt a O CQ WI 4 s O lt IO a ZZ OQ rm ul x gt Q eZ m ILI uo C CO c UE LZ e Lo uj X QU LL i 2 a eu Lu id m Z KaL OLI E aio C X O gt 07 I 24 WO Gu o D IZ d YW lt Det eyo x Ze Le 72 zuz ort othe lt IY lt Z e Oui eno eU Uu m o ex Oz Im wor WO F T e D My ce eC cT gt x yx O N Da OCT Z es Lo KOM UO ANU Zc 23978 Ons uJ ODS O as ad D lt QOO NONO xe Qe Re ont wed j WN p ONS MUO min ODOwnw IO NN MO L pp uu HGU 159 w mm db II cr OND LLUQ Arq A eme ESD Lom m 23 4 XZ e lt mM gt OU JD or yax w Uj 17 x e pp se UN HWH H fi C P WO Mea oG wu w NO Uj XU curs D Ao O
9. e QU y Om y NA uo e CQ ms Qn e OC v LL UJ LL 9 e Z uJ xc LULU LL oO gt lt lt LAC are N O 1 ee 9 edAIO wi BEI e OO FOOL lt DG OX ZZZ xu tZ ACOA L lt LU KLAN a 03 Iaa aZ Ue ed O ms CCI qq mm O e D gt ODLI E Uan el Tru gt xD WOT 9 gt I Qe 200 Cem W 2 O QUO eS NO L2Yntluo Z lt lt eW Uj por eZ cere Wo may M x Ure O SOT ome gt x 2 Z YN Ne xNO lt CJAJO a c 9 CN CO me gt o Ne Nau wv e aN O ON ji ALAN OO Neate Fui OOK x yy tU Ou Aoc oe VIN NNON NeT au F NO NNW ger ROS Ne D ARUN PENOSO LIN pal ee ON ON REN CJ e NULO D e QT OM w pro D 00 N 407 099 Ow SAA ON O Ou O UN pe pe b 2 C s lt ee OFZ lt Nead OM O Di uU y O gt gt AXO Jrs F S NOS AC 5 eX r OCT dou XIX Z we e DANI I c uu m EFEZO uc COS HUIJDUAIO EDOOSWODO Quit LO aqu OG O wLUOXO Qc CGU Fue Ou MO Xu Www Cm uu xu O mA 4 one ed ad pd od N Ons NJ e GN Ln wo wr w a NN NON m Ul rm N WAN NO NO N ONN N ONNON N O NO
10. 15 Data Base Editing Commands EXCLUDE SITES list EXCLUDE CLIENTS list EXCLUDE CRITERIA list The element list is the word ALL or one or more valid site client or criterion names depending upon the particular command separated by commas Although present in the data base data on the named sites clients and criteria are not to be considered as a part of the problem Clearly the problem cannot be solved if all of the sites clients or criteria are excluded The purpose of the ALL option is to simplify selecting those sites clients or criteria to be included when they are a small fraction of the total number in the data base The EXCLUDE command is valid only until the SOLVE command is first given INCLUDE SITES list INCLUDE CLIENTS list INCLUDE CRITERIA list Reverses the effect of an exclude command The program assumes all clients sites and criteria are included unless otherwise directed The INCLUDE verb is valid only until the SOLVE command is first given Algorithm Control Commands SOLVE The current values of weights and limits are used to define a problem for the system to solve Information on the solution is reported automatically SET WEIGHT name TO a SET LIMIT name TO SET STEP name TO Assigns the value real or integer numeric to the current value of the weight limit or step for the named criterion 16 SET IDEAL name Assigns the value real or integer numeric to
11. Qu NED Led ud J t e Zhi uni Ul bk C ul lU COD pg e 4 Y e lt wk 0 Jr n z uU ml 9e p d ed meN e Qo gt A b 230 Y Go rr XU o v eOUOxX ZZ xr 2 e CO NO 200 Ou lt C OH DD Z wee gt pam 4 gt gt A gt r AE zz u Qo Qe N SON 7 lt q lt Qu DD e w C COOOL v ul Nu AAA mr CO mm C gt lt ni UJ C WLO NEUD O JO e IZ yeu un J Zi jo bot tn Cx 4 exu 40 NY a uj Qu bow UL AS te Fulco lt ce O O ZZ O x Z zz Ab tk Ae prosa Z UJO rat f UL UU bm gt e lt wee a elu Qu OL We Ll uc 22 rU o DO ONN NUNA 0 lt Z Oqe VDZMU wue up mts 2 00 o eC Or eld Z gt gt ul Ome WED amn 0 Jl 01 L ed CU mt re J pee 0 pud a0 ac 2 20 gt wee Y u a CY Li Z uv YI CD So D PD O Qe C a INIA ely e N Cj erm FP 0 Ne 2 20 m Z quz e CE I QO RE QOL BAD XII Co gt Wwe Oe 171 d Ce S 6 uj e Qu ems end LINDO q UJ Z 60917 vow IX es V gt Loe LSS e 0 Ul ulle ue De je PF o j aj nm 20 gt e xL G Miramos arre ra
12. lt CY ir Q QC gt x gt lt 2732 lt OC WPITE 1 1426 9 U O Zu cu Oc 00 yu p e coo e eost O Ow OP OAN S OP Oooo O ebay i NNUNN c NANNAN 80 PAGc MCCIFY PROGRAM NAME 10956 BYTES _ PROGRAM SIZE 20 1 SOURCE STATEMENTS ARSTATISTICS STATISTICS NC DTAGNCSTICS GENERATED MODIFY END CF COMPILATION 29 x AI r uod
13. ut lt 0 mue lt vu tU 2420 zu lt cN cT O ou t ij gt amp Ae I ed pH el gt e Or OF To OULA be O po all om poo jeu d Uy dX O OUJ LI gt re IER Na O ecco L Lid A fee m por gt 5 WO 4 4 ed CQ lt I UJ bk p wt J L wit Z etu u Qui cu a CE C p war mm lt Mau Qu Op ad gt E d m X ul Z po x Zulx dma lt d lt LIZ PM O uz FO O mei gt 1 Z eXe v gt x IV Pu 2 ei ar Z L Zu ii DemMUOuU Z IO Ou 2 22 XX O lt q eZ lt eZ O AEF HONZ AmO e pe gt LLIN LL gt lt XT gt lt J mmo 4 LU N lt x lt ume nem gt D A AZ QUO uo No EK m f N OLA gt ep O O pad Cx A02 NO Cur A 4 ex ot gt lt uN N NNN N N A ZN eNOS W MAZ Q lt el AIL T NO gt en NUJO eN NJ ONE SI Ful e CO v4 NJ aN T ex 0 Om OC Ow D Owe QD ew wD Www A Owe y ANO wee FEU we Um LEO ow w O 4 ilin ul O C Udo ag xem Om we mS OO E B be EOE e e t7 TOR ROO F Seek mir T 230 mt CLKOC mm Y Zu lt lt lt gt 5000 5 CT es
14. A minor adjustment solved that as well Right now the user has the ability to finish an incomplete data file and make changes to the following criterion weights limits ideals and steps maximum site Capacities and client site demands The ability to change the values for f i j and s i j added later with some difficulty The varying formats of these records makes their efficient update tricky The same holds true for adding deleting renaming clients sites and criteria To accomodate these types of changes from within LOCGEN s present structure would be a formidable challenge The second major update involved merging LOCGEN into LOCSYS That was the original intent of LOCGEN s author to make LOCGEN the front end processor for LOCSYS Compared with creating the modification subroutine this conversion was fairly simple Some of the considerations included making sure variable names and types were compatible and coordinating the entrances and exits of subroutines For example when user would type STOP in LOCSYS the program ended and returned to the R prompt With the introduction of LOCGEN STOP now needed to return to LOCGEN s main menu One asthetic change made to LOCSYS was the addition of a type of full screen processing FORTRAN is an excellent number crunching language but it s screen processing leaves something to be desired When I first received copies of LOCSYS and LOCGEN all screen formats
15. Tax CO 4 O ro YY e L Nett C PN t aad SN NE em OQ m A SR gt OQ gt uzec 5 m E gt xm lug 2 lt e E LL COD c C OD eth COLO IY 50 t emd wd en ft O WU Q 0 met OD DO 4 424 od dd gud Lae ond ont 4 UR SEA d Koco s 00009 eCornr o ISN IF 00 coOOOnonmonoooooonocooco LNB 00 ODS ANA uS vO ITO 5 tN CO SFP PPP PPT SE INET rrr er SST oo 00 e em en ey on eo oen QUU OC OO QU OO 00000000000 000000 418 weed cored d LL J ped 29 4 14 3 s i bred gt aem md w O gt ty t oed N Un w L J c3 Or Q COM e uJ eu AN e c EE ed lt 1 Ov xn O CO a 0 aL us LU e cc e w N gt lt N 9 5 T aie J GO OO wi s L Z w LU ei lt I eC pe UL Qu 2 d J O png EL e uti m O ew e C j u 3RD Il LJ Uj y O gt Q e Wee CD KONIC QOZ Y S gt JJ u Z OFT 0 0 P
16. you enter 2 to stop the session you must choose the MODIFY EXISTING DATA FILE option in order to add more data to the file Once all of the information has been entered LOCSYS will automatically arrange the data into the proper format and place it in the file named in the FILEDEF command The system will return you to the secondary menu If you want to change information you have entered into the data file choose option 3 To return to the main menu choose option 5 MODIFYING AN EXISTING DATA FILE USING LOCSYS The interactive portion of LOCSYS allows you to change limits and weights to see how the new values affect the results However these changes are temporary and do not alter the data file itself The MODIFY portion of LOCSYS allows you to permanently change criterion weights ideals limits and limit Steps maximum location capacities and location client demands To modify an existing data file take an option 2 from the main LOCSYS menu secondary menu will appear next 1 Taking an option 4 from that menu will start the modification process The system will show the following menu ENTER THE TYPE OF DATA YOU WISH TO MODIFY 1 TO CHANGE CRITERIA VALUES 2 TO CHANGE LOCATION CAPACITIES 3 CHANGE CLIENT LOCATION DEMANDS PLEASE ENTER 1 2 OR 3 Choosing option 1 allows you to change criteria weights ideals limits and limit steps Choosing option 2 allows you to increase or decrease location capacities
17. Choosing option 3 allows you to change any combination of client location demands NOTE When changing any of these values be sure to include the decimal point Omitting the decimal point will yield unpredictable results Any changes made will be reflected in the data file given in the FILEDEF statement Once a change has been made you will return to the secondary menu Choose option 4 to make further changes to the data file Choose option 5 to return to the main menu LOCSYS will print a list of the data file requirements if you need one To print a copy of the data file requirements take an option 2 from the main LOCSYS menu A secondary menu will appear next Taking an option 1 from that menu will automatically send the data file requirements to the printer Taking an option 2 will send the same information to the screen only If this is the only task you will perform in LOCSYS during this session you do not need to issue a FILEDEF command RUNNING THE INTERACTIVE PORTION OF LOCSYS Once a data file exists and you want LOCSYS to solve a model take an option 1 from the main LOCSYS menu This will begin the interactive portion of LOCSYS More specific information on how to operate LOCSYS is located elsewhere in this manual ENDING A LOCSYS SESSION AND EXITING THE PROGRAM When you are finished with LOCSYS and want to end the session take option 3 from the main LOCSYS menu An END LOCSYS message informs you that yo
18. EXAMPLE_DATA FILE Figure 5 shows a goal programming model in algebraic form The four criterion names are NOXIOUS DISTANCE COST and NUMSITES Weights for these criteria are all equal to 1 Limits for these criteria 50 6 600 and 3 respectively The ideal values for these criteria are 1 3 100 and 1 respectively The initial limit step for these functions are 5 1 100 and 1 respectively Client names include ATLANTA1 COLUMBUS AND AUGUSTA Locations are ATLANTA2 and MACON Figure 6 illustrates how this model would look after LOCSYS puts this information in the form of the external data file eem M si u lt NE y lt S Tu suwas w waksi m H mr A N Y Minimize 632 302 169x 182x 16 18 ex s E 55X53 Minimize 12 12 Minimize 402 Minimize Ox 5 9 7 Subject to t 521 al X12 22 131x 8x 27x45 lt 1352 100x 10x3 27x lt 1002 Xi 0 1 for all 1 1 jeJ 2 0 or 1 for all 1 1 FIGURE 3 3 Example Multicriteria Location Problem i EE 1 a 14 1N0XIOUS f 1DISTANCE f 10057 t INUMSITES t 23 2ATLANTA1 2COLUMBUS 2AUGUSTA 32 SATLANTA2 135 100 4ATLANTA1 ATLANTA 131 MACON ACOLUMBUS ATLANTA2 8 MACON _ 4AUGUSTA ATLANTA2 27 MACON 00951 1 GATLANTA2 63 MACON 7ATLANTAY ATLANTA2 169
19. MACON ACOLUMBUS ATLANTA2 16 MACON 7AUGUSTA 55 INUMSITES 2 SATLANTA2 1 MACON SNOXIOUS 3 SHACON 40 DISTANCE 4 ZATLANTA1 ATLANTA2 0 OMACON 0 1 50 3 100 600 1 100 10 27 30 182 18 1 5 9 5 100 1 FIGURE 3 4 Data Base For Example Problem 25 DATA FILE ERRORS Data file errors arise when the system discovers omissions inconsistencies or illegalities input data In general errors discovered in the data file are fatal and the program terminates upon discovering them The data file may contain additional errors but the system will stop processing after finding the first error 1 BECAUSE OF MISSING OR EXCLUDED CLIENT OR SITE DATA THE FOLLOWING CRITERION WAS INDIRECTLY EXCLUDED This error message results from not including the appropriate data for the criterion in Step 5 of the data file 2 MAXIMUM NUMBER TYPE 1 CRITERIA EXCEEDED The system allows at most three Type 1 criteria to be considered simultaneously 3 MAXIMUM NUMBER OF TYPE 2 CRITERIA EXCEEDED The system allows at most two Type 2 criteria to be considered simultaneously 4 MAXIMUM NUMBER OF TYPE 3 CRITERIA EXCEEDED The system allows at most two type 3 criteria for any one location to be considered simultaneously 5 MAXIMUM NUMBER OF TYPE 4 CRITERIA EXCEEDED The system allows at most two Type 4 criteria for any one client to be considered simultaneously
20. original problem Further efficient solutions may be generated when the user changes criterion WEIGHTS and or criterion LIMITS and the optimization software solves the resulting problem The purpose of LOCSYS is to facilitate this iterative process alternating between the choice of parameter values WEIGHTS and LIMITS by the user and the solution of problems by an optimizing algorithm At each iteration the system reports the values of the criterion functions and at the user s option the choice sites and assignments of clients to facilities A simple command language provides the means through which the user provides his inputs and directs the next iteration of the algorithm Several points regarding the algorithm should be emphasized First assumption underlying the algorithm is that the decision maker can select his most preferred efficient solution The purpose of the algorithm is to generate a number of efficient solutions and to facilitate his choice among them Second the algorithm is not very demanding of the decision maker The user need not have any awareness of the mathematical structure of the problem itself There is very little formal procedure for the user to learn Input to be provided by the decision maker 15 minimal Perhaps even more important the numbers the decision maker must supply reflect his judgment and have therefore no roght or wens values Because each iteration of the algorithm is indepe
21. printed sequentially That resulted in frequent screen overruns This inconveniences the user by forcing him or her to constantly press the clear key to refresh the screen By adding the intrinsic function CALL CLRSCR at appropriate times LOCSYS approximates full screen processing and makes trips to the clear much rarer Finally I had to change the documentation to reflect these new functions I expanded the instruction manual to include information on the modification portion of the program and expanded explanations of the other functions as well All commands given in the instructions have been changed from CDC terms to IBM terms I ve encluded in this report a copy of the user s manual in final forn which I changes enhancements in and a authored free to contact printout of If you 10 the MODIFY subroutine in LOCSYS would like to make further the manual or the program please feel LOCSYS USER S GUIDE Based on LOCSYS Reference Manual G Terry Ross Analysis Research and Computation Inc Austin Texas Edited by John Deschner and Roger Murry GETTING ON THE SYSTEM To gain access to the LOCSYS algorithm type the following command from the R prompt FILEDEF 1 DISK filename filetype filemode where the filename is either the name of the data file which you want LOCSYS to analyze or the name of the new data file which you want to create using LOCSYS This command links th
22. the ideal of the named criterion This command is valid only until the SOLVE command is first given SET WEIGHTS ALL z SET LIMITS ALL TO 4 The element can be an integer number denoting an iteration number or A can be the word BEST In either case the values of all weights or limits are set to those that were used at iteration 4 or at the iteration where the user s most preferred solution was found BEST SET REMINDER TO lt The element 4 is a positive integer denoting the number of consecutive iterations of the algorithm that may be preferred using a given set of limits before the system will remind the user to change one or more limits Default value for REMINDER is 3 RAISE LIMIT name BY item The element item can be a real integer number or the word STEP In any case item specifies the amount by which the limit of the criterion specified by name should be increased When STEP is specified the step size specified for the criterion is used LOWER LIMIT name BY item This command has the opposite effect of RAISE Output Commands DISPLAY CLIENTS DISPLAY CRITERIA DISPLAY SITES Lists the names of all clients criteria or sites that are included in the problem 17 DISPLAY IDEALS DISPLAY STEPS Lists the value of the ideal or step for every criterion included in the problem DISPLAY WEIGHTS item DISPLAY ACTUALS item DISPLAY LIMITS item DISPLAY RESULTS item The eleme
23. M AM OSSESa92989229o0oCoooooocoOOoOcoOOo2e02200605 0c005000coOccoocooccooo MANO TAGE A NO SF USO P OD RC eSI o T D P Oo US a Fin DP OP R UNM FAO DO DA GUE mm m e oH A CP OU cgo e MT UO ue Yin f rf Nw C O 442 4 NNN CIEN CS CIN NO SNS NN ENON gt edd gt gt C gt A de em lt e gt a pro 2 gt lt e uJ Q Ue a 4 QE C lt er i 9 lt Q ve v LU V3 2 X a J T am O gt gt a O a c 2 u lt t Q NO Uy 4 len e gt gt lt C e UU CJ few Qe mm LLJ Le OA 9 N r lt I Q b A tos Nepean N TU gt LJ Wir gt LN i j Uv e LU J z uJa WY NANO ed 4 toon Q gt zu hor pb y u LU LL gt e Z QtLa O iy u AW lt UJu gt bk cu e y C 2 2 Q Q cn 9 CLL Z E aV e a lt Z Ao O lt D U ee 0 C OI gt O ho c ar OO Onna N IU O ho Ou C t e E lt lt q POU pend C Qu 20 ru 2 ie ma ld 0 0 um lt Pd J 4 O D ku a w O paan a lt gt UY ml gt LIZ lt D u Y C Y zu Tuo LL Qu
24. TIONS MAXIMUM CAPACITY FOR EACH LOCATION Each location name must be 1 8 alphanumeric characters long The first character must be a letter No embedded or leading blanks are allowed Each location name must be unique and location can have the same name as any client Each capacity should be 21 entered in F10 0 format DEMANDS FOR EACH LOCATION WITHIN EACH CLIENT The order in which the location names appear for each client is immaterial If a client can be served by four or more locations additional records are needed In this case each subsequent record has the same format as the first except columns 2 9 MUST be blank NOTE LOCSYS handles this situation automatically Each demand must be entered in F10 0 format XXXXXXXXX TYPE OF EACH CRITERION FUNCTION F I K VALUES FOR EACH CRITERION FUNCTION OF TYPE 1 2 OR 3 S I J K VALUES FOR EACH CRITERION FUNCTION OF TYPE 1 OR 4 The subscript i represents locations j refers to clients and k indicates criteria The function F i k quantifies criterion k when location i is established The function i j k quantifies the effect of criterion k when client j is established at location i Each of the four types of criteria functions are defined below 22 A printout of these data file requirements is available from within LOCSYS Follow the instructions given the section called PRINTING A COPY OF THE DATA FILE REQUIREMENTS to obtain the printout
25. The IBM is set up to efficiently handle character strings of an A4 format As result LOCGEN would truncate the first 4 characters of string leading to unpredictable results To remedy this I spliced all 8 character strings into 2 4 character strings This worked fine Also many of the commands such as those listed in the data base requirement instructions are given for the CDC ou the IBM Those instructions have been changed to explain to new user how to use LOCGEN on the IBM Next two major modifications needed to be made to LOCGEN to make it more useful First MODIFY subroutine needed to be added The author had written fine routine for entering data for a model and storing in the format LOCSYS requires He even included a provision for the user to end a session before all the data had been entered However never put in modifying routine to make permanent changes to a model or to finish a model which had already been started During this process I determined that some of John s formats for building the data file did not work as expected or were incompatable with LOCSYS For example LOCGEN s type 6 record generator dispiaced location names by one character This lead to LOCSYS not recognizing valid location names in part of the data base A rearranged format statement fixed that problen Also LOCSYS requires location maximums to be stored in 10 0 format LOCGEN stored them as F10 2
26. Y yes yes Analyze d rrr is a y y cA X dl lis yes Another Iteration a DN no STOP Wasa Legend Step performed by decision maker Step performed by computer system FIGURE 2 Flow of Control During Interactive Algorithm 13 4 LI 1 Legend l1l RR A Start i Choose values p Ak and 20 lt Finished gt 4 2 i m WELUT FOR CRITERIA K 2 FOR K yes P E B 3 PM Nec Solve for an efficient solution given ay and k SN fficient ARTS CN no solution poem found Md yes noo A Prefer Update lt latest solution gt __ incumbent xto incumbent most preferred M solution N h ss P en err N m yes Stop NE Figure 4 Problem Solution Phase Step performed by computer system Step performed by user 2 PROGRAM INPUTS Program inputs comprise two major types 1 commands entered by the user and 2 M in the data base that define the facility location model Each of these two types of input are described in detail below USER COMMANDS To enable the user to exercise control over the algorithm a simple command has been developed standard
27. a separate module from LOCSYS Problems popped up immediately after started working on my project Space limitations prohibited me from compiling LOCGEN or LOCSYS After raising my disk allocation from 1 to 3 cylinders I still couldn t hold a compiled version of both programs Until more space could be obtained I had to be content with cleaning up LOCGEN LOCGEN was actually fairly clean code when I first tried to compile it It was written for different computer and therefore a different compiler As a result a couple of minor errors occurred such as variable names longer than 6 characters and format statements missing commas where the IBM 3081 compiler expected them to be Those problems were quickly corrected and 2 LOCGEN compiled with no errors By then my personal disk space had been increased and I set out to compile and test LOCSYS It compiled with no errors To test LOCSYS and get familiar with how it operates I tried running LOCSYS using a data file which had already been set up The results surprised I received messages generated by LOCSYS that said BECAUSE OF MISSING EXCLUDED CLIENT OR SITE DATA THE FOLLOWING CRITERION WAS INDIRECTLY EXCLUDED This message appeared for every criterion given the model Since all criteria had been excluded LOCSYS no longer had a problem to solve The initial solution table was blank The explanation given in the documentation for this error stated that
28. ations The Ohio State University Columbus Ohio March 1977 243 244 PROCEDURE LOCSYS requires one data file containing the parameters of the mathematical model and initial values for certain parameters used in the interactive algorithm The contents of this data file are not modified in any manner by the system LOCSYS utilizes a scratch file for temporary storage of results generated during a run The ke that the user must perform are divided into two phases data base editing a problem solution In the first phase the user has the option to alter the components of the problem as it is defined in the data base by removing certain criterion functions sites or client groups from consideration in the solution phase The reasons for this option are that a the data base may include a far greater volume of data than the user wishes to consider at one time and b the user may wish to solve several different variations of one multicriteria problem in several separate program runs In the second phase the user directs a search for efficient solutions to the multiple criteria problem defined by the first phase To generate an efficient solution the user must supply two parameters for each criterion These para meters are a WEIGHT to denote the relative importance of the criterion larger WEIGHTS imply greater importance and an upper LIMIT on the value that the pu criterion can attain The LIMIT is the largest value of the pa crit
29. ch must be served l if a facility is established at site i 2 0 otherwise 1 if client group j is assigned to the facility at site 1 1j 0 otherwise bi the known maximum capacity of the facility to be established at site 1 d the demand placed on the facility at site i by client group j if it is assigned to that facility Feasible solutions of the location model must satisfy the following constraints Foxy 1 for all jeJ del 1 1 lt biz for all iel 2 jeJ Zj X j 7 0 or 1 E all ieI jeJ 3 Constraints 1 insure that every client group is assigned to a facility and constraints 2 insure that facility capacity limitations are enforced Clearly 5 2 0 for all 1 and it is permissible for bi to equal a very large number whenever there is no capacity limitation on the facility at site i The model is sufficiently general to represent a demand generation effect that often accompanies the establishment of facilities That is the numeric values of d for some j can be heavily dependent on i to indicate that demand from client group j varies with the site i to which the client group is assigned In applications where demand generation is insignificant the parameter e might be replaced by d to emphasize the distinction between the two cases Different values of j need not refer only to geographically different client groups they may serve to distinguish different services require
30. d This error may be corrected by using the INCLUDE command to include the desires site s PROBLEM MUST INCLUDE AT LEAST ONE CRITERION This error indicates that all criteria have been excluded from the problem either directly via the EXCLUDE command or indirectly because data was not included for the criterion in Part C of the data base In the first case the user may issue the INCLUDE command In the second case the error can be corrected by including data for at least one criterion in XDB 20 DATA FILE DESCRIPTION d w RUS w wa wa w w w SE Ge e ipea In order to execute LOCSYS the following data must be specified in the external data file Entry 15 broken down into the following steps when using the CREATE MODIFY procedure within LOCSYS NAMES OF CRITERION FUNCTIONS TO BE MINIMIZED INITIAL WEIGHT FOR EACH CRITERION INITIAL IDEAL FOR EACH CRITERION INITIAL LIMIT FOR EACH CRITERION INITIAL STEP FOR EACH CRITERION Each criterion name must be 1 8 alphanumeric characters long The first character must be a letter No embedded or leading blanks are allowed Also all criterion names must be unique 11 numeric values for each criterion should be entered in F10 0 format xxxxxxxxx LIST OF CLIENTS Each client name must be 1 8 alphanumeric characters long The first character must be a letter No embedded or leading blanks are allowed Also client names must be unique Step_3 LIST OF LOCA
31. d ad aah e dd dl ot ed fi edd A a Q C lt lt lt QQ d po lt WOO O O m Ono wr Y 3 Cu NOQ lt lt o Z A ug UJ lt 2 4 2 9 Py O o lt Z o ee O a Z e ul gt gt CIN lt ty Z fiui pat Q hm 4 po ONO gt lt Qo VW T ad x Cf 0 adi x ON br ee OW OVO zx LU poo uj c lt X A gt mt j 2 Y A lt UJC2 lt XQ DO 1 gt pa gt ue 2 LU Z amma lt d ul LL 2 Troy oO Lived OO 2 lt EC 5 540 O b 7 pent Qu s lt L md Qu O lt e pan Ws gt ec ud ey 5 ERE oe w 2 Xe O teo pa Y puro OCF nl F me tem gt O WT Or QC uaOJAue gt YO e OO eC ZOp w s 2 xO lt Q 9 ON AL eo O UO 400 5 amp e Qo m e ij C FaN ZN LU I th SOU ZO et QD G ONZO TD ROU Qa DY I Ow X _ jur MO AE TL lt Zc I I TOM yA D Ult QU eu QC gt u u ei AY FE oe KORY Ta LILI mie Z lt 24 Q u COT AO J to m O Wwy aa xu Fug L O uY wm a ON o
32. d by the same client group Thus the model can be used to decide which services to offer at respective facilities In this case the unit of measurement of the parameter en must be defined so that the quantity D ET is meaningful Several cost and service criterion functions be formulated in the following general form where K denotes the set of criterion functions fik is the contribution to criterion k when a facility is established at site i Siik is the contribution to criterion k when client group j is assigned to a facility at site i Z is a decision variable assigned a value of 1 when site i is selected and 0 otherwise x 15 a decision variable assigned a value of 1 when client group j is assigned 1 to the facility at site 1 and 0 otherwise SUM SUM TYPE f 2 1 J lt LIMIT or in terms of one of the following special cases of the general form SUM lt TYPE La 1 f 24 lt LIMIT TYPE 3 f 24 lt LIMIT lt TYPE A PE E LIMIT For example a criterion representing the noxiousness of establishing a facility at site ican be expressed in the form TYPE 3 where tk quantifies the noxious effect criterion of the form TYPE 4 may represent total demand served from a client group when each Sik quantifies the number of persons from client group j who use a facility at site i Analogously if Er denotes the travel time for persons in client group jif they are assigned to a facility at
33. e data file to the LOCSYS program If you are just using LOCSYS to print out the data base requirements this step may be omitted After the R prompt returns type the following instructions LOAD LOCSYS START This will execute the LOCSYS program If you wish you can create an EXEC file using XEDIT which includes each of these commands Running that EXEC file will then initiate LOCSYS automatically CREATING A NEW DATA FILE USING LOCSYS The LOCSYS algorithm requires a data file in a special format in order to operate The CREATE MODIFY portion of LOCSYS helps you organize your data into a file which LOCSYS understands To create a new data file take an option 2 from the main LOCSYS menu secondary menu will appear next 1 IF YOU WOULD LIKE A HARD COPY OF THESE REQUIREMENTS AND AN EXPLANATION OF EACH ENTER 1 2 IF YOU WANT THE SAME INFORMATION AT YOU TERMINAL ONLY ENTER 2 3 IF YOU ARE READY TO CREATE A DATA BASE FILE ENTER 3 4 IF YOU WANT TO MODIFY THE FILE NAMED IN YOU FILEDEF STATEMENT ENTER 4 5 IF YOU WANT TO RETURN TO THE MAIN MENU ENTER 5 ENTER A 1 2 3 4 OR 5 Taking an option 3 from that menu will allow you to enter the data for your model one step at a time At the end of each step you will receive the following prompt DO YOU NEED TO STOP ENTER 1 TO CONTINUE ENTER 2 TO STOP This gives you the option of continuing to enter data into the data file or ending the session NOTE
34. effect of the first command without any adverse consequence Ordinarily the system neither prompts the user for specific information nor demands a response from the user Two exceptions are that after each subprob is solved the user is required to decide whether or not to update his most preferred solution and should the optimization routine encounter difficulty solving a particular version of the problem the user must decide whether or not to abandon work on the problem The primary advantage in standardizing the command structure is to facilitate parsing the commands Syntactically incorrect commands are recognized easily and the cause of the error identified for tbe user A secondary advantage of the command structure is that it admits variant forms which have differing degrees of power For example assuming COST is a valid criterion name DISPLAY WEIGHT COST is a valid command to the system to print the value of a single WEIGHT By leaving off the qualifying adjective COST and pluralizing the direct object WEIGHT the expression DISPLAY WEIGHTS is a command to print the entire vector WEIGHTS Thus the command structure encompasses many variant forms and allows the user to tailor the system s efforts to his needs ALL ADMISSIBLE COMMANDS AND THEIR MEANINGS Program Control Commands STOP Terminates execution of the program RESTART Stops the interactive algorithm and starts the algorithm over again using the same data base
35. erion function that the user considers to be satisfactory Following the selection of these values the optimization algorithm will find an efficient solution that reflects the relative importance of the criteria as indicated by the user while not allowing any criterion to exceed its limiting value assigned by the user Of course if one or more of the LIMITS is set too low the algorithm may be unable to find an efficient solution that satisfies the LIMITS Assuming an efficient solution exists the user must then evaluate the solution in terms of the values of the criterion functions and in relation to the previously generated solution if any which he found most preferable The new solution may become his most preferred or he may still prefer his previous choice In either case the user must then alter one or more criterion WEIGHTS and or LIMITS to define new conditions for the next efficient solution to satisfy The WEIGHTS and LIMITS provide a simple mechanism through which the user s preferences can be expressed Initially the user may have little or rationale for his choices However the sequence of efficient solutions generated should provide him with ever increasing insight into what is attainable and should provide the basis upon which to make subsequent choices of WEIGHTS and LIMITS The decision to stop the search for efficient solutions is the user s That point is reached when the user has some feeling for the impact of a
36. g 4 po QU 0 IO mee res xd lo ep OO QOHAYaEQUcan NADO gt gt O Z ODO ceu ry 000000755 2H ODU Of e302z Dalzz2 Dune QU O x LOA QMO Cees Qul ah e SY gt T m p LLJ po pus lt I CO Or A ms O 22 CXR 2 2 wN vd CN UL ONT e Z Qu ec lt ce c 4 QU tra UN po lt ow e m QOUuJuJUJuJUuJ Z Z 203 co eet gd e Q0 OO m Sexo Zao Zm gt e NO i T lt OF Z gt Exeo X HOOO 200 e 2WOXOOOODOOZZZ20UW iO mo Zeer Z gt Vs wo Y OZZ Z CO OZ gt lt O tuU 4 Soest e Cr COO CE 200 De RARA DO we wate fem be B9 v lt t reer eK Co OZ Q O lt t a 1 CO rm ond 4 T T ZU T OOO O Z QQOUZuUO O0uu Ow Lou uL 0 00 20600 uo C MOOOQYVVVOVVOVUO Z Z Z Mx m AUL 5 ExO e x e dor 3 ja 2x2 po e uN e Pn co AJEM C2 0 OVO Wet Q t C O t OI oat CO cl D 40 49 NAME MODIF 21 TIME 1987 ooo eocvcccotoeococeo eee eo oeoo oCeeoeeocoeo 4 eocoeooo0 I SN IF DO EB A M UR GE
37. ghts must be positive ILLEGAL CRITERION IDEAL The user has attempted to set a criterion ideal to a non positive value All criterion ideals must be positive NO SOLUTION AVAILABLE The user has issued a command that refers to results which have not yet been derived INVALID OR MISSING SITE NAME The site name in a DISPLAY RESULTS command is misspelled missing or not defined in the data base INVALID OR MISSING CLIENT NAME The client name in a DISPLAY RESULTS command is misspelled missing or not defined in the data base ILLEGAL COMMAND AFTER FIRST PROBLEM HAS BEEN SOLVED The INCLUDE and EXCLUDE commands may not be used after the first problem has been solved If it is necessary to INCLUDE or EXCLUDE after the first problem has been solved the program must be RESTARTed Also the user may not use the SET command to change a criterion ideal after solving the problem once ILLEGAL CHARACTER IMBEDDED IN A NUMBER The data item in a numeric field on a command is not a legitimate number PROBLEM MUST INCLUDE AT LEAST ONE CLIENT This error arises when the user has attempted to solve a problem for which all clients have been excluded from the problem or when Part B of the data base is missing The error may be corrected by using the INCLUDE command to include the desired client s or by correcting XDB PROBLEM MUST INCLUDE AT LEAST ONE SITE This error indicates that the user tried to solve the problem with all sites exclude
38. ized syntax has been adopted which is English like and uncomplicated Every command adheres to a general form involving the elements verb direct object adjective preposition and object of a preposition in that order For example SET WEIGHT COST TO 215 a valid command in the general form Some verbs provide data capabilities e g DISPLAY while others are necessitated by the logic of the interactive procedure e g SOLVE Most commands do not require all elements of the general form The most common variants of the general form are a verb b verb direct object and c verb direct object adjective Examples of these command forms are a SOLVE b DISPLAY RESULTS and c EXCLUDE SITE BOSTON To simplify entering commands the spacing between elements and the positioning of the command on an input record are immaterial The order of command elements and the validity of each element are the only factors with which the user need be concerned The legitimate verbs and keywords used in the commands are given below A complete list of all admissible commands is given later Verbs DISPLAY Report the values of various parameters or variables EXCLUDE Ignore data on a criterion client group or site contained in the data base 3 INCLUDE Reverse effect of the EXCLUDE verb LOWER Decrease the value of a parameter RAISE Increase the value of a parameter RESTART Stop the program and start over again using the same data base SET As
39. lternative WEIGHTS and LIMITS and is content that further effort is unlikely to generate a solution still more preferable than the incumbent most preferred solution that he has identified The content and volume of output generated by the system is entirely depen dent upon the user s actions The output generated at each iteration includes the parameters specified by the user the values of the criterion function associated with the latest efficient solution and the values of the criterion functions associated with the user s most preferred solution generated to date At the user s option the system will report the sites chosen and the assignments of client groups to sites or the results from any earlier iteration of the algorithm When the program is initiated the output in Figure lis provided to summarize the information contained in step one of the data base THE NAMES OF 4 CRITERIA 3 CLIENTS AND 2 SITES HAVE BEEN READ INITIAL WEIGHTS IDEALS LIMITS AND STEPS ARE CRITERION WEIGHT IDEAL LIMIT STEP NOXIOUS 1 00 1 00 50 00 5 00 DISTANCE 1 00 3 00 6 00 1 00 COST 1 00 100 00 600 00 100 00 NUMSITES 1 00 1 00 3 00 1 00 IT IS RECOMMENDED THAT YOU CHANGE ONE OR MORE LIMITS AT LEAST EVERY 3 ITERATIONS YOU WILL BE REMINDED TO DO SO IF NECESSARY Figure 1 Initial Program Output When an efficient solution is generated the output in Figure 2 is generated That table enables the user to compare the values of the criterion functions a
40. n which is known to satisfy the LIMITS can be used as a starting point in the search for the solution to the next problem with different WEIGHTS This advantage is not realized when one evaluates several sets a LIMITS for a given set of WEIGHTS Second the particular mathematical problem which the optimi zation routine must solve can be very time consuming to solve Consequently at fixed intervals the user is given the choice of abandoning the attempt to solve a problem Thus an efficient solution need not always be found at either because one does not exist or because it has become too time consuming from the user s standpoint for the user to be interested in the solution To insure that the user has the dominant role and the freedom to choose the direction in which the algorithm will proceed the system does not initiate any action on its own except to read the data base request commands from the user and list criterion function information for the latest efficient solution generated All other actions are carried out in response to commands from the user A flowchart for the problem solution phase is given in Figure 4 4 m 1 Non Set and values o ne es ssl E A 2 E gt Paar lt Finished gt ss B S f d 2 Pd yes E i Solve P X ar SS olution 10 lt Persist p EN Optimal 2 gt un s y N e N
41. ndent of the last heuse is free to reverse at will his judgments on the relative WEIGHTS of the criteria or to adjust LIMITS as he becomes aware of what is attainable or as curiosity might motivate him Third the algorithm is heuristic for only a subset of the set of efficient solutions may be examined The user is free to examine as few or as many of these ss as he desires The decision maker is in complete control of the solution process The user may have little rationale behind his choice of parameters in the first few iterations However as additional results are generated he should gain increasing insight into what is attainable and thus finally assure himself that further efforts are unlikely to yield a still more preferable solution than what he has already found For further information on the model and the formulation of additional cri teria in the form TYPE1 TYPE4 see Ross G T and R M Soland A Multicriteria Approach to the Location of Public Facilities to appear in European Journal of Operational Research for the inspector assignment case see Trippi R R The Warehouse Location Formulation as a Special Type of Inspection Problem Management Science 21 1975 986 988 for the machine loading case see Klingman D G T Ross and R M Soland Optimal Lot Sizing and Machine Loading For Multiple Produces Proceedings of the Conference on the Problems of Disaggregation in Manufacturing and Service Organiz
42. nt item may be blank an integer number or the word BEST Blank implies current Integer number indicates iteration number BEST indicates those quantities associated with the problem solved when the best solution was found For the iteration specified by item the values of the weights limits or actuals for all criteria will be listed In the case of results the clients assigned to each site in the efficient solution will be listed DISPLAY WEIGHT name DISPLAY LIMIT name DISPLAY ACTUAL name DISPLAY IDEAL name DISPLAY STEP name The current value of the wright limit actual ideal or step associated with the criterion specified by name will be listed DISPLAY RESULT SITES Lists the names of the sites that were selected in the current solution DISPLAY RESULT SITE name DISPLAY RESULT CLIENT name Lists the names of the clients if any assigned to the specified site name or lists the name of the site to which the specified client name is assigned 18 COMMAND ERRORS Command errors may arise after the user has entered a command because the command is not expressed in proper syntax or because it is illogical or im possible to carry out the command A command may contain two or more errors but upon finding one error the system ignores the remainder of the command and gives only one error diagnostic Errors in commands do not affect program execution 1 INVALID OR MISSING VERB The te
43. passed back to the calling program when the subroutine ends At that point the constant takes on the value of the variable the subroutine Of course this shouldn t happen But this is exactly what LOCSYS was doing The flow of the program at the point where this takes place goes something like this SUBROUTINE READC 0 0 CALL SIJ NT1 0 0 3 SUBROUTINE SIJ ICLM JFROM CALL INDX JFROM RETURN SUBROUTINE INDX KPOS KPOS 3 RETURN The indended purpose of this section of LOCSYS is to determine if part of the data base has been entered properly and to assign the proper S i j values for the different combinations of sites and clients But it also changes the value of 0 at the same time thereby causing the program to make all kinds of wrong decisions The solution was embarrassingly simple introduce a dummy variable into subroutine SIJ set it equal to JFROM and pass the dummy to INDX In that way JFROM doesn t get changed when INDX returns a different value via KPOS That assures that O in READC remains O when SIJ ends With that correction LOCSYS worked as expected and the results obtained with the sample data match those given in the documentation With LOCSYS working my attention returned to LOCGEN The program had originally been written for SMU s old CDC computer Therefore some of the program s functions didn t work well on the IBM For example LOCGEN stored criteria site and client names in an A8 format
44. riginal the real cause of all the problems I in those error messages the error handling subroutine had been track down the points from which the At each point the program issued a an IF variable EQ O banp zi ed had been judged to be false PRINT statements showed question equaled 0 out the rest of the through to the next line message statement Strategically placed without exception that the variable in Therefore the program should have carried Instead the program fell and issued the corresponding error I ve never had a problem dealing with computer errors caused by telling the computer to do the wrong thing and having the computer do it to do was a situation I learned that in FORTRAN addresses to memory locations where usually But watching a computer not do what it is told hadn t encountered before Then I constants aren t Instead they are the corresponding numeric value 15 stored However this makes it possible med certain circumstances to change the value represented by a constant in a FORTRAN program Based on that information I printed the value of 0 at each decision point mentioned above Each time 0 did not equal 0 It equaled 3 The most likely scenerio for changing the value of a constant involves passing it as a parameter to a subroutine If the subroutine accepts constant into a variable name and assigns a different value to it the change will be
45. rm in the verb field of the command is misspelled or not a verb INVALID OR MISSING DIRECT OBJECT The term in the direct object field is misspelled missing or inappropriate for the verb INVALID OR MISSING ADJECTIVE The term in the adjective field is misspelled missing or inappropriate for the given verb and direct object INVALID OR MISSING PREPOSITION The term in the preposition field is misspelled missing or inappropriate for the command INVALID OR MISSING OBJECT OF PREPOSITION The object of the preposition is misspelled missing or inappropriate for the command ITERATION NUMBER 15 OUT OF RANGE The numeric value supplied for an iteration number exceeds the number of iterations that have been performed or is negative COMMAND HAS TOO MANY TERMS There are more terms in the command than there should be No extra neous characters or terms can be entered at the end of a command CRITERION WAS EXCLUDED The user has issued a command that refers to an excluded criterion A criterion may have been excluded directly by a command from the user or indirectly because data was not supplied in the data base In the latter case the user would have received a message earlier telling him the criterion had been indirectly excluded 9 10 11 12 13 14 15 16 17 18 19 ILLEGAL CRITERION WEIGHT The user has attempted to set a criterion weight to a non positive value All criterion wei
46. sign a value to a parameter SOLVE Solve the problem to determine an efficient solution STOP Terminate execution of the program EXCLUDE INCLUDE AND SET IDEAL ARE VALID ONLY UNTIL THE SOLVE COMMAND IS FIRST GIVEN Keywords ACTUAL A numeric value attained by a criterion function BEST The iteration of the algorithm that yielded the user s most preferred efficient solution found to date CLIENT A client group CRITERIA A criterion function IDEAL An estimate of the numeric value a criterion function would attain in the absence of any other criterion LIMIT An upper limit on the value that a criterion function may attain RESULT A decision made relative to a site or client group SITE A potential location for a facility STEP A value representing a minimal change in the value of a criterion function WEIGHT A numeric value representing the relative importance of a criterion The system was designed to be forgiving in the sense that incorrect commands affect neither the execution of the program not the results obtained by the inter 5 _ __ Fag 4 active algorithm The user need not be particularly cautious in entering input The system does not require the user to perform his tasks in any fixed order except that the system will not follow illogical commands e g to report a solution before it has been obtained The user can in fact enter a command and then immediately enter a second command to negate the
47. site i then TYPE 4 represents a criterion function measuring travel time for client group j when each Siik tijk be used to minimize or limit the total number of sites chosen by locsys by setting TYPE 2 may the f ik for each site equal to 1 As a final example TYPE 2 may be used to rep _resent total fixed investment cost when each f is the investment cost of establishing a facility at site i Although the parameters constraints and criterion functions in the model have been defined here in the context of facilities location it is clear that the model is applicable in a variety of contexts For example the model may represent problems in such diverse contexts as machine loading and inspector assignment Because it is unlikely that a single solution will yield the minimum value for all criteria simultaneously one seeks instead efficient solutions i e solutions with the characteristic that it is possible to decrease the value of one criterion only by increasing the value of at least one other criterion Efficient solutions are generated through interaction between the user and special purpose optimiza tion software In particular the user must provide relative WEIGHTS for each of the various criteria and upper LIMITS on the value that each criterion function may attain in order for the efficient solution to satisfy the user Using these values LOCSYS constructs a problem which when solved yields an efficient solu tion to the
48. ssociated with the most recently generated efficient solution CURRENT ACTUALS to those E A ad with the user s most preferred efficient solution BEST ACTUALS Similarly the user can compare the CURRENT ACTUALS to the IDEAL and LIMIT values for the criterion To facilitate the user s choice of new relative WEIGHTS the WEIGHTS that were used to generate the latest efficient solution are also pro vided SOLUTION 2 CURRENT CURRENT CURRENT BEST CRITERION WEIGHT IDEAL ACTUAL LIMIT ACTUAL NOXIOUS 1 00 1 00 40 00 50 00 40 00 DISTANCE 1 00 3 00 0 00 6 00 0 00 COST 1 00 100 00 335 00 600 00 335 00 NUMSITES 1 00 1 00 2 00 3 00 2 00 ENTER BEST OR Z Figure 2 Program Output Generated for Each Efficient Solution The user may wish to know which sites were selected and which client groups were assigned to each site Figure 3 shows the output generated when the DISPLAY RESULTS command is entered As these examples illustrate the output provided by the program is self explanatory Figure 3 Output Generated Following DISPLAY RESULTS Command In choosing WEIGHTS and LIMITS from iteration to iteration the user should keep the following conditions in mind First the work of the optimization routine is simplified if the user evaluates all alterative criterion weightings for a i DO YOU PREFER THIS SOLUTION OR YOUR BEST PREVIOUS SOLUTION 10 given set of LIMITS one after another The reason for this is that a preceeding solutio
49. this message occurs when site or client data is left out of part C of the data base The data base is divided into 3 sections A B and C depending the type of data and its format I compared the canned data base I was using with the documentation explaining how the information should appear in the file and all looked well I tried running LOCSYS with a second canned data base The same error message recurred Just to make sure the problem was not with the data bases themselves I created my own file using an example provided in the LOCSYS documentation It too failed with the same message in the same manner At this point some extensive table tracing was in order Logically I began looking for the place the program where it determined that a criterion is excluded After lots of zt ng digging I surmised that set of decision variables had been reversed a GE should be LT and a later LT should be GE I made those changes and tried to run the program again LOCSYS no longer considered the criterion to be excluded and the first Screen appeared just as the documentation indicated it should At this point I issued the SOLVE command hopeful that the problem had been located St vanes ys however the solution LOCSYS came up with was exactly the same as the initial table except that the results in the actual values column were all negative After further investigation I found a line of code which arbi
50. trarily it seemed to me multiplied actual values by 1 LOCSYS assumes that a negative actual value for a criterion indicates that criterion has been excluded It seemed logical to me that if LOCSYS thought criterion is excluded it would leave the original criterion parameters unchanged I removed that line and ran the program again The actual values were now positive but otherwise still unchanged from the initial values As Lewis Carroll wrote in Alice in Wonderland Curiouser and curiouser At this point I reasoned that production code which LOCSYS was intended to be shouldn t have this many bugs in it and I considered the possibility that I was chasing computer generated phantoms So my search for the problem went to a broader scope I found one mistake in the INCLUDE module resides outside of LOCSYS and is merged into the main program object code at compile time corrected it state and tried again At this point things really got strange Then I returned LOCSYS to its initial I tried running LOCSYS with each of the three data bases at my disposal the two canned data files and the one I entered myself with a different LOCSYS messages had anything to problem But the clue to had been experiencing lay Because of the way designed it was easy to messages had been issued message immediately after Each one failed generated messages but the do with excluded criteria the o
51. u have successfully exited the system LOCSYS THE MULTICRITERIA FACILITY LOCATION MODEL AND INTERACTIVE ALGORITHM In essence the model for which LOCSYS was designed represents a problem of selecting agents facilities people or machines and assigning them tasks customers or jobs in the face of agent capacity constraints and multiple conflicting criteria In the command language and in the following description of the model the problem is cast as that of choosing sites at which to establish facilities in order to serve all clients The facility location model has the following characteristics There exists a finite number of client groups up to 50 each one representing potential users who are located geographically close to each other and are homogeneous enough in their demands that they can be considered as single entities There are also a finite number of sites up to 50 at some subset of which facilities of known limited capacity are to be established The problem is to choose a subset of sites at which to establish facilities and to assign each client group to exactly one of the facilities In choosing sites and assigning client groups multiple criteria e g service and cost criteria up to 20 criteria functions may be considered simultaneously and facility capacity constraints are to be considered explicitly To formalize the model let I the set of possible sites for facilities J the set of client groups whi
52. ut VV N Q 4 m O MO rrr YO YO UYOPS COCA OFF N ceu OFDOMORNM FUN IAIN voo ODDO RER ER MS ttt ied mit mo vim vri od mA meum ded md gd ed ot DOES NOT MATCH ANY EXISTING UN ee P 0 Finn LCCATICN DEMAND BE CHANGED FCR DSITE1 05 1122 O NINO ped DENN eq Pi an PA eq Lt Ser ide s Ox XO Moog C Z2Z2ul lt t Fine CMO X LL xo idi e 4 ON T NNA cod dl 2 3 Accu a m T WY gt C Q b pr Q lt 5 2 e Ce UN aam N wl IN uJ gt gt e Q O lt O o m lt L v 4 C e O wu gt p O he N e lt 2 Z x Q Mg gt bl O Dr OZ E wx ION e eN AS rm Oz O mY O be ee t2 C 2 40 lt lt 2 wh C2UOW med oom lt I uJuJOCOC C BERT gt o eO QC e 2 TE ad Ph pod Cuc zx NAW C mOxX ul QDD X 2 2 gt JOM ty ew j l3 b Om gt NS ZN ym w UC X ONU ew MOON me D OZ Omes Lr FO AWW 0 lt U Ow eU ZJ ty Re Li Z Le TMU Jr wan e LX wet O 9 U 0 OMAN OGIZI MONI y Z N gt

Download Pdf Manuals

image

Related Search

Related Contents

西小CM大賞連続入賞  貸出資料一覧表(第1回) 分類A 完成図書(創設工事)    Operating instructions Güntner Motor Management GMM  dcbt30-4in1 fr debroussailleuse thermique  IP Office 3.2 - Ocean Telecom  Tradução Técnica de Informática, Padronização da Terminologia  NVIDIA Quadro FX 4500 SDI User's Guide  CS10 Separador para Vapor Limpo em Aço Inox  Manual de instrucciones  

Copyright © All rights reserved.
Failed to retrieve file