Problem komiwojażera dla kilku centrów dystrybucji Traveling
Transkrypt
Problem komiwojażera dla kilku centrów dystrybucji Traveling
PRACE z. 70 NAUKOWE POLITECHNIKI WARSZAWSKIEJ Transport 2009 Edward MICHLOWICZ Akademia Górniczo – Hutnicza im. St. Staszica w Krakowie Wydział Inynierii Mechanicznej i Robotyki Al. Mickiewicza 30, 30-059 Kraków e-mail: [email protected] PROBLEM KOMIWOJAĩERA DLA KILKU CENTRÓW DYSTRYBUCJI Streszczenie Problem rozdziału zada przewozowych w typowym zadaniu transportowym jest mało przydatny dla rednich firm transportowych obsługujcych wiele centrów dystrybucji. Z kolei problem komiwojaera dotyczy tylko wybranych firm. Połczenie obydwu tych zagadnie moe przynie wiele korzyci. W artykule zaproponowano rozwizanie problemu przy zastosowaniu algorytmu ewolucyjnego. Przedstawiono formalizacj zadania transportowego oraz formuł minimalnej macierzy wykorzystanej do budowy algorytmu genetycznego. Problem komiwojaera został rozwaony dla kadego z wybranych centrów dystrybucji towarów. Słowa kluczowe: problem komiwojaera, centrum dystrybucyjne 1. AKTUALNE PROBLEMY OPERATORÓW LOGISTYCZNYCH Przed operatorem logistycznym staje czsto zadanie ustalenia takiego planu przewozów towarów, który dawałby optymalne wyniki ze wzgldu na przyjte kryterium optymalizacyjne. W sytuacji, gdy przedsibiorstwo posiada tylko jedno centrum dystrybucyjne, z którego dostarcza towary na rynek, wyznaczenie optymalnego planu przewozów wie si ze znalezieniem najkrótszej drogi pomidzy poszczególnymi nabywcami towaru. Jeli natomiast takich baz, zlokalizowanych w rónych miejscach, jest wicej, celem jest ustalenie, z którego centrum dystrybucyjnego ma by zaopatrywany w towar dany odbiorca i w jakiej kolejnoci maj by oni „odwiedzani”, tak aby koszty transportu towaru były jak najmniejsze, przy jednoczesnym uwzgldnieniu zasobu dysponowanego przez centra dystrybucyjne towarów. Okrelenie połcze dostawcy – odbiorcy przy małej liczbie punktów dostaw i odbioru nie stanowi wikszego problemu. Jednak, gdy w gr wchodzi wiksza liczba tych punktów, wyznaczenie optymalnego planu przewozów nie jest ju takie oczywiste. W takim przypadku istnieje wiele kombinacji rónych połcze i wybór kombinacji optymalnej bez wykorzystania odpowiedniej metody byłby niezwykle trudny. Powszechnie znane s metody umoliwiajce wyznaczenie optymalnej drogi pomidzy nabywcami towaru funkcjonujce w literaturze [2, 6, 8] pod nazw „problem komiwojaera”, takie, jak chociaby: algorytm Little’a, algorytm włczania, algorytm poszukiwa lokalnych 2-optymalny i 3-optymalny oraz inne. Metody te daj rozwizanie jedynie wtedy, gdy odbiorcy zaopatrywani s z jednego centrum dystrybucyjnego. W przypadku, gdy takich Edward Michlowicz 114 miejsc zaopatrujcych w towary jest wicej, do rozwizania problemu mona wykorzysta, szeroko stosowane w rónych dziedzinach nauki algorytmy ewolucyjne. Problem komiwojaera (w skrócie TSP, od angielskiej nazwy „travelling salesperson problem”) jest jednym z najstarszych problemów optymalizacyjnych wystpujcych w działalnoci transportowej. Przenoszc zagadnienie do jzyka teorii sieci, problem polega na znalezieniu najkrótszego cyklu długoci n (zwanego cyklem Hamiltona) w n-wierzchołkowej sieci pełnej. Znalezienie właciwego cyklu Hamiltona, zwanego w logistyce marszrut, jest zadaniem bardzo trudnym obliczeniowo. Zadanie to jest zaliczane do problemów NP-trudnych i jak do tej pory nie udało si znale sposobu, dla którego czas rozwizania problemu byłby proporcjonalny do wielomianu zmiennej n. Poszukiwanie najkrótszej marszruty poprzez sprawdzenie i porównanie wszystkich moliwych marszrut prowadzi do wykładniczej klasy złoonoci obliczeniowej O(n!). Formułujc przedstawiony problem w sposób bardziej formalny: dany jest zbiór n miast oraz nieujemna, kwadratowa macierz odległoci (kosztów) C=[cij] stopnia n: ª c11 c12 «c c C = « 21 22 « .... .... « ¬cn1 cn 2 gdzie: cij .... c1n º .... c2 n »» .... .... » » .... cnn ¼ (1) -okrela odległo (koszt przejazdu) midzy miastem i a miastem j. Rozpatrywane zagadnienie sprowadza si do znalezienia drogi zamknitej (i1,i2,...,in,i1), czyli marszruty, dla której suma ci1i2 + ci2i3 + ... + cin−1in + cini1 osiga minimum. Problem komiwojaera mona przedstawi jako zadanie wyznaczenia takiego xij oraz zj, aby: n n c x ij → min ¦¦ i =1 j =1 (2) ij gdzie: xij – zmienna decyzyjna, jeeli marszruta zawiera odcinek ( i, j ) 1, xij = ® 0 w przeciwnym przypadku. ¯ (3) Ograniczenia: n ∀i ∈ N ¦ x ij = 1 (4) j =1 N ∀j ∈ N ¦ x ij = 1 (5) i =1 ∀i , j ∈ N (zi − zj + nxij) ≤ n-1, i ≠ j, zi, zj ∈ R 1 − marszruta zawiera odcinek (i, j) ∀ i , j∈N xij = ® ¯0 − w przeciwnym przypadku gdzie: zi, zj – parametry ograniczenia. (6) (7) Problem komiwojaera dla kilku centrów dystrybucji 115 Funkcja celu (2) postuluje minimalizacj długoci (kosztu) marszruty. Warunki (4) oznaczaj, e z kadego miasta komiwojaer musi wyjecha jeden raz, a warunki (5), e do kadego miasta moe wjecha tylko jeden raz. Warunki (6) zapewniaj, e ze zbioru n odcinków moe by utworzona marszruta przechodzc przez n miast, czyli, e elementy zbioru {(i,j): xij =1} mona ustawi w cig ¢ (i1,i2),(i2,i3),(in-1,in),(in,i1) ² . Oznacza to, e warunki (6) zapobiegaj przed pojawieniem si rozwizania składajcego si z marszruty nie przechodzcej przez wszystkie miasta. Znanych jest kilka odmian zdefiniowanego powyej problemu, a mianowicie: c ≠ c ji • wagi połcze nie musz by symetryczne (czyli ij ) – w tym przypadku mamy do czynienia z sieci skierowan, a rozpatrywany problem nosi nazw asymetrycznego problemu komiwojaera. • rozwaany graf nie jest pełny, czyli zawiera par nie połczonych wierzchołków. Wszystkie grafy pełne maj cykl długoci n, natomiast graf, który nie jest pełny, nie musi mie takiego cyklu. W takich grafach problem komiwojaera nie ma rozwizania. • komiwojaer po odwiedzeniu wszystkich miejscowoci (dokładnie raz), nie musi wraca do miejscowoci, z której wyruszył. W takim przypadku naley znale najkrótsz drog o długoci n-1, zamiast cyklu długoci n. Problem komiwojaera jest jednym z tych problemów optymalizacji kombinatorycznej, dla których nie jest znany efektywny algorytm rozwizywania, tj. algorytm, który znajdowałby rozwizanie optymalne w czasie wielomianowym, czyli w czasie bdcym wielomianem zmiennej n, reprezentujcej liczb wierzchołków w sieci. Rozpatrujc problemem tak duych rozmiarów, w celu jego rozwizania, mona zastosowa jedno z praktycznych podej [3, 4], polegajce na osłabieniu dania, by algorytm dostarczał rozwizania optymalne i zadowoli si rozwizaniami przyblionymi, odpowiednio bliskimi rozwiza optymalnych. Osłabienie warunku optymalnoci pozwala czsto zredukowa czas oblicze z wykładniczego do wielomianowego, przy niewielkiej utracie optymalnoci. Algorytmy przyblione stanowi jedyny realistyczny sposób rozwizywania obliczeniowo trudnych problemów duych rozmiarów. Istnieje wiele algorytmów przyblionych rozwizywania problemu komiwojaera, z których jednym z najbardziej efektywnych jest algorytm przeszukiwa lokalnych. Jedn z najbardziej znanych i stosowanych z najwikszym powodzeniem heurystyk otrzymywania niemal optymalnych rozwiza problemu komiwojaera jest algorytm przeszukiwaĔ lokalnych. Polega on na wyznaczeniu dowolnej marszruty (G) i usuniciu z niej r odcinków. Otrzymuje si w ten sposób r dróg (z których niektóre mog by izolowanymi wierzchołkami), które łczc z innymi r odcinkami tworz marszrut (G'). Marszruty G i G' róni si od siebie dokładnie r odcinkami, natomiast pozostałe (n – r) odcinków maj takie same. Przykładow ilustracj wymiany dwóch łuków (marszruty G i G’) przedstawiono na rysunku 1. Edward Michlowicz 116 G-a-b G'=(G-a-b)+x+y Rys. 1. Ilustracja wymiany dwóch łuków (wg [7]) ródło: opracowanie własne. Jeli waga }(G') marszruty G' jest mniejsza od wagi }(G) marszruty G, to marszruta G zastpowana jest marszrut G' i wymiana zostaje ponawiana. W przeciwnym przypadku naley spróbowa wymieni inny zbiór r odcinków z marszruty G. Ten sposób wymiany jest kontynuowany do momentu, w którym nie jest moliwe dalsze polepszanie rozwizania. Rozwizanie kocowe, którego poprawa poprzez wymian r odcinków nie jest ju moliwa, nazywane jest rozwizaniem r-optymalnym. Na ogół ta procedura wymiany odcinków koczy działanie poprzez wyznaczenie lokalnego optimum, dajc w ten sposób przyblione rozwizanie problemu komiwojaera. Przedstawiony powyej algorytm jest przykładem ogólnego podejcia do rozwizywania wielu problemów optymalizacji kombinatorycznej, zwanego przeszukiwaniem lokalnym lub przeszukiwaniem ssiedztwa. Metoda sukcesywnego polepszania trasy komiwojaera za pomoc wymiany r odcinków moe by stosowana zarówno do problemów symetrycznych, jak te i niesymetrycznych. Dla sieci symetrycznej z n (n > 5) wierzchołkami, r moe si zmienia od 2 do n. Natomiast dla sieci skierowanej r nie moe by mniejsze od 3. Ogólnie, im wiksza jest ilo odcinków r podlegajcych wymianie w procedurze, tym lepsze otrzymuje si rozwizanie. Z drugiej jednak strony, kady wzrost iloci odcinków r znacznie zwiksza czas oblicze. Marszruta z n krawdziami zawiera § n · podzbiorów ¨ ¸ ©r¹ złoonych z r krawdzi. Oznacza to, e czas wykonania zamiany kadego z podzbiorów przynajmniej raz wynosi O(nr). Naley wic dokona przemylanego wyboru rozwaajc z jednej strony dokładno rozwizania, a z drugiej nakład oblicze. Std te przy podejmowaniu decyzji naley opiera si na intuicji i badaniach empirycznych. 2. WYZNACZANIE TRAS TRANSPORTU PRZY KILKU DOSTAWCACH W przypadku, w którym przedsibiorstwo posiada kilka centrów dystrybucyjnych (magazynów), problem operatora logistycznego polega na takim przydzieleniu dostawcom odpowiednich odbiorców, aby suma zapotrzebowa odbiorców nie przekraczała moliwoci zaopatrzeniowych poszczególnych dostawców oraz aby całkowity koszt transportu był moliwie najmniejszy. Na rysunku 2 przedstawiono interpretacj tego problemu w postaci grafu. Problem komiwojaera dla kilku centrów dystrybucji 117 Rys. 2. Graf rozdziału zada przewozowych ródło: opracowanie własne. Opisany wyej problem funkcjonuje w literaturze pod pojciem zadanie transportowe. Zadanie to (zagadnienie) mona interpretowa w ten sposób, e z poszczególnych centrów dystrybucyjnych, wyjeda tylu komiwojaerów ilu jest odbiorców zaopatrywanych z danego magazynu. W takim przypadku kady komiwojaer obsługuje jednego odbiorc, po czym wraca do miejsca, z którego wyruszył (rys.3). Alternatyw dla tego zagadnienia jest opracowanie algorytmu, dla którego z kadego magazynu wysyłany jest tylko jeden komiwojaer, który odwiedza wszystkich przydzielonych mu odbiorców, po czym wraca do miejsca pocztkowego. Problem ten na potrzeby niniejszego opracowania został nazwany „Problemem komiwojaĪera z wieloma centrami dystrybucyjnymi” (w skrócie TSP-ZT), a jego graficzn interpretacj przedstawiono na rysunku 4. Rys. 3. Graf struktury dla zadania transportowego ródło: opracowanie własne. Problem komiwojaera z wieloma centrami dystrybucyjnymi jest połczeniem dwóch opisanych wczeniej zagadnie: problemu komiwojaĪera oraz zadania transportowego. Edward Michlowicz 118 Rys. 4. Graf struktury problemu komiwojaera z wieloma centrami dystrybucyjnymi ródło: opracowanie własne. Zatem zadanie mona interpretowa nastpujco: Danych jest n dostawców, z których kady dysponuje odpowiednio ai jednostkami towaru (i=1, 2,…,n), oraz m odbiorców, z których kady zgłasza zapotrzebowanie na towar w wysokoci bj jednostek (j=1, 2,…,m). Kady z dostawców moe zaopatrywa dowolnych odbiorców i odwrotnie, kady odbiorca moe otrzymywa towar od dowolnych dostawców. Kady komiwojaer moe tylko raz wyruszy z bazy i po dostarczeniu towaru do odbiorców musi do tej bazy powróci. Kade z miast moe by odwiedzone przez danego dostawc tylko jeden raz, przy czym miasta mog by odwiedzane w dowolnej kolejnoci. Zakłada si, e odległoci a tym samym koszty transportu midzy kad par miejscowoci s znane, a take suma dostaw do poszczególnych odbiorców równa jest ich zapotrzebowaniu oraz suma dostaw wysłanych przez dostawców nie przekracza iloci, jak kady z dostawców dysponuje. Całkowity koszt transportu natomiast jest równy sumie kosztów transportu kadego z dostawców. Zadanie transportowe sprowadza si wic do znalezienia minimum funkcji: min z = gdzie: i n ¦ ¦ ¦ (c 0ki x 0ki + c j 0i x j 0i + c jk x jki) i =1 j∈M k∈M – dostawca nalecy do zbioru dostawców N, j, k – odbiorcy pomidzy którymi odbywa si przewóz, nalecy do zbioru odbiorców M, cjk – koszt przewozu pomidzy odbiorcami j i k, c0ki – koszt przewozu pomidzy i-tym dostawc a k-tym odbiorc, cj0i – koszt przewozu pomidzy j-tym odbiorc a i-tym dostawc, xjki – zmienna binarna okrelajca, czy pomidzy odbiorcami j i k dostawca i wykonuje przewóz, x0ki – zmienna binarna okrelajca, czy pomidzy dostawc i a odbiorc k jest wykonywany przewóz, (8) Problem komiwojaera dla kilku centrów dystrybucji xj0i 119 – zmienna binarna okrelajca, czy pomidzy odbiorc j a dostawc i jest wykonywany przewóz. Warunki ograniczajce: ∀i ∈ N m x 0 ki = 1 ¦ k =1 (9) m ∀i ∈ N ¦ x j 0i = 1 (10) ¦ x jki (11) j =1 ∀i ∈ N ∧ ∀j ∈ M k∈M < 2; j ≠ k, ∀i ∈ N ∧ ∀j ∈ M ¦ x kji − ¦ x jli = 0; j ≠ k, j ≠ l , k ∈M (12) l∈M m ∀i ∈ N ¦ q ij ≤ ai , (13) j =1 n ∀j ∈ M ¦ qij = bj , (14) ∀i ∈ N ∧ ∀j ∈ M qij ≥ 0 (15) i =1 gdzie: qij – wielko zaopatrzenia od i-tego dostawcy do j-tego odbiorcy. Warunek (9) zapewnia, e komiwojaer wyjeda z bazy tylko raz, a warunek (10) – e wjeda tylko raz. Warunek (11) zapewnia, e komiwojaer moe wjecha do okrelonego miasta maksymalnie jeden raz, natomiast warunek (12) gwarantuje, e po wjechaniu do danego miasta komiwojaer musi z tego miasta wyjecha. Warunek (13) oznacza, e ilo towaru, w jak dostawca zaopatruje odbiorców nie przekracza jego moliwoci dystrybucyjnych, warunek (14) – e wielko zaopatrzenia od dostawców musi by równa iloci, jakiej oczekuj odbiorcy, natomiast warunek (15) chroni przed wprowadzaniem zaopatrze ujemnych. 3. ROZWIĄZANIE ZADANIA Przedstawione powyej zagadnienie naley do zada NP-trudnych i jedynym racjonalnym podejciem do jego rozwizania jest zastosowanie heurystycznych algorytmów optymalizacyjnych. Wykorzystane do tego celu zostan algorytmy ewolucyjne, które co prawda nie gwarantuj otrzymania rozwiza optymalnych, ani nawet nie pozwalaj oszacowa błdów rozwiza przyblionych, ale w wielu przypadkach prowadz do rozwiza dostatecznie dobrych z punktu widzenia praktycznych zastosowa. Algorytmy ewolucyjne [1] to cile zdefiniowane matematyczne procedury stosowane do rozwizywania niektórych problemów optymalizacyjnych lub decyzyjnych, dla których standardowe algorytmy s nieznane lub ich czas działania jest zbyt długi, by mogły by praktycznie zastosowane. Podstawowe typy algorytmów ewolucyjnych: • • algorytm genetyczny, strategie ewolucyjne, - strategia (1+1), Edward Michlowicz 120 - strategia (~+\), - strategia (~, \), • programowanie ewolucyjne. Algorytm ewolucyjny moe koczy swoje działanie: • • • gdy przystosowanie osobników jest odpowiednio due, gdy stan populacji bazowej wiadczy o stagnacji algorytmu, po okrelonej z góry iloci cyklów ewolucyjnych. Terminologia wykorzystywana w nazewnictwie elementów algorytmów ewolucyjnych jest do specyficzna, bowiem powstała wskutek inspiracji genetyk i ewolucj. Działanie algorytmu ewolucyjnego polega na przetwarzaniu populacji osobników, z których kady stanowi propozycj rozwizania postawionego problemu. Kady osobnik jest wyposaony w informacj tzw. genotyp, na podstawie, którego generowany jest fenotyp – zestaw cech, które podlegaj ocenie rodowiska. Proces tworzenia fenotypu z genotypu nazywa si kodowaniem. Fenotyp jest punktem w przestrzeni rozwiza problemu, genotyp za – punktem w przestrzeni kodów. Przystosowania osobnika na podstawie jego genotypu dokonuje si za pomoc funkcji przystosowania. Funkcja ta moe by stacjonarna, zmienna w czasie lub moe zawiera element losowoci. Genotyp osobnika złoony jest z chromosomów, z których co najmniej jeden zawiera kod okrelajcy fenotyp. Chromosomy natomiast składaj si z mniejszych elementów, zwanych genami, które reprezentuj elementarne informacje. Wraz z rozwojem i coraz wikszym zainteresowaniem algorytmami ewolucyjnymi podstawowe typy algorytmów zaczły si do siebie nawzajem upodabnia. W programowaniu ewolucyjnym sposób optymalizacji numerycznej został zbliony do strategii ewolucyjnych. Algorytmy genetyczne wprowadziły schematy selekcji znane ze strategii ewolucyjnych i programowania ewolucyjnego, natomiast strategie ewolucyjne, opierajc si na algorytmach genetycznych, wzbogaciły operacje genetyczne o operator krzyowania. W wyniku wzajemnego przenikania si, algorytm genetyczny, strategia ewolucyjna czy programowanie ewolucyjne w swoich pierwotnych postaciach praktycznie ju nie wystpuj, a nowo powstałe algorytmy wykorzystujce ich własnoci nosz ogóln nazw: algorytmy ewolucyjne. Do rozwizania zadania komiwojaera obsługujcego kilka centrów dystrybucji został napisany program komputerowy „Vitrans” przy uyciu narzdzia programistycznego Borland C++ Builder, przeznaczonego do tworzenia aplikacji w jzyku C++. Program „Vitrans” oparty o własnoci algorytmów ewolucyjnych, umoliwia wyznaczenie zada przewozowych dla standardowego problemu komiwojaera, jak równie dla jego rozszerzonej wersji z wieloma centrami dystrybucyjnymi. Posługujc si nazewnictwem stosowanym w algorytmach ewolucyjnych, program wyznacza osobnika o najlepszym przystosowaniu, czyli takiego, dla którego całkowity koszt transportu jest najmniejszy sporód wszystkich rozpatrywanych rozwiza. Przystosowanie osobnika obliczane jest na podstawie informacji, w które kady osobnik jest wyposaony (genotyp, fenotyp). Dla rozpatrywanych problemów genotypem s miejscowoci reprezentujce dostawców i odbiorców towaru, natomiast fenotypem – połczenia (trasy) pomidzy tymi miejscowociami. W algorytmie ewolucyjnym przetwarzana jest populacja składajca si z jednego osobnika. Do inicjacji pocztkowego rozwizania bazowego wykorzystano metod „minimum macierzy kosztów”. Problem komiwojaera dla kilku centrów dystrybucji 121 Otrzymane rozwizanie pocztkowe poddawane zostaje ocenie rodowiska, podczas której obliczane jest przystosowanie osobnika na podstawie funkcji przystosowania osobnika (funkcja z wg równania 8). Załoono, e koszt przewozu zwizany jest bezporednio z odległoci d pomidzy poszczególnymi miejscowociami reprezentujcymi dostawców i odbiorców, dlatego te do oblicze przyjto warto odległoci pomidzy miejscowociami. Odległo d mierzona jest w linii prostej na podstawie współrzdnych geograficznych i wyliczana z nastpujcego wzoru: d = R a cos (sin(lat1)sin(lat2) + cos(lat1)cos(lat2)cos(lon1 – lon2) (16) gdzie: R – promie Ziemi (równikowy); R=6378,137 km, lat1(2) – szeroko geograficzna, lon1(2)– długo geograficzna. Po obliczeniu przystosowania osobnika program przystpuje do głównej ptli, w której ilo iteracji uzaleniona jest od wprowadzonej przez uytkownika wartoci. W ptli głównej osobnik bazowy poddawany jest reprodukcji, w wyniku czego stworzona zostaje jego kopia, która jest przechowywana w pamici, natomiast procesom mutacji poddawany jest osobnik bazowy. Mutacja nastpuje w trzech etapach. Kady etap powtarzany jest dopóty, dopóki warunek stopu nie zostanie spełniony. Zatrzymanie ptli kadego etapu mutacji zawiera w sobie element losowoci, dlatego te nie mona okreli iloci powtórze kadego etapu, a jedynie prawdopodobiestwo jego zajcia. W pierwszym etapie losowo wybrani odbiorcy zmieniaj swoj kolejno „odwiedzania” ich przez przydzielonych im dostawców, czyli rozwizywany jest typowy problem komiwojaera. Prawdopodobiestwo zajcia mutacji w tym etapie wynosi 70%. W drugim etapie nastpuje przydzielenie odbiorcom nowych dostawców wg równa z rozdziału 2, w taki sposób, aby całkowita ilo dostaw kadego z dostawców nie uległa zmianie. Mutacja w tym etapie zachodzi wówczas, gdy odbiorców zaopatruje wicej ni jeden dostawca a jej prawdopodobiestwo zajcia wynosi 60%. Trzeci etap mutacji zachodzi wtedy, gdy mamy do czynienia z wieloma centrami dystrybucyjnymi a ponadto, gdy całkowita ilo dostaw przekracza całkowit ilo zapotrzebowa. W etapie tym nastpuje przerzucanie dostaw pomidzy dostawcami, przy zachowaniu odpowiednich równa, a prawdopodobiestwo jego zajcia wynosi 80%. Po zakoczonym procesie mutacji osobnik poddawany jest ocenie rodowiska, a nastpnie jego przystosowanie porównywane jest z przystosowaniem jego kopii sprzed etapu mutacji. W nastpnej iteracji osobnikiem bazowym staje si ten, który charakteryzuje si lepszym przystosowaniem. 4. PRAKTYCZNE ZASTOSOWANIE PROGRAMU „VITRANS V1.0” W celu sprawdzenia działania programu „Vitrans” oraz przedstawienia jakoci generowanych przez program wyników, wyznaczono trasy transportu towarów dla danych zawartych w tablicy 1. Na rysunku 5 przedstawiono okno główne programu po wprowadzeniu powyszych danych. Ilo iteracji programu ustawiono na 100 tysicy kroków. Edward Michlowicz 122 Rys. 5. Okno główne programu Vitrans V1.0 z naniesionymi danymi. ródło: opracowanie własne. Ilo całkowitego zasobu dysponowanego przez dostawców wynosiła 540 jednostek towaru, z czego Kraków miał w dyspozycji 160 jednostek, Łód – 100, Warszawa – 150, natomiast Wrocław 130 jednostek. Kademu z odbiorców przydzielono wymagan ilo towaru, która w sumie wyniosła 515 jednostek. Po rozdysponowaniu towaru pomidzy odbiorcami w magazynach pozostało 25 jednostek towaru zapasu, przy czym w Krakowie pozostało 11 jednostek, w Łodzi – 5, w Warszawie – 6, a we Wrocławiu – 3 jednostki. Całkowita droga do pokonania przez komiwojaerów wyniosła 3449.17 km. Rozwizanie zadania dla 105 iteracji przedstawiono na rysunku 6. Rys. 6. Okno programu z rozwizaniem dla 105 iteracji ródło: opracowanie własne. Problem komiwojaera dla kilku centrów dystrybucji 123 Tablica 1. Zestawienie danych zadania. Lp. 1 2 3 4 Dostawca Limit towaru Kraków 160 Łód 100 Warszawa 150 Wrocław 130 SUMA = 540 Lp. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Odbiorca Zapotrzebowanie Białystok 20 Bielsko-Biała 18 Chełm 21 Chorzów 22 Dbica 20 Elblg 19 Ełk 20 Gdask 25 Gniezno 18 Grudzidz 20 Jarocin 14 Kalisz 17 Kielce 24 Kołobrzeg 20 Krosno 21 Lubin 19 Malbork 17 Nysa 23 Płock 23 Pozna 26 Przemyl 24 Radom 22 Sandomierz 20 Suwałki 17 Szczecin 25 SUMA = 515 ródło: opracowanie własne Program „Vitrans” do wyznaczania tras transportu wykorzystuje własnoci algorytmów ewolucyjnych, dlatego te nie wiadomo czy wygenerowane rozwizanie jest rozwizaniem optymalnym, ani te jak bardzo si od niego róni. W celu okrelenia jakoci otrzymanego rozwizania przeprowadzono kilka symulacji tego samego problemu dla rónych wartoci liczby iteracji. Wyniki symulacji przedstawiono na poniszym wykresie (rys. 7). Dla niewielkiej liczby kroków (100) program wygenerował rozwizanie o blisko 30% gorsze, ni dla 105 kroków. Jednak dalsze zwikszanie liczby iteracji, powyej 105 kroków, nie spowodowało wygenerowania rozwizania lepszego, a w przypadku liczby iteracji równej 106 otrzymano nawet rozwizanie niewiele gorsze, co moe sugerowa, e dalsze zwikszanie liczby kroków nie polepszy znaczco rozwizania, a jedynie zwikszy czas wykonywania oblicze przez program. Moe to oznacza, e rozwizanie, dla którego całkowita droga transportu wynosi 3449.17 km jest rozwizaniem optymalnym lub lecym bardzo blisko takiego rozwizania. Edward Michlowicz 124 Rys.7. Wykres zalenoci wygenerowanego rozwizania od liczby iteracji. ródło: opracowanie własne 4. PODSUMOWANIE I DALSZE BADANIA Problem wyznaczenia optymalnego planu przewozów towarów pomidzy dostawcami a odbiorcami jest problemem NP-trudnym, co oznacza, e nie istnieje algorytm rozwizujcy ten problem w czasie wielomianowym. Przy rozwizywaniu takich problemów (duych rozmiarów) czsto rezygnuje si ze spełnienia warunku by algorytm dostarczał rozwizanie optymalne i zadowala rozwizaniem przyblionym, lecym blisko rozwizania optymalnego. Zastosowanie heurystycznych algorytmów optymalizacyjnych czsto pozwala zredukowa czas oblicze z wykładniczego do wielomianowego, przy niewielkiej utracie optymalnoci. Do napisania programu „Vitrans” wykorzystano jeden z heurystycznych algorytmów optymalizacyjnych, jakim jest algorytm ewolucyjny, ze wzgldu na jego prostot schematu, dziki któremu algorytmy tego typu znajduj liczne zastosowania praktyczne w rónych dziedzinach nauki. W zastosowanym algorytmie bazowe rozwizanie pocztkowe nie jest generowane losowo, lecz przy wykorzystaniu metody „minimum macierzy kosztów”, dziki czemu ju na pocztku otrzymane rozwizanie jest w znacznym stopniu przyblione do optymalnego. Program „Vitrans” w krótkim czasie generuje rozwizanie bardzo trudnych obliczeniowo zada, co czyni go programem atrakcyjnym dla operatorów logistycznych, firm spedycyjnych czy te firm produkcyjno – dystrybucyjnych. Rozwaany w opracowaniu problem warto rozwin. Znane w badaniach operacyjnych tzw. zadanie transportowo – produkcyjne dotyczy optymalizacji łcznych kosztów transportu i przerobu jednorodnych surowców dostarczonych do zakładów przetwarzajcych te surowce na wyroby gotowe. W odniesieniu do zakładów przetwórstwa odpadów powstaje złoony problem zbierania, gromadzenia i przetwarzania tych odpadów przy nieliniowej funkcji kosztów przerobu. W wielu przypadkach zgromadzenie odpowiednio uzasadnionej Problem komiwojaera dla kilku centrów dystrybucji 125 ekonomicznie iloci odpadów (masa, objto) w miejscach składowania (centrach) wymaga wielokrotnej obsługi rozproszonych punktów zbiórki odpadów. Z wstpnych bada [5] mona wywnioskowa, e koszty utylizacji mog by aproksymowane wielomianami drugiego stopnia. Uwzgldniaj one tylko koszty zmienne, czyli zalene od rozmiarów produkcji. Rozwizanie tak postawionego zadania transportowo – produkcyjnego z kwadratow funkcj kosztów przerobu polega na wyznaczeniu takiego planu dostaw surowca (odpadów) do poszczególnych zakładów i jego przetworzenia w tych zakładach, aby łczne koszty transportu i przerobu były minimalne. LITERATURA [1] [2] [3] [4] [5] [6] [7] [8] Arabas J.: Wykłady z algorytmów ewolucyjnych. WNT, Warszawa 2001. Ignasiak E.: Badania operacyjne. PWE, Warszawa 2001. Jacyna M., Jachimowski R., Pryciski P.: Wspomaganie komputerowe wyznaczania optymalnych tras w wieloszczeblowym systemie dystrybucji. Wybrane Zagadnienia Logistyki Stosowanej. Wydawnictwa AGH, Kraków 2009. Michlowicz E.: Optymalizacja zadaĔ operatora logistycznego. Logistyka nr 3/2009. Michlowicz E.: Transportation − Production Task Pertaining to Waste Disposal with Use of Cost Convex Function. Polish Journal of Environmental Studies. Vol. 18, No. 3A, 2009. Hard Publishing Comp., Olsztyn 2009. Sikora W.: Badania operacyjne. PWE, Warszawa 2008. Sysło M.M., Deo N., Kowalik J.S.: Algorytmy optymalizacji dyskretnej.PWN, Warszawa 1995. Waters D.: Zarządzanie operacyjne: towary i usługi. PWN, Warszawa 2001. TRAVELING SALESMAN PROBLEM FOR A NUMBER OF DISTRIBUTION CENTERS Abstract The problem of allocation tasks in a typical transport issue is not useful for medium-sized transport companies operating multiple distribution centers. The bagman problem affects only the selected companies. The combination of both of these issues can bring many benefits. This paper proposes a solution to the problem using the evolutionary algorithm. Key words: travelling salesperson problem, distribution center Recenzent: Marianna Jacyna