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