Wybrane aspekty zastosowania algorytmu genetycznego do

Transkrypt

Wybrane aspekty zastosowania algorytmu genetycznego do
PRACE NAUKOWE POLITECHNIKI WARSZAWSKIEJ
z. 97
Transport
2013
Mariusz Izdebski, Marianna Jacyna
Politechnika Warszawska, Wydzia Transportu
WYBRANE ASPEKTY ZASTOSOWANIA
ALGORYTMU GENETYCZNEGO DO
ROZWIZYWANIA PROBLEMU PRZYDZIAU
ZADA DO ZASOBÓW W PRZEDSIBIORSTWIE
TRANSPORTOWYM
Rkopis dostarczono, maj 2013
Streszczenie: W artykule opisano problem przydziau zada do zasobów w przedsibiorstwie
transportowym. Wyznaczono model matematyczny systemu transportowego uwzgldniajcy przydzia
pojazdów do danych zada transportowych. Przedstawiono etapy tworzenia algorytmu genetycznego
rozwizujcego problem przydziau.
Sowa kluczowe: algorytm genetyczny, przydzia zasobów do zada, optymalizacja
1. WPROWADZENIE
W dobie duej konkurencji na rynku transportowym narzucane s wysokie wymagania
klientów w stosunku do realizatorów usug transportowych, czyli przedsibiorstw
transportowych. Gówne czynniki wpywajce na jako wykonywanych zada to:
szybko wykonywania zlece, terminowo, punktualno. Wszystkie te czynniki
decyduj o jakoci usugi transportowej a tym samym podnosz rang danego
przedsibiorstwa. Jednym z gównych problemów borykajcych przedsibiorstwa,
wpywajcych na jako wykonywanych usug jest problem przydziau posiadanych zada
do zasobów. Klasyczne zagadnienie przydziau szeroko opisane w literaturze jest
problemem optymalizacji liniowej dyskretnej[4], problem przydziau w przedsibiorstwie
transportowym zawiera dodatkowo ograniczenia czasowe oraz adownociowe pojazdu.
W literaturze problemu przydzia zada do zasobów w przedsibiorstwie transportowym
ukazany jest pod ktem wyznaczania harmonogramu pracy kierowców [5][8], czyli wybór
kierowców do danego zadania na dany dzie roboczy.
W przedstawionej pracy problem przydziau zosta ukazany pod ktem wyznaczania
tras pojazdów. Trasa skada si z realizowanych zada, a problem przydziau polega na
184
Mariusz Izdebski, Marianna Jacyna
takim skierowaniu pojazdu koczcego realizacj biecego zadania do nastpnego, aby
caa trasa bya zrealizowana minimalnym kosztem.
Problematyka przydziau zada do zasobów w przedsibiorstwie transportowym jest
zoonym problemem decyzyjnym. Podyktowane jest to rónorodnoci czynników, które
naley uwzgldni. Moemy do nich zaliczy m.in. czas wykonania zada, dobowy czas
pracy kierowców, koszty realizacji zadania, liczba posiadanych rodków transportu
okrelonego typu, itp. Wpyw na to ma równie charakter przedsibiorstwa oraz rodzaj
wykonywanych zada.
W celu rozwizania problemu przydziau zada w przedsibiorstwie transportowym
skonstruowano algorytm genetyczny wyznaczajcy kolejno zada realizowanych przez
pojazdy w danej trasie przewozowej. Kolejno ta zasadniczo wpywa na dugo caej
trasy i warto funkcji celu.
2. ZDEFINIOWANIE PROBLEMU PRZYDZIAU
W PRZEDSIBIORSTWIE TRANSPORTOWYM
Problem badawczy dotyczy przedsibiorstwa transportowego zajmujcego si
przewozem adunków. Zadanie transportowe w takim przedsibiorstwie moemy
zdefiniowa jako pobranie towaru z miejsca zaadunku i przetransportowanie go do punktu
wyadunku. Na zadanie transportowe narzucone s ograniczenia w postaci okien
czasowych na odbiór, przywóz adunku oraz podana jest ilo przewoonego towaru. Na
problem przydziau wpywaj ponadto ograniczenia czasu pracy i jazdy kierowcy. W
czasie realizacji zada transportowych moment przydziau wystpuje w punkcie, w którym
pojazd koczcy realizacj zadania ma dwie moliwoci, albo zacz realizacj nastpnego
zadania albo powróci do bazy. Zaczcie kolejnego zadania uzalenione jest od ogranicze
czasu jazdy i pracy kierowcy, adownoci pojazdu oraz okien czasowych dostaw i
odbiorów. Problem przydziau w przedsibiorstwie transportowym polega na skierowaniu
pojazdów koczcych realizacj biecych zada do nastpnych zada w taki sposób, aby
caa wygenerowana trasa przewozowa bya minimalna. Nie zawsze przydzia do
nastpnych zada jest moliwy, ze wzgldu na realizacje zada nachodzcych na siebie
(zadania realizowane s równoczenie) oraz godzina zakoczenia biecego zadania jest
wiksza od godziny rozpoczcia zadania niezrealizowanego. Naley bra pod uwag te
czas dojazdu midzy zadaniami, który wpywa na zaistnienie przydziau. Zadania mog
rozpoczyna si i koczy o tej samej porze, wic nie ma moliwoci w takich
przypadkach przydziau do nastpnych zada. Róne kombinacje czasowe decyduj o
moliwoci przydziau do nastpnych zada i nie zawsze jest to proste do wykonania.
Nieekonomiczne i nieracjonalne jest to, aby jeden pojazd wykonywa jedno zadanie i
wraca do bazy. Dy si wic do tworzenia tras wielozadaniowych i w tym momencie
przydzia decyduje o dugoci a tym samym koszcie realizacji caej trasy (Rys.1).
Wybrane aspekty zastosowania algorytmu genetycznego do rozwizywania problemu…
185
Rys.1. Przykad tras przewozowych z uwzgldnieniem przydziau pojazdów do zada
w przedsibiorstwie transportowym: PZ – punkt zaadunku, PW – punkt wyadunku
_ródo: opracowanie wasne.
3. MATEMATYCZNE SFORMUOWANIE SYSTEMU
TRANSPORTOWEGO
Przedstawiony zapis problemu jest rozwiniciem problemu przydziau przedstawionego
w pracy [2]. Funkcja kryterium minimalizuje cakowity koszt realizacji wszystkich zada,
uwzgldniajc dodatkowo koszty pracy kierowców, oraz koszty uytkowania pojazdu.
Wprowadzono dodatkowo zmienne decyzyjne wyznaczajce poczenie: baza –
zadanie, oraz zadanie – baza w celu okrelenia minimalnego kosztu realizacji wszystkich
tras przewozowych.
Do przedstawienia funkcji kryterium oraz ogranicze scharakteryzowane s nastpujce
dane [3]:
x ࢃࢆ – zbiór numerów punktów zaadunkowych, ࢃࢆ ൌ ሼͳǡ ǥ ǡ ݅ǡ ǥ ǡ ܹ ௭ ሽ,݅ –
kolejny element zbioru ࢃࢆ ,
x ࢃࢃ – zbiór numerów punktów wyadunkowych, ࢃࢃ ൌ ሼͳǡ ǥ ǡ ݆ǡ ǥ ǡ ܹ ௪ ሽ,݆ –
kolejny element zbioru ࢃࢃ , gdzie ǡ ܹ ௭ ൌ ܹ ௪ .
x ࢃ࡮ – zbiór numerów baz transportowych, ࢃ࡮ ൌ ሼͳǡ ǥ ǡ ܾǡ ǥ ǡ ܹ ௕௔ ሽ, ܾ – kolejny
element zbioru ࢃ࡮ ,
x ࡼ - zbiór numerów pojazdów, ࡼ ൌ ሼͳǡ ǥ ǡ ‫݌‬ǡ ǥ ǡ ܲሽ, ‫ ݌‬- kolejny pojazd zbioru ࡼǡ
x ࡺ - zbiór numerów kierowców ࡺ ൌ ሼͳǡ ǥ ǡ ݊ǡ ǥ ǡ ܰሽ, ݊ -kolejny kierowca zbioru ࡺǡ
x ࢃ ൌ ሾ‫ݓ‬ሺ݆ǡ ݅ሻሿ െmacierz odlegoci midzy ݆- tym punktem wyadunku a ݅ - tym
punktem zaadunku,
186
Mariusz Izdebski, Marianna Jacyna
ࢃࢆ ൌ ሾ‫ݖݓ‬ሺ݅ǡ ݆ሻሿ െmacierz odlegoci midzy ݅ - tym punktem zaadunku a ݆- tym
punktem wyadunku, x ࡮ࢆ ൌ ሾܾ‫ݖ‬ሺܾǡ ݅ሻሿ െ macierz odlegoci midzy ܾ - t baz a ݅ - tym punktem
zaadunku,
x ࢃ࡮ ൌ ሾ‫ܾݓ‬ሺ݆ǡ ܾሻሿ െ macierz odlegoci midzy ݆- tym punktem wyadunku a ܾ - t
baz,
x ࢀ૚ ൌ ൣ‫ͳݐ‬൫‫݌‬ǡ ݊ሺ݅ǡ ݆ሻ൯൧ െmacierz oczekiwanych czasów jazdy midzy ݅ - tym
punktem zaadunku a ݆- tym punktem wyadunku dla ‫ ݌‬- tego pojazdu i ݊ - tego
kierowcy,
x ࢀ૛ ൌ ൣ‫ʹݐ‬൫‫݌‬ǡ ݊ሺ݆ǡ ݅ሻ൯൧ െ macierz oczekiwanych czasów jazdy midzy ݆- tym
punktem wyadunku a ݅ - tym punktem zaadunku dla ‫ ݌‬- tego pojazdu i ݊ - tego
kierowcy,
x ࢀ૜ ൌ ൣ‫͵ݐ‬൫‫݌‬ǡ ݊ሺܾǡ ݅ሻ൯൧ െ macierz oczekiwanych czasów jazdy midzy ܾ - t baz
a ݅ - tym punktem zaadunku dla ‫ ݌‬- tego pojazdu i ݊ - tego kierowcy,
x ࢀ૝ ൌ ൣ‫ݐ‬Ͷ൫‫݌‬ǡ ݊ሺ݆ǡ ܾሻ൯൧ െ macierz oczekiwanych czasów jazdy midzy ݆- tym
punktem wyadunku a ܾ - t baz dla ‫ ݌‬- tego pojazdu i ݊ - tego kierowcy,
x ࢀૠ ൌ ሾ‫ݐ‬͹ሺ‫݌‬ǡ ݊ǡ ݅ሻሿ െ wektor oczekiwanych czasów zaadunku pojazdu w ݅ - tym
punkcie zaadunkowym dla ‫ ݌‬- tego pojazdu i ݊ - tego kierowcy ,
x ࢀૡ ൌ ሾ‫ݐ‬ͺሺ‫݌‬ǡ ݊ǡ ݆ሻሿ െ wektor oczekiwanych czasów rozadunku pojazdu w ݆ - tym
punkcie rozadunkowym dla ‫ ݌‬- tego pojazdu i ݊ - tego kierowcy,
x ࢀ૞ ൌ ሾ‫ݐ‬ͷሺ‫݌‬ǡ ݊ǡ ݅ሻሿ െ oczekiwana godzina zaadunku ‫ ݌‬- tego pojazdu i ݊ - tego
kierowcy w ݅ - tym punkcie zaadunkowym ,
x ࢀ૟ ൌ ሾ‫ݐ‬͸ሺ‫݌‬ǡ ݊ǡ ݆ሻሿ െ oczekiwana godzina wyadunku ‫ ݌‬- tego pojazdu i ݊ - tego
kierowcy w ݆ - tym punkcie rozadunkowym,
x ܶ ௢ௗ௣ - ustawowy czas odpoczynku w trasie,
x ሺܽ௜ ǡ ܾ௜ ሻ െ okno czasowe ݅ - tego punktu zaadunku,
x (ܽ௝ ǡ ܾ௝ ሻ െ okno czasowe j - tego punktu wyadunkowego,
x ݇ ௣ െ koszt jednostkowy uytkowania ‫ ݌‬- tego pojazdu na jednostk drogi,
x ݇ ௡ െ koszt jednostkowy czasu pracy ݊ - tego kierowcy,
x ߠሺ݅ሻ െ wielko zadania w ݅- tym punkcje zaadunkowym,
x ߮ͳሺ‫݌‬ሻ െ adownoci ‫ ݌‬- tego pojazdu, x ܶ ௗ௢௣ െdopuszczalny czas jazdy kierowcy,
x ܶ ௗ௢௣ଵ െdopuszczalny czas pracy kierowcy,
x ‫ݓݖݔ‬൫‫݌‬ǡ ݊ǡ ሺ݅ǡ ݆ሻ൯ – macierz binarna okrelajca drog midzy ݅ - tym punktem
zaadunkowym a ݆ - tym punktem wyadunkowym ‫ ݌‬- tego pojazdu i ݊ - tego
kierowcy.
Dla przedstawionych danych naley wyznaczy binarn zmienn decyzyjn przydziau:
࢞൫࢖ǡ ࢔ǡ ሺ࢐ǡ ࢏ሻ൯ okrelajc drog midzy punktem wyadunkowym biecego zadania
a punktem zaadunkowym nastpnego zadania, oraz zmienne pomocnicze tworzce tras
przewozow: ࢞࢈ࢠ൫࢖ǡ ࢔ǡ ሺ࢈ǡ ࢏ሻ൯ǡ zmienna okrelajca drog midzy baz a punktem
zaadunku pierwszego zadania, oraz ࢞࢝࢈൫࢖ǡ ࢔ǡ ሺ࢐ǡ ࢈ሻ൯, zmienna okrelajca drog midzy
punktem wyadunkowym ostatniego zadania realizowanego w jednej trasie a baz gdzie:
x
Wybrane aspekty zastosowania algorytmu genetycznego do rozwizywania problemu …
࢞൫࢖ǡ ࢔ǡ ሺ࢐ǡ ࢏ሻ൯ ൌ ൜
187
ͳ െ †”‘‰ƒœሺ݆ሻ†‘ሺ݅ሻ”‡ƒŽ‹œ‘™ƒƒ’”œ‡œ‫ ݌‬െ ‫ ‹†œƒŒ‘’ݕݐ‬െ –‡‰‘‹‡”‘™…¸
Ͳ െ ™’”œ‡…‹™›’”œ›’ƒ†—
࢞࢈ࢠ൫࢖ǡ ࢔ǡ ሺ࢈ǡ ࢏ሻ൯ ൌ ൜
(1)
ͳ െ †”‘‰ƒœሺܾሻ†‘ሺ݅ሻ”‡ƒŽ‹œ‘™ƒƒ’”œ‡œ‫ ݌‬െ ‫ ‹†œƒŒ‘’ݕݐ‬െ –‡‰‘‹‡”‘™…¸
Ͳ െ ™’”œ‡…‹™›’”œ›’ƒ†—
ͳ െ †”‘‰ƒœሺ݆ሻ†‘ሺܾሻ”‡ƒŽ‹œ‘™ƒƒ’”œ‡œ‫ ݌‬െ ‫ ‹†œƒŒ‘’ݕݐ‬െ –‡‰‘‹‡”‘™…¸
࢞࢝࢈൫࢖ǡ ࢔ǡ ሺ࢐ǡ ࢈ሻ൯ ൌ ൜
Ͳ െ ™’”œ‡…‹™›’”œ›’ƒ†—
(2)
(3)
dla których funkcja kryterium przyjmuje minimum:
¦ ¦ ¦ ¦ ª¬ k
F X , XBZ , XWB ¦ ¦ ¦ ¦ ª¬ k
pP nN jW
jW
Z
jW
Z
W
pP nN jW
¦ ¦
Z
jW
Z
jW
Z
bW
B
jW
pP nN iW
pP nN iW
n
n
B
n
W
jW
jW
n
W
¦ ¦ ¦ ¦ ª¬k
Z
n
W
¦ ¦ ¦ ¦ ª¬k
Z
B
W
¦ ¦ ª¬ k
pP nN bW
bW
¦ ¦ ¦ ¦ ª¬k
pP nN iW
jW
W
¦ ¦ ¦ ¦ ª¬k
pP nN iW
Z
W
˜ xbz p, n, b, i ˜ xzw p, n i, j ˜ wz i, j º¼
˜ xwb p, n, j , b ˜ t 4 p, n, j , b º¼
n
B
¦ ¦ ¦ ¦ ª¬k
pP nN iW
bW
p
˜ xbz p, n, b, i ˜ t 3 p, n, b, i º¼
n
Z
¦ ¦ ¦ ¦ ¦ ª¬ k
pP nN iW
W
˜ xbz p, n, b, i ˜ bz b, i º¼
˜ x p, n, j , i ˜ w j , i º¼
p
¦ ¦ ¦ ¦ ª¬ k
p
˜ x p, n, j , i ˜ xzw p, n i, j ˜ wz i, j º¼
p
Z
¦ ¦ ¦ ¦ ª¬k
pP nN bW iW
bW
iW
Z
˜ xwb p, n, j , b ˜ wb j , b º¼
B
W
iW
B
W
¦ ¦ ¦ ¦ ª¬k
pP nN jW
bW
p
B
¦ ¦ ¦ ¦ ª¬k
pP nN iW
W
¦ ¦ ¦ ¦ ¦ ª¬ k
pP nN iW
pP nN bW
B
n
n
˜ xbz p, n, b, i ˜ xzw p, n i, j ˜ t1 p, n, i, j º¼
˜ x p, n, j , i ˜ xzw p, n, i, j ˜ t1 p, n, i, j º¼
˜ x p, n, j , i ˜ t 2 p, n, j , i º¼
˜ xbz p, n, b, i ˜ t 7 p, n, i º¼
˜ xwb p, n, j , b ˜ t 8 p, n, j º¼
˜ x p, n, j , i ˜ t 8 p, n, j º¼
˜ x p, n, j , i ˜ t 7 p, n, i º¼ 
o min
(4)
188
Mariusz Izdebski, Marianna Jacyna
Ograniczenia przyjmuj posta:
x Ograniczenie przydziau do nastpnych zada:
‫ࡼ א ݌׊‬ǡ ݅ ‫ ࢆࢃ א‬ǡ ݆ ‫ ࢃࢃ א‬ǡ ݊ ‫ࡺ א‬
‫ݐ‬͸ሺ‫݌‬ǡ ݊ǡ ݆ሻ ൅ ‫ݐ‬ͺሺ‫݌‬ǡ ݊ǡ ݆ሻ ൅ ‫ݔ‬൫‫݌‬ǡ ݊ǡ ሺ݆ǡ ݅ሻ൯ ȉ ‫ʹݐ‬൫‫݌‬ǡ ݊ǡ ሺ݆ǡ ݅ሻ൯ ൅ ܶ ௢ௗ௣ ൑ ܾ௜
ቊ
‫ݐ‬͸ሺ‫݌‬ǡ ݊ǡ ݆ሻ ൅ ‫ݐ‬ͺሺ‫݌‬ǡ ݊ǡ ݆ሻ ൅ ‫ݔ‬൫‫݌‬ǡ ݊ǡ ሺ݆ǡ ݅ሻ൯ ȉ ‫ʹݐ‬൫‫݌‬ǡ ݊ǡ ሺ݆ǡ ݅ሻ൯ ൅ ܶ ௢ௗ௣ ൒ ܽ௜
(5)
Przydzia do nastpnych zada uzaleniony jest od godziny rozadunku, od czasu
rozadunku, od czasu dojazdu do nastpnych zada oraz ewentualnego odpoczynku
kierowcy w czasie jazdy. Otrzymana godzina powinna mieci si w oknie czasowym
odpowiednim dla danego punktu zaadunkowego kolejnego zadania.
x
Ograniczenie czasu jazdy kierowcy:
‫ࡼ א ݌׊‬ǡ ݅ ‫ ࢆࢃ א‬ǡ ݆ ‫ ࢃࢃ א‬ǡ ݊ ‫ࡺ א‬,b‫ ࡮ࢃא‬
‫ݖܾݔ‬൫‫݌‬ǡ ݊ǡ ሺܾǡ ݅ሻ൯ ȉ ‫͵ݐ‬൫‫݌‬ǡ ݊ǡ ሺܾǡ ݅ሻ൯ ൅ ‫ݖܾݔ‬൫‫݌‬ǡ ݊ǡ ሺܾǡ ݅ሻ൯ ȉ ‫ݓݖݔ‬൫‫݌‬ǡ ݊ǡ ሺ݅ǡ ݆ሻ൯ ȉ ‫ͳݐ‬൫‫݌‬ǡ ݊ǡ ሺ݅ǡ ݆ሻ൯
൅ ෍ ෍ ൣ‫ݔ‬൫‫݌‬ǡ ݊ǡ ሺ݆ǡ ݅ሻ൯ ȉ ‫ݓݖݔ‬൫‫݌‬ǡ ݊ǡ ሺ݅ǡ ݆ሻ൯ ȉ ‫ͳݐ‬൫‫݌‬ǡ ݊ǡ ሺ݅ǡ ݆ሻ൯൧
௜‫ ࢆࢃא‬௝‫ࢃࢃא‬
൅ ෍ ෍ ‫ݔ‬൫‫݌‬ǡ ݊ǡ ሺ݆ǡ ݅ሻ൯ ȉ ‫ʹݐ‬൫‫݌‬ǡ ݊ǡ ሺ݆ǡ ݅ሻ൯ ൅ ‫ܾݓݔ‬൫‫݌‬ǡ ݊ǡ ሺ݆ǡ ܾሻ൯ ȉ ‫ݐ‬Ͷ൫‫݌‬ǡ ሺ݆ǡ ܾሻ൯ ൑ ܶ ௗ௢௣ଵ ௜‫ ࢆࢃא‬௝‫ࢃࢃא‬
(6)
Czas jazdy kierowcy to czas przejazdu z bazy do punktu zaadunku pierwszego zadania,
suma czasów jazdy w kolejnych zadaniach, suma czasów dojazdów do nastpnych zada,
czas powrotu do bazy.
x
Ograniczenie czasu pracy kierowcy:
‫ࡼ א ݌׊‬ǡ ݅ ‫ ࢆࢃ א‬ǡ ݆ ‫ ࢃࢃ א‬ǡ ݊ ‫ࡺ א‬ǡ „ ‫ ࡮ࢃ א‬
‫ݖܾݔ‬൫‫݌‬ǡ ݊ǡ ሺܾǡ ݅ሻ൯ ȉ ‫͵ݐ‬൫‫݌‬ǡ ݊ǡ ሺܾǡ ݅ሻ൯ ൅ ‫ݖܾݔ‬൫‫݌‬ǡ ݊ǡ ሺܾǡ ݅ሻ൯ ȉ ‫ݐ‬͹ሺ‫݌‬ǡ ݊ǡ ݅ሻ ൅ ෍ ෍ ‫ݔ‬൫‫݌‬ǡ ݊ǡ ሺ݆ǡ ݅ሻ൯ ȉ ‫ݐ‬͹ሺ‫݌‬ǡ ݊ǡ ݅ሻ
௜‫ ࢆࢃא‬௝‫ࢃࢃא‬
൅ ‫ݖܾݔ‬൫‫݌‬ǡ ݊ǡ ሺܾǡ ݅ሻ൯ ȉ ‫ݓݖݔ‬൫‫݌‬ǡ ݊ǡ ሺ݅ǡ ݆ሻ൯ ȉ ‫ͳݐ‬൫‫݌‬ǡ ݊ǡ ሺ݅ǡ ݆ሻ൯
൅ ෍ ෍ ൣ‫ݔ‬൫‫݌‬ǡ ݊ǡ ሺ݆ǡ ݅ሻ൯ ȉ ‫ݓݖݔ‬൫‫݌‬ǡ ݊ǡ ሺ݅ǡ ݆ሻ൯ ȉ ‫ͳݐ‬൫‫݌‬ǡ ݊ǡ ሺ݅ǡ ݆ሻ൯൧
௜‫ ࢆࢃא‬௝‫ࢃࢃא‬
൅ ෍ ෍ ‫ݔ‬൫‫݌‬ǡ ݊ǡ ሺ݆ǡ ݅ሻ൯ ȉ ‫ʹݐ‬൫‫݌‬ǡ ݊ǡ ሺ݆ǡ ݅ሻ൯ ൅ ෍ ෍ ‫ݔ‬൫‫݌‬ǡ ݊ǡ ሺ݆ǡ ݅ሻ൯ ȉ ‫ݐ‬ͺሺ‫݌‬ǡ ݊ǡ ݆ሻ
௜‫ ࢆࢃא‬௝‫ࢃࢃא‬
௜‫ ࢆࢃא‬௝‫ࢃࢃא‬
൅ ‫ܾݓݔ‬൫‫݌‬ǡ ݊ǡ ሺ݆ǡ ܾሻ൯ ȉ ‫ݐ‬ͺሺ‫݌‬ǡ ݊ǡ ݆ሻ ൅ ‫ܾݓݔ‬൫‫݌‬ǡ ݊ǡ ሺ݆ǡ ܾሻ൯ ȉ ‫ݐ‬Ͷ൫‫݌‬ǡ ሺ݆ǡ ܾሻ൯ ൑ ܶ ௗ௢௣ (7)
Czas pracy kierowcy to czas dojazdu do zada, czas oczekiwania na zaadunek i
rozadunek adunku, czas realizacji zada oraz czas powrotu do bazy.
Wybrane aspekty zastosowania algorytmu genetycznego do rozwizywania problemu …
x
189
Ograniczenie adownoci pojazdu, gdzie adowno pojazdu ma by wiksza od
zleconego zadania :
‫ࡼ א ݌׊‬ǡ ݅ ‫ ࢆࢃ א‬ǡ ݆ ‫ ࢃࢃ א‬ǡ ݊ ‫ࡺ א‬
‫ݓݖݔ‬൫‫݌‬ǡ ݊ǡ ሺ݅ǡ ݆ሻ൯ ȉ ߠሺ݅ሻ ൑ ߮ͳሺ‫݌‬ሻ
(8)
4. ETAPY ALGORYTMU GENETYCZNEGO PROBLEMU
PRZYDZIAU
Algorytmy genetyczne s algorytmami opierajcymi swoje dziaanie na mechanizmach
doboru naturalnego oraz dziedzicznoci. Znalazy zastosowanie jako funkcjonalne i
praktyczne narzdzie optymalizacyjne[1]. Podstawowe zalety algorytmów genetycznych
dominujce nad innymi metodami optymalizacyjnymi to prowadzenie poszukiwania
punktu optymalnego nie z pojedynczego miejsca w paszczy
nie przeszukiwa lecz z kilku
punktów ustalonych przez dan populacj osobników oraz bazowanie na informacjach
wyznaczonych przez funkcj celu a nie pochodne. Bazowanie na wartociach funkcji celu
jest cenn zalet algorytmów genetycznych. Funkcja celu dostarcza nam wartoci, dziki
którym algorytm genetyczny znajduje rozwizanie dopuszczalne i zadowalajce z punktu
widzenia problemu. Naley zaznaczy, i algorytm genetyczny naley do metod
heurystycznych. Metody tego typu daj rozwizania zblione do optymalnych, mog
znale
optymalne, ale czsto poprzestaj na rozwizaniach optymalnych w lokalnym
obszarze przeszukiwania. Mimo tych niedogodnoci algorytmy genetyczne z
powodzeniem stosuje si w problemach optymalizacyjnych.
Podstawowymi elementami algorytmu genetycznego s:
x chromosom – cig danych np. cig bitowy, cig cakowitoliczbowy, macierz zero –
jedynkowa, lub macierz licz cakowitych.
x populacja pocztkowa – zbiór losowych chromosomów pocztkowych.
x gen – pojedynczy element chromosomu.
x funkcja przystosowania – funkcja celu okrelajca warto pojedynczego
chromosomu.
x pula rodzicielska – populacja osobników po selekcji wybrana do reprodukcji,
populacja osobników o najlepszych funkcjach przystosowania.
x pokolenie – nowo utworzona populacja osobników uwzgldniajca wszystkie
operatory genetyczne.
Zasada dziaania klasycznego algorytmu genetycznego polega na wylosowaniu
populacji pocztkowej a nastpnie powtarzaniu trzech podstawowych operacji: selekcji,
krzyowania i mutacji a do momentu z góry okrelonego przez algorytm, bd
do
momentu braku jakichkolwiek zmian w polepszaniu rozwiza dopuszczalnych.
Badacze algorytmów genetycznych stosowali róne metody selekcji [1],[6] np. wybór
losowy z powtórzeniami, bez powtórze, turnieje losowe. Opisane s metody klasyczne
190
Mariusz Izdebski, Marianna Jacyna
krzyowania osobników, czyli oparte na krzyowaniu osobników przedstawionych jako
cig zero – jedynkowy, metody krzyujce osobniki reprezentujce populacj pocztkowa
inn ni binarn np. cakowitoliczbow. Operacja mutacji te jest czynnoci zalena od
rozpatrywanego problemu i nie zdefiniowan jednoznacznie.
W pracy zastosowano podstawowe operatory genetyczne odpowiednie do zastosowanej
struktury danych wejciowych. Do selekcji uyto metody ruletkowej, operator
krzyowania zastosowano odpowiedni do krzyowania cigów permutacyjnych liczb
cakowitoliczbowych (PMX), za mutacji dokonano na zasadzie zamiany miejscami dwóch
wartoci z chromosomu macierzystego. Wprowadzono dodatkowo operator inwersji, jako
operator zmiany ustawienia cigów.
Algorytm genetyczny problemu przydziau skada si z nastpujcych etapów:
x Etap 1 – Okrelenie struktury danych przetwarzanych przez algorytm.
x Etap 2 – Reprodukcja osobników uzaleniona od funkcji przystosowania.
x Etap 3 – Krzyowanie osobników wybranych losowo z puli rodzicielskiej.
x Etap 4 – Mutacja osobników.
x Etap 5 – Inwersja.
Etapy algorytmu genetycznego powtarzane s do momentu osignicia warunku stopu.
Warunkiem stopu w algorytmie przydziau jest z góry ustalona ilo pokole (iteracji).
4.1. OKRELENIE STRUKTURY DANYCH PRZETWARZANYCH
PRZEZ ALGORYTM
Podstawow struktur danych wejciowych dla klasycznego algorytmu genetycznego
jest cig zero- jedynkowy. Do reprezentowania chromosomu w problemie przydziau
zastosowano cig liczb naturalnych. Taka struktura danych wejciowych z powodzeniem
sprawdza si w podobnych zagadnieniach, gdzie zastosowanie cigów zero – jedynkowych
znacznie utrudnia dziaanie algorytmu genetycznego np. w problemie komiwojaera [7].
Algorytm genetyczny nie pracuje bezporednio na zmiennych decyzyjnych funkcji celu,
ale na zakodowanych postaciach tych zmiennych. W celu zakodowania zmiennych funkcji
celu w odpowiedni struktur i stworzenie chromosomu jako reprezentanta rozwizania
dopuszczalnego naley problem przydziau zdefiniowa jako wyznaczenie odpowiedniej
permutacji zada i baz, aby ich ustawienie wygenerowao minimaln warto funkcji celu,
czyli w naszym przypadku minimalny koszt realizacji wszystkich zada. Ograniczenia
czasowe powoduj, i nie zawsze jest to moliwe, aby wszystkie zadania zostay
zrealizowane w jednej trasie przewozowej, moe wystpi kilka tras realizowanych przez
róne pojazdy. Dlatego do chromosomu wprowadza si bazy uwzgldniajce wystpienie
wicej ni jednej trasy przewozowej. Zadaniem algorytmu genetycznego jest wanie
wyszukanie najlepszego ustawienia zada i baz poprzez optymalizacje funkcji
przystosowania. Struktur danych odpowiedni do przetwarzania przez algorytm
genetyczny okrelimy jako cig skadajcy si z ݊ realizowanych zada i ݇ baz. Cakowita
dugo chromosomu przy uwzgldnieniu jednej bazy transportowej toʹ݊ ൅ ͳ genów. Dla
݇ ൐ ͳ wzór na maksymaln dugo chromosomu przybiera posta ͵݊. Maksymalna
Wybrane aspekty zastosowania algorytmu genetycznego do rozwizywania problemu …
191
dugo chromosomu narzucona jest sytuacj w której jeden pojazd realizuje tylko jedno
zadanie i wraca do bazy, wic dla
odstpy midzy zadaniami uwzgldniaj
pojedynczy gen okrelajcy baz, który jest zarówno punktem startowym i kocowym
realizowanych tras (Rys. 2b). Dla
odstpy midzy zadaniami uwzgldniaj dwa
geny okrelajce usytuowanie baz, który jeden jest punktem kocowym realizowanej trasy
a drugi punktem pocztkowym nastpnej trasy ( Rys. 2c).
Kady chromosom jest reprezentantem trasy, lub tras przewozowych. Ilo tras
zawartych w chromosomie zaley od ogranicze, które decyduj o tym, czy wszystkie
zadania zostan zrealizowane w jednej czy wielu trasach. Kada trasa rozpoczyna si i
koczy w bazie. Dlatego genem pocztkowym i kocowym chromosomu jest zawsze baza.
W celu rozrónienia baz w chromosomie naley oznaczy je indeksami. Baza jedno
indeksowa rozpoczyna i koczy chromosom. Drugi indeks jest wprowadzony tylko i
wycznie dla rozrónienia lokalizacji baz wewntrz chromosomu. Takie oznaczenie baz
wprowadza si w celu wykonania procesu krzyowania. Fizycznie baza z pojedynczym
indeksem oznacza to sam baz z indeksem podwójnym np. baza o numerze
.
Rys. 2. Wyznaczanie maksymalnej wielkoci chromosomu dla n = 6 zada: a) ilo zada do
zrealizowania, b) maksymalny chromosom uwzgldniajcy k = 1 baz, d) maksymalny chromosom
uwzgldniajcy k = 2 baz c) losowe ustawienie genów w chromosomie dla k = 1
_ródo: opracowanie wasne.
4.2. REPRODUKCJA OSOBNIKÓW
Operacja reprodukcji (selekcji) polega na powieleniu cigów kodowych zalenie od
wartoci funkcji przystosowania. Cigi kodowe o wyszej funkcji przystosowania maj
wiksze prawdopodobiestwo wprowadzenia do nastpnego pokolenia swoich kopii,
zgodnie z analogi do darwinowskiej zasady doboru naturalnego, zgodnie z któr
przeywaj najlepiej przystosowani. Istnieje wiele algorytmów realizujcych operacje
reprodukcji np. turniejowa, ruletki, gdzie w kadym pokoleniu oceniane s wszystkie
chromosomy w zalenoci od funkcji przystosowania a nastpnie wybierane s do kolejnej
populacji.
W procesie selekcji uyto tzw. metody ruletki opartej na wyborze nowej populacji
zgodnie z rozkadem prawdopodobiestwa okrelonym na wartociach funkcji
dopasowania.
Proces selekcji skada si z nastpujcych etapów:
192
Mariusz Izdebski, Marianna Jacyna
x Obliczenie wartoci funkcji przystosowania dla pojedynczego chromosomu െ‫ܨ‬௟ .
x Obliczenie cakowitego przystosowania populacji, gdzie ݉ jest licznoci populacji:
‫ܨ‬௧௢௧ ൌ σ௠
௟ୀଵ ‫ܨ‬௟ (9)
x Obliczenie prawdopodobiestwa wyboru ݈ – tego chromosomu:
‫݌‬௟ ൌ
ி೗
ி೟೚೟
(10)
x Obliczenie dystrybuanty ݈ - tego chromosomu:
‫ݍ‬௟ ൌ σ௟௦ୀଵ ‫݌‬௦ (11)
Wybór chromosomu do nastpnej populacji polega na wygenerowaniu liczby losowej ‫ݎ‬
z przedziau [0,1], wybieramy chromosom ݈ – ty o wartoci dystrybuanty ‫ݍ‬௟ speniajcy
zaleno ‫ݍ‬௟ିଵ ൏ ‫ ݎ‬൑ ‫ݍ‬௟ .
4.3. KRZYOWANIE OSOBNIKÓW
Do operacji krzyowania wybrano operator dziaajcy na strukturze danych rónej ni
struktura cigów bitowych tj.: krzyowanie z czciowym odwzorowaniem (PMX).
Krzyowanie PMX jest jednym z typów krzyowa stosowanych w zadaniach o
reprezentacji permutacyjnej, midzy innymi zostao zastosowane w problemie
komiwojaera[7], gdzie struktura danych jest zbliona do struktury danych uytych w
problemie przydziau. Chromosom w obydwu problemach przedstawiony jest jako cig
losowo wybranych liczb naturalnych. Krzyowanie PMX polega na losowym dobraniu
dwóch osobników w pary, losowym wyborze dwóch punktów krzyowania oraz wymianie
wartoci genów wskazanych przez podcig utworzony z wyznaczonych punktów
krzyowania. Bazy s oznaczone indeksami w celu ich rozrónienia w procesie
krzyowania. W procesie krzyowania geny z jednego podcigu przypisywane s genom z
drugiego. Moe si zdarzy, i w wyniku takiego krzyowania gen pocztkowy lub
kocowy zmieni si z bazy na zadanie, co jest niedopuszczalne. W celu uniknicia takiej
sytuacji naley odróni baz rozpoczynajc i koczc chromosom od baz wewntrz
chromosomu poprzez wprowadzenie indeksów jedno i dwu elementowych. Proces
krzyowania PMX przedstawia Rys.3.
Wybrane aspekty zastosowania algorytmu genetycznego do rozwizywania problemu …
193
Rys. 3. Krzyowanie PMX: a) chromosomy do krzyowania, b) wymiana genów c) chromosomy
po krzyowaniu. _ródo: opracowanie wasne.
4.4. MUTACJA INWERSJA
Mutacja polega na zmianie miejscami dwóch wylosowanych zada. Zasada mutacji
przedstawiona jest na Rys.4.
Rys. 4. Zastosowanie operatora mutacji. _ródo: opracowanie wasne.
W celu zmiany uporzdkowania kolejnoci zada zastosowano operator inwersji
prostej. Pocztkowym etapem inwersji jest wylosowanie dwóch punktów w chromosomie
w wyniku których powstaje podcig zada gotowych do zmiany a nastpnie odwracane s
kolejnoci zada w tyme podcigu. Zasada inwersji przedstawiona jest na Rys. 5.
Operatory mutacji i inwersji maj za zadanie dodatkowo zwikszy przestrze
poszukiwa algorytmu genetycznego.
Rys.5. Zasada inwersji prostej. _ródo: opracowanie wasne.
194
Mariusz Izdebski, Marianna Jacyna
5. PODSUMOWANIE
Celem pracy byo wyznaczenie algorytmu rozwizujcego problem przydziau zasobów
do zada w przedsibiorstwie transportowym. Opisane etapy algorytmu genetycznego
zawieraj podstawowe metody i operatory odpowiednie dla przyjtej struktury danych np.
metoda ruletki czy krzyowanie PMX. Przyjte zaoenia s danymi wejciowymi do
zaimplementowania algorytmu w symulacji komputerowej i sprawdzenia poprawnoci
jego
dziaania.
Rónorodno
operatorów
genetycznych
daje
moliwo
eksperymentowania nad problemem przydziau i jest podstaw do dalszych bada nad tym
zagadnieniem.
Bibliografia
1. David E. Goldberg.: Algorytmy genetyczne i ich zastosowanie, Wydawnictwo Naukowo – Techniczne
Warszawa 1995.
2. Izdebski M, Jacyna M.: Model przydziau zasobów do zada w przedsibiorstwie transportowym.
Logistyka 4/2012.
3. Jacyna M .: Modelowanie i ocena systemów transportowych, Oficyna Wydawnicza Politechniki
Warszawskiej, Warszawa 2009.
4. Jdrzejczyk Z, Kukua K, Skrzypek J, Walkosz A.: Badania operacyjne w przykadach i zadaniach,
Wydawnictwo Naukowe PWN Warszawa 1996.
5. Kisielewski P.: Optymalizacja przydziau zada transportowych” Politechnika Krakowska. „Problemy
Eksploatacji rok: 2007, nr 2, s. 55--63, Bibliogr. 9 poz.
6. Michalewicz Z.: Algorytmy genetyczne + struktury danych = programy ewolucyjne, Wydawnictwo
Naukowo – Techniczne Warszawa 1996.
7. Otman A, Jaafar A.: A Comparative Study of Adaptive Crossover Operators for Genetic Algorithms to
Resolve the Traveling Salesman Problem, International Journal of Computer Aplications Volume 31 –
No.11, October 2011.
8. liwka R.: Wykorzystanie zagadnienia przydziau do harmonogramowania pracy kierowcy
w przedsibiorstwie komunikacji miejskiej. Decyzje logistyczne z Excelem, Warszawa 2011.
SOME ASPECTS OF THE APPLICATION OF GENETIC ALGORITHM FOR SOLVING
THE ASSIGNMENT PROBLEM OF TASKS TO RESOURCES IN THE TRANSPORT
COMPANY
Summary: The article defines an assignment problem of tasks to resources in the transport company. The
paper describes the mathematical model of transport system taking into account the assignment of vehicle to
tasks and shows stages of building of genetic algorithm solving an assignment problem in transport company.
Keywords: assignment problem, genetic algorithm, optimalization.