ZESZYTY NAUKO’,7B POLITECHNIKI ŚLĄSKIEJ Serial AUTOMATYKA z. 55
1980 l i r k o l . 651
Czesław Smutnicki, Józef Grabowski Instytut Cybernetyki Technicznej Politechniki Wrocławskiej
METODY I ALGORYTMY OPTYMALIZACJI KOLEJNOŚCI OPERACJI Z KRYTERIUM MINIMALIZACJI KOSZTÓW
Streszczenie. 7? pracy przedstawiono ocenę metod i algorytmów szeregowania niepodzielnych zadań na realizatorach z uwzględnie
niem kosztów. Zaproponowano nowe algorytmy i podano przykłady • zastosowań.
1. Ws tęp
W artykule jest rozpatrywany dyskretny system produkcyjny realizujący niepodzielne zadania w ustalonym porządku technologicznym. Zadania te należy wykonać dysponując pewnymi niezużywalnymi środkami (maszyny, bry
gady ludzi itp.). Należy dokonać takiego rozdziału środków pomiędzy czynności (zadania) oraz określić taką kolejność ich wykonywania, aby całkowity koszt, związany z użyciem środków i terminowością realizacji zadań, był minimalny.
Problemy szeregowania uwzględniające koszty stanowią dość ważną grupę zagadnień z praktycznego (i ekonomicznego) punktu widzenia. Fakt, że sto
sunkowo niedawno uzyskano istotne wyniki w tej dziedzinie)można usprawie
dliwić dużymi trudnościami przy konstrukcji "efektywnych" algorytmów.
VI pracy przedstawiono w skrócie aktualny stan metod i algorytmów słu
żących do ich rozwiązania. Ponadto zaproponowano nowe algorytmy zaga<Ł- nień.
2. Podstawowe definicje, klasyfikacja problemów
Niech J = { J1 ,J2 ,...,Jn } będzie zbiorem zadań, które mają być wykona
ne przy użyciu zbioru maszyn różnych typów M = { , Mg, • . • , } •
i
Każde zadanie J^ £ J składa się z ciągu operacji Ji = <'0i1,0i2,“ *,0ini'> ’
Operacje mają być wykonywane w zadanym porządku technologicznym, tzn.
każda operacja 0 ^ ma być wykonywana po wykonaniu operacji Oin_1 , a rzed wykonaniem operacji • Każda maszyna może wykonywać co najwy
żej jedno zadanie w danej chwili czasowej. Dla każdego zadania są okreś—
90 Cz .Smutnicki, J . Gra bov/3 kl
lone następujące pojęcia: - liczba operacji, p ^ - czas wykonywania operacji 0in, r^ - najwcześniejszy możliwy czas rozpoczęcia wykonywania zadania, d^ - żądany czas zakończenia zadania, - czas rozpoczęcia wy
konywania zadania, E. = m s o c ^ r ^ - S j - przyspieszenia wykonania zadania,
= max[0,C^-d^] - spóźnienia wykonania zadania, f ^ - niemalejąca funkcja reprezentująca koszt związany z wykonaniem zadania w czasie C^,
zbiór liczb rzeczywistych, w ^ - współczynnik wagowy zadania.
Zagadnienia sklasyfikowano [ 8] oznaczając symbolami n|m|V,r |$
gdzie: n - liczba zadań, m - liczba maszyn, 6{P,F,G,l] - oznacza typ zagadnienia: F-zagadnienie taśmowe, F-permutacyjne zagadnienie taśmowe, G-zagadnienie gniazdowe, I-zagadnienie z równoległymi maszynami, P c { przerywać, r^^-0, P^-f PK > Pj_ = 1| drzewo, *< } - oznacza istnienie dodatkowych założeń ograniczających, S - pos
tać funkcji celu (C^) = £ i^c±^ albo tm s x =a?x
Ti tablicy 1 zebrano problemy, dla których znane są algorytmy. Podano tak
że źródło literaturowe i złożoność obliczeniową. Ze względu na istotne trudności napotykane przy konstrukcji algorytmów w literaturze rozważa się głównie problemy jednomaszynowe.
Tablica 1
problem autorzy algorytmu złożoność
obliczeniowa źródło n| 1| -< |f
J K
m i ł« ,
Lawler [1973] o(n2 ) [12]
Conway »Maxwell,Miller r*]
L-1967J
n h H E w ^ Smith [1956] o(nlogn) [21]
n[ 1| drzewo|Ew.C. Horn , [19 7 2] o(nlogn) [10]
a l l K ^ f c w i C , Sidney [1975] o(n2) [18]
n|l| r 0 , p i=l|EwiGi Hinnooy [1976] o(nlogn) [16]
n | 'I | > 0,pi= 1 g > lTi
“ M I C 1 !
Lawler [i964-] o(n2 ) [11]
(i)Elmaghraby [1963]
(ii) Emmons [1969]
(iii')Srir.ivasan [1971]
(iv)Baker,Martin [1974]
NP-zupełny [5]
r e ]
N [ 3
nh|lCwi Ti
(v)PŁsher [1976]
[ 7 ]
Pićard,Queyranne ["1978] NP-zupełny M
nhllDfiCCi)
(i)Schild, Fredman [1962](ii)Binnooy 'Kan,Lageweg,
■Leustra [i975]
(iii) Shwimer [1972]
NP-zupełny [17]
[15]
[
16]
Metody i algorytmy optymalizacji... 91
Tablica 1 - cd.
problem autorzy algorytmu złożoność
obliczeniowa źródło
n h l l E f i C C j . ) ^
n M p l * w n lm l? lfmax
Baker,Schrage [1978]
Lawler,Sivazlian [1978]
Sidney [1977]
Achuthan,Grabowski, Sidney [1978]
Townsend [1977]
NP-zupełny o(nlogn) o(n2 ) NP-zupełny NP-zupełny
[3]
[13]
[19]
[1] [23]
(1) relacja poprzedzania przedstawia graf szeregowo-;r&moległy dla ar
bitralnie przyjętej relacji poprzedzania problem jest NP-zupełny (2) wszystkie funkcje f ^ C ^ ) są postaci f^Cj) = ^ k^ujdu, gdzie|ki (u) =
= a^lf(u) + ' Ci-pi
(3) przy założeniu rŁ r^ =£■ d^ < d... W ogólnym przypadku zagadnienie jest NP-zupełne.
3. Metody rozwiązywania zagadnienia nlillJ~'. fi CciI
Problem ten w ogólnym przypadku, bez dodatkowych założeń o rodzaju o- graniczeń i postaci funkcji celu, jest problemem NP-zupełnym. Vi przypadku, gdy funkcje f ^ ^ i ^ są P°stacl-
' Ci
W = ^ k ^ G O d u (3*1)
Ci“pi
gdzie k^(u) = a ^ ( u ) + b^ są niemałejącymi (nierosnącymi)j to rozwiąza
niem optymalnym jest wykonywanie zadań w porządku nierosńących (niemale- jących) a ^ Funkcje celu = C^, ft CCŁ > = są szczególnymi przy
padkami (3«"O [1 5] •
Dodanie ograniczeń w postaci arbitralnie przyjętej relacji poprzedzeń pomiędzy zadaniami powoduje, że problem staje się NP-zupełny nawet(gdy wszystkie f Ł (Ct ) = Clt dlatego też udało się skonstruować efektywne al
gorytmy jedynie 'dla przypadków, gdy relacja poprzedzeń jest drzewem [10]
lub grafem szeregowo-równoległym [ń], [18] . .
Szczególnie ważn* z praktycznego punktu widzenia 3ą problemy, któ
rych funkcja celu przedstawia karę (lub straty) związany, ze spóźnieniem zadań T^. W tym przypadku f ^ C ^ ) są niemałejącymi funkcjami spóźniania
fi(Cl) = hj_ (mar [0, ) = ^ ( C j ) (3*2) Ponieważ tak sformułowany problem jest HP-zupełny [8j|do jego rozwiąza
nia stosowane są najczęściej następujące podejścia«
1) programowanie dynamiczne [ 23 » C S »
92 Cz .Smutnicki. J . Grabowski
2) algorytmy oparte na metodzie podziału i ograniczeń [”5] »[”6] ,[7] > ' B4J , m , [2§] ,
3) metody subgradientowej optymalizacji'[7J ,[$] . 4-J metody heurystyczne [24] .
3.1. Programowanie dynamiczne. Niech J oznacza zbiór wszystkich zadań i niech I oznacza pewien podzbiór I c J. Niech l'.= J - I oznacza uzu
pełnienie I oraz <łj = 5T> , jPjj. oznacza całkowity czas potrzebny do wy
konania zadań z ł ' . Niech F(I) oznacza minimalną wartość funkcji celu, dla I F(I) = min Tl f]£(cicV przy warunku» że wszystkie zadania zaczy
nają się nie wcześniej niż q^. Należy znaleźć F(J) przy pomocy wzoru re- kurencyjnego t
Zręczna implementacja programowa [3] może skompensować pewne wady me
tody, jednakże w przypadku zagadnień o dużym wymiarze metoda 3 taje się mało skuteczna. Do wad DP można zaliczyć:
a) znaczny obszar pamięci potrzebny do przechowywania informacji, b) dużą liczbą kroków podstawowych potrzetmycbjdo przeglądnięcia zbio-
Do zalet tej metody można zaliczyć:
a) niewielką złożoność kroku podstawowego,
b) możliwość redukcji wymiaru pamięci w przypadku przyjęcia relacji poprzedzeń [3] ,
c) możliwość zastosowania dowolnej nleaddytywnej, niemałejącej funk
cji celu typu min,max,iloczyn
d) łatwość implementacji programowej.
3.2. Metoda podziału i ograniczeń. O skuteczności metody decydują głów*.
nie:
a) kryteria eliminacji pozwalające odrzucać a priori pewne zbiory rozwiązań,
b) moc testu określającego dolne ograniczenie funkcji celu LB pozwa
lające odrzucać rozwiązania, gdy L B ^ U B , gdzie UB jest górnym Ograniczy niem funkcji celu,
c) szybkie znalezienie dobrego rozwiązania w celu lepszego określej, wartości UB.
Najczęściej do konstrukcji testów używa się:
F(I) = min , { f k (qT ) + F(I-{k})j k ? I £ .
F(J3) = O.
(3.3)
rów I.
Metody i algorytmy optyaalizac.1l.. 93
2) zagadnienia n| 1 1przerywać IJjf^CC^)5 zagadnienie to jest 3prowadzał- ne dó problemu n|1|p^ =pK |£] gdzie n' =
^
p /pK En] , [13 ,3) zagadnienia przydziału pracy (AP) z odpowiednio określonymi współ
czynnikami kosztu []5] »
4-) zagadnienia czasowo-zależnego komiwojażera (TDT3P) z odpowiednio określoną macierzą kosztu p4] . Ponieważ problem TDTSP jest NP-zupełny^
korzysta się z dolnego ograniczenia problemu znalezionego np. metodą subgradientową p41 ,C9] >
5) problemu Lagrange'a [7], gdzie zagadnienie dualne jest rozwiązywane metodą subgradientową [9]•
Kryteria eliminacji dla problemów kosztowych bazują zwykle na szczegól
nych postaciach funkcji CS] ■ M > D S , 153 > [22] • Biorąc pod uwagę znane rezultaty, metoda B-and-rB jest aktualnie najbardziej skuteczną me
todą rozwiązywania zagadnień, tego typu.
3.3. Metoda subgradientową. Ze względu na swe własności metoda rzadko jest używana samodzielnie, częściej natomiast jest wykorzystywana przy konstrukcji testów [9].
4. Nowy algorytm zagadnienia n M
11
G f i (Pi )W niniejszym rozdziale przedstawimy algorytm oparty na metodzie po
działu i ograniczeń posiadający następujące zalety:
a) w każdym kroku jest dane pewne dopuszczalne rozwiązanie, b) rozwiązanie optymalne jest znajdowane stosunkowo szybko.
Algorytm ustala porządek zadań począwszy od końca do początku. Niech będzie permutacją, - najlepszą wartością funkcji celu, 1 - zbiorem zadań, których porządek został ustalony, J - zbiorem wszystkich zadań.
Niech będzie dana pewna permutacja początkowa JV°.
Przyjąć F 1 = o o , ST = j f , 1 = 0, k = n , 1 = 1,
krok 1 - obliczyć dolne ograniczenia LB wartości funkcji celu(np.
stosując metodę opisaną w [7] lub [94] . Jeśli LB^-i^S to przejść do kro
ku [4]jinaczej przejść do kroku[2].
krok 2 - obliczyć wartość funkcji celu dla permutacji
d=i
Jeśli F(5T) < 5 ^ , to t= FOfi). Określić I # = J - I. Jeśli i' = 0, to A l g o r y t m
n
?(Ji) = f?V(i)(CJT(i))
i (4.1)
94 Cz.Smutni cki,J .Grabowski
przejść do kroku 4-, inaczej obliczyć lokalną ocenę zmiany kosztów przy przeniesieniu pracy JT(i) e 1^ z pozycji i-tej na pozycję k-tą według wzoru
A lkls % ( l ) CCii(i)). " fffT(i)(CJr(k)) + k
+ C [^ircj) CcjKj> j> Cc-iiXd>“%rCi) ^ iT(l) € xi j=i+i
i
cjtU) =
E
psr(j) (^ ,2)- j=i i przejść do kroku J.
krok 5 - Jeśli 1^ = 0, to przejść do kroku 4, inaczej znaleźć
= min , A tk (4-.3)
1 * 5T(i)€l' Łłc
i sprawdzić kryterium eliminacji dla prac JT(iK ) i 3T(k) i* 4 k w prze
dziale [<:5r(k_i)“Pjr(i)'<Vr(k)]* Je6li eliminacja zachodzi,'to przyjąć l£ =
= 1^ - {JT (i)jr i przejść do kroku 3* Inaczej wykonać zamianę w permuta- cji przenosząc pracę JT(iK ) z miejsca ix-tego na k-te w permutacji oraz przyjąć k = k-1, 1 = 1+1, I '= Iu{5T(i*)}, I ' = - {3T(i*)} i przejść do kroku 1.
krok 4- - Jeśli 1=1, to stop 5* oraz ST51 są odpowiednio wartością funk
cji celu oraz permutacją rozwiązania optymalnego. Inaczej wykonać 1=1-1, k=k+1, 1=1- JT (i51), gdzie JT (iH ) - jest ostatnio przenoszoną pracą z miejsca ix-tego na k-te. Wykonać zamianę odwrotną przenosząc pracę JT(i*) z miejsca k-tego na iK-te. Przejść do kroku 3.
Powyższy algorytm można implementować w prosty sposób na problem n|l jrj>0| C ^ C C ^ ) .
3. Algorytm zagadnienia n|1 ||S(pm (Ej )+h-i (Ti ))
Jednym z zagadnień posiadających duże znaczenie praktyczne jest prob
lem, w którym funkcje strat (kary) są związane z przyspieszeniem wykony
wania zadań oraz z ich spóźnieniem T^. W ogólnym przypadku w rozwiąza
niu optymalnym mogą istnieć przerwy (czas przestoju maszyn) pomiędzy wy
konywanymi zadaniami. Ze względu na NP-zupełność problemu p'roponuje się metodę podziału i ograniczeń do jego rozwiązania. Stosowana jest miesza
na strategia przeglądania drzewa rozwiązań, przy czym w każdym węźle Istnieje pewne rozwiązanie dopuszczalne.
Niech jr będzie pewną ustaloną permutacją, wówczas wartość funkcji ce
lu można znaleźć przez rozwiązanie problemu
Metody 1 algorytmy optymalizac.11... 95
min + h i^Ti2)
A » 5! 1=1
\ + A u i = 1,...,n (5'1)
^ D + ^ j J ^ ^ j i,j=1,...,n K i
^ O gdzie: = P Ł - (A^-r^)
d
A ij = C % < k ) ** <%r(j) - Ą t d ) 5 * (5*2) k=i
Korzystając ze specyficznej postaci ograniczeń można pokazać, że gdy funkcje są liniowe, to algorytm wyznaczający wartość funkcji celu wymaga o(n2logn) iteracji.
Algorytm
Przyjąć 5^ = 00, JT= ¡n3 , 1 = 0 , k = n, 1 = 1 ,
krok 1 - obliczyć dolne ograniczenie LB wartości funkcji celu stosi jąc podejście [.£] , [14! , [13 . Jeśli IB ^ I*4, to przejść do kroku 4, ina
czej przejść do kroku 2.
krok 2 - obliczyć wartość funkcji celu dla permutacji Jt wg (5.1)- -(5.2). Jeśli P(3T) < i*, to / := PCrr). Określić l{ = J-I. Jeśli = 0,
to przejść do kroku 4,inaczej obliczyć lokalną ocenę zmiany kosztów A ^ przy przeniesieniu pracy JT (i) ^ z pozycji i-tej na pozycją k-tą i przejść do kroku 3»
krok 3 - jeśli l£ = 0,to przejść do kroku 4,inaczej znaleźć A i*k = . Aij.
1 K JT(i) ei' ^ - K
i sprawdzić kryterium eliminacji dla prac 3T(iH ) i ffT(k). Jeśli elimina
cja zachodzi, to przyjąć 1^ = 1^ ~{jr(i)} i przejść do kroku 3. Inaczej wykonać zamianę w permutacji przenosząc'pracę 3T(iK ) z miejsca iŁ-tego na k-te oraz przyjąć k=k-1, 1=1+1, 1=1 U (yrii“ )}, l{=l£-{si(iK )} i przejść do kroku 1.
krok 4 - jeśli 1=1, to stop i*4 oraz 3TK są odpowiednio wartością fuńk- cji celu oraz permutacją rozwiązania optymalnego, w przeciwnym przypadku wykonać 1=1-1 ,k=k+1,1=1-{jT(iH )}, gdzie Jl(iH ) jest ostatnio przenoszoną pracą z miejsca iK-tego na k-te. Wykonać zamianę odwrotną przenosząc pra
cę JTii31) z miejsca k-tego na lH-te i przejść do kroku 3*
Hależy się spodziewać, że podejścia [7j da najlepsze wyniki w kons
trukcji testu.
96 ¡Cz .Smu tnicki, J . Grabowski
LITERATURA
f 1] Achuthan N.R., Grabowski J., Sidney J.B.t Optimal FIow-Shop Scheduling with Earliness and Tardiness Penalties, Opsearach, to appear.
[2] Baker K.R., Martin J.B. s An Experimental Comparison of Solutions Algo
rithms for the Single-Machine Tardiness Problem, Naval Res. Log.
Quart. 21, 187-199 (1974). ' ’
r 3] Baker | K.R., Schräge L.E.: Finding an Optimal Sequence by Dynamic.
Programming: An Extension to Precedence-Related Tasks, OR 26, 111-120 (1978).
f 4] Conway R.W., Maxwell W.L., Miller L.W.: Theory of Scheduling, Addison- u -Wesley, 1967-
f 5l Elmaghraby S.E.s The One Machine Sequencing Problem with Delay Co3ts, u - J.Indust.Eng. 19, 105-108 (1968).
[6llłnmons H.: One Machine Sequencing to Minimize Certain Functions of Job.Tardiness, OR 17, 701-715 (1969).
f i] Fisher M.L. s A Dual Algorithm for the One-Machine Scheduling Problem, Math.Progr.11, 229-251 (1976).
[¿I Grabowski J., Smutnicki C.: Zagadnienia kolejnościowe. Klasyfikacja
~ i złożoność obliczeniowa algorytmów. Przegląd statystyczny. W druku.
[9lHeld M., Wolfe P., Crowder H.: Validation of Subgradient Optimization, Math.Progr. 6, 62-88 (1974).
fiolHorn W.A.: Single Machine Job. Sequencing with Treelike Precedence Ordering and Linear Delay Penalties, SIAM J. Appl. Math.. 25, 189-202 _ (1972).
Fill Lawler E.L. s On Scheduling Problems with Deferral Cost, Mgmt Sei 11, 280-288 (1964).
fl2| Lawler E.L. s Optimal Sequencing of a Single Machine Subject to Prece
dence Constraints, Mgmt Sei 19 , 544-546 (,1973).
fl3”l Lawler E.L. 5 Sivazlian B.D.: Minimization of Time-Varying Costs in Single Machine Scheduling, OR 26, 563-569 (1978).
04] Picard J.C., Queyranne M.s The TDTSP and its Application to the Tar
diness Problem in One-Machine Scheduling, OR 26, 86-110 (1978).
Fl5]Rinnoy Kan A.H.G., Lenfetra J.K., Lagaweg B.J.s Minimizing Total Costs in One-Machine Scheduling, OR 23, 908-927 (1975).
jl6)Rinnoy Kan A.H.G.s Machine Scheduling Problems: Classification, Complexity and Computations, Nijhoff, The Hague,(1976).
[17J Schild A., Fredman F.J.: Scheduling tasks with deadlines and non-li
near, loss functions, Mgmt Sei 9, 73-81 (1962).
Bs]Sidney J.B.: Decomposition Algorithms for Single-Machine Sequencing with Precedence Relations and Deferral Costs, OR 23, 283-298 (1975).
F19] Sidney J.B.: Optimal Single-Machine Scheduling with Earlines3 and Tardiness Penalties, OR 25, 62-69 (1977).
^ojshwimer-J.s On the N-Job, One-Machine, Sequence Independent Scheduling Problem with Tardiness Penalties: A Branch-and-Bound Solution, Mgmt Sei 18, 3 0 1-3 13. (197 ).
[21] Smith W.E.: Various Optimizers for Single-Stage Production, Nav. Res.
Log. Quart. 3, 59-66 (1956).
[22] Srinivasan V.: A Hybrid Algorithm for the One-Machine Sequencing Problem to Minimize Total Tardiness, Nav. Res. Log. Quart. 18, 317- -327 (1971).
Metody 1 algorytmy optymalizacji. 97
(23) Townsend W.: Minimizing the Maximum! Penalty in the m-Machine Sequen
cing Problem, OH Quant. 28, 727-734 (1977).
[24j Wilkerson L.J., Irwin J.D.: An Improved Method for Scheduling Indepen
dent Tasks, AIIE Trans. 3, 239-245, (1971).
KETONU H AJÎTOPHTMH OnTHMAJfflSAKHH nOCEEflOBATEJIBHOCTH O riEPA U K ii C MHHHKAJIbHO-
-CTOEMOCTHHM KPHTEPHEM
P e 3 b u e
B p a d o r e n p e ^ o T a B m e H o o n e i n t y M e i o f l O B a j ir o p H T M O B y n o p a j ; o v H e H H H H e p a s f l e m b m i x s a a a s n a p e a j i H 3 a i o p a x c y v ë i o M M H H H M ajiŁ H o łł c t o h m o c t h. I I p e f l c i a B J i e H O n o s u e
amropHTMH h HX'upHMeHeHHH.
METHODS AND ALGORITHMS OP OPERATIONS SEQUENCE OPTIMIZATION WITH MINI: JM COST CRITERION
S u m m a r y
The review of methods and algorithms of scheduling nonpreemptive jobs with the minimum-cost criterion is presented. A new algorithms for one-machine case are proposed.