dr in. Pawe Sitek, dr in. Jaros aw Wikarek Samodzielny Zak ad Systemów Sterowania i Zarz dzania Politechnika wi tokrzyska mgr in. Grzegorz Bocewicz Katedra Podstaw Informatyki i Zarz dzania Politechnika Koszali ska HARMONOGRAMOWANIE ZADA I ROZDZIA U ZASOBÓW JAKO PROBLEM SPE NIENIA OGRANICZE W referacie przedstawiono mo liwo formalizacji zagadnienia harmonogramowania zada i rozdzia u obcie w postaci problemu spe nienia ogranicze - Constraint Satisfation Problem (CSP). Omówiono podstawowy algorytm CSP oraz techniki propagacji ogranicze i backtrackingu. Z wykorzystaniem rodowiska programowania w logice z ograniczeniami Constraint Logic Programming (CLP), którego podstawowym zagadnieniem jest CSP, dokonano implementacji systemu wspomagania decyzji harmonogramowania produkcji. System opracowano przy wykorzystaniu pakietu ECL i PS e. W artykule zamieszczono równie przyk ad ilustracyjny wspomagania decyzji harmonogramowania produkcji typu gniazdowego (job-shop). CSP APPROACH TO SCHEDULING PROBLEMS Scheduling problems can be seen as a special type of Constraint Satisfaction Problem (CSP). This paper presents a formulating of scheduling problems as CSPs. To solve a CSP, different approaches have been developed. These approaches generally use constraint propagation to simplify the original problem and backtracking to directly search for possible solutions. To demonstrate flexibility of CSP approach, the implementation of decision support system for jobshop production based on Constraint Logic Programming (CLP) has been presented. 1. WPROWADZENIE Problemy harmonogramowania zada oraz rozdzia u zasobów towarzysz prawie ka dej twórczej dzia alno ci cz owieka. S znacz cym elementem procesów decyzyjnych nast puj cych zagadnie : sterowania i planowania produkcji, zarz dzania zaopatrzeniem i zbytem, organizowaniem transportu, zarz dzania zapasami, zarz dzania projektami, sterowania ruchem w sieciach komputerowych, uk adaniem planów zaj itp. Niezale nie od praktycznego zastosowania oraz ró nic powy sze problemy decyzyjne mo na scharakteryzowa w nast puj cy sposób. Dany jest zbiór zada, zbiór procesorów oraz ograniczone zasoby przeznaczone do ich realizacji. Nale y znale taki dopuszczalny przydzia zada do procesorów, tak dopuszczaln kolejno wykonywania zada na tych procesorach oraz taki dopuszczalny rozdzia ograniczonych zasobów pomi dzy zadania, aby przyj te kryterium jako ci przy zadanych ograniczeniach osi gno optimum lub zadan okre lon warto. Procesorem mo e by m.in. maszyna, stanowisko, rodek transportu czy w zagadnieniach informatycznych mikroprocesor. Wymieniona problematyka harmonogramowania zada i rozdzia u zasobów nale y do bardzo trudnych dyskretnych problemów decyzyjnych. Przy ich rozwi zywaniu wyst puj cz sto trudno ci natury obliczeniowej m.in. tzw. eksplozja kombinatoryczna. 1
W zale no ci od z o ono ci obliczeniowej do rozwi zywania powy szych problemów konstruowane s optymalne algorytmy wielomianowe lub dla problemów NP-trudnych algorytmy metaheurystyczne z zakresu sztucznej inteligencji tzn.: sieci neuronowe, algorytmy genetyczne, symulowane wy arzanie, przeszukiwania typu tabu-search. Stosowanie optymalnych algorytmów wyk adniczych opartych na metodzie podzia u i oszacowa ma ograniczone zastosowanie praktyczne spowodowane bardzo d ugim czasem oblicze [1]. Wszystkie wymienione metody posiadaj pewn wspóln cech. Polega ona na tym, e proces modelowania np. problemu harmonogramowania zada i rozdzia u zasobów jest oddzielony od procesu znajdowania jego rozwi zania np. optymalnego lub dopuszczalnego harmonogramu. Jest to powodem powstania pewnej przepa ci semantycznej pomi dzy modelem a metod /metodami jego rozwi zywania. Skutkiem tego rozd wi ku jest konieczno stosowania innego rodowiska do modelowania problemu a innego do jego rozwi zywania. W pracy, przeciwnie, zaproponowano jednorodne rodowisko do modelowania i rozwi zania problemu harmonogramowania zada i rozdzia u zasobów. Tym rodowiskiem jest wywodz ce si z programowania w logice programowanie w logice z ograniczeniami (Constraint Logic Programming CLP) [2,3,4]. Najwa niejsz cech programowania w logice jest deklaratywno, tzn., e program zawiera opis problemu a nie sposób jego rozwi zania. W stosunku do j zyków imperatywnych, które specyfikuj -jak rozwi za problem? i sk adaj si z ci gu polece, j zyki deklaratywne pytaj -jaki jest problem? i sk adaj si ze zbioru zda (predykatów). Drug cech j zyków programowania w logice jest ich naturalna równoleg o, czyli brak podstawowego za o enia j zyków imperatywnych jako sekwencyjnej maszyny von Neumanna. 2. PROBLEM SPE NIENIA OGRANICZE CSP (CONSTRAINT SATISFACTION PROBLEM) Podstawowym zagadnieniem w programowaniu w logice z ograniczeniami jest tzw. problem spe nienia ogranicze Constraint Satisfaction Problem CSP. Mo na ogólnie okre li go w nast puj cy sposób. Dany jest sko czony zbiór zmiennych, ka da zmienna posiada sko czon domen warto ci, jakie mo e przyj. Dany jest równie zbiór ogranicze, który nak ada okre lone warunki na warto ci, jakie zmienne mog przyjmowa. Rozwi zaniem CSP jest znalezienie takiego przyporz dkowania warto ci do ka dej zmiennej (ukonkretnienie zmiennej), aby wszystkie ograniczenia by y jednocze nie spe nione. 2.1 Formalna definicja problemu CSP Formalnie, dla danego problemu CSP z n zmiennymi decyzyjnymi X 1,,X n i m ograniczeniami R 1,,R m rozwi zanie to takie odwzorowanie f(x i ) d i, d i D i, gdzie D i jest domen X i, dla i=1..n, które dla ka dego j, spe nia R j (f(x 1i ),, f(x ki )). Mo na wyró ni kilka kategorii problemów CSP s to [5]: CSP dla którego rozwi zaniem jest pojedynczy zbiór ukonkretnionych zmiennych spe niaj cych wszystkie ograniczenia CSP do którego rozwi zania nale y znale wszystkie zbiory ukonkretnionych zmiennych spe niaj cych wszystkie ograniczenia CSP do którego rozwi zania nale y znale zbiór ukonkretnionych zmiennych spe niaj cych wszystkie ograniczenia i jednocze nie optymalizuj cy wska nik jako ci. 2
W programowaniu z ograniczeniami ka de ograniczenie R problemu CSP jest rozpatrywane jako podproblem. Z ka dym ograniczeniem zwi zany jest algorytm redukcji domen, który usuwa te warto ci z domen, które s niedopuszczalne dla zmiennych decyzyjnych wyst puj cych w ograniczeniu. Dodatkowo w celu zwi kszenia efektywno ci jest u atwiona komunikacja pomi dzy ograniczeniami. Podstawow metod u ywan w tym celu jest propagacja ogranicze (constraint propagation), która wie ograniczenia poprzez ich wspólne zmienne doprowadzaj c do wysokiego stopnia zgodno ci, poprzez usuni cie warto ci niedopuszczalnych. Jest to osi gane poprzez systematyczn redukcj domen zmiennych decyzyjnych. Schemat podstawowego algorytmu CSP jest widoczny na rys.1. Rys. 1 Podstawowy algorytm problemu CSP 2.2 Harmonogramowanie zada i rozdzia u zasobów produkcyjnych jako problem CSP Problem harmonogramowania zada i rozdzia u zasobów mo na sformu owa w nast puj cy sposób. Dany jest zbiór n zada (jobs). Zadanie oznaczamy j J, gdzie J to zbiór zada {1,2,3,.. n}. Zadania maj by wykonane na maszynach s S, gdzie S to zbiór maszyn {1,2,.. m}. Do wykonania zada dost pnych jest r rodzajów zasobów. Dodatkowo zak ada si, e w danej chwili czasu ka de zadanie mo e by wykonywane, przez, co najwy ej jedn maszyn i mo e zu ywa jeden uogólniony rodzaj zasobu. Uogólniony rodzaj zasobu to zbiór zasobów ró nego typu koniecznych do wykonania zadania na danej maszynie. Ka da maszyna mo e wykonywa, co najwy ej jedno zadanie. Najczciej w systemach produkcyjnych wyst puj 3
maszyny pracuj ce równolegle, które spe niaj te same funkcj oraz maszyny dedykowane, ró ni ce si funkcjami. Dla maszyn dedykowanych wyró nia si trzy typy systemów obs ugi zada : ta mowy/przep ywowy (ang. flow-shop) ogólny (ang. open-shop); gniazdowy (ang. job-shop); W artykule jako przyk ad b dzie rozwa ny system obs ugi typu gniazdowego (job-shop). W systemie tym ka de zadanie jest okre lane jako zbiór operacji wykonywanych w zadanym porz dku. Ka de zadanie j J jest zbiorem operacji o O (operacje dotycz ce zadania j nale do zbioru O j, O j O ) zazwyczaj z zadanym porz dkiem ich wykonania. Dlatego w systemach typu gniazdowego w celu wykonania ka dego zadania musi by wykonany na maszynach zadany ci g operacji w okre lonym porz dku. Przy budowie modeli formalnych harmonogramowania i rozdzia u zasobów w systemie gniazdowym s formu owane pewne ograniczenia dotycz ce zada, operacji, maszyn itp. W odró nieniu od klasycznego sformu owania problemu harmonogramowania zada w systemie gniazdowym [9] przyj to pewne rozszerzenia wynikaj ce z praktyki. Do najwa niejszych z nich mo na zaliczy : wprowadzenie dodatkowych zasobów i ich rozdzia, wyst powanie czasowej niedost pno ci zasobów oraz mo liwo harmonogramowania dodatkowych zada po uzyskaniu harmonogramu dla zada podstawowych. W implementacji skutkuje to znacznie wi ksz liczb i zakresem pyta, które mog by zadane systemowi wspomagania harmonogramowania (punkt. 3 i 4) ni dla klasycznego problemu harmonogramowania zada w systemie gniazdowym gdzie pytamy zwykle o minimaln d ugo uszeregowania C max. Problem harmonogramowania zada i rozdzia u zasobów mo na sformu owa w postaci problemu spe nienia ogranicze [6, 7]. S dwa podstawowe modele problemu harmonogramowania sformu owanego w postaci CSP. Pierwszy model to model czasowy, którego zmiennymi decyzyjnymi s czasy rozpocz cia poszczególnych operacji. Drugi model tzw. grafowy to model, w którym zmienn decyzyjn jest kolejno wykonywania operacji na poszczególnych zasobach. Podstawowe za o enia modelu harmonogramowania zada i rozdzia- u zasobów jako zadania CSP (rys.2-3) przedstawiono na przyk adzie rodowiska gniazdowego (job-shop). Problem zosta sformu owany przy wykorzystaniu ogranicze kolejno ciowych oraz zasobowych. Jako zmienne decyzyjne przyj to czasy rozpocz cia operacji poszczególnych zada. Dla ka dej zmiennej decyzyjnej okre lono sko czon domen dyskretn D [0..T], gdzie T jest czasem zako czenia realizacji wszystkich zada. Rys. 2 Podstawowe ograniczenia modelu czasowego harmonogramowania zada i rozdzia u zasobów dla systemu gniazdowego (job-shop) (Z i.- i-ty zasób, t ij czas startu operacji i zadania j, d ij - czas trwania operacji i zadania j) 4
Rys. 3. Model czasowy harmonogramowania zada i rozdzia u zasobów dla systemu gniazdowego (job-shop) 3. IMPLEMENTACJA PROBLEMU HARMONOGRAMOWANIA ZADA I ROZDZIA U OBCIE JAKO ZADANIA CSP Wykorzystuj c rodowisko CLP oraz modele harmonogramowania zada i rozdzia u zasobów sformu owane jako zadania CSP opracowano system wspomagania harmonogramowania produkcji. Zakres podejmowanych decyzji przez system zale y od struktur danych oraz zadawanych pyta. W praktyce jest, wi c bardzo elastyczny, bowiem mo na zadawa dowolne pytania (pisa odpowiednie predykaty CLP). W systemie mo na zadawa dwa typy pyta. Pierwszy typ to pytania, które dotycz mo liwo ci znalezienia rozwi zania i najczciej s formu- owane w postaci: Czy istnieje?, Czy jest mo liwe?. Przyk adowo Czy jest mo liwe wykonanie nowego zadania w okre lonym czasie przy istniej cych harmonogramach?. Drugi typ pyta to pytania dotycz ce znalezienia konkretnego rozwi zania najczciej przy optymalizacji okre lonego kryterium jako ci. S to pytania formu owane w postaci: Jaka jest minimalna liczba?, Jaki jest minimalny czas? np. Jaka jest minimalna d ugo uszeregowania (C max ) zbioru zada? Ze wzgl du na du elastyczno rodowiska CLP oraz zastosowanie listowych struktur danych opracowany system wspiera decyzje harmonogramowania dla ró nych typów organizacji produkcji np. open-shop, job-shop, project, multi-project itp. Ponadto jest mo liwo wprowadzania dodatkowych zasobów np. si y roboczej, specjalizowanych narz dzi itp., czenia zasobów w zbiory zasobowe oraz modelowania czasowej niedost pno ci zasobów. W prezentowanej implementacji systemu dokonanej przy wykorzystaniu pakietu ECL i PS e [8] zasobami s maszyny natomiast zadania sk adaj si z operacji. Wyst puj równie zasoby dodatkowe w postaci si y roboczej (pracownicy). Przyk adowy zbiór szczegó owych pyta, które mog by zadane systemowi jest nast puj cy: Jaka jest minimalna liczba dodatkowych zasobów np. pracowników, konieczna do wykonania zbioru zada w zadanym terminie i jaki jest odpowiadaj cy temu harmonogram? Jaka jest minimalna d ugo uszeregowania (C max ) zbioru zada przy okre lonej liczbie pracowników i jaki jest odpowiadaj cy temu harmonogram? Czy jest mo liwe wykonanie zbioru zada w zadanym terminie? Jaka jest minimalna d ugo uszeregowania (C max ) dla nowego zbioru zada przy istniej cym harmonogramie dla zada wcze niej uszeregowanych? 5
Jaka jest minimalna d ugo uszeregowania (C max ) dla nowego zbioru zada przy istniej cym harmonogramie dla zada wcze niej uszeregowanych i zadanej liczbie pracowników? Jaka jest minimalna liczba pracowników niezb dnych do realizacji nowego zbioru zada przy istniej cym harmonogramie dla zada wcze niej uszeregowanych i zadanym terminie realizacji? Czy mo liwe jest wykonanie zbioru zada w zadanym terminie przy danej liczbie pracowników? 4. PRZYK AD ILUSTRACYJNY Dane jest rodowisko produkcyjne o organizacji gniazdowej (job-shop) sk adaj ce si z s {s1,s2,s3,s4,s5,s6} maszyn. Dany jest podstawowy zbiór zada do realizacji j {a,b,c,d,e,f,g} oraz zbiór zada dodatkowych j {h,i,j,k}. Aby zrealizowa dane zadanie nale y wykona zbiór operacji o {a,b,c,d,e,f} na wybranych maszynach. Kolejno wykonywana zada nie jest narzucona natomiast kolejno wykonywania operacji w ramach zadania jest okre lona. Na danej maszynie jednocze nie mo e by wykonywana tylko jedna operacja, rozpocz ta operacja nie mo e ulec przerwaniu. Dodatkowo poza klasyczn definicj problemów harmonogramowania w tym rodowisku [1, 9] uwzgl dniane s : dodatkowe zasoby konieczne do wykonania zadania (pracownicy) mo liwo harmonogramowania dodatkowych zada ju po znalezieniu harmonogramu dla zada ze zbioru podstawowego. Dane liczbowe przyk adu ilustracyjnego przedstawiono w tabeli 1. Struktura zadania (w tym przyk adzie zadaniem mo e by zlecenie produkcyjne) i jego sposób zapisu przedstawiono na rys. 4. Podczas eksperymentów zadawano mi dzy innymi nast puj ce pytania (wywo ywano odpowiednie predykaty CLP): 1. Jaka jest minimalna d ugo uszeregowania(c max ) i odpowiadaj cy mu harmonogram dla zbioru podstawowego (bez limitu pracowników)? Predykat opc. 2. Jaka jest minimalna d ugo uszeregowania (C max ), je li liczba pracowników wynosi 5? Predykat opc(5). 3. Jaka jest minimalna d ugo uszeregowania (C max ), je li liczba pracowników wynosi 5 dla przedzia u (13,33) oraz 10 dla przedzia u (0,13) i (33, )? Predykat opc(10). 4. Czy da si wykona zbiór zada dodatkowych po ustaleniu harmonogramu dla zada podstawowych w czasie: a) 1,5 C max bez ogranicze liczby pracowników? Predykat dod_kiedy(60). b) w czasie 68 bez ogranicze liczby pracowników? Predykat dod_kiedy(68). 5. Czy da si wykona zbiór zada podstawowych w terminie 1,25 C max przy wykorzystaniu 4 pracowników? Predykat kiedy(50,4). 6. Jaka jest minimalna liczba pracowników je li zbiór zada podstawowych mo e by wykonany w 1,25 C max? Predykat opl(50). 6
Uzyskane rezultaty przedstawiono w postaci zrzutów ekranów systemu ECL i PS e (rys.4 - rys. 10) oraz odpowiadaj cych im harmonogramów w postaci wykresów Gantt a (rys.11 - rys. 16). Tabela 1 Dane przyk adu ilustracyjnego Zadania podstawowe j=a [(1,4,2), (2,3,1), (3,4,1), (4,3,1), (5,2,1)] j=b [(5,4,1), (4,5,1), (3,4,1), (2,3,1), (1,4,2)] j=c [(1,3,2), (5,4,1), (2,8,1), (3,3,1), (4,6,1)] j=d [(1,8,2), (2,4,1), (3,4,1), (4,3,1), (5,4,1)] j=e [(5,3,1), (4,8,1), (3,4,1), (2,3,1), (1,6,2)] j=f [(5,3,1), (4,8,1), (3,4,1), (2,3,1), (1,6,2)] j=g [(3,2,1), (5,3,1), (1,5,1), (2,4,3), (4,4,1)] Zadania dodatkowe j=h [(3,2,1), (2,3,2), (1,5,1), (5,4,3),(4,4,2)] j=i [(2,2,1), (3,3,1), (1,5,2), (4,4,3),(5,4,2)] j=j [(2,2,1), (3,3,1), (1,5,1), (4,4,3),(5,4,2)] j=k [(2,2,1), (4,3,1), (1,5,2), (3,4,3),(5,4,2)] Rys. 3 Struktura danych zadania Rys. 4. Odpowied na pytanie 1 (wywo anie predykatu opc) Rys. 5. Odpowied na pytanie 2 (wywo anie predykatu opc(5)) Rys. 6. Odpowied na pytanie 3 (wywo anie predykatu opc(10)) Rys. 7. Odpowied na pytanie 4a (wywo anie predykatu dod_kiedy(60)) Rys. 8. Odpowied na pytanie 4b (wywo anie predykatu dod_kiedy(68)) Rys. 9. Odpowied na pytanie 5 (wywo anie predykatu kiedy(50,4)) 7
Rys. 10. Odpowied na pytanie 6 (wywo anie predykatu opl(50)) Rys. 11. Harmonogram uzyskany po odpowiedzi na pytanie 1 (predykat opc) Rys. 13. Harmonogram uzyskany po odpowiedzi na pytanie 2 (predykat opc(5)) Rys. 12. Zapotrzebowanie na pracowników uzyskane po odpowiedzi na pytanie 1 (predykat opc) Rys. 14. Zapotrzebowanie na pracowników uzyskane po odpowiedzi na pytanie 2 (predykat opc(5)) Rys. 15. Harmonogram uzyskany po odpowiedzi na pytanie 3 (predykat opc(10)) Rys. 16. Zapotrzebowanie na pracowników uzyskane po odpowiedzi napytanie 3 (predykat opc(10)) 4. PODSUMOWANIE Formalizacja zagadnienia harmonogramowania zada i rozdzia u zasobów jako problemu spe nienia ogranicze (CSP) umo liwia zastosowanie do jego rozwi zania narz dzi wykorzystuj cych programowanie w logice z ograniczeniami (CLP). CLP jest rodowiskiem predykatowym zapewniaj cym jednoczesno modelowania i rozwi zywania powy szych problemów. Jak wszystkie j zyki predykatowe w odró nieniu np. od j zyków imperatywnych okre- la jaki jest problem nie okre la natomiast algorytmów jego rozwi zania. atwo modelowania problemów decyzyjnych a w szczególno ci tych, które posiadaj w swojej naturze 8
ograniczenia, brak przepa ci semantycznej pomi dzy modelem a jego rozwi zaniem oraz efektywne metody poszukiwania rozwi za czyni rodowisko programowania z ograniczeniami bardzo atrakcyjne do szybkiego modelowania i rozwi zywania problemów decyzyjnych. Te w asno ci s szczególnie przydatne przy budowie dedykowanych systemów wspomagania decyzji, które charakteryzuj si specyficznymi w a ciwo ciami, struktur czy ograniczeniami. atwo te dodawa nowe ograniczenia do zaimplementowanego modelu, które wynikaj z nowych warunków czy zmian otoczenia modelowanego problemu. rodowisko CLP umo liwia tak e implementacje ogranicze logicznych, symbolicznych, które s niedost pne w rodowiskach programowania matematycznego. 5. LITERATURA [1] JANIAK A.: Wybrane problemy i algorytmy szeregowania zada i rozdzia u zasobów. Akademicka Oficyna Wydawnicza PLJ, Warszawa 1999. [2] Liao S.Y.: Wang H.Q., Liao L.J.: An extended formalism to constraint logic programming for decision analysis, Knowledge-based Systems 15, pp 189-202, 2002. [3] Ryu U. Young.:Constraint logic programming framework for integrated decision supports, Decision Support Systems 22, pp 155-170, 1998. [4] M.Mouhoub, F.Charpilet, J.P.Haton : Experimental Analysis of Numeric and Symbolic Constraint Satisfaction Techniques for temporal Reasoning, Constraints, International Journal, 2, pp 151-164, 1998. [5] Tsang E. Foundation of Constraint Satisfations, Academic Press, London,1995. [6] A.Cesta, A.Oddi.:A Constraint-Based Method for Project Scheduling with Time Windows, Journal of Heuristics, 8, pp 109-136, 2002. [7] Cheng-Chung Cheng, S.F. Smith : Applying constraint satisfaction techniques to job-shop scheduling, Annals of Operation Research 70, pp 327-357, 1997. [8] www.eclipse-clp.org [9] B a ewicz J., Cellary W., S owi ski R., W glarz J. Badania operacyjne dla informatyków. WNT, Warszawa, (1983). 9