Itroduktio til optimerig og operatiosaalyse Asymmetric Travelig Salesma Problem David Pisiger, Efterår 2003 Dette er de ade obligatoriske projektopgave på kurset Itroduktio til optimerig og operatiosaalyse. Opgave skal afleveres seest 5. december 2003 kl. 12.00 i DIKU s 1. delsadmiistratio. Besvarelse skal udarbejdes i grupper på e til tre deltagere. Læs veligst hele opgaveformulerige igeem ide du går igag. Opgavere vil blive rettet seest 8/12 således at e evetuel geafleverig ka ske 12/12. Dermed burde alle besvarelser være rettet ide eksame. Idledig Et IP-problem ka ofte formuleres på mage måder. Selv om de matematisk set er ækvivalete, ka e stærk formulerig være at foretrække, idet de er tættere på det kovekse hylster ideholdede alle IP-løsiger til problemet [7]. Travelig Salesma Problemet (TSP) er et klassisk, svært optimerigsproblem som vi ku ka løse takket være stærke formuleriger af problemet [1, 2, 3, 4]. Opgaves formål er at eksperimetere med forskellige formuleriger af TSP samt at kombiere to formuleriger i et cuttig plae system. Travelig Salesma Problemet Lad der være givet e komplet graf G V E hvor hver kat i j E har e tilhørede omkostig c i j. Vi atager at problemet ikke ødvedigvis er symmetrisk, dvs. der ka være situatioer hvor c i j c ji. Travelig Salesma Problemet har til opgave at fide de korteste Hamilto kreds i grafe, dvs. e kreds som besøger alle kuder etop ee gag, og som miimerer de tilhørede omkostig af katere. Lad betege atallet af kuder i V. For at formulere problemet som et IP problem, ka ma idføre beslutigsvariablee x i j 1 hvis kat i j idgår i kredse 0 ellers for i j 1. For at gøre skrivemåde emmere vil vi i det følgede atage at x ii 0 for i 1. 1
Idet ma skal akomme til hver kude etop ee gag, og skal forlade hver kude ee gag, vil e aiv formulerig af TSP være miimize subject to i 1 i 1 c i j x i j j 1 x i j 1 j 1 (1) x i j 1 i 1 j 1 x i j 0 1 i j 1 Oveståede begræsiger kaldes assigmet begræsiger. Opgave 1 Vis at selv om ma løser LP-relaxerige af oveståede problem, vil ma altid fide e heltallig løsig. Desværre er formulerige (1) ikke tilstrækkelig til at løse TSP, idet e optimal løsig ka ideholde delture. For at forhidre disse ka ma tilføje følgede deltur begræsiger for alle S V hvor 2 S 1. Opgave 2 Agiv hvor mage uligheder af forme (2) der vil være. x i j S 1 (2) i j S Miller, Tucker og Zemli [5] foreslog e formulerig som forhidrer delture, me som ku er polyomielt stor. Idee er at idføre ogle ye variable u i for hver kude, som agiver rækkefølge af kude i ture. Kude 1 har altid u 1 1 og hvis u i k betyder det at kude i er de k te besøgte kude på ture. I sages atur er u i for alle kuder i V. Edvider skal vi kræve at hvis kat i j beyttes i ture, så skal u j u i 1 (3) for alle i 1 og j 2 hvor i j. Disse begræsiger kaldes MTZ begræsiger. Opgave 3 Formuler MTZ begræsigere som IP-model. Agiv hvor mage uligheder der vil være. Opgave 4 Løs problemet med begge formuleriger, ved brug af rammeprogrammet beskrevet sidst i opgave. Agiv modelles størrelse (i bytes), samt løsigstid for CPLEX. Trods MTZ formuleriges polyomielle størrelse, er der i litterature ikke rapporteret avedelser af dee model som kue løse TSP problemer med mere ed 50 kuder. 2
Opgave 5 Lad C være e kreds i grafe. Summer begræsigere (3) formuleret som LP-model over alle kater i j C. Ved summatioe vil u j leddee gå ud mod hiade. Sammelig de resulterede ulighed med ulighede x i j C 1 (4) i j C fra deltur formulerige. Hvilke af ulighedere er stærkest, og hvilke af formulerigere ville ma derfor foretrække? Vi vil u udvikle e simpel cuttig plae algoritme til at løse TSP. 1 Start med e simpel formulerig, der ku ideholder assigmet begræsigere 2 for i 1 to M 3 Løs modelle til IP-optimalitet med CPLEX 4 Såfremt de returerede løsig ikke ideholder delture, stadser algoritme 5 Geerer et atal uligheder som bryder de uværede delture 6 Tilføj de geererede uligheder til modelle 7 ed for 8 Tilføj MTZ begræsigere til modelle 9 Løs modelle til IP-optimalitet med CPLEX Opgave 6 Beskriv og implemeter e algoritme som ka geerere et atal deltur uligheder på forme (2) der bryder de uværede delture i liie 5. Opgave 7 Eksperimeter med hvor mage uligheder der skal tilføjes i hver iteratio af liie 5, samt med atallet af iteratioer M. Giv e begrudet beskrivelse af dit edelige valg. Opgave 8 Beskriv og implemeter e heuristik som givet e løsig i skridt 3, der ideholder delture, kostruerer e sammehægede Hamilto kreds. Aved dee efter skridt 4 i cuttig plae algoritme. Såfremt de heuristiske løsig svarer til de fude græseværdi i skridt 3, ka algoritme stadse. Opgave 9 Løs så store problemer af type som muligt med de udviklede algoritme. Rapporter køretid, atal iteratioer i cuttig plae algoritme, samt atal geererede cuts. Opgave 10 (ekstraopgave) Tilføj flere typer af lovlige uligheder til modelle. E god beskrivelse af de mest kedte lovlige uligheder for TSP fides i [9]. Overvej specielt hvorda ulighedere ka separeres effektivt. Rapporter køretid, atal iteratioer i cuttig plae algoritme, samt atal geererede cuts. 3
Istaser Følgede istaser er (med få udtagelser) hetet fra TSPLIB hjemmeside [8] og koverteret til et format der er emt at idlæse. Alle istaser fides på kursets hjemmeside. istas beskrivelse 5 rad5 tilfældigt geererede katvægte 10 rad10 tilfældigt geererede katvægte 8 borholm afstade mellem otte byer på Borholm 14 burma14 14 byer i Burma, geografisk afstad 17 gr17 17 byer i Tysklad 21 gr21 21 byer i Tysklad 24 gr24 24 byer i Tysklad 48 gr48 48 byer i Tysklad 120 gr120 120 byer i Tysklad 29 bays29 29 byer i Bayer (street distace) 29 bayg29 29 byer i Bayer (geographic distace) 42 swiss42 42 byer i Schweiz (Fricker) 17 br17 asymmetrisk TSP (Repetto) 34 ftv33 asymmetrisk TSP (Fischetti) 36 ftv35 asymmetrisk TSP (Fischetti) 39 ftv38 asymmetrisk TSP (Fischetti) 45 ftv44 asymmetrisk TSP (Fischetti) 47 ftv48 asymmetrisk TSP (Fischetti) 56 ftv55 asymmetrisk TSP (Fischetti) 71 ftv70 asymmetrisk TSP (Fischetti) 171 ftv170 asymmetrisk TSP (Fischetti) 48 ry48p asymmetrisk TSP (Fischetti) 323 rbg323 Stacker crae applicatio (Ascheuer) 358 rbg358 Stacker crae applicatio (Ascheuer) 403 rbg403 Stacker crae applicatio (Ascheuer) 443 rbg443 Stacker crae applicatio (Ascheuer) 535 si535 TSP (M. Hofmeister) 1032 si1032 TSP (M. Hofmeister) De optimale løsigsværdi er agivet i hovedet af de fleste istaser. De ederste istaser kræver at programmets tabeller udvides. Noter Til opgave beyttes et rammeprogram som er skrevet i C og som varetager kommuikatioe med CPLEX. Da der ku er ogle få CPLEX-liceser til rådighed på DIKU, vil ram- 4
meprogrammet højst bruge CPLEX i 60 sekuder, hvorpå licese frigives. CPLEX liceser er tilgægelige på Liux pc er samt SUN maskier. For at beytte CPLEX er det ødvedigt at tilføje følgede liie i si fil.! " #!$% %" "&% ')(+*, Rammeprogrammet oversættes med kommadoe - ""/. 01.!2 % &3 % &4(5"6.! " #!$%%*7 " 8% %*"&% '9.! " #!$% %*7:%9. "&% ';.7,<.& = # 8 Der beyttes et meget simpelt iterface til CPLEX: IP-modelle skrives til e fil >?>A@CB?@EDEF D, hvorpå rammeprogrammet kalder CPLEX med file som iddata. Det simple iterface gør det emt at fide fejl i IP-modelle, idet ma ka avede CPLEX iteraktivt med de geererede iput fil: Skriv?DGFEH i kommadoliie, og idlæs datafile med AFGIJ>?>A@CB?@EDEF D. Såfremt der er sytaxfejl i IP-modelle vil CPLEX rapportere disse. Ellers kaldes K L@ M@4NAF og CPLEX vil rapportere om modelle er ubegræset ( ubouded ), har et tomt løsigsrum ( ifeasible ), eller ligede. Litteratur [1] http://www.caam.rice.edu/ bico/, home page of Bill Cook at Rice Uiversity. [2] http://www.keck.caam.rice.edu/cocorde.html. [3] E. Lawler, J. K. Lestra, A. H. G. Riooy Ka, ad D. B. Shmoys, eds., The Travelig Salesma Problem: A Guided Tour of Combiatorial Optimizatio, Wiley, Chichester, UK, 1985 [4] A. Lagevi, F. Soumis, ad J. Desrosiers, Classificatio of travellig salesma formulatios, Oper. Res. Lett., 9 (1990), pp. 127-132. [5] C. E. Miller, A. W. Tucker, ad R. A. Zemli, Iteger programmig formulatios ad travelig salesma problems, J. ACM, 7 (1960), pp. 326-329. [6] M. Padberg, ad T.-Y. Sug, A aalytical compariso of differet formulatios of the travellig salesma problem, Math. Programmig, 52 (1991), pp. 315-357. [7] L. A. Wolsey, Iteger Programmig, Wiley, Chichester, UK, 1999. [8] http://www.iwr.ui-heidelberg.de/iwr/comopt/software/tsplib95/ [9] http://rodi.wustl.edu/ kevi/dissert/ode11.html 5