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