plik

Transkrypt

plik
Bogumiła Krzeszowska
Katedra Badań Operacyjnych
Uniwersytet Ekonomiczny w Katowicach
Zastosowanie algorytmów genetycznych w rozwiązywaniu zerojedynkowego problemu
harmonogramowania projektu
Projekt może zostać zdefiniowany jako zbiór prac lub zadań, które współuczestniczą
w realizacji jednego celu [Brandenburg, 2002]. Zadania te, zwane również czynnościami,
wymagają określonego czasu i zasobów do realizacji i są ograniczone przez relacje
kolejnościowe. Te czynniki powodują, że tak istotny staje się problem harmonogramowania
czynności projektu.
Poprzez harmonogramowanie projektu rozumiemy wyznaczenie czasów rozpoczęcia
i zakończenia poszczególnych czynności przy dostępnych zasobach i ograniczeniach
wynikających z relacji kolejnościowych. Podstawowymi technikami harmonogramowania
projektu są: metoda ścieżki krytycznej oraz
metoda PERT. Wykorzystując te techniki
możemy uzyskać czytelne harmonogramy (poprzez wykorzystanie wykresu Gantta)
optymalizujące czas trwania projektu oraz zapewniające kontrolę wykorzystania zasobów.
Szerokie zainteresowanie projektami spowodowało rozwój metod optymalizacyjnych
w harmonogramowaniu projektów, w których problem harmonogramowania czynności
projektu przedstawiony jest w postaci modelu matematycznego. W metodach tych
harmonogramy optymalizowane mogą być nie tylko ze względu na czas, ale także ze względu
na np. zasoby.
Celem niniejszego opracowania jest przedstawienie problemu harmonogramowania
czynności projektu jako zadania programowania zerojedynkowego. Dla zbudowania modelu
matematycznego
zastosowano
następujące
założenia:
problem
harmonogramowania
czynności projektu przedstawiono w postaci sieci czynności AOA (Activity on Arc), relacje
kolejnościowe są typy ‘zakończenie-początek’, czas na realizację projektu został ograniczony,
dostępne zasoby odnawialne są ograniczone, a rozpoczęte czynności mogą być przerywane.
W zaproponowanym modelu matematycznym, w którym j=1,…,J oznaczać będzie
zbiór czynności projektu, a t=1,…,T oznaczać będzie zbiór jednostek czasu (przy czym
maksymalny czas na realizację projektu wynosi T), zmienna decyzyjna xjt opisana będzie
w następujący sposób: xjt={0,1}, gdzie xjt=1 jeżeli czynność j trwać będzie z czasie t,
1
w przeciwnym wypadku xjt=0. Ta postać zmiennej decyzyjnej umożliwiać będzie
przerywanie raz rozpoczętej czynności, a także pozwoli na kontrolę i optymalizację
wykorzystywanych zasobów w każdej jednostce czasu.
W pracy przedstawione zostaną dwa modele optymalizacji harmonogramów projektu.
W pierwszym modelu optymalizowany będzie czas trwania projektu przy ograniczonych
zasobach. W drugim przedstawionym modelu optymalizowany będzie poziom wykorzystania
zasobów w czasie trwania projektu. W modelach zastosowane zostaną ograniczenia: relacji
kolejnościowych czynności projektu, dostępności zasobów odnawialnych, pojedynczego
wykonania każdej czynności oraz warunki brzegowe dotyczące zmiennej decyzyjnej.
Ze względu na fakt, iż problem harmonogramowania zaliczany jest do problemów NPtrudnych oraz w związku z tym, że w modelu zastosowana zostanie zmienna zerojedynkowa,
możliwe i uzasadnione jest zastosowanie algorytmów genetycznych do rozwiązania
powyższego problemu.
Algorytmy genetyczne stanowią przypadek szczególny stochastycznych algorytmów
optymalizacji tworzących i oceniających w każdym kroku zbiór punktów z dziedziny
rozwiązań dopuszczalnych zwanych próbą losową lub populacją [Schaeffer, 2002].
Algorytmy genetyczne są to algorytmy poszukiwania oparte na mechanizmach doboru
naturalnego oraz dziedziczności. Łączą w sobie ewolucyjną zasadę przeżycia najlepiej
przystosowanych jednostek z systematyczną i po części losową wymianą informacji. Zostały
one rozwinięte przez Johna Hollanda oraz pracowników i studentów z Uniwersytetu
w Michigan. Celem ich badań było opisanie i wyjaśnienie istoty procesów adaptacyjnych
zachodzących w świecie przyrody, a także stworzenie oprogramowania, które odtwarzałoby
podstawowe mechanizmy rządzące systemami biologicznymi [Goldberg, 2003].
W algorytmach genetycznych pojedyncze rozwiązanie reprezentowane jest poprzez
chromosom. W przedstawionym problemie chromosom będzie następujące postaci:
x11 x12 x13 x14 x15 … … xjt
Chromosom reprezentowany będzie przez ciąg bitów zerojedynkowych. Liczba bitów
w chromosomie będzie wynosić j x t, a więc tyle co liczba zmiennych decyzyjnych w modelu
matematycznym dla problemu harmonogramowania czynności projektu.
Problem harmonogramowania czynności projektu poprzez zastosowanie metod
optymalizacyjnych oraz algorytmów genetycznych zilustrowany zostanie na przykładach
obliczeniowych.
2
Literatura:
[1]
Brandenburg H., Zarządzanie projektami, AE Katowice, Katowice 2002.
[2]
Goldberg D., Algorytmy genetyczne i ich zastosowania, WNT, Warszawa 2003.
[3]
Hartmann A.,
A Self-Adapting Genetic Algorithm for Project Scheduling under
Resource Constraints. Naval Research Logistics, 2002, 49:433-448.
[4]
Hartmann S., A competitive genetic algorithm for resource-constrained project
scheduling, Naval research logistics, 1998, vol. 45, no7.
[5]
Icmei O., Erenguc S.S., Zappe C.J., Project scheduling Problems: A survey.
International Journal of Operations & Production Management, 1993.
[6]
Kim J., Ellis R. D., Robust global and local search approach to resource-constrained
project scheduling, Canadian Journal of Civil Engineering, 2009, Vol. 36 Issue 3.
[7]
Michalewicz Z., Algorytmy genetyczne + struktury danych = programy ewolucyjne,
WNT, Warszawa 1996.
[8]
Schaeffer R., Podstawy genetycznej optymalizacji globalnej,
Wydawnictwo
Uniwersytetu Jagiellońskiego, Kraków 2002.
[9]
Shouman M.A., Ibrahim M.S., Khater M., Forgani A.A., Genetic algorithm constraint
project scheduling, Alexandria Engineering Journal, 2006, Vol. 45, No. 3.
[10] Talbot T.B., Resource-constrained project scheduling with time-resource tradeoffs:
the non-preemptive. Management Science, Oct82, Vol. 28 Issue 10.
[11] Valls V., Quintima S., Balllestin F., Resource-Constrained Project Scheduling: A
critical Activity Reordering Heuristic, European Journal of Operational Research,
2003, 255:282-301.
3