OPTYMALIZACJA W LOGISTYCE Optymalizacja zadań bazy transportowej ( część 1 ) Opracowano na podstawie : Stanisław Krawczyk, Metody ilościowe w logistyce ( przedsiębiorstwa ), Wydawnictwo C. H. Beck, Warszawa 2001
Problem komiwojażera 1 Sformułowanie problemu Zadanie komiwojażera jest znane od kiedy kupcy zaczęli dostarczać produkty klientom. Podstawową wersję problemu komiwojażera można przedstawić w dwóch zdaniach: 1. Komiwojażer pragnie odwiedzić pewną liczbę klientów w różnych miejscowościach i po zakończeniu odwiedzin wrócić do domu. 2. Jaką drogę powinien wybrać ( w jakiej kolejności powinien odwiedzać klientów) aby przebyta przez niego droga była możliwie najkrótsza?
Problem komiwojażera 2 Pierwsze reguły wyznaczania trasy zostały opracowane na podstawie doświadczeń praktycznych już w połowie XIX wieku przez komiwojażerów w USA. Jednak dopiero formalne ujęcie matematyczne pozwoliło odkryć, że to niby proste zadanie obejmuje bardzo szeroką klasę przypadków, z których tylko niektóre można rozwiązać dokładnie. Założenia: 1. Każdego klienta można identyfikować przez podanie miejscowości (węzła w grafie), w której zamieszkuje ( w jednej miejscowości znajduje się jeden klient ). 2. Między miejscowościami istnieją połączenia pozwalające na przemieszczanie w obu kierunkach ( krawędzie grafu ). 3. Każdej krawędzi przyporządkowana jest liczba określająca uogólnioną odległość. 4. Wyróżnione miejscowości oraz potencjalne trasy przejazdu można przedstawić za pomocą grafu G=[ V, E, c ], nieskierowanego, spójnego, o n węzłach, w którym liczby przyporządkowane krawędziom są nieujemne cij = cji 0 5. Dla dowolnych trzech węzłów i,j,k powinna być spełniona nierówność: cik cij + cjk 6. Dla dowolnych dwóch miejscowości nie mogą występować połączenia przez inne miejscowości. 7. Wyróżniamy jeden węzeł odpowiadający miejscu startu komiwojażera i przyjmujemy, że jego trasa powinna kończyć się powrotem do tego węzła.
Problem komiwojażera 3 Każdą trasę spełniająca te warunki nazywamy trasą okrężną komiwojażera, która jest optymalna, gdy łączna jej długość jest minimalna. Każda z miejscowości ( z wyjątkiem startowej ) musi wystąpić na niej tylko raz. W teorii grafów trasę tego typu nazywa się cyklem Hamiltona. Jeżeli nie wymaga się odwiedzenia wszystkich miejscowości mówimy o cyklu skróconym. 2 3 1 4 5 6
Problem komiwojażera 4 Poszukiwany cykl Hamiltona oznaczymy krótko symbolem H. Aby móc zapisać, że pewna krawędź należy do tego cyklu, wprowadzimy zmienne binarne xij, i,j= 1, n. x ij 1, 0, gdy droga i, j cyklu H w przeciwnymprzypadku Ponieważ każda miejscowość może tylko raz wystąpić w trasie, więc każdy węzeł i może tylko raz wystąpić jako węzeł początkowy krawędzi : n i1 x ij 1, j 1,...,n. Każdy węzeł może być również tylko raz węzłem końcowym krawędzi, co prowadzi do układu ograniczeń: n j1 x ij 1, i 1,...,n.
Minimalizacja trasy może być ujęta w formie funkcji kryterium: z n n i1 j1 c ij x ij min Wprowadzamy sztuczne założenie, na mocy którego, gdy między dwoma węzłami p i r nie istnieje połączenie, to przyjmujemy, że są one oddalone nieskończenie daleko, a więc cpr =, oraz również cii = Próba tak sformułowanego zadania kończy się jednak bardzo często wskazaniem cykli skróconych, których przyjęte ograniczenia niestety nie wykluczają. Aby do tego nie dopuścić do zadania należy wprowadzić dodatkowe ograniczenia, które czynią zadanie trudnym do praktycznego rozwiązania. W literaturze można spotkać różne wersje ograniczeń uniemożliwiających powstawanie cykli skróconych. Często spotykaną jest następująca: 1. Rozpatrujemy wszystkie k elementowe permutacje węzłów [ i1, i2,, ik ], przy czym Gdy liczba węzłów jest parzysta: n k = 2,3,, 2 Problem komiwojażera 5
Problem komiwojażera 6 Gdy liczba węzłów n jest nieparzysta: k = 2,3,, n 1 2 2. Dla każdego k tworzymy układ ograniczeń: x x... x k 1 1 1 i i2 i2i3 iki n k 1! Należy teraz wziąć pod uwagę, że dla każdego k otrzymujemy k ograniczeń. Dla n=6 otrzymamy 55 ograniczeń, ale ich liczba rośnie bardzo szybko dla n=14 wynosi prawie 3 miliony, co czyni zadanie niemożliwym do rozwiązania. Z tego względu w praktyce najczęściej wykorzystywane są algorytmy heurystyczne.
Problem komiwojażera 6 Algorytm droga do najbliższego sąsiada Założenia startowe Startujemy węźle a. Symbolem z oznaczamy długość drogi okrężnej. Przyjmujemy: k1 := a, z := 0. Iteracje Numery iteracji będziemy kojarzyć z liczbą odwiedzanych miejscowości, dlatego. rozpatrujemy iteracje j = 2,3,,n. Krok 1 Wskazujemy węzeł kj, dla którego c k c k, przy czymi k1 k j 1, k min,..., j j1, i j1 Czyli wskazujemy węzeł, który nie jest zakwalifikowany do drogi i leży najbliżej ostatniego z już uwzględnionych w drodze. Krok 2 Tworzymy ciąg [ k1,, kj ].
Problem komiwojażera 7 Krok 3 Przyjmujemy: z z c k j 1, k j Po n iteracjach do ciągu [ k1,, kn-1, kn ] dołączamy węzeł startowy k1, tworząc drogę okrężną H = [ k1,, kn-1, kn, k1 ], której długość wynosi: z z c kn, k1
Problem komiwojażera 8 KURIER MA DO ROZWIEZIENIA 9 PRZESYŁEK. ABY OBNIŻYĆ KOSZTY DOSTARCZENIA PRZESYŁKI MUSI ON ZMINIMALIZOWAĆ TRASĘ JAKĄ POKONA. NIESTETY ZE WZGLĘDU NA REMONTY DRÓG NIE KAŻDA TRASA ŁĄCZĄCA POSZCZEGÓLNYCH ODBIORCÓW JEST PRZEJEZDNA. ODLEGŁOŚCI MIĘDZY ODBIORCAMI I MAGAZYNEM ORAZ NIEPRZEJEZDNE TRASY PREZENTUJE TABELA: opracowali : Sylwia Głowacka, Kacper Mroczek, Kamil Ligenza Lp 0 1 2 3 4 5 6 7 8 9 Nazwa nowe rumunki spaliny wielkie koziebrody twarogi ruskie żebrak piekiełko potworów włochy bujny księże wągry 0 nowe rumunki X 201 54 242 203 123 152 111 149 96 1 spaliny wielkie 201 X 157 170 203 228 273 182 322 266 2 koziebrody 54 157 X 212 195 157 202 112 205 145 3 twarogi ruskie 242 170 212 X 100 188 239 162 323 260 4 żebrak 203 203 195 100 X 105 156 98 241 181 5 piekiełko 123 228 157 188 105 X 54 45 140 81 6 potworów 152 273 202 239 156 54 X 91 116 83 7 włochy 111 182 112 162 98 50 91 X 161 102 8 bujny księże 149 322 205 323 241 116 161 X 77 9 wągry 96 266 145 260 181 81 83 102 77 X - trasa nieprzejezdna
Problem komiwojażera 9 - najbliższy, nieodwiedzony wcześniej sąsiad - odbiorca u którego był już kurier Lp 0 1 2 3 4 5 6 7 8 9 Nazwa nowe rumunki spaliny wielkie koziebrody twarogi ruskie żebrak piekiełko potworów włochy bujny księże wągry 0 nowe rumunki X 201 54 242 203 123 152 111 149 96 H : 0 2 Lp 0 1 2 3 4 5 6 7 8 9 Nazwa nowe rumunki spaliny wielkie koziebrody twarogi ruskie żebrak piekiełko potworów włochy bujny księże wągry 2 koziebrody 54 157 X 212 195 157 202 112 205 145 H : 2 7 Lp 0 1 2 3 4 5 6 7 8 9 Nazwa nowe rumunki spaliny wielkie koziebrody twarogi ruskie żebrak piekiełko potworów włochy bujny księże wągry 7 włochy 111 182 112 162 98 50 91 X 161 102 H : 7 5
Problem komiwojażera 10 Lp 0 1 2 3 4 5 6 7 8 9 Nazwa H : 5 6 nowe rumunki spaliny wielkie koziebrody twarogi ruskie żebrak piekiełko potworów włochy bujny księże wągry 5 piekiełko 123 228 157 188 105 X 54 45 140 81 Lp 0 1 2 3 4 5 6 7 8 9 Nazwa nowe rumunki spaliny wielkie koziebrody twarogi ruskie żebrak piekiełko potworów włochy bujny księże wągry 6 potworów 152 273 202 239 156 54 X 91 116 83 H : 6 9 Lp 0 1 2 3 4 5 6 7 8 9 Nazwa nowe rumunki spaliny wielkie koziebrody twarogi ruskie żebrak piekiełko potworów włochy bujny księże wągry 9 wągry 96 266 145 260 181 81 83 102 77 X H : 9 8
Problem komiwojażera 11 Lp 0 1 2 3 4 5 6 7 8 9 Nazwa nowe rumunki spaliny wielkie koziebrody twarogi ruskie żebrak piekiełko potworów włochy bujny księże wągry 8 bujny księże 149 322 205 323 241 140 116 161 X 77 H : 8 4 Lp 0 1 2 3 4 5 6 7 8 9 Nazwa nowe rumunki spaliny wielkie koziebrody twarogi ruskie żebrak piekiełko potworów włochy bujny księże wągry 4 żebrak 203 203 195 100 X 105 156 98 241 181 H : 4 3 Lp 0 1 2 3 4 5 6 7 8 9 Nazwa nowe rumunki spaliny wielkie koziebrody twarogi ruskie żebrak piekiełko potworów włochy bujny księże wągry 3 twarogi ruskie 242 170 212 X 100 188 239 162 323 260 H : 3 1
Problem komiwojażera 12 Lp 0 1 2 3 4 5 6 7 8 9 Nazwa nowe rumunki spaliny wielkie koziebrody twarogi ruskie żebrak piekiełko potworów włochy bujny księże wągry 1 spaliny wielkie 201 X 157 170 203 228 273 182 322 266 H : 1 0 ODPOWIEDŹ: H = 0 2 7 5 6 9 8 4 3 1 0 T = 54 + 112 + 50 + 54 + 83 + 77 + 241 + 100 + 170 + 201 = 1142
Postępując zgodnie z zasadami wyznaczania najbliższego sąsiada wyznaczamy kolejno w wierszach zaczynając od wiersza 1: - W wierszu 1 : węzeł 3 czas 78 - W wierszu 3 : węzeł 5 czas 66 Problem komiwojażera 10 2 Lp. 1 2 3 4 5 Nazwa Wrocław Wałbrzych Legnica Poznań Jelenia Góra 1 Wrocław 83 78 198 131 2 Wałbrzych 83 81 63 3 Legnica 78 81 277 66 4 Poznań 198 277 288 5 Jelenia Góra 131 63 66 288 - W wierszu 5 : węzeł 4 czas 288,nie można wybrać 2 bo nie ma z niego dojazdu do 4, ale z 4 nie możliwy jest także dojazd do 2. Należy postępowanie zacząć od początku biorąc pod uwagę, że najgorszy dojazd jest do 2 i 4 - W wierszu 1 : węzeł 3 czas 78 - W wierszu 3 : węzeł 2 czas 81 - W wierszu 2 : węzeł 5 czas 63 - W wierszu 5 : węzeł 4 - czas 288 - W wierszu 4 : węzeł 1 - czas 198 Łączny czas przejazdu 708
Problem komiwojażera 11 2 Drugi wariant drogi okrężnej W wierszu 1 : węzeł 3 czas 78 W wierszu 3 : węzeł 4 czas 277 W wierszu 4 : węzeł 5 - czas 288 W wierszu 5 : węzeł 2 - czas 63 W wierszu 2 : węzeł 1 czas 83 Łączny czas przejazdu 789 Trzeci wariant drogi okrężnej: W wierszu 1 : węzeł 2 czas 83 W wierszu 2 : węzeł 5 czas 63 W wierszu 5 : węzeł 3 - czas 66 W wierszu 3: węzeł 4 - czas 277 W wierszu 4 : węzeł 1 czas 198 Łączny czas przejazdu 687
Problem komiwojażera 12 2 4 Poznań Jelenia Góra 5 3 Legnica 1 Wrocław 2 Wałbrzych
Problem komiwojażera 13 2 Jak widać algorytmu nie da się zawsze zastosować nie odchodząc od wcześniej przedstawionych reguł postępowania. Wszystko zależy od konfiguracji połączeń. Dlatego należy pamiętać, że stosując algorytmy heurystyczne nie zawsze otrzymujemy rozwiązanie optymalne ale jedynie dopuszczalne.
Problem komiwojażera 14 Algorytm sukcesywne dołączanie węzłów. Dla z góry zadanego węzła startowego a należy już na starcie wybrać inny węzeł b i utworzyć początkową trasę z a do b i powrotem: [a,b,a]. W trakcie postępowania będziemy sukcesywnie modyfikować tę drogę przez dołączanie nowych węzłów. Wybór nowego węzła nie jest jednoznacznie określony, ale korzystnie jest stosować następująca regułę: Najmniejsza z odległości dołączanego węzła do wcześniej określonej drogi powinna. być możliwie największa. Przyjmujemy zatem: a węzeł startowy, b węzeł najbardziej oddalony od a, z określona długość okrężnej drogi; w iteracja pośrednich drogi częściowej, H cykl węzłów tworzących drogę okrężną; w iteracjach pośrednich jest to droga częściowa
Problem komiwojażera 15 Założenia startowe Przyjmujemy: k k 1, k2, k1, z k 1 k c 2 k 2 1 1 a, k2 b, H c k Iteracje Numery iteracji kojarzyć będziemy z liczbą odwiedzonych miejscowości, dlatego. rozpatrujemy iteracje j = 3,,n. Przyjmijmy, że w iteracji (j-1) otrzymaliśmy częściową. drogę okrężną : H k1, k2,..., k j 1, k j o długości z. Ze względu na stosowane dalej wzory ostatni z węzłów jest oznaczony przez kj, a w rzeczywistości jest nim węzeł k1.
Problem komiwojażera 16 W każdej iteracji należy wskazać, który z nie uwzględnionych jeszcze węzłów powinien być dołączony i rozstrzygnąć, między którymi węzłami istniejącej trasy powinien być Dołączony. Krok 1 Dla każdego węzła p k1, k2,, kj-1 obliczamy : d p min ck p, ck p,..., c 1 1 2 k j p Krok 2 Jako węzeł i, który ma być dołączony do drogi wybieramy ten, dla którego: d i max p d p
Problem komiwojażera 17 Krok 3 Mając wybrany węzeł i musimy rozstrzygnąć, między które węzły drogi H wstawić ten węzeł. W nowej drodze pojawiają się krawędzie [kt, i] oraz [i, kt+1 ] natomiast wypada z niej krawędź [kt, kt+1 ] i Ckti Cikt+1 k1 kt Kt+1 k1 Cktkt+1
Dołączenie nowych odcinków drogi powoduje zmianę jej długości. Wielkość tej zmiany oznaczamy symbolem st i obliczamy następująco : Jesteśmy zainteresowani takim rozwiązaniem, które będzie powodowało najmniejszy przyrost długości drogi, dlatego postępujemy zgodnie z następującym kryterium: Krok 4 Tworzymy nową częściową trasę 1 1 t t t t k k ik i k t c c c s 1 1 1 min1 1,..., t t h h t t k k ik i k j h ik i k t c c c c c s j t t k k i k k H,...,,,,..., 1 1 Problem komiwojażera 18
Problem komiwojażera 19 Krok 5 Sprawdzamy czy zostały uwzględnione wszystkie węzły. Jeżeli nie to przechodzimy do następnej iteracji. Jeżeli tak wyznaczanie trasy komiwojażera kończy się. Otrzymujemy drogę okrężną, która jest cyklem Hamiltona H k 1 kn,,..., k 1
Problem komiwojażera 20 opracowali : Sylwia Głowacka, Kacper Mroczek, Kamil Ligenza Lp 0 1 2 3 4 5 6 7 8 9 Nazwa nowe rumunki spaliny wielkie koziebrody twarogi ruskie żebrak piekiełko potworów włochy bujny księże wągry 0 nowe rumunki X 201 54 242 203 123 152 111 149 96 spaliny wielkie - NAJDŁUŻSZA PRZEJEZDNA TRASA W OBIE STRONY, MIĘDZY MAGAZYNEM A ODBIORCĄ H=[0, 1, 0] T 1 =402 ITERACJA 1 p=2 r 1 2= min[c 02, c 12 ]= min[54, 157]=54 p=3 r 1 3= min[c 03, c 13 ]= min[10.000, 170]=170 p=4 r 1 4= min[c 04, c 14 ]= min[10.000,203]=203 p=5 r 1 5= min[c 05, c 15 ]= min[123, 10.000]=123 p=6 r 1 6= min[c 06, c 16 ]= min[152, 273]=152 p=7 r 1 7= min[c 07, c 17 ]= min[111, 10.000]=111 p=8 r 1 8= min[c 08, c 18 ]= min[149, 10.000]=149 p=9 r 1 9= min[c 09, c 19 ]= min[96, 10.000]=96 max r 1 i = r 1 4=203
Problem komiwojażera 21 s 1 0= c 04 + c 41 - c 01 =10.000 + 203-201=10.002 s 1 1= c 14 + c 40 - c 10 = 203 + 10.000-201=10.002 H= [0, 1, 4, 0] T 2 =201 + 203 + 10.000= T1 + s 1 1= 10.404
Problem komiwojażera 22 ITERACJA 2 p=2 r 2 2= min[c 02, c 12, c 42 ]= min[54, 157, 195]=54 p=3 r 2 3= min[c 03, c 13, c 42 ]= min[10.000, 170, 100]=100 p=5 r 2 5= min[c 05, c 15, c 42 ]= min[123, 10.000, 105]=105 p=6 r 2 6= min[c 06, c 16, c 42 ]= min[152, 273, 156]=152 p=7 r 2 7= min[c 07, c 17, c 42 ]= min[111, 10.000, 10.000]=111 p=8 r 2 8= min[c 08, c 18, c 42 ]= min[149, 10.000, 241]=149 p=9 r 2 9= min[c 09, c 19, c 42 ]= min[96, 10.000, 181]=96 max r 2 i = r 2 6=152
Problem komiwojażera 23 s 2 0= c 06 + c 16 - c 01 =152 + 273-201=224 s 2 1= c 16 + c 64 - c 14 = 273 + 156-203=226 s 2 4= c 46 + c 60 - c 40 = 156 + 152 10.000=-9692 H= [0, 1, 4, 6, 0] T 3 =201 + 203 + 156 + 152 = T 2 + s 2 4= 712
Problem komiwojażera 24 ITERACJA 3 p=2 r 3 2= min[c 02, c 12, c 42, c 62 ]= min[54, 157, 195, 10.000]=54 p=3 r 3 3= min[c 03, c 13, c 43, c 63 ]= min[10.000, 170, 100, 239]=100 p=5 r 3 5= min[c 05, c 15, c 45, c 65 ]= min[123, 10.000, 105, 54]=54 p=7 r 3 7= min[c 07, c 17, c 47, c 67 ]= min[111, 10.000, 10.000, 91]=91 p=8 r 3 8= min[c 08, c 18, c 48, c 68 ]= min[149, 10.000, 241, 116]=111 p=9 r 3 9= min[c 09, c 19, c 49, c 69 ]= min[96, 10.000, 181, 83]=83 max r 3 i = r 3 8=111
Problem komiwojażera 25 s 3 0= c 08 + c 18 - c 01 =149 + 10.000-201= 9.948 s 3 1= c 18 + c 84 - c 14 = 10.000 + 241 203 = 10.038 s 3 4= c 48 + c 86 - c 46 = 241 + 116 156 = 201 s 3 6= c 68 + c 80 - c 60 = 116 + 148 152 = 113 H= [0, 1, 4, 6, 8, 0] T 4 =201 + 203 + 156 + 116 + 149 = T 3 + s 3 6= 825
Problem komiwojażera 26 ITERACJA 4 p=2 r 4 2= min[c 02, c 12, c 42, c 62, c 82 ]= min[54, 157, 195, 10.000, 205]=54 p=3 r 4 3= min[c 03, c 13, c 43, c 63, c 83 ]= min[10.000, 170, 100, 239, 323]=100 p=5 r 4 5= min[c 05, c 15, c 45, c 65, c 85 ]= min[123, 10.000, 105, 54, 10.000]=54 p=7 r 4 7= min[c 07, c 17, c 47, c 67, c 87 ]= min[111, 10.000, 10.000, 91, 161]=91 p=9 r 4 9= min[c 09, c 19, c 49, c 69, c 89 ]= min[96, 10.000, 181, 83, 77]=77 max r 4 i = r 4 3=100
Problem komiwojażera 27 s 4 0= c 03 + c 31 - c 01 =10.000 + 170-201=9.969 s 4 1= c 13 + c 34 - c 14 = 170 + 100-203=67 s 4 4= c 43 + c 36 - c 46 = 100 + 239 156=183 s 4 6= c 63 + c 38 - c 68 = 239 + 323 116=446 s 4 8= c 63 + c 30 - c 80 = 323 + 10.000 149=10.174 H= [0, 1, 3, 4, 6, 8, 0] T 5 = 201 + 170 + 100 + 156 + 116 + 149 =T 4 + s 4 1 = 892
Problem komiwojażera 27 ITERACJA 5 p=2 r 5 2= min[c 02, c 12, c 32, c 42, c 62, c 82 ]= min[54, 157, 212, 195, 10.000, 205] = 54 p=5 r 5 5= min[c 05, c 15, c 35, c 45, c 65, c 85 ]= min[123, 10.000, 188, 105, 54, 10.000] = 54 p=7 r 5 7= min[c 07, c 17, c 37, c 47, c 67, c 87 ]= min[111, 10.000, 50, 10.000, 91, 161] = 50 p=9 r 5 9= min[c 09, c 19,c 39, c 49, c 69, c 89 ]= min[96, 10.000, 10.000, 181, 83, 77] = 77 max r 5 i = r 5 9=77
Problem komiwojażera 27 s 5 0= c 09 + c 91 - c 01 =96 + 10.000-201=9.895 s 5 1= c 19 + c 93 - c 13 = 10.000 + 260-170=10.090 s 5 3= c 39 + c 94 - c 34 = 260 + 181 100=341 s 5 4= c 49 + c 96 - c 46 = 181 + 83 156=108 s 5 6= c 69 + c 98 - c 68 = 83 + 77 116=44 s 5 8= c 69 + c 90 - c 80 = 77 + 96 149=24 H= [0, 1, 3, 4, 6, 8, 9, 0] T 6 = 201 + 170 + 100 + 156 + 116 + 77 + 96 =T 5 + s 5 8= 916
Problem komiwojażera 28 ITERACJA 6 p=2 r 6 2= min[c 02, c 12, c 32, c 42, c 62, c 82, c 92 ]= min[54, 157, 212, 195, 10.000, 205, 145]=54 p=5 r 6 5= min[c 05, c 15, c 35, c 45, c 65, c 85, c 95 ]= min[123, 10.000, 188, 105, 54, 10.000, 10.000]=54 p=7 r 6 7= min[c 07, c 17, c 37, c 47, c 67, c 87, c 97 ]= min[111, 10.000, 50, 10.000, 91, 161, 102]=50 max r 6 i = r 6 2=r 6 5=54
Problem komiwojażera 29 s 6 0= c 02 + c 21 - c 01 =54 + 157-208=10 s 6 1= c 12 + c 23 - c 13 = 157 + 212-170=199 s 6 3= c 32 + c 24 c 34 = 212 +195-100=307 s 6 4= c 42 + c 26 - c 46 = 195 + 10.000 156=10.039 s 6 6= c 62 + c 28 - c 68 = 10.000 + 205 116=10.089 s 6 8= c 82 + c 29 - c 89 = 205 + 145 77=273 s 6 9= c 92 + c 20 - c 90 = 145 + 54 96=103 H= [0, 2, 1, 3, 4, 6, 8, 9, 0] T 7 = 54 + 157 + 170 + 100 + 156 + 116 + 77 + 96 = T 6 + s 6 0 = 926
Problem komiwojażera 30 ITERACJA 7 p=5 r 7 5= min[c 05, c 25, c 15, c 35, c 45, c 65, c 85, c 95 ]= min[123, 157, 10.000, 188, 105, 54, 10.000, 10.000]=54 p=7 r 7 7= min[c 07, c 27, c 17, c 37, c 47, c 67, c 87, c 97 ]= min[111, 112, 10.000, 50, 10.000, 91, 161, 102]=50 max r 7 i = r 67 5=54
Problem komiwojażera 31 s 7 0= c 05 + c 52 - c 02 =123 + 157-54=226 s 7 2= c 15 + c 51 - c 21 = 157 + 10.000-157=10.000 s 7 1= c 15 + c 53 - c 13 = 10.000 + 188 170=10.018 s 7 3= c 35 + c 54 c 34 = 188 + 105 100=193 s 7 4= c 45 + c 56 - c 46 = 105 + 54 156=3 s 7 6= c 65 + c 58 - c 68 = 54 + 10.000 116=9.938 s 7 8= c 85 + c 59 - c 89 = 10.000 + 10.000 77=19.923 s 7 9= c 95 + c 50 - c 90 = 10.000 + 123 96= 10.027 H= [0, 2, 1, 3, 4, 5, 6, 8, 9, 0] T 8 = 54 + 157 + 170 + 100 + 105 + 54 + 116 + 77 + 96 = T 7 + s 7 4 = 929
Problem komiwojażera 32 s 8 0= c 07 + c 72 - c 02 =111 + 112-54=169 s 8 2= c 17 + c 71 - c 21 = 112 + 10.000-157=9.955 s 8 1= c 17 + c 73 - c 13 = 10.000 + 162 170=9.945 s 8 3= c 37 + c 74 c 34 = 162 + 10.000 100=10.062 s 8 4= c 47 + c 75 - c 45 = 10.000 + 50 105=9.945 s 8 5= c 57 + c 76 - c 56 = 50 + 91 54=87 s 8 6= c 67 + c 78 - c 68 = 91 + 161 116=136 s 8 8= c 87 + c 79 - c 89 = 161 + 102 77=186 s 7 9= c 97 + c 70 - c 90 = 102 + 111 96= 117 ODPOWIEDŹ: H= [0, 2, 1, 3, 4, 5, 7, 6, 8, 9, 0] T 9 = 54 + 157 + 170 + 100 + 105 + 50 + 91 + 116 + 77 + 96 = T 7 + s 8 5 = 1.016 0 2 1 3 4 5 7 6 8 9 0