• Nie Znaleziono Wyników

Wybrane aspekty zastosowania algorytmu genetycznego do rozwiązywania problemu przydziału zadań do zasobów w przedsiębiorstwie transportowym

N/A
N/A
Protected

Academic year: 2021

Share "Wybrane aspekty zastosowania algorytmu genetycznego do rozwiązywania problemu przydziału zadań do zasobów w przedsiębiorstwie transportowym"

Copied!
12
0
0

Pełen tekst

(1)

P R A C E N A U K O W E P O L I T E C H N I K I W A R S Z A W S K I E J

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

(2)

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).

(3)

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

(4)

x ࢃࢆ ൌ ሾݓݖሺ݅ǡ ݆ሻሿ െ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:

(5)

Wybrane aspekty zastosowania algorytmu genetycznego do rozwizywania problemu … 187 ࢞൫࢖ǡ ࢔ǡ ሺ࢐ǡ ࢏ሻ൯ ൌ ൜ͳ െ †”‘‰ƒœሺ݆ሻ†‘ሺ݅ሻ”‡ƒŽ‹œ‘™ƒƒ’”œ‡œ݌ െ ݐݕ’‘Œƒœ†‹ െ –‡‰‘‹‡”‘™…¸Ͳ െ ™’”œ‡…‹™›’”œ›’ƒ†— (1) ࢞࢈ࢠ൫࢖ǡ ࢔ǡ ሺ࢈ǡ ࢏ሻ൯  ൌ ൜ͳ െ †”‘‰ƒœሺܾሻ†‘ሺ݅ሻ”‡ƒŽ‹œ‘™ƒƒ’”œ‡œ݌ െ ݐݕ’‘Œƒœ†‹ െ –‡‰‘‹‡”‘™…¸Ͳ െ ™’”œ‡…‹™›’”œ›’ƒ†— (2) ࢞࢝࢈൫࢖ǡ ࢔ǡ ሺ࢐ǡ ࢈ሻ൯  ൌ ൜ͳ െ †”‘‰ƒœሺ݆ሻ†‘ሺܾሻ”‡ƒŽ‹œ‘™ƒƒ’”œ‡œ݌ െ ݐݕ’‘Œƒœ†‹ െ –‡‰‘‹‡”‘™…¸Ͳ െ ™’”œ‡…‹™›’”œ›’ƒ†— (3) dla których funkcja kryterium przyjmuje minimum:

, , , , , , , , , , , , , , , , , , , , , , B Z W B Z W B Z W p p P n N b W i W p p P n N j W b W p p P n N i W j W b W p p P n N i W j W F X XBZ XWB k xbz p n b i bz b i k xwb p n j b wb j b k xbz p n b i xzw p n i j wz i j k x p n j i xzw p n i j wz i j                  ª ˜ ˜ º ¬ ¼ ª º  ¬ ˜ ˜ ¼ ª º  ¬ ˜ ˜ ˜ ¼ ª º  ¬ ˜ ˜ ˜ ¼

¦ ¦ ¦ ¦

¦ ¦ ¦ ¦

¦ ¦ ¦ ¦ ¦

¦ ¦ ¦

, , , , , , , 3 , , , , , , 4 , , , , , , , , 1 , , , , W Z B Z W B Z W B p p P n N j W i W n p P n N b W i W n p P n N j W b W n p P n N i W j W b W n k x p n j i w j i k xbz p n b i t p n b i k xwb p n j b t p n j b k xbz p n b i xzw p n i j t p n i j k x p                  ª º  ¬ ˜ ˜ ¼ ª º  ¬ ˜ ˜ ¼ ª º  ¬ ˜ ˜ ¼ ª º  ¬ ˜ ˜ ˜ ¼  ˜

¦

¦ ¦ ¦ ¦

¦ ¦ ¦ ¦

¦ ¦ ¦ ¦

¦ ¦ ¦ ¦ ¦

, , , , , 1 , , , , , , 2 , , , , , , 7 , , , , , 8 , , , , , 8 , , Z W Z W Z B B W p P n N i W j W n p P n N i W j W n p P n N i W b W n p P n N b W j W n n j i xzw p n i j t p n i j k x p n j i t p n j i k xbz p n b i t p n i k xwb p n j b t p n j k x p n j i t p n j                 ª ˜ ˜ º ¬ ¼ ª º  ¬ ˜ ˜ ¼ ª º  ¬ ˜ ˜ ¼ ª º  ¬ ˜ ˜ ¼  ˜ ˜

¦ ¦ ¦ ¦

¦ ¦ ¦ ¦

¦ ¦ ¦ ¦

¦ ¦ ¦ ¦

, , ,

7

, ,

min Z W Z W p P n N i W j W n p P n N i W j W k x p n j i t p n i         ª º ¬ ¼ ª º  ¬ ˜ ˜ ¼o

¦ ¦ ¦ ¦

¦ ¦ ¦ ¦

 (4)

(6)

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.

(7)

Wybrane aspekty zastosowania algorytmu genetycznego do rozwizywania problemu … 189

x 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 paszczynie 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

(8)

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

(9)

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.

(10)

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.

(11)

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.

(12)

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.

Cytaty

Powiązane dokumenty

Twoim zadaniem jest przygotowanie po trzy kulki z gazety, – dzięki zgniataniu papieru.. doskonalisz

Przestrzenie funkcji caªkowalnych  zadania do samodzielnego

Na ko«cu rozwi¡zania ka»dego zadania nale»y poda¢ peªn¡ odpowied¹(-dzi)..

Dodatkowo, na karcie zada« wpisz wyniki (oprócz zadania 1.) Czas rozwi¡zywania - 90

Na ko«cu rozwi¡zania ka»dego zadania nale»y poda¢ peªn¡ odpowied¹(-dzi). Dodatkowo, na karcie zada«

Na ko«cu rozwi¡zania ka»dego zadania nale»y poda¢ peªn¡ odpowied¹(-dzi).. Dodatkowo, na karcie zada«

Na ko«cu rozwi¡zania ka»dego zadania nale»y poda¢ peªn¡ odpowied¹(-dzi). Dodatkowo, na karcie zada«

Kolejno±¢ rozwi¡zywania jest oczywi±cie dowolna, ale prosz¦ by w pliku ko«cowym (wysyªanym) zadania byªy w kolejno±ci.. Zadania s¡ cz¦±ciowo personalizowane, dlatego