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

Podobne dokumenty