HEURYSTYKA Z REGUŁAMI PRIORYTETOWYMI DLA PROBLEMU HARMONOGRAMOWANIA PROJEKTU Z OGRANICZONYMI ZASOBAMI Marcn KLIMEK, Potr ŁEBKOWSKI Streszczene: W artykule analzowane jest zagadnene harmonogramowana projektu z ogranczonym zasobam RCPSP (ang. Resource-Constraned Project Schedulng Problem). Opracowano heurystyk: jednoprzebegową weloprzebegową, które tworzą rozwązana na podstawe reguł prorytetowana zadań. Porównano skuteczność klkunastu reguł prorytetowych, przy zastosowanu równoległego szeregowego schematu generowana harmonogramu wstecz w przód. Testy przeprowadzono przy użycu nstancj testowych z bblotek PSPLIB (Project Schedulng Problem LIBrary). Słowa kluczowe: harmonogramowane projektu z ogranczonym zasobam, reguły prorytetowe, harmonogramowane w przód wstecz, równoległy szeregowy schemat generowana harmonogramu 1. Wprowadzene Problem harmonogramowana projektu z ogranczoną dostępnoścą zasobów RCPSP jest jednym z ważnych często analzowanych zagadneń optymalzacyjnych. Jako funkcje celu dla RCPSP najczęścej rozważane są krytera czasowe tj. mnmalzacja czasu trwana projektu lub krytera ekonomczne tj. maksymalzacja sumy zdyskontowanych przepływów penężnych [2]. W tym artykule rozpatrywane jest zagadnene mnmalzacj czasu trwana projektu (makespan). Problem harmonogramowana projektu z ogranczonym zasobam jest zagadnenem slne NP-trudnym [1]. Ze względu na złożoność problemu dla RCPSP stosowane są: - algorytmy dokładne za ch pomocą znajdowane są harmonogramy optymalne, ale ze względu na wykładnczą złożoność oblczenową mogą być wykorzystywane jedyne dla projektów o mnejszej lczbe zadań (dla projektów welozadanowych czas oblczeń często jest zbyt dług), - algorytmy heurystyczne, przyblżone dla projektów welozadanowych. W praktyce często lczba zadań jest duża wskazane jest stosowane procedur heurystycznych, które ne dają gwarancj znalezena harmonogramów optymalnych. Wśród heurystyk wyróżna sę algorytmy konstrukcyjne oraz procedury lokalnych poszukwań LS (ang. Local Search). Algorytmy konstrukcyjne generują najczęścej jedno rozwązane (są jednoprzebegowe ang. sngle-pass) na podstawe prostych reguł prorytetowana (algorytmy prorytetowe) lub wstawana czynnośc (algorytmy wstaweń). Ich główną zaletą jest szybk czas dzałana. Harmonogramy wygenerowane za pomocą procedur konstrukcyjnych są na ogół gorszej jakośc do harmonogramów tworzonych za pomocą algorytmów lokalnych poszukwań. Algorytmy konstrukcyjne są jednak przydatne np. do tworzena rozwązań nauguracyjnych dla bardzej skutecznych weloprzebegowych (ang. mult-pass) procedur LS tj. algorytmy 589
genetyczne, symulowanego wyżarzana, przeszukwane z zakazam, algorytmy genetyczne td. Analza efektywnośc różnych procedur dla problemu RCPSP przedstawona jest w pracach przeglądowych [3,8-9]. W tej pracy analzowany jest algorytm prorytetowy dla problemu RCPSP z mnmalzacją czasu trwana projektu. Poza standardową procedurą generującą jedno rozwązane na podstawe danej reguły prorytetowej opracowany jest algorytm weloprzebegowy. W celu lustracj analzowanego zagadnena proponowanych heurystyk wykorzystany jest przykładowy projekt złożony z 8 zadań. Analza eksperymentalna opracowanych procedur reguł prorytetowych przeprowadzona jest przy wykorzystanu nstancj testowych z bblotek PSPLIB [10]. 2. Ops problemu Projekt (przedsęwzęce) to unkalny zbór współzależnych czynnośc (zadań) wykonywany przy użycu dostępnych zasobów (pracownków, maszyn). Zadane stanow wyodrębnoną część projektu, dla którego do realzacj wymagana jest określona lość czasu zasobów. W tej pracy rozważany jest problem harmonogramowana projektu, w którym szukany jest wektor czasów rozpoczęca czynnośc nepodzelnych (ang. nonpreemptve), z jednym sposobem ch realzacj (sngle-mode RCPSP), wykonywanych przy użycu ogranczonych, odnawalnych zasobów (pracownków, maszyn). Jako funkcja celu stosowana jest mnmalzacja czasu trwana projektu (ang. makespan mnmsaton) (patrz: wzór 1) przy uwzględnenu ogranczeń zasobowych (patrz: wzór 2) kolejnoścowych (patrz: wzór 3) typu konec-początek bez zwłok (ang. fnsh-start, zerolag precedence), w których następnk może rozpocząć sę bez zwłok po zakończenu poprzednka. Mnmalzacja F: F ST N1 (1) Przy następujących ogranczenach: Rk Ak, t 1,..., STN 1, k 1,..., K (2) J ( t) ST D ST (, j) E (3) j gdze: N lczba zadań projektowych, ndeks (numer) czynnośc, = 1,, N, ST czas rozpoczęca zadana, J(t) zbór zadań wykonywanych w okrese [t-1, t], K lczba typów zasobów, k ndeks (numer) typu zasobu, k = 1,, K, R k zapotrzebowane zadana na zasób typu k, A k dostępność zasobów typu k, D czas trwana czynnośc, E zbór łuków opsujących relacje kolejnoścowe mędzy zadanam w grafe projektowym G(V, E) projekty przedstawane są w reprezentacj sec czynnośc AON (ang. Actvty-On-Node) jako graf skerowany połączonych węzłów (zbór V) reprezentujących zadana. 590
Przy harmonogramowanu zadań z wykorzystanem reguł prorytetowych wykorzystywane są dane z analzy czasowej problemu tj.: - ES (ang. Earlest Start) najwcześnejszy możlwy czas rozpoczęca zadana, - EF (ang. Earlest Fnsh) najwcześnejszy możlwy czas zakończena zadana, - LS (ang. Latest Start) najpóźnejszy możlwy czas rozpoczęca zadana, - LF (ang. Latest Fnsh) najpóźnejszy możlwy czas zakończena zadana. Najwcześnejsze możlwe czasy rozpoczęca ES zakończena EF zadań wyznaczane są rekurencyjne kolejno dla czynnośc od 0 do N+1 przy uwzględnenu zależnośc kolejnoścowych mędzy zadanam: ES 0 0 (4) ES max ( ES D ), V (5) jzp j EF ES D, V (6) gdze: ZP - zbór bezpośrednch poprzednków zadana. Najpóźnejsze możlwe czasy rozpoczęca LS zakończena LF, pownny uwzględnać neprzekraczalny czas zakończena projektu DD (ang. due date) oraz mnmalny czas realzacj wszystkch następnków (ne tylko bezpośrednch) danej czynnośc. Analza czasowa prowadzona jest rekurencyjne w kolejnośc od zadana N+1 do zadana 0: j LS max(, N1 ESN 1 DD) (7) LF mn( mn( LF D ), EF D ), V (8) jzn j LS LF D, V (9) gdze: ZN - zbór bezpośrednch następnków zadana. Rozwązanem problemu RCPSP z mnmalzacją czasu trwana projektu w reprezentacj bezpośrednej jest wektor czasów rozpoczęca zadań. Reprezentacja bezpośredna ne jest często używana w heurystykach m.n. ze względu na trudnośc w przeszukwanu przestrzen potencjalnych rozwązań. W procedurach LS stosowane jest kodowane harmonogramów przy wykorzystanu reprezentacj [9]: - lsty czynnośc (ang. actvty lst) rozwązane to permutacja numerów kolejnych zadań przy uwzględnenu relacj kolejnoścowych (najbardzej efektywne najczęścej stosowane kodowane dla RCPSP [9]), - reguł prorytetu rozwązane to lsta prorytetowa, w której każdemu zadanu przypsana jest reguła prorytetu, - wektora opóźneń rozwązane to wektor opóźneń poszczególnych czynnośc od najwcześnejszego możlwego ch czasu rozpoczęca. Rozwązana w reprezentacj lsty czynnośc lub reguł prorytetu dekodowane są przy użycu schematów generowana harmonogramu SGS (ang. Seral Schedule Generaton Scheme) w realzowalne uszeregowana, uwzględnające ogranczena czasowe zasobowe, w reprezentacj bezpośrednej. Dla determnstycznego RCPSP wykorzystywane są [6]: j 591
- szeregowy SGS (ang. seral SGS) procedura dekodująca, w której w kolejnych chwlach t wyznaczany jest czas rozpoczęca dla perwszego neuszeregowanego zadana z lsty czynnośc lub prorytetowej, w najwcześnejszym możlwym czase przy uwzględnenu ogranczeń kolejnoścowych zasobowych, - równoległy SGS (ang. parallel SGS) procedura dekodująca, w której w kolejnych chwlach t rozpoczynane są wszystke neuszeregowane zadana (analzowane w kolejnośc wynkającej z lsty czynnośc lub prorytetowej), które mogą być rozpoczęte w chwl t przy uwzględnenu ogranczeń kolejnoścowych zasobowych. Przy ustalanu czasów rozpoczęca zadań stosowane są różne stratege: - harmonogramowane w przód (ang. forward schedulng) planowane kolejnych zadań od początku lsty czynnośc lub prorytetowej w najwcześnejszych możlwych termnach przy uwzględnenu ogranczeń kolejnoścowych zasobowych, - harmonogramowane wstecz (ang. backward schedulng) planowane kolejnych zadań od końca lsty czynnośc lub prorytetowej, przy uwzględnenu ogranczeń kolejnoścowych, zasobowych, rozpoczynając planowane wstecz od termnu przyjętego zakończena projektu (due date). 3. Heurystyka z regułam prorytetowana zadań Algorytm prorytetowy tworzy harmonogram na podstawe prorytetów poszczególnych zadań wyznaczanych dla przyjętych reguł prorytetowych. Generowana jest lsta czynnośc uwzględnająca te prorytety, którą procedura dekodująca SGS zamena w harmonogram w reprezentacj bezpośrednej (ustalane są czasy rozpoczęca zadań). Heurystyk dzałające w oparcu o lstę prorytetową czynnośc tworzą harmonogramy, które mogą znaczne odbegać od optymalnych, ale są przydatne jako rozwązana nauguracyjne w procedurach poprawy tj. metaheurystyk symulowanego wyżarzana. Klasyczny algorytm prorytetowy jest jednoprzebegowy tworzy jedno rozwązane. Autorzy proponują heurystykę weloprzebegową, która generuje wększą lczbę potencjalnych uszeregowań przy uwzględnenu danej reguły prorytetowej [4-5]. Jest to zrandomzowana wersja klasycznego algorytmu prorytetowego, w której wprowadzona jest losowość w budowanu lst czynnośc na podstawe prorytetów zadań (koncepcja zblżona do selekcj osobnków metodą rankngowej w algorytmach genetycznych [11]). W pojedynczym przebegu proponowanej heurystyk weloprzebegowej tworzona jest lsta czynnośc L, która jest następne dekodowana przy użycu procedury SGS. Przy ustalanu lsty L wykorzystywane są nformacje: - z lsty LP statycznej lsty czynnośc wyznaczonej na podstawe prorytetów zadań wyznaczonych dla stosowanej reguły prorytetowej (kolejność na lśce LP taka jak ustalona dla danej reguły w klasycznym algorytme prorytetowym jednoprzebegowym), - z lsty LA dynamcznej lsty dostępnych zadań, ne dodanych jeszcze do lsty L, tych które mogą być już rozpoczęte uwzględnając zależnośc kolejnoścowe (poprzednkam ch są zadana znajdujące sę na lśce L). Kolejne krok algorytmu weloprzebegowego wyglądają następująco [4-5]: Krok 1: Ustawene pustej lsty L. Na lśce LA wpsane wszystkch następnków zadana o numerze 0 posortowanych w porządku takm jak na lśce LP. 592
Krok 2: Wylosowane z lsty LA jednego zadana przy uwzględnenu szans poszczególnych zadań wyznaczonych na podstawe ch pozycj na lśce LA: zadane perwsze ma najwększą lczbę szans na selekcję równą lczbe zadań na lśce LA,, zadane ostatne ma przyznaną jedną szansę selekcj (podobne jak w selekcj rankngowej w algorytmach genetycznych [11]). Krok 3: Usunęce wylosowanego zadana z lsty LA dodane go do lsty L. Umeszczene na lśce LA wszystkch następnków zadana, których wszystke poprzednk umeszczone są na lśce L, z zachowanem porządku takego jak na lśce LP. Krok 4: Powtórzene kroków 2-3 aż do wypełnena lsty L wszystkm zadanam projektowym. Wyznaczone lsty czynnośc L w poszczególnych przebegach różną sę od sebe, ale uwzględnają herarchę zadań ustaloną na podstawe danej reguły prorytetowej. Wynkem dzałana heurystyk weloprzebegowej jest rozwązane o najmnejszym czase trwana projektu, wyznaczone przy wykorzystanu procedur SGS dla lst L z kolejnych przebegów algorytmu. Znalezene odpowednch reguł prorytetowych, może meć wpływ na jakość uzyskwanych harmonogramów, zarówno heurystyk jedno- jak weloprzebegowej. W tabel 1 przedstawone są reguły prorytetowana (reguły P 1-P 11), wykorzystywane w badanach dotyczących problemu RCPSP [7], które są analzowane w tej pracy. Dla celów porównawczych dodano regułę P 0, w której poszczególnym czynnoścom przypsane są losowe prorytety. Tab. 1. Reguły prorytetowana zadań [4-5] Reguła Wzór na prorytet zadana Ops reguły P 0 P0 ( ) random () losowe prorytety czynnośc P 1 P 2 P 3 P 4 P ( ) ES 1 P ( ) LS 2 P ( ) LF 3 P ( ) EF P 5 P ( ) ( LS ES ) 4 5 P 6 P ( ) ( LF EF ) P 7 6 P ( ) # N 7 mnmalny najwcześnejszy czas rozpoczęca czynnośc mnmalny najpóźnejszy czas rozpoczęca czynnośc mnmalny najpóźnejszy czas zakończena czynnośc mnmalny najwcześnejszy czas zakończena czynnośc mnmalna różnca mędzy najpóźnejszym a najwcześnejszym możlwym czasem rozpoczęca czynnośc mnmalna różnca mędzy najpóźnejszym a najwcześnejszym możlwym czasem zakończena czynnośc maksymalna lczba wszystkch następnków czynnośc 593
P 8 P 9 P 10 P 11 P11 ( ) P ( ) # ZN 8 P ( ) D maksymalna lczba wszystkch bezpośrednch następnków czynnośc 9 najkrótszy czas trwana czynnośc P ( ) D D j D maksymalna suma czasów trwana danej 10 czynnośc jej wszystkch następnków K k1 R k j N D K j jn k1 R jk maksymalna suma loczynu czasu trwana zasobochłonnośc danej czynnośc jej wszystkch następnków Jeśl stosując daną regułę prorytetową czynnośc mają take same prorytety, to na wcześnejszych pozycjach lsty czynnośc umeszczane są czynnośc oznaczone nższym numerem. 4. Przykład lustracyjny Przykładowy projekt przedstawony jest jako seć czynnośc AON na rysunku 1. Składa sę z 8 zadań (węzły 0 9 to zadana pozorne o zerowym czase trwana zapotrzebowanu na zasoby, reprezentujące początek konec grafu). Jest realzowany za pomocą jednego typu zasobu o dostępnośc równej 10 (A = 10). Na węzłach zdefnowane są zadana ch czasy trwana zapotrzebowane na zasoby. Krawędze reprezentują zależnośc kolejnoścowe mędzy zadanam. Neprzekraczalny termn realzacj projektu wynos 14 (DD = 14). Rys. 1. Seć czynnośc AON przykładowego projektu W analzowanych w pracy heurystykach prorytetowych generowana jest lsta czynnośc, ustawonych w kolejnośc wynkającej z przyjętej reguły prorytetowej, która następne jest dekodowana za pomocą SGS. W ponższej analze stosowana jest reguła prorytetowa P 7, w której zadana są w porządku malejącym na podstawe lczby wszystkch następnków czynnośc (poza pozornym). Prorytety poszczególnych zadań wynoszą: P 7(1) = 1, P 7(2) = 1, P 7(3) = 1, P 7(4) = 0, P 7(5) = 0, P 7(6) = 1, P 7(7) = 0, P 7(8) = 0. 594
Na podstawe prorytetów lsta czynnośc jest następująca: {1, 2, 3, 6, 4, 5, 7, 8}. Ta lsta jest dekodowana w realzowalny harmonogram (wektor czasów rozpoczęca zadań), przy uwzględnenu ogranczeń kolejnoścowych zasobowych, za pomocą procedur SGS. Zadana mogą być rozpatrywane od początku lsty czynnośc {1, 2, 3, 6, 4, 5, 7, 8} (harmonogramowane w przód) lub od jej końca {8, 7, 5, 4, 6, 3, 2, 1}. (harmonogramowane wstecz). W przypadku harmonogramowana wstecz generowane harmonogramu zaczyna sę od końca : od termnu przyjętego zakończena projektu (w analzowanym przykładze od DD = 14). Po utworzenu całego uszeregowana, czasy rozpoczęca zadań są korygowane w ten sposób aby czas rozpoczęca projektu był równy 0. Harmonogramy znalezone dla lsty czynnośc{1, 2, 3, 6, 4, 5, 7, 8} znajdują sę na rysunku 2 (harmonogramowane w przód, szeregowa równoległa procedura SGS), rysunku 3 (harmonogramowane wstecz, szeregowa procedura SGS), oraz rysunku 4 (harmonogramowane wstecz, równoległa procedura SGS). Rys. 2. Harmonogram znalezony dla lsty czynnośc {1, 2, 3, 6, 4, 5, 7, 8}, przy harmonogramowanu w przód dla szeregowej równoległej procedury SGS Rys. 3. Harmonogram znalezony dla lsty czynnośc {1, 2, 3, 6, 4, 5, 7, 8}, przy harmonogramowanu wstecz dla szeregowej procedury SGS 595
Rys. 4. Harmonogram znalezony dla lsty czynnośc {1, 2, 3, 6, 4, 5, 7, 8}, przy harmonogramowanu wstecz dla równoległej procedury SGS Wybór procedury dekodowana SGS ma wpływ na jakość uzyskwanych rozwązań. Zasadne jest sprawdzene skutecznośc różnych SGS dla analzowanego problemu. W rozpatrywanym przykładze najlepszy harmonogram o czase realzacj równym 9 znalezony jest przy użycu harmonogramowana w przód (szeregowej równoległej procedury SGS). Dla heurystyk weloprzebegowej wyjaśnena wymaga przede wszystkm krok 2. W kroku tym losowane jest jedno zadane z lsty LA zadań dostępnych do harmonogramowana zadań. Dla analzowanego przykładu z przyjętą reguła prorytetową strategą harmonogramowana w przód w kroku 1 do lsty LA dodawane są następnk zadana 0 w kolejnośc takej jak na lśce LP = {1, 2, 3, 6, 4, 5, 7, 8}. Przy takm założenu LA = {1, 2, 3, 4}. W kroku 2 zadane jest losowane z lsty {1, 1, 1, 1, 2, 2, 2, 3, 3, 4}, na której każde z zadań ma szansę wyboru wynkającą z pozycj na aktualnej lśce LA: zadane perwsze (w tym przypadku zadane 1) na lśce LA ma 4 szanse,, zadane ostatne (w tym przypadku zadane 4) ma jedną szansę wyboru. W kroku 3 zadane wylosowane w kroku 2 jest wstawane do lsty czynnośc L a jego następnk są umeszczane na lśce LA w porządku z lsty LP. Krok 2-3 są powtarzane aż do umeszczena wszystkch zadań projektowych na lśce L. Przy takej strateg tworzena lsty czynnośc L uwzględnone są prorytety poszczególnych zadań. 5. Wynk eksperymentów Eksperymenty przeprowadzono przy wykorzystanu aplkacj zamplementowanej w języku C# w środowsku Vsual Studo.NET dla projektów testowych z bblotek PSPLIB [10] ze zboru J30 (480 nstancj 30-zadanowych) oraz J90 (480 nstancj 90-zadanowych). Celem eksperymentów jest sprawdzene efektywnośc proponowanych heurystyk prorytetowych (jednoprzebegowej weloprzebegowej), znalezene najlepszych reguł prorytetowych (spośród reguł P 0-P 11) procedur dekodujących SGS (równoległej lub szeregowej) harmonogramowana w przód lub wstecz. W zrandomzowanej heurystyce weloprzebegowej dla każdej nstancj problemu lczba przeprowadzonych przebegów wynos 100 (lczba sprawdzanych rozwązań jest równa 100). Wynk oblczeń 596
zaprezentowane są w tabelach 2 3. Dane dotyczące heurystyk jednoprzebegowej znajdują sę w werszach oznaczonych P 0-P 11 a wersj zrandomzowanej, weloprzebegowej w werszach oznaczonych rp 0-rP 11. Tab. 2.Wynk eksperymentów oblczenowych dla zestawu J30 Schemat generowana harmonogramu Szeregowy w przód Równoległy w przód Szeregowy wstecz Równoległy wstecz a b c a b c a b c a b c P 0 68,1 15,5% 155 65,1 10,3% 153 67,0 13,5% 123 68,0 15,2% 74 rp 0 60,8 3,0% 278 60,5 2,6% 246 60,2 2,1% 322 66,3 12,5% 88 P 1 64,7 9,7% 149 64,0 8,4% 155 62,6 6,1% 238 67,3 14,0% 79 rp 1 60,8 3,1% 268 60,6 2,7% 244 60,1 1,8% 326 66,4 12,6% 88 P 2 62,3 5,6% 246 62,0 5,1% 213 67,3 14,1% 67 68,0 15,2% 74 rp 2 60,2 2,0% 321 60,2 2,0% 264 60,4 2,3% 302 66,3 12,5% 87 P 3 62,7 6,2% 240 61,9 4,8% 206 65,8 11,6% 102 67,8 15,0% 75 rp 3 60,2 2,1% 317 60,2 2,1% 257 60,2 2,0% 310 66,4 12,5% 88 P 4 66,2 12,2% 137 64,3 9,1% 151 62,5 5,9% 241 67,3 14,1% 80 rp 4 61,0 3,3% 269 60,6 2,8% 237 60,0 1,8% 336 66,4 12,6% 87 P 5 65,1 10,4% 198 63,1 7,0% 196 71,9 21,9% 50 68,6 16,2% 66 rp 5 60,4 2,4% 309 60,3 2,2% 259 60,6 2,8% 285 66,4 12,5% 88 P 6 65,7 11,4% 198 63,2 7,2% 195 71,8 21,8% 49 68,6 16,3% 66 rp 6 60,4 2,5% 311 60,4 2,3% 255 60,6 2,7% 288 66,4 12,6% 87 P 7 63,2 7,2% 213 62,2 5,5% 190 65,8 11,5% 114 67,8 14,9% 75 rp 7 60,3 2,2% 308 60,3 2,2% 261 60,2 2,1% 314 66,4 12,5% 88 P 8 65,1 10,4% 172 63,4 7,5% 173 65,7 11,4% 140 67,8 14,9% 76 rp 8 60,8 3,0% 282 60,5 2,6% 245 60,3 2,1% 309 66,4 12,6% 88 P 9 69,5 17,9% 137 64,9 9,9% 151 65,6 11,3% 167 67,6 14,7% 78 rp 9 61,1 3,6% 263 60,6 2,8% 243 60,1 1,9% 326 66,4 12,5% 88 P 10 62,4 5,9% 234 62,0 5,1% 201 66,7 13,0% 89 67,9 15,1% 74 rp 10 60,2 2,1% 314 60,2 2,0% 259 60,3 2,1% 306 66,4 12,5% 87 P 11 62,9 6,6% 224 62,2 5,5% 195 67,6 14,6% 82 68,2 15,5% 74 rp 11 60,2 2,1% 309 60,2 2,0% 267 60,3 2,1% 305 66,4 12,5% 88 a średna wartość funkcj celu F, b odchylene średnej wartośc funkcj celu F od rozwązana optymalnego, c lczba rozwązań optymalnych (spośród 480 eksperymentów). 597
Tab. 2.Wynk eksperymentów oblczenowych dla zestawu J90 Schemat generowana harmonogramu Szeregowy w przód Równoległy w przód Szeregowy wstecz Równoległy wstecz a b c a b c a b c a b c P 0 113,4 19,5% 137 106,5 12,2% 136 107,6 13,4% 188 111,7 17,7% 80 rp 0 102,5 7,9% 261 100,2 5,6% 221 100,1 5,4% 316 107,2 12,9% 90 P 1 106,9 12,6% 132 105,3 10,9% 134 101,1 6,4% 300 110,7 16,6% 82 rp 1 102,4 7,9% 235 100,6 6,0% 212 99,3 4,6% 323 107,8 13,5% 85 P 2 100,6 6,0% 312 100,4 5,7% 199 109,9 15,8% 63 112,1 18,0% 68 rp 2 100,0 5,4% 302 98,9 4,2% 251 100,1 5,4% 298 107,1 12,8% 89 P 3 101,1 6,5% 295 100,5 5,9% 194 107,7 13,5% 89 111,9 17,9% 69 rp 3 100,1 5,5% 302 98,9 4,2% 251 99,9 5,2% 309 107,2 12,9% 89 P 4 109,0 14,8% 126 105,7 11,3% 134 100,5 5,9% 316 110,7 16,6% 81 rp 4 102,9 8,3% 222 100,7 6,1% 206 99,1 4,4% 330 107,9 13,7% 85 P 5 105,7 11,3% 244 102,6 8,0% 185 116,0 22,2% 70 112,7 18,8% 65 rp 5 100,8 6,2% 292 99,2 4,5% 247 100,6 6,0% 286 107,0 12,7% 90 P 6 106,1 11,7% 245 102,6 8,1% 184 115,7 21,9% 71 112,8 18,8% 66 rp 6 100,9 6,2% 290 99,3 4,6% 248 100,6 5,9% 284 107,1 12,8% 90 P 7 101,9 7,3% 259 101,2 6,6% 177 107,6 13,4% 131 112,0 18,0% 70 rp 7 100,5 5,8% 293 99,2 4,5% 243 99,9 5,2% 312 107,2 12,9% 90 P 8 106,3 12,0% 175 103,7 9,2% 155 105,9 11,6% 183 111,6 17,5% 72 rp 8 102,0 7,4% 260 100,1 5,4% 229 99,9 5,2% 312 107,2 12,9% 88 P 9 114,5 20,6% 133 106,4 12,1% 135 105,2 10,8% 218 111,4 17,4% 75 rp 9 103,1 8,6% 242 100,3 5,6% 217 99,7 5,0% 319 107,2 12,9% 89 P 10 101,1 6,5% 286 100,9 6,2% 187 108,8 14,6% 98 112,1 18,1% 68 rp 10 100,3 5,6% 298 99,1 4,4% 242 99,9 5,3% 310 107,1 12,8% 89 P 11 101,6 7,1% 277 101,0 6,3% 183 109,8 15,7% 105 112,3 18,3% 66 rp 11 100,4 5,7% 291 99,2 4,4% 245 100,1 5,4% 303 107,1 12,8% 89 a średna wartość funkcj celu F, b odchylene średnej wartośc funkcj celu F od najlepszego znanego rozwązana, c lczba rozwązań dentycznych z najlepszym znanym rozwązanem (spośród 480 eksperymentów). Zrandomzowana wersja heurystyk prorytetowej weloprzebegowej jest skutecznejsza od jednoprzebegowej dla każdej z reguł prorytetowych P 0 P 11. Zastosowane wększośc z reguł prorytetowych wyznaczanych na podstawe analzy danych projektowych P 1 P 11 daje lepsze rezultaty nż zastosowane reguły losowych prorytetów P 0 (można to zaobserwować zwłaszcza przy harmonogramowanu w przód). Najlepsze zasady ustalana kolejnośc zadań przy harmonogramowanu w przód to mnmalny najpóźnejszy czas rozpoczęca (P 2) oraz mnmalny najpóźnejszy czas zakończena zadań (P 3), natomast przy harmonogramowanu wstecz mnmalny najwcześnejszy czas zakończena zadań (P 4) przy szeregowej procedurze dekodującej SGS. Występuje zróżncowane osąganych rezultatów w zależnośc od przyjętej reguły prorytetowej. Najwększą lczbę najlepszych uszeregowań, zarówno dla nstancj testowych ze zboru J30 (336 harmonogramów optymalnych spośród 480 możlwych) jak J90 (330 598
harmonogramów spośród 480 możlwych o czase trwana równym najlepszemu znanemu rozwązanu), znalezono przy zastosowanu heurystyk weloprzebegowej z regułą prorytetową P 4 (mnmalny najwcześnejszy czas zakończena zadań), harmonogramowanu wstecz z szeregową procedurą SGS. Najgorsze wynk dla wększośc reguł prorytetowana zadań są osągane dla harmonogramowana wstecz z równoległą procedurą dekodującą SGS. 6. Podsumowane W artykule przedstawono algorytmy prorytetowe (jedno- weloprzebegowy) dla problemu harmonogramowana projektu z mnmalzacją czasu trwana projektu. Wynk eksperymentów oblczenowych potwerdzły skuteczność opracowanej przez autorów heurystyk weloprzebegowej. Wskazały też na skuteczne reguły prorytetowe dla rozważanego zagadnena. Najskutecznejsza w poszukwanu harmonogramów optymalnych (dla zboru nstancj testowych J30) dentycznych z najlepszym znanym (dla zboru nstancj testowych J90) okazała sę heurystyka weloprzebegowa z reguła prorytetową mnmalny najwcześnejszy czas zakończena zadań przy harmonogramowanu wstecz szeregowej procedurze dekodującej. Proponowane heurystyk dzałające na podstawe reguł prorytetowych są efektywne szybke w dzałanu. Mogą być wykorzystane jako rozwązana startowe w algorytmach metaheurystycznych tj. symulowane wyżarzane. Lteratura 1. Błażewcz J., Lenstra J., Kan A. R.: Schedulng subject to resource constrants - classfcaton and complexty. Dscrete Appled Mathematcs, 5, 1983, 11-24. 2. Hartmann S., Brskorn D.: A Survey of Varants and Extensons of the Resource- Constraned Project Schedulng Problem. European Journal of Operatonal Research, 207(1), 2012, 1-14. 3. Hartmann S., Kolsch R., Expermental evaluaton of state-of-the-art heurstcs for the resource-constraned project schedulng problem. European Journal of Operatonal Research, 127, 2000, s. 394-407. 4. Klmek M.: Predyktywno-reaktywne harmonogramowane produkcj z ogranczoną dostępnoścą zasobów. Praca doktorska, AGH Kraków, 2010. 5. Klmek M., Łebkowsk P.: Algorytm prorytetowy harmonogramowana projektu przy ogranczonych zasobach, [w:] Komputerowo Zntegrowane Zarządzane, Knosala R. (red.), Opole: Ofcyna Wydawncza Polskego Towarzystwa Zarządzana Produkcją, T.I, 2008, s. 532-540. 6. Kolsch R.: Seral and parallel resource-constraned project schedulng methods revsted: Theory and computaton, European Journal of Operatonal Research, 90, 1996, 320-333. 7. Kolsch, R. Effcent prorty rules for the resource-constraned project schedulng problem. Journal of Operatons Management 14, 1996, s. 179 192. 8. Kolsch R., Hartmann S.: Expermental nvestgaton of heurstcs for resourceconstraned project schedulng: An update, European Journal of Operatonal Re-search 174, 2006, s. 23-37. 599
9. Kolsch R., Padman R.: An ntegrated survey of determnstc project schedulng, OMEGA The Internatonal Journal of Management Scence, 29, 2001, 249-272. 10. Kolsch R., Sprecher A.: PSPLIB a project schedulng lbrary. European Journal of Operatonal Research 96, 1997, s. 205 216. 11. Mchalewcz Z.: Algorytmy genetyczne + struktury danych = programy ewolucyjne, Wydawnctwo WNT, Warszawa, 1999 Dr nż. Marcn KLIMEK Zakład Informatyk, Katedra Nauk Techncznych, Wydzał Nauk Ekonomcznych Techncznych, Państwowa Szkoła Wyższa m. Papeża Jana Pawła II 21-500 Bała Podlaska, ul. Sdorska 95/97, e-mal: m.klmek@dydaktyka.pswbp.pl Dr hab. nż. Potr ŁEBKOWSKI, prof. AGH Katedra Badań Operacyjnych Technolog Informacyjnych, Wydzał Zarządzana AGH 30-067 Kraków, ul. Gramatyka 10, e-mal: plebkows@zarz.agh.edu.pl 600