& Zagadnienie komowojażera 1 Modele całkowitoliczbowe zagadnienia komiwojażera (TSP) Danych jest miast oraz macierz odległości pomiędzy każdą parą miast. Komiwojażer wyjeżdża z miasta o numerze 1 chce odwiedzić wszystkie pozostałe miasta, każde dokładnie jeden raz, powrócić do punktu wyjazdu (tj. miasta 1) i przejechać przy tym trasę o najkrótszej długości. W zależności od własności macierzy odległości dokonuje się klasyfikacji problemu. Jeśli macierz jest macierzą symetryczną tj., to problem nazywa się symetrycznym zagadnieniem komiwojażera (STSP). Jeśli macierz nie jest symetryczna, to zagadnienie nazywamy asymetrycznym zagadnieniem komiwojażera (ATSP) lub po prostu zagadnieniem komiwojażera (TSP). Model całkowitoliczbowy tego zagadnienia (asymetrycznego) można sformułować (Dantzig - Fulkerson - Johnson) następująco: Zagadnienie komowojażera 2 Model DFJ zagadnienia komiwojażera )(+*! #" jeśli miasto $ bezpośrednio poprzedza miasto% w przeciwnym przypadku. 1,(+*-/. (0 24365879 1(+*-:. (0 dla $ "<;>=>=>=1; ; (1) )(+*-?. (@ dla% "<;>=>=>=1; ; (2) Ä-BC D E!FE>G "<; FIHKJ dla ;ML DNEOFPEQD G L, (3) SRUT & ;>"/V dla $ ; % "<;>=>=>=1; ; $W %, (4)
Zagadnienie komowojażera 3 gdzie J T "<;>=>=>=; V. Ograniczenie (3) nazywane warunkiem eliminacji podcykli uniemożliwia powstawanie cykli tj. tras zamkniętych przechodzacych przez mniej niż miast (ale dopuszczających cykle przechodzace przez wszystkie miast). Powyższe sformułowanie wymaga ponad-wielomianowej liczby ograniczeń. Poniżej podane zostaną dwa sformułowania o wielomianowej liczbie ograniczeń. Miller, Tucker i Zemlin wprowadzili inny niż (3) sposób eliminacji podcykli wymagający - oprócz zmiennych - G wprowadzenia " dodatkowych zmiennych $ L ;>=>=>=; i tylko G L dodatkowych ograniczeń (oprócz 1 i 2 ). Zagadnienie komowojażera 4 )(+* Model MTZ zagadnienia komiwojażera 1,(+*-:. ( 2436587 9 1(+*-:. (0 dla $ "<;>=>=>=; ; (5) )(+*-?. ( dla% "<;>=>=>=1; ; (6) G G "? D G L ; gdzie $ ; % L ;>=>=>=; ; $ W % ; (7) R T & ;>"/VQ; dla $ ; % "<;>=>=>=,; ; $W %, (8) " D D G "<; dla $ L ;>=>=>=,; = (9)
& Zagadnienie komowojażera 5 Model ATSPxy z relacja poprzedzania miast Wprowadza się - oprócz zmiennych zero-jedynkowych zdefiniowanych w poprzednich modelach - nowy zbiór ciągłych zmiennych ; $ ; % L ;>=>=>=1; ; $ W % ; (które mają jednak binarną interpretację) następująco: " jeśli $ poprzedza (niekoniecznie bezpośrednio)% na trasie w przeciwnym przypadku. Zagadnienie komowojażera 6 )(+* 1,(+*-:. ( 243 5879 1(+*-:. (0 dla $ "<;>=>=>=; ; (10) )(+*-?. ( dla % "<;>=>=>=1; ; (11) ; dla $ ; % L ;>=>=>=1; ; $ W % ; (12) dla $ ; % L ;>=>=>=1; ; $ W % ; (13) D L ; dla $ ; ; % L ;>=>=>=; ; $ W % W ; (14) R T & ;>"/VQ; dla $ ; % "<;>=>=>=1; ; $W %, (15) & ; dla $ ; % L ;>=>=>=1; ; $W % = (16)
Zagadnienie komowojażera 7 Model ATSPxy pozwala na wprowadzenie dodatkowych ograniczeń uwzględniających relację poprzedzania między miastami na trasie komiwojażera: dla% L ;>=>=>=; ; oraz $ R F M ; F 4 gdzie jest podzbiorem zbioru miast L ;>=>=>=1; które mają poprzedzać miasto% na trasie komiwojażera zaczynajacej się w mieście ". Zagadnienie komowojażera 8 Model STSP dla symetrycznego zagadnienia komiwojażera Model STSP można sformułować używając mniejszej liczby zmiennej. Wystarczy wtedy zdefiniować zmienne tylko dla $ ; % "<;>=>=>=1; ; $ % = Model symetrycznego zagadnienia komiwojażera jest wtedy następujący: 1 3 5879 -BQC, L "<;>=>=>=; D E!FE>G " AFIHKJ ; DNE!FEQD G R T & ;>"/V $ ; % "<;>=>=>=1; ; $ % = (17) (18)
Zagadnienie komowojażera 9 Tabela 1: Macierz odległości dla zagadnienia komiwojażera 1 2 3 4 5 6 1 0 42 62 53 96 105 2 52 0 49 29 54 84 3 70 42 0 77 65 129 4 42 35 56 0 57 56 5 105 63 81 41 0 80 6 101 93 111 72 75 0 o długości 346. Jeśli wprowadzi się ograniczenie, że miasta 4 i 5 powinny Dla tej macierzy optymalną jest trasa: " G G L G SG G SG " na trasie występować przed 6, tj. F 4 NT ; V oraz " i " w modelu ASTPxy to trasą optymalną jest " G L G G PG G G " długości 354. o Zagadnienie komowojażera 10 Rozwiazywanie zagadnienia komiwojażera Metoda I (oszacowań i podziału ) Metoda II (rozwiazywanie ciagu zadań PCL) Podamy teraz inną niż oszacowań i podziału metodę rozwiązywania zagadnienia komiwojażera. Polega ona na rozwiązaniu najpierw następującego zagadnienie optymalnego przydziału:
Zagadnienie komowojażera 11 (+* 2 3 5 1(+* (19) dla $ "<;>=>=>=1; ; (20) )(+* dla % "<;>=>=>=; ; (21) R T & ;>"/V dla $ "<;>=>=>=; ; % "<;>=>=>=1; ; $W %. (22) Jeśli rozwiązanie optymalne tego zagadnienia nie zawiera podcykli, to jest ono również rozwiązaniem optymalnym zagadnienia komiwojażera. Jeśli natomiast zawiera podcykle (tj. cykle przechodzace przez mniej niż n wierzchołków) to dopisujemy ograniczenia - dla każdego podcyklu jedno - eliminujące te podcykle. Stosujemy metodę eliminacji podcykli (6) tj. dodajemy ograniczenie, że suma zmiennych, które tworzą ten podcykl musi być nie większa niż liczba łuków tego podcyklu minus 1. Zagadnienie komowojażera 12 Ponownie rozwiązujemy tak zmodyfikowane całkowitoliczbowe zagadnienie (ma teraz tyle dodatkowych ograniczeń ile było podcykli). Powyższe postępowanie kontynuujemy aż do otrzymania rozwiązanie nie zawierającego podcykli, które jest rozwiązaniem optymalnym. Działanie tej metody zilustrujemy na przykładzie zagadanienia komiwojażera o następującej macierzy odległości:
Zagadnienie komowojażera 13 Tabela 2: Macierz odległości dla zagadnienia komiwojażera 1 2 3 4 5 6 1 0 42 62 53 96 105 2 52 0 49 29 54 84 3 70 42 0 77 65 129 4 42 35 56 0 57 56 5 105 63 81 41 0 80 6 101 93 111 72 75 0 Rozwiązanie optymalne zagadnienia optymalnego przydziału jest następujace: * *M " Zagadnienie komowojażera 14 Zawiera ono dwa podcykle utworzone przez łuki $)% " : jeden to " G G L G " a drugi G G G dodając dwa następujace ograniczenia: *, dla których. Eliminujemy je * D L (23) D L (24) Rozwiązujemy teraz wyjściowy problem z dwoma dodatkowymi ograniczeniami (23 i 24). Rozwiązanie optymalne jest następujące: * * " oraz G G. Eliminujemy je dodając do ograniczeń wyjściowego problemu oprócz (23, 24) dwa nowe : Rozwiązanie zawiera znowu dwa podcykle: " G G L G G " * * D (25) D " (26)
Zagadnienie komowojażera 15 Rozwiązanie optymalne tego zagadnienia * * " daje już optymalną trasę komiwojażera: o długości 346. " G SG L G G G SG " Metody heurystyczne rozwiazywania zagadnienia komiwojażera Konstrukcji trasy Heurystyka najbliższego sąsiada. Heurystyka najbliższego(najdalszego) wstawienia. Heurystyka najtańszego wstawienia Heurystyka CCAO Poprawianie trasy Algorytm 2-optymalny