Plik PDF - Pomiary Automatyka Robotyka

Transkrypt

Plik PDF - Pomiary Automatyka Robotyka
Pomiary Automatyka Robotyka 2/2009
dr in. Grzegorz Bocewicz, prof. dr hab. in. Zbigniew Banaszak, dr in. Irena Bach
Wydzia Elektroniki i Informatyki, Politechnika Koszaliska.
ZASTOSOWANIE TECHNIK PROGRAMOWANIA
Z OGRANICZENIAMI DO PLANOWANIA ZADA
W RODOWISKACH WIELOPROJEKTOWYCH
Efektywne wykorzystanie zdolnoci produkcyjnych stanowi o konkurencyjnoci
dysponujcego nimi przedsibiorstwa. W tym kontekcie istotnego znaczenia
nabieraj badania zwizane z planowaniem zada w przedsiwziciach.
Przedstawiony model referencyjny problemu decyzyjnego czy oczekiwania
uytkownika z moliwociami wykorzystania dostpnych zdolnoci realizacji
przedsiwzi. Z kolei jego specyfikacja, w terminach problemu speniania
ogranicze, pozwala na ocen alternatywnych wariantów przebiegu przedsiwzi
w systemach programowania z ograniczeniami.
CP-DRIVEN PRODUCTION PROCESS PLANNING
IN MULTIPROJECT ENVIRONMENT
The way enterprise capabilities are used decides about its competitiveness among
other ones. In that context modeling aimed at production tasks allocation
planning plays a crucial role especially at concurrently executed production
orders. The introduced reference model employing constraint programming (CP)
paradigm describes both an enterprise and a set of project-like production orders.
Moreover, encompassing consumer orders requirements and available production
capabilities, the model provides the formal framework allowing one to develop a
class of decision support systems aimed at interactive production process
planning subject to multiproject environment constraints.
1. WPROWADZENIE
Podstawowe potrzeby maych i rednich przedsibiorstw (MP) wi si bd to
z utrzymaniem dotychczasowej pozycji, bd te osigniciem przewagi na konkurencyjnym
rynku producenta. W tym te kontekcie oczekiwania MP wi si z wykorzystaniem
technologii informacyjnych (ang. Information Technology – IT), z zaspokajaniem potrzeb
monitorowania i archiwizacji, a przede wszystkim dotycz przetwarzania danych na potrzeby
wspomagania decyzji, na przykad planowania przedsiwzi produkcyjnych [1], [8].
W przypadku przedsibiorstw produkcyjnych osignicie przewagi nad konkurencj jest
pochodn efektywnego sterowania i planowania produkcj. Typow ze wzgldu na skal oraz
rónorodno oferowanych usug i zwizanymi z nimi czstymi zmianami procesu
produkcyjnego w MP jest jednoczesna wieloasortymentowa produkcja jednostkowa.
Produkcja tego typu zwizana zwykle z pojedynczymi krótkimi seriami wyrobów bd te
prototypami, nosi zwykle charakter innowacyjny, odpowiadajcy w aspekcie organizacyjnym
realizacji portfela przedsiwzi. Oznacza to, e przyjcie lub odrzucenie okrelonych zlece
produkcyjnych mona rozwaa w kategoriach planowania/wariantowania przedsiwzi [3],
gdzie produkcja okrelonej partii asortymentów jest traktowana jako realizacja pojedynczego
projektu, a z kolei produkcja wieloasortymentowa jako realizacja portfela projektów.
152
automation 2009
Pomiary Automatyka Robotyka 2/2009
W przedstawionym kontekcie, obszar wspomagania decyzji obejmuje zagadnienia zwizane
bd to z planowaniem realizacji pojedynczego zlecenia produkcyjnego (przedsiwzicia,
bd te z wariantowaniem portfela przedsiwzi (zbioru zlece produkcyjnych).
W szczególnoci wymusza on konieczno wspomagania – wykorzystania interakcyjnych
dedykowanych, dla problemów wariantowania projektów, systemów wspomagania decyzji.
Budowa takiego systemu zwizana jest z uwzgldnianiem zakóce, niepewnoci danych,
decyzji integrujcych róne problemy czstkowe (rozmieszczania, alokacji, porcjowania,
marszrutowania i harmonogramowania) itp.
Najczciej stawiane pytania, na które tego typu systemy winny udziela odpowied, nale
do poniszych dwóch kategorii pyta typu [2]:
x w przód
Czy istniej, a jeeli tak to jakie, terminy ukoczenia portfela projektów/projektu
implikuj dostpne zdolnoci wytwórcze przedsibiorstwa (ilo pracowników, maszyn,
pomieszcze, itp.) oraz dopuszczalne warianty alokacji zasobów?
x wstecz
Czy istniej, a jeeli tak, to które wartoci jakich zmiennych decyzyjnych zagwarantuj,
e podjty portfel projektów zostanie zrealizowany przy utrzymaniu planowanych
korzyci w postaci np. okrelonego poziomu wskaników efektywnoci?
Rónica midzy prezentowanymi kategoriami sprowadza si do tego, czy w ramach problemu
poszukiwane s wartoci parametrów opisujcych harmonogram realizacji projektów (pytania
typu w przód), czy poszukiwane s wartoci parametrów opisujcych MP gwarantujcych
realizacj portfela projektów (pytania typu wstecz).
Naturalnym w tej sytuacji, z uwagi na sposób specyfikacji modeli ograniczajcy si do
specyfikacji zbiorów: zmiennych, dziedziny zmiennych oraz ogranicze narzucanych na
podzbiory zmiennych, jest zakwalifikowanie ich do klasy Problemów Spenienia Ogranicze
(PSO) [4]. Konsekwencj tej kwalifikacji jest ich implementacja w komercyjnie dostpnych
pakietach jzyków programowania z ograniczeniami takich jak np. CHIP, ILOG [10], a take
ogólnie dostpnych, jak np. OZ Mozart [11].
Celem ilustracji proponowanego podejcia dalsze rozwaania ograniczaj si do modelu
referencyjnego problemu decyzyjnego czcego oczekiwania uytkownika (w zakresie
wsparcia obejmujcego dany zbiór pyta rutynowych) z moliwociami wykorzystania
dostpnych zdolnoci produkcyjnych.
2.
MODEL REFERENCYJNY
2.1. Problem decyzyjny
W prezentowanym podejciu, zorientowanym na implementacj technik programowania
z ograniczeniami, rozwaania koncentruj si na problemach decyzyjnych, w których dla
przyjtych zaoe poszukiwane s w szczególnoci odpowiedzi na pytanie: Czy dany plan
produkcji moe by wykonany w horyzoncie H? W ogólnoci, pytane to moe by
rozszerzone o szereg innych, jak np.: Czy dany plan produkcji moe by wykonany
w horyzoncie H przynoszc zysk t Z? lub Czy dany plan produkcji moe by wykonany
w horyzoncie H z zadan efektywnoci ekonomiczn poszczególnych projektów NPV > 0 ?
[1].
W przedstawionym kontekcie, problem planowania/wariantowania projektów sprowadza si
do wyboru takich wartoci zmiennych decyzyjnych i/lub funkcji celu, które speniaj
automation 2009
153
Pomiary Automatyka Robotyka 2/2009
wyraone w pytaniach rutynowych oczekiwania projektanta. Rozwizanie tego problemu
poszukiwane jest w terminach zaoe poniszego modelu referencyjnego.
2.2. Model referencyjny problemu decyzyjnego
Dalsze rozwaania koncentruj si na modelu referencyjnym problemu planowania/wariantowania portfela projektów; modelu obejmujcym zbiór zmiennych decyzyjnych, opisujcych
przedsibiorstwo i realizowane w nim procesy produkcyjne, dyskretne dziedziny zmiennych
decyzyjnych, a take zbiór ogranicze czcych zmienne decyzyjne, zbiór ogranicze
specyfikujcych pytania rutynowe oraz zbiór ogranicze odnoszcych si do pyta
rutynowych. W takim ujciu model referencyjny stanowi charakterystyk okrelonej klasy
portfeli projektów. Jego instancje (uzyskane w wyniku ukonkretnienia okrelonej liczby
zmiennych) prowadz do uzyskania charakterystyki zadanego przez uytkownika portfela.
Zmiennedecyzyjne
Przedsibiorstwo (obiekt). Dany jest zbiór zasobów odnawialnych (np. pracowników,
maszyn, narzdzi, itp.): Ro = {ro1, ro2, …, rolz}, gdzie lz – liczba zasobów odnawialnych, roi
– i-ty zasób odnawialny. Kademu zasobowi roi odpowiada sekwencja zoi = (zoi,1, zoi,2, …,
zoi,h+1), gdzie zoi,k – dopuszczalna warto i-tego zasobu w k-tej jednostce czasu horyzontu H:
H = {0,1,…,h}, zoi tworz sekwencje Zo= (zo1, zo2, …, zolz). Znane s czasy trwania
czynnoci oraz iloci zasobów niezbdnych do ich wykonania.
Dany jest zbiór zasobów odnawialnych (np. pienidzy): Rn = {rn1, rn2, …, rnln}, gdzie ln –
liczba zasobów nieodnawialnych, rni – i-ty zasób nieodnawialny. Kademu zasobowi rni
odpowiada wielko zni okrelajca dostpn w momencie rozpoczcia projektu (pierwsza
jednostka horyzontu czasu H) ilo zasobu. Wielkoci zni tworz sekwencj Zn = (zn1, …,
znln).
Projekty (przedsiwzicia). Dany jest zbiór projektów rezprezenotwanych przez: P ={P1, P2,
..., Plp}, i-ty projekt charakteryzowany jest przez wielko Pi, która skada si z loi czynnoci
Pi = {Oi,1,Oi,2,Oi,3,…,Oi,loi}, gdzie:
Oi,j = (xi,j, ti,j, Tpi,j, Tzi,j, Dpi,j, Tri,j, Tsi,j, Cri,j, Csi,j),
(1)
xi,j – termin rozpoczcia czynnoci Oi,j liczony wzgldem pocztku horyzontu H,
tij – czas trwania czynnoci Oi,j,
Tpi,j = (tpi,j,1, tpi,j,2, ... , tpi,j,lz) – sekwencja terminów pobrania przez czynno Oi,j kolejnych
zasobów odnawialnych: tpi,j,k – termin liczony wzgldem xi,j pobrania przez czynno Oi,j,
k-tego zasobu odnawialnego w iloci dpi,j,k.
Tzi,j = (tzi,j,1, tzi,j,2, ... , tzi,j,lz) – sekwencja terminów zwracania przez czynno Oi,j kolejnych
zasobów odnawialnych: tzi,j,k – termin liczony wzgldem xi,j zwrócenia przez czynno
Oi,j, k-tego zasobu odnawialnego w iloci dpi,j,k.
Dpi,j = (dpi,j,1, dpi,j,2,..., dpi,j,lz) oznacza sekwencj iloci pobieranych przez czynnoci Oi,j
zasobów odnawialnych: dpi,j,k – ilo k-tego zasobu pobieranego przez czynno,
Tri,j = (tri,j,1, tri,j,2, ..., tri,j,ln) – sekwencja terminów pobrania przez czynno Oi,j okrelonej
iloci kolejnych zasobów nieodnawialnych: tri,j,k – termin liczony wzgldem xi,j pobrania
przez czynno Oi,j k-tego zasobu nieodnawialnego w iloci cri,j,k.
Tsi,j = (tsi,j,1, tsi,j,2, ..., tsi,j,ln) – sekwencja terminów generowania przez czynno Oi,j okrelonej
iloci kolejnych zasobów nieodnawialnych: tsi,j,k – termin liczony wzgldem xi,j
generowania przez czynno Oi,j k-tego zasobu nieodnawialnego w iloci csi,j,k.
154
automation 2009
Pomiary Automatyka Robotyka 2/2009
Cri,j = (cri,j,1, cri,j,2,...,cri,j,ln) – sekwencja iloci pobieranych kolejnych zasobów
nieodnawialnych przez czynno Oi,j: cri,j,k – ilo k-tego zasobu pobieranego przez
czynno Oi,j,
Csi,j = (csi,j,1, csi,j,2,...,csi,j,ln) – sekwencja iloci generowanych przez czynno Oi,j kolejnych
zasobów nieodnawialnych: csi,j,k – ilo k-tego zasobu generowanego przez czynno Oi,j.
Wartoi xi,j, ti,j, N ‰ {0}, s elementami nastpujcych sekwencji:
x terminów rozpoczcia czynnoci marszruty technologicznej Pi:
Xi = (xi,1, xi,2,…, xi ,loi ), 0 d xi,j< h; i = 1, 2,…, lp; j = 1, 2,…,loi,
x czasów trwania czynnoci marszruty Pi: Ti = (ti,1, ti,2,…, t i ,loi ),
Ograniczenia
Przedsibiorstwo. Dany portfel projektów P, dopuszczalne wartoci zasobów odnawialnych
Zo, i stan pocztkowy zasobów nieodnawialnych Zn.
Produkcja: Dany jest horyzont H = {0, 1, …, h}, okrelajcy przedzia czasowy realizacji
czynnoci P. Czynnoci s niepodzielne w czasie oraz mog rezerwowa dowoln liczb
zasobów. Przyjmuje si, e:
x
kady zasób w danej czynnoci moe by wykorzystany tylko jednokrotnie,
x
ilo danego zasobu odnawialnego wykorzystywanego przez dan czynno nie moe
ulec zmianie, nie moe te zosta przydzielona do innej czynnoci,
x
warunkiem rozpoczcia czynnoci jest dostp do danej liczby zasobów odnawialnych
w zadanych terminach Tpi,j, Tzi,j i nieodnawialnych Tri,j i Tsi,j.
Dana jest sie czynnoci projektu, wierzchoki, której to czynnoci Oi,j, a uki wskazuj
porzdek ich realizacji. Odpowiednie ograniczenia kolejnociowe maj posta:
x
dla czynnoci wystpujcy po sobie:
x
dla wielu poprzedników:
xi,j + tij d xi,k ,
xi,j+ti,j d xi,k, xi,j+1+ti,j+1 d xi,k, xi,j+2+ti,j+2 d xi,k,..., xi,j+n+ti,j+n d xi,k,
x
(2)
(3)
dla wielu nastpników:
(4)
xi,k + ti,k d xi,j, xi,k + ti,k d xi,j+1, xi,k+ti,k d xi,j+2, ... , xi,k+ti,k + d xi,j+n.
W ogólnym przypadku, w zalenoci od kontekstu pyta rutynowych rozwaane s róne
modele referencyjne problemów decyzyjnych, modele skojarzone z typowymi klasami pyta
rutynowych zwizanych z wyznaczaniem:
x
wartoci funkcji celu implikowanych przez przyjte wartoci zmiennych decyzyjnych;
x
wartoci zmiennych decyzyjnych gwarantujcych oczekiwane wartoci funkcji celu;
x
parametrów i/lub ogranicze systemu gwarantujcych, ze dane wartoci zmiennych
decyzyjnych implikuj oczekiwane wartoci funkcji celu [4].
3. PROBLEM SPENIANIA OGRANICZE
Programowanie z ograniczeniami jest obszarem technologii oprogramowania bazujcym na
specyfikacji ogranicze zmiennych decyzyjnych rozwizywanych problemów. Istotn cech
ogranicze stanowi ich deklaratywny charakter. Oznacza to, e ograniczenia specyfikuj
jedynie posta wymaganych relacji, nie podaj natomiast sposobu gwarantujcego ich
zachodzenie. W tym kontekcie, specyfikacj problemu stanowi zbiory zmiennych i ich
automation 2009
155
Pomiary Automatyka Robotyka 2/2009
dziedzin oraz zbiór ogranicze wicych wybrane zmienne decyzyjne. Poszukiwanym
rozwizaniem jest zbiór wartoci zmiennych speniajcych przyjte ograniczenia.
Problem speniania ogranicze CS = ((V, D),C) okrela skoczony zbiór zmiennych V = {v1,
v2, ..., vn}, rodzina dziedzin zmiennych D = {Dq | Dq = (dq,1,...,dq,j,...,dq,m), q = 1 ... n} oraz
skoczony zbiór ogranicze C = {Cq|q = 1...L} limitujcych wartoci zmiennych
decyzyjnych. Poszukiwane jest rozwizanie bd to dopuszczalne, tzn. rozwizanie w którym
wartoci wszystkich zmiennych speniaj wszystkie ograniczenia (zwykle jedno –
najwczeniej uzyskane), bd te rozwizanie optymalne ekstremalizujce funkcj celu
okrelon na wybranym podzbiorze zmiennych decyzyjnych.
Rozwizanie CS uzyskiwane jest w wyniku systematycznego przeszukiwania moliwych
przyporzdkowa wartoci zmiennych decyzyjnych. Wykorzystywane metody poszukiwania
rozwiza dziel si na te, w których przeszukiwana jest caa przestrze wszystkich
moliwych przyporzdkowa (wykorzystywane s tutaj zarówno techniki przeszukiwania
systematycznego jak i metody stochastyczne) oraz na te, w których przeszukiwana jest tylko
cz tej przestrzeni. Metody te implementowane s w jzykach klasy CP, np. Oz Mozart
[11], ILOG [10].
4. WARUNKI DOPUSZCZALNEJ ALOKACJI ZASOBÓW
4.1 Ograniczenia zabezpieczajce przed powstawaniem blokad zasobów odnawialnych
atwo zauway, e ograniczona pula zasobów moe prowadzi do wystpowania konfliktów
zasobowych, zwizanych z koniecznoci rozstrzygania pierwszestwa przydziau
limitowanych zasobów. Sytuacje tego typu wystpuj w chwilach, gdy kontynuacja
równolegle realizowanych operacji wymaga przydziau danego zasobu w iloci
przekraczajcej jego limit. Konieczne jest zatem posiadanie ogranicze gwarantujcych, e
w rozwaanym horyzoncie H nigdy nie dojdzie do wystpowania konfliktów zasobowych.
Tego typu ograniczenia zostay przedstawione w pracach [6], [7] i przyjmuj posta ukadu
nierównoci (5):
­ lp loi
° ¦ ¦ dp i , j , k ˜ 1( x1,1 tp1,1, k , xi , j tp i , j , k , xi , j tz i , j , k ) d zo k , x1,1 tp1,1 1
° ilp1 loj 1
i
°
(5)
° ¦ ¦ dp i , j , k ˜ 1( x1, 2 tp1, 2 , k , xi , j tp i , j , k , xi , j tz i , j , k ) d zo k , x1, 2 tp1, 2 1
®i 1 j 1
°
...
° lp loi
° ¦ ¦ dp i , j , k ˜ 1( xlp ,lo tp lp ,lo , k , xi , j tp i , j , k , xi , j tz i , j , k ) d zo k , x tp 1
lp
lp
lp ,lolp
lp ,lolp
°¯ i 1 j 1
>
@
>
@
>
@
gdzie vgk,i – to i-ty punkt charakterystyczny funkcji gk(u) .
Mona wykaza [6], e wprowadzenie do CS ogranicze (5), gwarantuje, e w procesie
poszukiwania harmonogramów realizacji portfela projektów wygenerowane harmonogramy
nie bd prowadziy do blokady zasobów odnawialnych.
4.2. Ograniczenia zabezpieczajce przed powstawaniem blokad zasobów
nieodnawialnych
Kolejnym etapem, w którym mog wystpi sytuacje blokadowe jest planowanie przydziau
zasobów nieodnawialnych. W planowaniu realizacji portfela projektów zwizane jest to
z zagwarantowaniem nieprzekroczenia zaoonego budetu (zasoby nieodnawialne
najczciej traktowane s jako zasoby finansowe). Oznacza to konieczno utrzymania
156
automation 2009
Pomiary Automatyka Robotyka 2/2009
poziomu rodków finansowych na poziomie równym lub wikszym od zadanego
minimalnego ich stanu w kadym momencie realizacji projektów.
Przykad sytuacji przekroczenia budetu przedstawia rys. 1 a). Trzy czynnoci ͳǡͳǡͳǡʹǡͳǡ͵,
w i-tej chwili do realizacji wymagaj odpowiednio 2, 4, 2 jednostek pienidzy. Stan portfela
wynosi 6 jednostek. Czynno ͳǡ͵, po swoim ukoczeniu pozyskuje 10 jednostek pienidzy,
pozostae czynnoci nie przynosz dochodów. W rozwaanej chwili czasu moliwa jest
realizacja tylko dwóch czynnoci. Jeli posiadane zasoby rozdzielone zostan na czynnoci
ͳǡͳǡͳǡʹǡ to powstanie stan blokady systemu – brak pienidzy by zrealizowa czynno ͳǡ͵.
Jeli zasoby przydzielone zostan do czynnoci ͳǡʹǡ ͳǡ͵, (rys. 1b) to czynno ͳǡͳ bdzie
moga si rozpocz w j-tej chwili, zwizanej z uzyskaniem przychodu czynnoci ͳǡ͵ co
spowoduje, e blokada nie wystpi.
Rys. 1. Gospodarowanie zasobami nieodnawialnymi a) stan blokady, b) stan bezblokadowy
Konieczne jest zatem posiadanie ogranicze gwarantujcych, e w rozwaanym horyzoncie H
nigdy nie dojdzie do sytuacji blokadowej, zwizanej z przydzieleniem zasobów
nieodnawialnych.
W celu opracowania takich ogranicze przyjto zaoenie, e iloci danych i pozyskanych
jednostek k-tego zasobu nieodnawialnego s opisane przez funkcje bk(v, X), mk(v, X):
x
bk(v,X) 0, v  H – funkcja okrelajca sumaryczn ilo danych jednostek k-tego
zasobu do momentu v, w zalenoci od przyjtych terminów X = (X1, X2, …, Xlp)
rozpoczcia czynnoci.
x
mk(v, X) 0, v  H – funkcja okrelajca sumaryczn ilo generowanych jednostek ktego zasobu do momentu v, w zalenoci od przyjtych terminów X = (X1, X2, …, Xlp)
rozpoczcia czynnoci.
Rys. 2 przedstawia funkcje bk, mk, odpowiadajce operacjom z rys. 1.
atwo zauway, e stan blokady odpowiada sytuacji gdy wartoci funkcji bk(v, X)
przekraczaj wartoci mk(v): bk(v, X) > mk(v, X). Z tak sytuacj mamy do czynienia w chwili
(i + 1) zilustrowanej na rys. 2 a. Z kolei rys. 2 b odpowiada sytuacij z rys. 1b. Prezentowana
kolejno realizacji czynnoci nie prowadzi do blokady, co odpowiada sytuacji, gdy bk(v, X)
mk(v, X) dla kadej chwili v horyzontu H (v  H).
Z przedstawionych rozwaa, wynika, e wystpowanie w realizacji czynnoci portfela
przedsiwzi blokady zasobów nieodnawialnych implikuje spenienie nierównoci bk(vb, X)
> mk(vb, X) dla vb  H. Spostrzeenie to prowadzi do poniszej wasnoci:
Wasno 1. Spenienie warunku bk(vb, X) > mk(vb, X) jest warunkiem koniecznym
wystpowania blokad zasobów nieodnawialnych.
automation 2009
157
Pomiary Automatyka Robotyka 2/2009
a)
b)
b1(v,X), m1(v,X)
1
b1(v,X), m1(v,X)
1
b1(v,X)
m1(v,X
6
0
0
i
i+1
- obszar gdzie: bi(v,X) > mi(v,X)
b1(v,X)
m1(v,X
6
v
i+2 0 0
- mi(v,X)
v
- bi(v,X)
Rys. 2. Ilustracja funkcji b1 i m1 odpowiadajcych przykadowi z rys. 1
Prawdziwy jest równie poniszy lemat:
Lemat 1. Jeeli alokacja zasobów nieodnawialnych przydzielanych w danej chwili v do
czynnoci projektów, przy zaoonych X, Ti, , H, spenia warunek bk(v,X) mk(v, X) dla
k  {1, 2, ..., lz}, to realizacja tych czynnoci nie prowadzi do ich blokady.
Dowód: Dowód wynika bezporednio z Wasnoci 1. Zgodnie z Wanoci 1 blokada moe
wystpi, gdy w chiwli v conajmniej dla jednego zasobu speniony bdzie warunek bk(v,X) >
mk(v,X). Jeeli wic dla kadego z zasobów (k  {1, 2, ..., lz}) Wasno 1 nie bdzie
speniona (tzn. warunek bk(v, X) > mk(v, X) jest niespeniony) to blokada nie wystpi.
Niespenienie Wasnoci 3 jest równowane ze spenieniem warunku bk(v, X) mk(v, X).
Z powyszego wynika, e blokada dla zasobów nieodnawialnych nie wystpi, gdy dla
kadego z zasobów (k  {1, 2, ..., lz}) speniony bdzie warunek bk(v, X) mk(v, X).
Wasno 2. Jeeli w kadej chwili rozwaanego horyzontu H speniony jest warunek bk(v, X)
mk(v, X) dla k  {1, 2, ..., lz}, to blokady czynnoci wystpujcych przy realizacji
planowanego portfela projektów nie bd wystpoway.
Zgodnie z przyjtymi zaoeniami modelu referencyjnego [5] funkcje wystpujce
w nierównoci bk(v,X) mk(v,X) przyjmuj posta:
x
funkcja bk(v,X) przyjmuje posta:
lp loi
bk (v, X )
¦ ¦ >cri, j, k ˜1(v xi, j t ri, j, k )@ ,
(6)
i 1j 1
gdzie: tri,j,k – termin liczony wzgldem xi,j pobrania przez czynno k-tego zasobu
nieodnawialnego, lp – liczba projektów, loi – liczba czynnoci w i-tym projekcie, cri,j,k –
liczba jednostek k-tego zasobu nieodnawialnego rezerwowana przez czynno Oi,j, 1(v)
– funkcja jednostkowa.
Wielko a, funkcji 1(v a) nazywana jest punktem charakterystycznym. W wyraeniu
(6) sumowane s funkcje jednostkowe czasu rezerwacji zasobu, których punkty
charakterystyczne oznaczaj momenty dania (xi,j+ tri,j,k) przez czynnoci okrelonej
iloci zasobu k. Punkty te w dalszej czci nazywane bd punktami charakterystycznymi
funkcji bk(v, X). Zmiana wartoci funkcji bk(v, X) na wiksz moe odbywa si tylko
w jej punktach charakterystycznych,
x
funkcja mk(v,X) przyjmuje posta:
lp loi
mk (v, X )
¦ ¦ >csi, j, k ˜1(v xi, j t si, j, k )@ znk
(7)
i 1j 1
158
automation 2009
Pomiary Automatyka Robotyka 2/2009
gdzie: tsi,j,k –termin liczony wzgldem xi,j pozyskania przez czynno k-tego zasobu, lp –
liczba projektów, loi – liczba czynnoci w i-tym projekcie, csi,j,k – liczba jednostek k-tego
zasobu pozyskiwana przez czynno Oi,j, 1(v) – funkcja jednostkowa.
Analogicznie do bk(v,X) wartoci (xi,j + tsi,j,k) nazywane s punktami charakterystycznymi
funkcji mk(v,X).
Dla przyjtych postaci funkcji bk(v, X), mk(v ,X) (wyraenia (6), (7)) oraz zgodnie
z wasnoci 2 warunek bk(v, X) mk(v, X) przyjmuje posta:
znk lp loi
lp loi
i 1j 1
i 1j 1
¦ ¦ >cri, j, k ˜1(v xi, j t ri, j, k )@ ¦ ¦ >csi, j, k ˜1(v xi, j t si, j, k )@ t 0
(8)
v  H
gdzie: lp – liczba projektów, loi – liczba czynnoci w i-tym projekcie, 1(v) – funkcja
jednostkowa.
Zgodnie z Lematem 1, aby nie dopuci do blokady, wyraenie (8) musi by spenione dla
kadej chwili v horyzontu H. Z przyjtych postaci funkcji bk(v, X), mk(v, X) (wyraenia (6),
(7)) wida, e ich wartoci zmieniaj si na wiksze tylko dla argumentów odpowiadajcych
punktom charakterystycznym. Zmienna v w wyraeniu (8) moe wic zosta zastpiona
odpowiednimi punktami charakterystycznymi. Rozwaane s tylko punkty charakterystyczne
funkcji „ሺ˜ǡሻǡ gdy tylko dla nich warto lewej strony nierównoci maleje. Zgodnie
z powyszym suszne jest Twierdzenie 2.
Twierdzenie 1. Dany jest portfel projektów , spenione s zaoenia modelu referencyjnego
(czynnoci opisane s przez: X, Ti, H), funkcje bk(v, X), mk(v, X) s wyraane odpowiednio
przez (6), (7). Jeeli dla kadej chwili horyzontu H oraz dla kadego k  {1, 2, …, ln},
warunki wyraone ukadem nierównoci (9) s spenione, to realizacja planowanego portfela
projektów jest bezblokadowa.
Dowód: Ukad (9) jest rozwiniciem nierównoci (8) w przypadku, gdy argument v
przyjmuje wartoci punktów charakterystycznych funkcji „ሺ˜ǡ ሻǡ ሺ˜ǡ ሻ. Zgodnie
z wyraeniami (6) i (7) tylko w tych punktach moe nastpi zmiana stanu portfela projektów
. Jeli wic nierówno (8) jest speniona w punktach charakterystycznych (punkt funkcji
„ሺ˜ǡ ሻ), które odpowiadaj momentom, gdy lewa strona nierównoci (8) zmniejsza swoj
warto, to jest ona speniona dla wszystkich ˜ co zgodnie z wasnoci 2 (a tym samym
z Lematem 1) gwarantuje brak blokady zasobów nieodnawialnych.
lp loi
lp loi
­
˜
zn
cr
1
(
x
x
t
r
)
csi , j ,k ˜ 1( x1,1 xi , j t si , j ,k ) t 0
¦¦
1,1
i, j
i , j ,k
° k ¦¦ i , j ,k
1
1
1
1
i
j
i
j
°
lp loi
lp loi
°
° znk ¦¦ cri , j ,k ˜ 1( x1, 2 xi , j t ri , j ,k ) ¦¦ csi , j ,k ˜ 1( x1, 2 xi , j t s i , j , k ) t 0
®
i 1 j 1
i 1 j 1
°
...
°
lp loi
lp loi
° zn k ¦¦ cri , j ˜ 1( xlp ,lo xi , j t ri , j ,k ) ¦¦ csi , j ˜ 1( xlp ,lo xi , j t si , j ,k ) t 0
lp
lp
i 1 j 1
i 1 j 1
¯°
>
@
>
@
>
@
>
@
>
@
>
(9)
@
dla:  = 1, 2, …, Ž, gdzie Ž– liczba zasobów nieodnawialnych.
automation 2009
159
Pomiary Automatyka Robotyka 2/2009
Gwarancja utrzymania zadanego poziomu iloci zasobów nieodnawialnych, poprzez
wprowadzenie do CS opracowanych ogranicze (9) jest podstawowym warunkiem braku
blokad.
Podusmowujc
zaproponowany
model
referencyjny
planowania/waraiantowania
przedsiwzi charakteryzuj: czynnoci (ich ilo i determinujce ich wykonanie graniczenia
kolejnociowe i zasobowe), zasoby (ich ilo i charakter), a take czce je zwizki
(okrelajce jakie zasoby i w jakiej iloci s niezbdne do wykonania poszczególnych
czynnoci, ograniczenia np. zakadajce niewywaszczalno i/lub wspódzielenie zasobów,
cigy lub dyskretny sposób zuycia zasobów, itp.). Model stanowi podstaw do budowy
systemów
komputerowo
wspomaganego
podejmowania
decyzji,
na
etapie
planowania/wariantowania portfeli projektów.
5. PRZYKAD ILUSTRACYJNY
Dany jest portfel projektów reprezentowany przez rodzin ൌሼͳǡʹǡ͵ǡͶሽǤCzynnoci Oi,j
w projektach charakteryzowane s odpowiednio [2]: ͳ ൌ ሼͳǡͳǡ ǥǡ ͳǡͳͲሽǡ ʹ ൌ ሼʹǡͳǡǥǡ
ʹǡͳʹሽǡ͵ ൌ ሼ͵ǡͳǡǥǡ ͵ǡͳͳሽǡ Ͷ ൌ ሼͶǡͳǡ ǥǡ Ͷǡͳ͵ሽǤ Sieci czynnoci projektów zilustrowano na
rys. 3.
Rys. 3. Sieci czynnoci portfela P
Dany jest horyzont planowania realizacji wszystkich projektów H α ȓͲǡ ͳǡ ǥǡ ͶͲȔ. Dla
poszczególnych czynnoci, kolejno dla projektów ͳǡ ʹǡ ͵ǡ Ͷǡ dane s sekwencje czasów
trwania: T1ൌሺͳǡʹǡ͵ǡͶǡͶǡͺǡ͵ǡʹǡͳǡ͸ሻǡ ʹ ൌሺ͵ǡͳǡ͸ǡ͵ǡʹǡͷǡͳǡͷǡʹǡͶǡʹǡͳሻǡ T3 ൌሺ͵ǡ͹ǡʹǡ͹ǡ
ʹǡ ͳǡͺǡ ͵ǡ ͵ǡ Ͷǡ ͺሻǡ Ͷ ൌ ሺ͵ǡ ͵ǡ ʹǡ ͺǡ ͵ǡ ͳǡ Ͷǡ ͳǡ ͺǡ Ͷǡ ͵ǡ ͵ǡ ͺሻǤ Do realizacji czynnoci
wykorzystywane s trzy rodzaje zasobów odnawialnych ”‘ͳǡ ”‘ʹǡ ”‘͵. Dane s dopuszczalne
wartoci zasobów odnawialnych, które kolejno wynosz ͳͳǡͳͶǡͳʹu.j.m (umowna jednostka
miary) dla caego horyzontu H: zo1 = (11, 11, 11, …, 11), || zo1|| = 41, zo2 = (14, 14, 14, …,
14), ||zo2|| = 41, zo3 = (12, 12, 12, …, 12), ||zo3|| = 41. Dopuszczalne wartoci zasobów s
niezmienne w czasie. Przyjto, e dla wszystkich czynnoci zasoby s rezerwowane wraz z
rozpoczciem czynnoci i zwalniane w momencie jej ukoczenia.
Wymagana ilo zasobów dla czynnoci projektów ͳǡ ʹǡ ͵ǡ Ͷǡ jest wyraana w postaci
sekwencji iloci pobieranego zasobu odnawialnego. Potrzebne iloci zasobów zestawiono
poniej.
DP1,1 ={3, 1, 1, 1, 1, 1, 2, 1, 2, 1}, DP1,2 = {2, 2, 1, 2, 1, 1, 2, 3, 3, 1, 1}, DP1,3 ={2, 2, 2, 3, 1, 1, 1, 1, 1, 2}
DP2,1 = {4, 3, 2, 2, 1, 1, 1, 3, 1, 2, 2, 2}, DP2,2 = {1, 2, 3, 1, 2, 1, 2, 1, 1, 2, 1, 1}, DP2,3 = {2, 1, 1, 1, 3, 1,
2, 2, 2, 1, 1, 1}
160
automation 2009
Pomiary Automatyka Robotyka 2/2009
DP3,1 ={2, 4, 1, 2, 2, 2, 1, 2, 2, 1, 3}, DP3,2 ={2, 1, 3, 2, 2, 2, 1, 1, 1, 2, 2}, DP3,3={2, 4, 1, 2, 2, 2, 1, 2, 2,
1, 3}
DP4,1 ={1, 2, 3, 4, 3, 2, 2, 1, 1, 1, 3, 1, 4}, DP4,2={1, 1, 1, 2, 1, 2, 1, 3, 2, 2, 2, 1, 2}, DP4,3={1, 2, 2, 1, 1,
2, 4, 1, 2, 2, 2, 1, 2}
Do realizacji czynnoci wymagana jest okrelona liczba zasobów nieodnawialnych ”ͳǡ ”ʹǤ
Pocztkowa warto zasobu nieodnawialnego ”ͳ wynosi 10 u.j.m. a zasobu nieodnawialnego
”
i7 j
10
7
”ʹ wynosi 7 u.j.m.: zn1 = 10, zn2 = 7.
Czynnoci pobieraj i/lub generuj okrelon ilo zasobów nieodnawialnych ”ͳ i ”ʹ.
Przyjto, e dla wszystkich czynnoci zasoby s pobierane wraz z rozpoczciem czynnoci i
generowane w momencie ich ukoczenia. Ilo pobieranego/generowanego zasobu ”ͳ
okrelaj odpowiednio sekwencje‹ǡŒǡ‹ǡŒ zestawione poniej.
CR1,1 ={1, 1, 2, 1, 2, 1, 3, 1, 1, 1}, CR1,2 ={1, 2, 1, 1, 1, 0, 1, 0, 1, 1},CS1,1 = {3, 2, 0, 2, 4, 4, 2, 0, 2,
4},CS1,2={1 , 2, 3, 2, 2, 2, 0, 2, 1, 2},CR2,1 ={ 1, 0, 1, 2, 1, 1, 1, 3, 1, 0, 1, 1}, CR2,2={ 3, 2, 1, 2, 0, 2, 3,
2, 2, 2, 1, 2},CS2,1={ 3, 2, 0, 2, 1, 2, 0, 2, 0, 2, 0, 1}, CS2,2={ 3, 2, 1, 2, 0, 2, 3, 2, 2, 2, 1, 2},CR3,1={ 1, 1,
2, 1, 1, 1, 0, 1, 3, 1, 1}, CR3,2={ 0, 1, 1, 0, 2, 1, 1, 1, 3, 1, 0},CS3,1={ 2, 3, 2, 0, 2, 1, 2, 2, 2, 3, 2}, CS3,2
={ 3, 2, 1, 2, 0, 2, 3, 2, 2, 2, 1},CR4,1={ 1, 1, 2, 1, 1, 1, 0, 1, 3, 1, 1, 1, 1},CR4,2={ 0, 1, 1, 0, 2, 1, 1, 1, 3,
1, 0, 1, 1},CS4,1={ 2, 3, 2, 0, 2, 1, 2, 2, 2, 3, 2, 3, 2},CS4,2={ 3, 2, 1, 2, 0, 2, 3, 2, 2, 2, 1, 2, 2}
Poszukiwana jest odpowied na pytanie: Czy istnieje, a jeeli tak, to jaki jestharmonogram
, speniajcy
gwarantujcy ukoczenie portfela projektów w zadanym horyzoncie ograniczenia zwizane z dostpnoci zasobów odnawialnych i nieodnawialnych oraz
oczekiwan efektywnoci ekonomiczn poszczególnych projektów NPV > 0?
Tak sformuowany problem jest problemem typu w przód, w którym to dla zadanych
parametrów portfela projektów poszukiwany jest harmonogram realizacji czynnoci.
Udzielenie odpowiedzi na postawione pytanie zwizane jest zatem z wyznaczeniem wartoci
zmiennych opisujcych poszukiwany harmonogram, co w rozwaanym przypadku sprowadza
si do wyznaczenia wartoci momentów rozpoczcia czynnoci xi,jȏ͸Ȑ,[7]. Postawione pytanie
wymaga wic wyznaczenia elementów sekwencji: ͳ ൌ ሺšͳǡͳǡǥǤǡšͳǡͳͲሻǡʹ ൌ ሺšʹǡͳǡǥǤǡšʹǡͳʹሻǡ
͵ൌሺš͵ǡͳǡǥǡš͵ǡͳͳሻǡͶ ൌሺšͶǡͳǡǥǡšͶǡͳ͵ሻ.
Poszukiwane wartoci elementów sekwencji X1, X2, X3, X4, powinny spenia ograniczenia
kolejnociowe z rys. 3, oraz ograniczenia zwizane z przydziaem zasobów odnawialnych
DPi,j, i nieodnawialnych CSi,j, CRi,j (gwarantujce brak blokady). Ograniczenia te kolejno
opisywane s w postaci zalenoci: (2), (3), (4), (5), (9). Sekwencje otrzymane zostay
w wyniku implementacji instancji przedstawionego modelu referencyjnego dla rozwaanego
przykadu w rodowisku OzMozrat [11].Pierwsze rozwizanie dopuszczalne uzyskano po
czasie 10 s. Sekwencje momentów rozpoczcia czynnoci s nastpujce:
X1αȋͲǡͳǡͳǡͶǡͳͳǡͳͷǡͺǡͳͳǡʹ͵ǡʹͶȌǡX2αȋͲǡ͵ǡ͹ǡͳͲǡͳ͵ǡͳͷǡʹͲǡͳ͹ǡʹ͵ǡʹͷǡʹͷǡʹͻȌǡ
X3αȋͲǡ͵ǡ͵ǡͳͲǡͳ͹ǡͷǡͳͻǡͳ͹ǡʹͲǡʹ͹ǡ͵ͳȌǡX4αȋͲǡͲǡ͵ǡͷǡͷǡ͵ǡ͵ǡͳ͵ǡͺǡ͸ǡͳͶǡͳ͸ǡͳͻȌǤ
Otrzymane wartoci wspóczynników NPV [3] dla harmonogramu opisanego przez X1ǡX2ǡX3ǡ
X4kolejno dla projektów P1,P2,P3,P4 wynosz:
ͳൌͲǡ͵͸ͶͻǡʹൌʹǡͶ͹͹ͷǡ͵ൌͳǡ͵ʹͶͺǡͶൌͲǡͺͳ͵Ͷ .
automation 2009
161
Pomiary Automatyka Robotyka 2/2009
Rys. 4. Plan realizacji portfela projektów
Harmonogram realizacji portfela projektów odpowiadajcy otrzymanemu rozwizaniu
przedstawiony zosta na rys. 4. Spenia on wszystkie zadane ograniczenia wynikajce tak
z moliwoci przedsibiorstwa, jak i z wymaga narzuconych na realizacj poszczególnych
projektów.
Na rys. 5a) przedstawiono dodatkowo przykadowy wykres obcienia zasobu œ‘ͳ
z zaznaczonym limitem dopuszczalnej jego iloci. W caym horyzoncie czasu dopuszczalny
limit zasobu odnawialnego nie zosta przekroczony, podobna sytuacja wystpuje dla
pozostaych zasobów œ‘ʹǡœ‘͵.
Rys. 5b) przedstawia przykadowy wykres zmiany poziomu zasobu nieodnawialnego zn2
w badanym horyzoncie czasu. atwo dostrzec, e ograniczenie okrelajce minimalny,
dopuszczalny poziom zasobów odnawialnych równy 0 jest spenione dla zn2 w caym
horyzoncie realizacji projektów. Ograniczenie to spenione jest równie dla zasobu zn1.
Przedstawiony przykad ilustruje moliwo wykorzystania prezentowanego podejcia
w zakresie wielokryterialnej (np. termin realizacji poszczególnych projektów, termin
realizacji caego portfela projektów, limitowana dostpno si wytwórczych, itp.) oceny
planowanych projektów, a take poszukiwania odpowiedzi na problemy decyzyjne
definiowane dla podejcia „w przód” w trybie interakcyjnym (wynik dla rozwaanego
przykadu uzyskano w czasie poniej 5 minut).
162
automation 2009
Pomiary Automatyka Robotyka 2/2009
a)
b)
Rys. 5. Obcienie a) zasobu odnawialnego zo1 b) zasobu nieodnawialnego zn2
6.
WNIOSKI
Przyjty model referencyjny problemu decyzyjnego, umoliwia specyfikacj rozwaanych
obiektów obejmujc ich: czynnoci, zasoby, czce je zwizki. W takim ujciu model
referencyjny moe by postrzegany jako swoista baza wiedzy [2], tzn. znany jest zbiór formu
specyfikujcych zwizki wystpujce pomidzy wybranymi parametrami, a take formuy
specyfikujce zgromadzone dowiadczenie, wiedz ekspertów itp. Tak rozumiana baza
wiedzy, poprzez moliwo jej bezporedniej reprezentacji w kategoriach problemu
spenienia ogranicze [4] stanowi naturaln platform dla formuowania pyta oraz
wypracowywania stosowanych odpowiedzi. W tym kontekcie warto zauway, e techniki
programowania w logice ogranicze stanowi jdro obliczeniowe wielu komercyjnych
rozwiza. Przykadem tego typu pakietów s m.in. produkty takich firm jak proALPHA S.A.
Polska [9] oraz IFS.
Przedstawione w Rozdziale 5 przykad ilustrujcy moliwoci wykorzystania
zaproponowanego modelu referencyjnego sugeruj jego przydatno do budowy zadaniowo
zorientowanych, interakcyjnych systemów wspomagania decyzji, m.in. w zadaniach
planowania/wariantowania portfeli projektów . Pene potwierdzenie takiej przydatnoci wie
si oczywicie z koniecznoci wykazania i dana baza wiedzy umoliwia wypracowanie
odpowiedzi na zadany zbiór pyta rutynowych, a take i dla rozwaanej klasy obiektów
odpowiedzi te uzyskiwane s w trybie „on-line”.
Wykorzystywany model referencyjny umoliwia budow bardziej zaawansowanych,
zadaniowo zorientowanych, systemów interakcyjnego wspomagania decyzji, np. systemów
sterowania dyspozytorskiego w elastycznych systemach produkcyjnych. Kontynuowane
badania wi si z moliwociami rozwizywania zada alokacji zasobów odnawialnych
i nieodnawialnych realizowanych w systemach produkcyjnych, w warunkach wystpowania
zmiennych zadanych w sposób niepewny lub nieprecyzyjny.
LITERATURA
[1]
Bach I., Tomczuk-Piróg I., Bzdyra K., Banaszak Z., Zarzdzanie wiedz MP
(wspomaganie decyzji). W: Komputerowo Zintegrowane Zarzdzanie, T. I, Knosla R.,
Oficyna Wydawnicza PTZP, Opole 2007; 22-31.
[2] Bach I., Bocewicz G., Banaszak Z.: Constraint programming approach to time-window
and multiresource-constrained projects portfolio prototyping. In: Industrial, Engineering
and Other Applications of Applied Intelligent Systems, IEA/AIE 2008, N.T. Nguyen et
automation 2009
163
Pomiary Automatyka Robotyka 2/2009
al. (Eds.):, Lecture Notes in Artificial Intelligence 5027, Springer-Verlag, Berlin,
Heidelberg, 2008, pp. 767–776.
[3] Bach I., Wójcik R. Bocewicz G.: Projects portfolio prototyping subject to imprecise
activities specification, In: Conference proceedings of 14th International Congress of
Cybernetics and Systems of WOSC – ICCS’08, Wroclaw, Poland, 2008; 261-272.
[4] Banaszak Z., CP-based decision support for project-driven manufacturing. In:
Perspectives in Modern Project Scheduling, (Józefowska J. and J. Wglarz (Ed)),
International Series in Operations Research and Management Science, Vol. 92, Springer
Verlag, New York, 2006; 409-437.
[5] Barták R. Incomplete Depth-First Search Techniques: A Short Survey, Proceedings of
the 6th Workshop on Constraint Programming for Decision and Control, Ed. Figwer J.,
2004; 7-14.
[6] Bocewicz G., Muszyski W., Banaszak Z.: Planowanie pracy zespou robotów
wielofunkcyjnych w systemach potokowej produkcji wieloasortymentowej (Model
referencyjny). W: Problemy Robotyki, Prace naukowe, Elektronika, z. 166, Oficyna
Wydawnicza Politechniki Warszawskiej 2008, str. 635-646.
[7] Bocewicz G., Wójcik R., Banaszak Z.: Planowanie pracy zespou robotów
wielofunkcyjnych w systemach potokowej produkcji wieloasortymentowej
(Interakcyjne wspomaganie decyzji). W: Problemy Robotyki, Prace naukowe,
Elektronika, z. 166, Oficyna Wydawnicza Politechniki Warszawskiej 2008, 647-660.
[8] Bocewicz G., Banaszak Z., Wójcik R.: Design of admissible schedules for AGV
systems with constraints: a logic-algebraic approach, In: Agent and Multi-Agent
Systems: Technologies and Applications, Nguyen N.T., Grzech A., Howlett R.J., Jain
L.C. (Eds.), Lecture Notes in Artificial Intelligence 4496, Springer-Verlag, Berlin,
Heidelberg, 2007; 578-587.
[9] Bzdyra K., Kudowicz P.: proALPHA - studium przypadku, W: Systemy wspomagania
inynierii zarzdzania.- Koszalin: Wyd. Politechniki Koszaliskiej, 2005 s. 177-197
[10] Puget J-F.: A C++ Implementations of CLP, Proceeding of SPICS 94, 1994.
[11] Schulte CH., Smolka G., Wurtz J.: Finite Domain Constraint Programming in
Oz, DFKI OZ documentation series, German Research Center for Artificial
Intelligence, Stuhlsaltzenhausweg 3, D-66123 Saarbrucken, Germany, 1998.
164
automation 2009