ALGORYTM PRIORYTETOWY HARMONOGRAMOWANIA PROJEKTU PRZY OGRANICZONYCH ZASOBACH Macn KLIMEK, Pot ŁEBKOWSKI Steszczene: W atykule opsano algoytm poytetowy dla poblemu hamonogamowana poektu z oganczoną dostępnoścą zasobów RCPSP (ang. Resouce-Constaned Poect Schedulng Poblem) ze zdefnowanym umownym etapam poektu tzw. kamenam mlowym. Poównano efektywność znanych eguł poytetowych, stosowanych w badanach dotyczących RCPSP, z zasadam poytetowana dedykowanym dla ozpatywanego zagadnena. Słowa kluczowe: algoytmy poytetowe, kamene mlowe, poekt, hamonogamowane.. Wpowadzene Pzedsębostwa podukcyne coaz częśce stosuą tzw. podukcę na zlecene (ang. MTO Make-To-Ode). Zamówena podukcyne wykonywane są w amach poektów (pzedsęwzęć) ealzowanych w konsultac z klentem (odbocą). Jako poekty ealzowane są m.n.: podukca wyobów nestandadowych, wykonywane zleceń konstukcynych (np. budowa dóg, statków) czy ozwoowych (np. twozene systemów nfomatycznych). Hamonogamowane poektu obaczone est nepewnoścą zwązaną z unkalnoścą ealzowanych zadań ze zmennoścą wymagań odboców. W faze planowana mogą występować tudnośc z okeślenem temnu ealzac poszczególnych etapów pac lub całego pzedsęwzęca. W celu zmneszena yzyka nepowodzena całego poektu, klenc często wymagaą od wykonawców (zwłaszcza pzy dużych poektach) okeślena punktów kontol pzebegu pac tzw. kamen mlowych. Defnowane są nepzekaczalne temny ch ealzac, a ewentualne opóźnena mogą pocągać za sobą kay umowne. Mogą także dopowadzć do wycofana sę klenta z zamówena. Zadanem plansty est stwozene hamonogamu, któy est maksymalne zabezpeczony pzed pzekoczenem każdego z etapów poektu. W nnesze pacy zapoponowano matematyczny model poblemu hamonogamowana poektu z oganczoną dostępnoścą zasobów RCPSP ze zdefnowanym, nepzekaczalnym temnam ealzac zadań zwązanych z kamenam mlowym. Zdefnowano funkcą celu uwzględnaącą zabezpeczene temnowego wykonana wszystkch etapów poektu. Następne dla tego modelu pzetestowano skuteczność dzałana algoytmu poytetowego dla opacowanych eguł poytetowych. 2. Sfomułowane poblemu Poekt to unkalny zbó współzależnych czynnośc (zadań, opeac) ealzowany w amach okeślonych zasobów (pacownków, maszyn, mateałów). Czynność to część poektu, stanowąca odębną całość, do e ealzac wymagana est okeślona lość czasu 532
zasobów. Zadana są nepodzelne (ang. nonpeemptve schedulng) stnee tylko eden sposób ch wykonana (ang. sngle-mode). Poekty epezentowane są ako acyklczny, spóny, posty gaf skeowany G(V, E), w któym V oznacza zbó węzłów odpowadaący czynnoścom, a E to zbó łuków opsuących elace popzedzań. Jest to epezentaca tzw. seć czynnośc (ang. AON Actvty-On-Node) []. Pomędzy czynnoścam występuą elace typu konec-początek bez zwłok (ang. fnsh-stat, zeo-lag pecedence), w któych następnk może ozpocząć sę bezzwłoczne po zakończenu zadana popzedzaącego [2]: s + d s (, ) E, () gdze: s czas ozpoczęca zadana, d czas wykonywana zadana. Dla zealzowana czynnośc nezbędne są zasoby, któe ównocześne stanową oganczene w ealzac poektu. Zasoby są odnawalne (ang. enewable) tzn. ch dostępność est stała w kolenych okesach czasu. To oganczene można zapsać wzoem (2) [2]: S t k a k t, k, (2) gdze: a k lczba dostępnych zasobów typu k, S t zbó zadań wykonywanych w pzedzale czasu [t-, t], k zapotzebowane czynnośc na zasób typu k. Do tak opsanego poblemu RCPSP autozy poponuą zdefnować umowne punkty kontol pzebegu pac tzw. kamene mlowe. Do każdego zadana pzypsany est etap poektu z nm zwązany na te podstawe okeślony est nepzekaczalny temn zakończena tego zadana δ [3]: z δ (3) gdze: z czas zakończena czynnośc. W celu zdefnowana funkc celu koneczne est okeślene zboów zadań konecznych do ealzac umownego etapu poektu. Nech zbó zadań bezpośedno zwązanych z danym kamenem mlowym km będze oznaczony symbolem M. M zawea wszystke czynnośc o dentycznym nepzekaczalnym temne zakończena δ : M { tm }, gdze: tm temn ealzac kamena mlowego km. :δ, (4) Zboy M są ozłączne. Każda z czynnośc należy tylko do ednego ze zboów M. 533
Nech KM to zbó wszystkch czynnośc, któych wykonane est nezbędne do ealzac danego kamena mlowego km (zbó KM zawea dodatkowo wszystke popzednk czynnośc ze zbou M ): KM { M P k M }, :, (5) gdze: P k zbó wszystkch popzednków (ne tylko bezpośednch) czynnośc k. Z paktycznego punktu wdzena, w zwązku z nepewnoścą występuącą pzy ealzac poektu, użyteczne est znalezene takego hamonogamu zadań, aby maksymalne zabezpeczyć temnową ealzacę wszystkch kamen mlowych [3]. Poponowaną funkcą celu F, uwzględnaącą zabezpeczene temnowego wykonana wszystkch etapów poektu, est ważona suma pozomu zabezpeczena kamen mlowych pb (oblczanych według wzou (6)) okeślona wzoem (7). KM k ez pb (6) d F m ( pb wm ), (7) gdze: wm waga pzypsana kamenow mlowemu km, ez óżnca mędzy nepzekaczalnym temnem kontolnym tm a nawcześneszym możlwym temnem wykonana wszystkch czynnośc ze zbou KM. Watość wag wm zależy od aktualnego pozomu zabezpeczena kamena mlowego km ustalana est na podstawe posotowane osnąco według pb lsty kamen mlowych, któym koleno pzypsue sę maleące wm. W pacy pzyęto ako wm kolene lczby natualne od m do. Kamenom mlowym można pzypsać nne wag, pzy czym pownen być spełnony waunek: wększa waga wm dla mne zabezpeczonych km. 3. Algoytmy hamonogamowana Poblem hamonogamowana poektu z oganczoną dostępnoścą zasobów RCPSP, ako uogólnene klasycznego poblemu ob shop, est zadanem slne NP-tudnym. Dla NP-tudnych poblemów optymalzacynych stosue sę algoytmy dokładne (dla poblemów o mneszych ozmaach) pzyblżone (dla poblemów wększych). Algoytmy dokładne popzez umeętny pzegląd wszystkch dopuszczalnych ozwązań zawsze geneuą ozwązana optymalne, ale ze względu na wykładnczą złożoność oblczenową, mogą być stosowane edyne dla poblemów o newelkch ozmaach. Czas poszukwań ozwązana optymalnego dla wększych poblemów (a take występuą w zeczywstych systemach podukcynych) często est neakceptowalny w paktyce. Wększe paktyczne znaczene ma znalezene efektywnych algoytmów pzyblżonych. Algoytmy pzyblżone posadaą naczęśce welomanową złożoność oblczenową. W zwązku z tym ch czas oblczeń est znaczne mneszy nż metod dokładnych 534
o wykładncze złożonośc oblczenowe. Poceduy pzyblżone ne daą gwaanc znalezena ozwązana optymalnego, choć wyszukane takego ozwązana est możlwe. Jakość uzyskwanych ozwązań (dokładność pzyblżeń) zależy od lczby analzowanych pzez ne uszeegowań, czyl właścwe od czasu oblczeń. Wśód algoytmów pzyblżonych (heuystycznych) można wyóżnć dwe gupy algoytmów: algoytmy konstukcyne oaz algoytmy lokalnych poszukwań (ang. LS Local Seach). Obe gupy maą znaczene paktyczne. Algoytmy konstukcyne są pzydatne do geneowana ozwązań początkowych dla badze efektywnych algoytmów lokalnych poszukwań t. algoytmy symulowanego wyżazana (ang. SA Smulated Annealng), pzeszukwane z zakazam (ang. TS Tabu Seach), algoytmy genetyczne (ang. GA - Genetc Algothms) td. Algoytmy konstukcyne buduą ozwązane poblemu w opacu o poste mechanzmy poytetowana (algoytmy poytetowe) czy wstawana zadań (algoytmy wstaweń). Wykozystywane algoytmów konstukcynych, est newystaczaące, gdyż powadz często do hamonogamów znaczne odbegaących od optymalnych. Te uszeegowana są ednak na tyle dobe, że są badzo pzydatne ako ozwązana statowe dla algoytmów lokalnych poszukwań. Ich zaletą est pzede wszystkm szybk czas dzałana. Ich wadą est fakt, że naczęśce są one dedykowane dla konketnych poblemów optymalzacynych. W następnym ozdzale szeze opsano algoytmy poytetowe, któe są pzedmotem analzy w te pacy. 4. Algoytmy poytetowe Algoytmy poytetowe twozą hamonogam w opacu o poytety zadań okeślane pzy pomocy óżnych eguł poytetowych, specyfcznych dla danego zagadnena. Lsta poytetowa okeśla ważność poszczególnych zadań. Na e podstawe, za pomocą poceduy dekoduące SGS (ang. SGS Schedule Geneaton Scheme), twozony est hamonogam, czyl okeślane są temny ozpoczęca poszczególnych czynnośc. Stosowane są następuące schematy geneowana hamonogamu SGS [4]: - szeegowy SGS (ang. seal SGS) w każde teac ozpoczynana est pewsza neuszeegowana czynność z lsty poytetowe, w nawcześneszym możlwym temne ozpoczęca pzy spełnenu oganczeń kolenoścowych zasobowych, - ównoległy SGS (ang. paallel SGS) teacyne, w kolenych momentach czasu t (w punktach decyzynych), ozpoczynane są wszystke neuszeegowane czynnośc, któe mogą być ozpoczęte w kolenośc wynkaące z lsty poytetowe pzy spełnenu oganczeń kolenoścowych zasobowych. Szeegowy ównoległy SGS twozą hamonogam spełnaący oganczena zasobowe kolenoścowe, nezależne od kolenośc zadań na lśce poytetowe. Dla ozważanego poblemu opacowano klasyczny algoytm poytetowana: twozona est lsta zadań ustawonych w kolenośc wynkaące z zastosowane eguły poytetowe, któa następne poddana est poceduze SGS. Algoytm poytetowy do ustalena kolenośc na lśce poytetowe wykozystue tzw. eguły poytetowana (ang. poty ules). Znalezene odpowednch eguł poytetowych, est kluczowe dla efektywnośc tych algoytmów. Koneczne est opacowane zasad ustalana kolenośc zadań dla poblemu RCPSP z kamenam mlowym. Pzy ch defnowanu wykozystywane będą poęca stosowane w analze czasowe poblemów szeegowana t.: 535
ES (ang. Ealest Stat) nawcześneszy możlwy czas ozpoczęca zadana, EF (ang. Ealest Fnsh) nawcześneszy możlwy czas zakończena zadana, LS (ang. Latest Stat) napóźneszy możlwy czas ozpoczęca zadana, LF (ang. Latest Fnsh) napóźneszy możlwy czas zakończena zadana. Poęca te są bezpośedno zwązane z szukanym hamonogamem. Zachodzą neównośc: ES EF s LS, (8) z LF, (9) Nawcześnesze możlwe czasy ozpoczęca ES zakończena EF znadowane są ekuencyne wykonuąc oblczena koleno dla czynnośc od 0 do n+. Można okeślć następuące zależnośc (dentyczne ak dla poblemu RCPSP bez kamen mlowych): ES 0 0 (0) ES max ( ES + d ), () ZP EF ES + d, (2) gdze: ZP - zbó bezpośednch technologcznych popzednków czynnośc. Dla ozważanego poblemu, analza dotycząca, napóźneszego możlwego czasu ozpoczęca LS zakończena LF, mus uwzględnać system kamen mlowych. Napóźneszy możlwy czas zakończena zadana ne może pzekaczać temnu zakończena etapu poektu z nm zwązanego. Mus być ówneż pzeanalzowany mnmalny czas ealzac wszystkch następnków (ne tylko bezpośednch) dane czynnośc, konecznych do wykonana zwązanego z ną kamena mlowego. Analza czasowa wykonywana est ekuencyne koleno od czynnośc n+ do. Zachodzą następuące zależnośc: LS max( +, δ + ) (3) n+ ES n n LF mn( mn( LF d ), δ, EF ), (4) ZN LS LF d, (5) gdze: ZN - zbó bezpośednch technologcznych następnków czynnośc. Ponże, w tabel opsano znane eguły (eguły R-R), wykozystywane w badanach dotyczących poblemu RCPSP [5], któe będą zastosowane dla ozpatywanego zagadnena. W kolumne 2 zapsano wzoy do oblczana poytetów poszczególnych 536
zadań. Dla celów poównawczych dodano egułę R0, w któe poszczególnym zadanom pzypsywane są losowe poytety zadań. Tab.. Znane eguły poytetowe Reguła Wzó na poytet zadana poytetowa R0 R R2 R3 R4 ( ) andom 0 ( ) ES ( ) LS 2 ( ) LF 3 ( ) EF 4 R5 ( ) ( LS ES ) 5 R6 ( ) ( LF EF ) R7 R8 R9 R0 R 6 ( ) # N 7 ( ) # ZN 8 ( ) d 9 0 ( ) d + d ( ) d K N k k + d K N k k Ops eguły Losowe poytety zadań Mnmalny nawcześneszy czas ozpoczęca zadana Mnmalny napóźneszy czas ozpoczęca zadana Mnmalny napóźneszy czas zakończena zadana Mnmalny napóźneszy czas zakończena zadana Mnmalna óżnca mędzy napóźneszym a nawcześneszym możlwym czasem ozpoczęca czynnośc (ang. MINSLK - Mnmum Slack) Mnmalna óżnca mędzy napóźneszym a nawcześneszym możlwym czasem zakończena czynnośc Maksymalna lczba wszystkch następnków czynnośc (ang. MTS Most Total Successos) Maksymalna lczba wszystkch bezpośednch następnków czynnośc (ang. MITS Most Immedate Total Successos) Nakótszy czas twana czynnośc (ang. SPT Shotest Pocessng Tme) Maksymalna suma czasów twana dane czynnośc e wszystkch następnków (ang. MTSPT Most Total Successos Pocessng Tme) Maksymalna suma loczynu czasu twana zasobochłonnośc dane czynnośc e wszystkch następnków Poza znanym egułam poytetowym opacowano zasady poytetowana wykozystuące nfomace o zboach kamen mlowych, dedykowane dla analzowanego poblemu (eguły R2-R2) pzedstawone w tabel 2. Powstały one pzy wykozystanu eguł opsanych w tabel, pzy uwzględnenu dodatkowo wedzy o umownych etapach poektu: dla każdego zadana uwzględnono nepzekaczalny temn ego ealzac δ. Jeśl stosuąc daną egułę poytetowana zadana maą take same poytety, na wcześneszych pozycach lsty poytetowe umeszczane są zadana oznaczone nższym numeem. 537
Tab. 2. Reguły poytetowe dedykowane dla poblemu RCPSP z kamenam mlowym Reguła Wzó na poytet zadana poytetowa R2 R3 R4 R5 R6 2 3 4 ( ) δ ( ) δ LS ( ) δ ES ( ) δ LF 5 6 ( ) δ EF R7 ( ) δ ( LS ES ) 7 R8 ( ) δ ( LF EF ) R9 R20 R2 8 # N 9 ( ) δ 20 ( ) 2 ( ) # ZN δ d + N δ d 5. Wynk badań ekspeymentalnych Badana pzepowadzono pzy użycu 20 nstanc testowych z bblotek PSPLIB zapoponowanych w pacy [6] (po 60 dla poblemów złożonych z 30 20 zadań). Dla każdego poblemu testowego zdefnowano dodatkowo cztey kamene mlowe, okeślaąc losowo czynnośc należące do poszczególnych zboów M. Następne okeślono tm wspólne, nepzekaczalne temny ealzac zadań należących do tego samego zbou M. Aby zapewnć kontole pzebegu pac podczas twana całego poektu założono, że występuą pewne odstępy czasowe mędzy temnam kontolnym tm. Pzyęto ównomene ozłożene punktów kontolnych podczas ealzac poektu: tmm tm tm, < 0, m), m gdze: tm m- temn ealzac całego poektu (tm m- δ n+ ), m lczba kamen mlowych. + (6) Ekspeymenty powadzono na komputeze klasy Pentum z pocesoem,7 GHz pzy użycu pogamu zamplementowanego w ęzyku C# w śodowsku Vsual Studo.NET. Wynk oblczeń zestawono w tabel 3. 538
Tab. 3.Wynk ekspeymentów oblczenowych 30 zadań 20 zadań Reguła szeegowy SGS ównoległy SGS szeegowy SGS ównoległy SGS poytetowa a b c a b c a B c a b C R0 25 33,4% 5 27 29,2% 0 84,5% 0 7 64,0% R 4 27 24,8% 4 30 22,0% 0 7 67,0% 0 3 60,2% R2 33 56 4,7% 20 49 0,% 24 60 8,5% 0 5 24,8% R3 3 56 3,3% 2 50 9,4% 9 60 8,5% 5 22,7% R4 24 25,6% 2 27 25,6% 0 8 66,2% 0 4 55,5% R5 26 54 6,2% 22 49 0,3% 0 58 5,4% 0 49 27,% R6 26 54 4,9% 2 50 0,0% 9 58 5,5% 0 5 25,8% R7 9 39 7,2% 6 37 7,0% 3 26 59,4% 0 26 45,5% R8 5 33 20,9% 3 35 9,3% 2 2 49,3% 0 30 45,2% R9 2 24 26,8% 2 29 2,8% 0 9 83,3% 0 5 62,6% R0 9 34 2,% 7 37 9,7% 5 24 68,9% 0 30 48,3% R 7 33 24,2% 6 35 2,0% 5 24 67,8% 28 49,0% R2 28 55 2,6% 22 50 9,5% 3 60 3,0% 0 55 7,2% R3 39 57,5% 23 50 9,3% 36 60,2% 0 54 20,5% R4 20 46 2,6% 6 38 7,3% 0 56 20,% 0 50 25,5% R5 33 56,6% 23 50 9,0% 33 60 0,8% 55 9,4% R6 8 50,0% 6 40 5,9% 58 3,5% 0 48 23,6% R7 28 56 2,5% 20 50 9,5% 3 60 5,2% 0 55 8,8% R8 29 57 2,3% 24 5 9,0% 2 60 3,5% 0 55 9,0% R9 5 37 9,4% 3 39 6,8% 3 27 55,8% 0 28 46,8% R20 5 33 2,0% 3 34 9,4% 3 26 57,4% 0 26 48,0% R2 5 33 2,% 3 34 9,6% 3 26 57,4% 0 26 48,0% a lczba ozwązań nalepszych (spośód 60 ekspeymentów) b lczba ozwązań lepszych od śedne (spośód 60 ekspeymentów) c śedne pocentowe odchylene względne od nalepszego znalezonego uszeegowana Ekspeymenty wykazały lepszą pzecętną skuteczność ównoległe poceduy dekoduące SGS nż szeegowego SGS (o,9% mnesze śedne pocentowe odchylene względne od nalepszego uszeegowana zadana dla poblemów 30 zadanowych o 0,3% mnesze odchylene dla poblemów 20 zadanowych). Równoległy SGS est ednak badze czasochłonny oblczenowo nż szeegowy SGS: czas geneowana hamonogamu dla algoytmu poytetowego stosuącego ównoległy SGS był śedno 3,9 kotne dłuższy nż algoytmu wykozystuącego szeegowy SGS. Poza tym można zauważyć, że szeegowy SGS est badze efektywny nż ównoległy SGS dla eguł poytetowych, któe są wydane w ozważanym zagadnenu (eguły R2, R3, R5, R6, R2, R3, R5, R7, R8). Natomast dla eguł neefektywnych ównoległy SGS geneue lepsze hamonogamy, ale tak dość słabe akośc. Reguły dedykowane dla ozważanego poblemu (uwzględnaące nfomace o temnach ealzac kamen mlowych) są lepsze nż znane eguły poytetowe. Spośód znanych eguł poytetowych skuteczne są te, któe pzy wylczanu kozystaą z nfomac o kamenach mlowych (eguły R2 z LS oaz R3 z LF ). Nalepsze zasady ustalana kolenośc zadań to mnmalny napóźneszy czas ozpoczęca (R3, R2) oaz mnmalny napóźneszy czas zakończena zadań (R5, R3) pzy szeegowe poceduze dekoduące. Analzuąc wynk można wyóżnć dwe gupy eguł: - efektywne (eguły R2, R3, R5, R6, R2, R3, R5, R7, R8) o skutecznośc 539
znaczne pzewyższaące egułę R0, geneuącą losowe poytety, - neefektywne, o skutecznośc blske egule R0. Duże zóżncowane wynków wskazue na kozyśc wynkaące ze stosowana efektywnych zasad poytetowana zadań. 6. Zakończene W atykule pzedstawono algoytm poytetowy dla poblemu hamonogamowana poektu z kamenam mlowym. Wynk testów oblczenowych pozwolły znaleźć skuteczne eguły poytetowe dla ozważanego zagadnena. Nalepsze ezultaty są osągane dla eguł dedykowanych dla poblemu RCPSP z kamenam mlowym uwzględnaących temn ealzac poszczególnych etapów poektu. Naskutecznesze zasady poytetowana to mnmalny napóźneszy czas ozpoczęca oaz mnmalny napóźneszy czas zakończena zadań pzy stosowanu szeegowe poceduy dekoduące. Poceduy twozena hamonogamu w opacu o lstę poytetową czynnośc geneuą uszeegowana naczęśce daleke od optymalnych, ale mogą być użyteczne ako ozwązana statowe (bazowe) w nnych, badze zaawansowanych algoytmach. Wedza o skutecznośc dane eguły poytetowe może być także wykozystana w opeatoach pzeszukwana pzestzen ozwązań. Pzedmotem dalszych badań będze wykozystane nalepszych zasad poytetowana w algoytmach hamonogamowana metodą wstaweń metaheuystykach. Lteatua. Kostubec A.: Hamonogamowane poektów - pzegląd model. Inżynea Zaządzana Pzedsęwzęcam, Wydawnctwo Poltechnk Gdańske, Gdańsk 2003, s. 33-52. 2. Van De Vonde S, Demeulemeeste E., Heoelen W., Leus R.: The tade-off between stablty and makespan n esouce-constaned poect schedulng, Intenatonal Jounal of Poducton Reseach, 44(2), 2006, s. 25-236. 3. Klmek M., Łebkowsk P.: May odponośc hamonogamów. Komputeowo Zntegowane Zaządzane (ed.) R. Knosala, Ofcyna Wydawncza Polskego Towazystwa Zaządzana Podukcą, t. I, Opole 2008, s. 569-577. 4. Kolsch R.: Seal and paallel esouce-constaned poect schedulng methods evsted: Theoy and computaton. Euopean Jounal of Opeatonal Reseach, 90, 996, s. 320-333. 5. Kolsch, R. Effcent poty ules fo the esouce-constaned poect schedulng poblem. Jounal of Opeatons Management 4, 996, s. 79 92. 6. Kolsch R., Speche A.: PSPLIB a poect schedulng lbay. Euopean Jounal of Opeatonal Reseach 96, 997, s. 205 26. Mg nż. Macn KLIMEK Instytut Infomatyk Państwowa Wyższa Szkoła Zawodowa 2-500 Bała Podlaska, ul. Sdoska 95/97 e-mal: macn_kl@ntea.pl D hab. nż. Pot ŁEBKOWSKI, pof. AGH Kateda Badań Opeacynych Technolog Infomacynych Wydzał Zaządzana Akadema Gónczo-Hutncza 30-059 Kaków, al. Mckewcza 30 e-mal: plebkows@zaz.agh.edu.pl 540