• Nie Znaleziono Wyników

Szeregowanie zadań o znanej sekwencji z uwzględnieniem kosztów wyprzedzeń i opóźnień

N/A
N/A
Protected

Academic year: 2022

Share "Szeregowanie zadań o znanej sekwencji z uwzględnieniem kosztów wyprzedzeń i opóźnień"

Copied!
10
0
0

Pełen tekst

(1)

ZESZYTY N A U K O W E POLITECHNIKI ŚLĄSKIEJ Seria: A U TO M A TY K A z. 134

2002 N r kol. 1554

Jakub BAUM AN, Joanna JÓZEFO W SKA Politechnika Poznańska

SZEREGOWANIE ZADAŃ O ZNANEJ SEKWENCJI Z

UWZGLĘDNIENIEM KOSZTÓW WYPRZEDZEŃ I OPÓŹNIEŃ

S treszczenie. W pracy rozw aża się problem szeregowania zadań, o dowolnych oczekiw anych term inach zakończenia, na jednej maszynie z kryterium minimalizacji kosztów nieterm inow ości w ykonania zadań. Funkcje kosztów wyprzedzeń i opóźnień są liniowe, asymetryczne i indywidualne dla poszczególnych zadań. Zaprezentowano algorytm o złożoności 0 («logn) znajdujący optymalne uszeregowanie danej sekwencji zadań. K oncepcja polega na zastosowaniu funkcji określającej koszt modyfikacji uszeregow ania, aktualizowanej po uszeregowaniu kolejnego zadania.

SCHEDULING A SEQUENCE OF JOBS WITH EARLINESS-TARDINESS COSTS

S u m m a ry . W e consider one-m achine scheduling problem with individual due dates to m inim ize earliness-tardiness cost. The functions o f the earliness-tardiness cost are linear, asym m etric and task dependent. W e propose an O(nlogn) algorithm to find an optim al schedule for a given sequence o f jobs. A concept o f a schedule modification cost function updated after adding each task is used.

1. Wprowadzenie

W now oczesnych system ach sterowania produkcją zwraca się uwagę zarówno na koszty m agazynow ania wyrobów, ja k również na koszty związane z opóźnieniem dostaw.

Taka koncepcja je st często nazywana produkcją dokładnie na czas (Just-in-tim e, JIT).

Produkcja JIT spow odow ała wprowadzenie nowej klasy problem ów szeregow ania zadań, gdzie karane są zarówno wyprzedzenia, ja k i opóźnienia w ykonania zadania. Koszty wyprzedzenia to np. koszty związane z magazynowaniem w yrobów gotowych, które zostały wyprodukowane przed oczekiwanym terminem, a koszty opóźnienia to np. koszty kar

(2)

um ow nych związanych z opóźnieniem dostaw. W ogólności funkcje kosztów m o g ą być zarówno liniowe, ja k i nieliniowe. Celem je st m inim alizacja sumarycznego kosztu.

W ogólnym przypadku problem je st NP-trudny nawet dla jednej maszyny, co pokazali Garey, Tarjan, W ilfong [2]. Problem był rozważany również w pracach Yano i K im [3], A bdul-R azaq i Potts [4], Szwarc [5], Ow i M orton [6,7], Fry, D arby-Dow m an i Arm strong [8]. K lasyfikację tego typu problem ów podali Baker i Scudder [9].

W niniejszej pracy rozw aża się problem z liniowymi funkcjami kosztów wyprzedzeń i opóźnień dla jednej maszyny.

Problem m ożna podzielić na dw a podproblem y: znalezienia sekwencji zadań i znalezienia optym alnych czasów zakończenia zadań dla danej sekwencji. Optymalne uszeregow anie zadań przy danej sekwencji m ożna znaleźć przez rozw iązanie problem u program ow ania liniowego. Garey, Tarjan, W ilfong [2] zaproponowali bardziej efektyw ną procedurę GTW dla szczególnego przypadku z niezależnymi od zadań i symetrycznymi kosztam i w yprzedzeń i opóźnień. Procedurę tę m ożna zaim plem entować, aby działała w czasie O(nlogn). Inne przypadki problem u rozw aża Chrétienne [1], Przedstaw ił on rozszerzenie G TW na przypadek asymetrycznych kosztów oraz zaproponował m etodę dla przypadku asymetrycznych i zależnych od zadań kosztów, o złożoności 0 ( « 3logn).

W niniejszym artykule zaproponowano algorytm szeregowania dla tego samego przypadku o złożoności O(nlogn).

W rozdziale 2 podano sform ułow anie problem u i podano w łasności rozw iązania optym alnego. N astępnie, w rozdziale 3, przedstawiam y funkcję wzrostu kosztów Kt(x), która je st podstaw ą algorytm u przedstawionego w rozdziale 4. N a koniec, w rozdziale 5,

przedstaw iono w nioski i kierunki dalszych prac.

2. Sformułowanie problemu

R ozw aża się n niepodzielnych zadań, które m ają być szeregowane na jednej maszynie.

W szystkie zadania s ą dostępne w chwili zero. W każdej chwili na m aszynie m oże być wykonywane co najwyżej jedno zadanie. Każde zadanie i scharakteryzowane je st przez czas w ykonania p t, i = \ , . . . , n , żądany term in zakończenia di oraz współczynnik kosztów w yprzedzenia a, i opóźnienia /?,. K oszt wyprzedzenia je st dodatni, gdy d, - Ct > 0 (gdzie Cf oznacza term in zakończenia wykonywania zadania), w przeciwnym wypadku je st równy zero

(3)

Szeregowanie zadań o znanej se k w e n cji. 45

i podobnie koszt opóźnienia je st dodatni, gdy Ci - di > 0, w przeciwnym wypadku je st równy zero. Zakładam y, że funkcje określające koszty w yprzedzeń i opóźnień s ą liniowe i zależne od zadań. Całkow ity koszt uszeregowania 5 określa wzór:

f ( S ) = Y X a i max{0,rf(- - C ,•}+/?,• max{0,C, -<ź, }) (1)

/=1

W przypadku gdy kolejność w ykonania zadań je st znana, problem sprowadza się do znalezienia w ektora optym alnych czasów zakończenia poszczególnych zadań. W ektor ten można znaleźć rozw iązując problem program owania liniowego.

Chrétienne [1] zaproponował algorytm o złożoności O(n3logn) do rozw iązania tego problemu. Poniżej przedstawiam y bardziej efektywny algorytm dla tego problem u, o złożoności O(nlogn).

3. Koncepcja funkcji wzrostu kosztu uszeregowania

Załóżm y, że dla danej sekwencji zadań znamy optymalne uszeregowanie, i chcem y przesunąć ostatnie zadanie n w lewo, aby skrócić uszeregowanie. Przesunięcie w lewo ostatniego zadania je st dopuszczalne tylko wtedy, gdy w uszeregowaniu występuje przerwa.

Poza tym, aby uszeregow anie pozostało dopuszczalne, przesuwanie ostatniego zadania m oże wymusić konieczność przesunięcia jego poprzedników. Oczywiście, przesunięcie każdego zadania w lew o zw iększa dodatkowo wartość całkowitego kosztu uszeregowania. Oznaczmy przez Kt(x) całkowity koszt przesunięcia ostatniego (/c-tego) zadania w lewo o x jednostek, uwzględniając koszt wymuszonego przesunięcia jego poprzedników.

Funkcja K„(x) m oże być znaleziona iteracyjnie podczas szeregow ania zadań.

Procedura je s t następująca. Szeregujemy pierwsze zadanie. Jeżeli x\ = d\ - p i > 0, to uszeregowanie zadania takie, że C/ = di, je st dopuszczalne i optymalne. Przesunięcie zadania w lewo o x pow oduje w zrost kosztu zgodnie z liniow ą funkcją K\(x) = a \x, gdzie 0 < x = d\ - Ci < xi. Przesunięcie zadania w prawo powoduje w zrost kosztu zgodnie z liniow ą funkcją K \(x) = P \( - x ) . Przesuwanie w praw o m ożna pom inąć, gdyż wobec dostawiania kolejnych zadań tylko z prawej strony nie spowoduje ono nigdy zm niejszenia wartości funkcji celu. W przypadku gdy d \ - p \ < 0 , to pierwsze zadanie nie m oże być wykonane przed term inem , a w optymalnym uszeregow aniu

C\=

p \ > d\, zatem m inim alny koszt jego opóźnienia wynosi fli(d\ - p \ ) .

(4)

Przy szeregow aniu kolejnych zadań m ogą wystąpić dwa przypadki: Ą > C*_ i + /?*

o r a z 4 < C k_i+/?k.

Rozw ażm y przypadek Ą > Ck -1 + Pk- Uszeregowanie zadania k takie, że C* = dk, je st dopuszczalne i nie pow oduje dodatkowego w zrostu całkowitego kosztu. Jednakże m usim y zaktualizow ać funkcję Kk(x), poniew aż została rozszerzona jej domena. Obliczam y Xk - d k - p k ~ C k - 1. Przesuw anie zadania k w lewo o x e [0 , xi<] pow oduje koszt wyprzedzenia tylko zadania k, który wynosi a*x. Przesunięcie o więcej niż Xk wym aga przesunięcia

poprzednich zadań, co pow oduje większy koszt. Oznaczmy X k = ^ x , . W przedziale [x*, Xk]

zachodzi Kk(x) = oftx + Kk~ i(x).

T eraz rozw ażm y przypadek d k < C k - \ +Pk- Uszeregujmy zadanie k tak, że Ck = Ck-1 + pk i obliczm y Xk = C*_ i +pj, - dk oznaczające rozm iar opóźnienia i-teg o zadania.

Funkcję kosztu uszeregow ania i-tego zadania zilustrowano na rys. 1. Zatem:

Jeżeli J3k je st w ystarczająco duże, to przesuwanie i-teg o zadania w lewo zm niejsza w artość funkcji K k(x). T a sytuacja je st pokazana na rys. 1. W prezentowanym algorytmie zadanie je s t przesuwane tak długo, dopóki nie wystąpi zwiększenie wartości funkcji Kk(x).

M ożna zaobserwować pewne istotne własności funkcji Kk(x) przedstawione w poniższych lematach.

L e m a t 1. Funkcja Kk{x) je st przedziałam i liniowa, ciąg ła i rosnąca, i = 1 ,..., n.

Punkty, w których następuje zm iana współczynnika nachylenia funkcji Kk(x), będziem y nazywać punktam i charakterystycznymi tej funkcji.

L e m a t 2. Z achodzą następujące własności: Kk(x) > 0 , x ’ < x*, x ’/4 S K k- i(x ), k = 1 ,..., n, gdzie x* je st punktem , w którym Kk(x) osiąga minimum.

L e m a t 3. M aksym alna liczba punktów charakterystycznych je st równa n + 1.

(5)

Szeregowanie zadań o znanej se k w e n cji. 47

d x , t

X k- 1 X k

....

W’

4

— — P

dk Ck

R y s. 1. F u n k cja K k(x) d la k -te g o za d a n ia dk < C k - i + p k i d u że g o fik F ig . 1. F u n c tio n Kk{x) fo r th e kth jo b d k < Ck „ i + p k a nd la r g e pk

4. Algorytm

Przyjmujemy, że porządek zadań je st znany. W każdej iteracji algorytm dodaje jedno zadanie do uszeregow ania i znajduje optymalne rozm ieszczenie dla zadań ju ż uszeregowanych. O znacza to, że w każdej iteracji znajdywane je st optymalne rozw iązanie dla podzbioru zadań. Ostatecznie otrzym ywane je st uszeregowanie optymalne n zadań.

W opisie algorytmu posłużono się następującym i oznaczeniami:

last - liczba punktów charakterystycznych,

coeft, k = 1 , . . . , la s t- przyrost w spółczynnika funkcji Kk(x) w A>tym punkcie charakterystycznym,

(6)

valk, k = 1, . . last - w artość punktu charakterystycznego funkcji Kk(x), cost - całkow ity koszt uszeregowania,

C - term in zakończenia ostatniego zadania w bieżącym (częściowym) uszeregowaniu, Ck - term in zakończenia ¿-tego zadania.

Poniżej przedstaw iono ideę algorytmu w konwencji pseudo-Pascala.

ALGORYTM

begin fo r k := 1 to n do begin x := C + pk - dk;

coefo := co;

if x < 0 th e n {dodaj nowy punkt charakterystyczny o x jednostek w lewo}

begin if x < 0 then

begin last — la s t+1;

v a W := valiast- 1 - x ; coefiost ~ 0;

end;

coefiast := coefiast + ak;

C := dk;

end;

else {job is late}

begin C := C + p k;

y := m ax{0, valiast - x};

COefjast • coefiast Pk>

i := 1; {podziel przedział zaw ierający y}

w hile vali < y do begin valpom-, := vali;

coefpomi := coefi;

i := i + 1;

end;

valpom, := y;

coefpomi := ak + Pk!

if v a li= y th e n

begin coefpomi := coefpomi + coefi;

i := i + 1;

j := i;

end;

else

begin last := last + 1;

j : = i + 1;

end;

w hile j ^ last do begin valpomj := vali;

coefpomj := coefi;

(7)

Szeregowanie zadań o znanej se k w e n c ji. 49

i : = i + 1; j : =j + 1;

end;

f o r i := 1 to last do coefi := coefpom¡;

fo r i := 1 to last do val¡ := valpom¡;

{usuń punkty z ujem ną w artością coefi i przesuń zadania w lewo}

i := last;

w hile coefiasi < 0 do begin last := last - 1;

C : = C - v a l j + val¡_i;

i := i — 1;

coefi := coefi + coefi + end;

en d ; C k = C;

end;

avail := Cn cost := 0;

fo r k := n to 1 step -1 do

b egin if C k > avail th e n Ck := avail else avail := Ck;

avail := avail - p k;

cost := cost + max{0, dk - C k}* a k + m ax{0, Ck- d k}* p k;

en d ; end;

U szeregow anie zadania wym aga m aksymalnie O(n) kroków. Zachodzi to w przypadku, gdy zadanie je st spóźnione i dodanie nowego punktu charakterystycznego wymusza zm ianę listy punktów charakterystycznych. W obec tego złożoność obliczeniow a prezentowanej w ersji algorytm u je st rzędu O(n2). Zastosowanie specjalnej struktury danych pozwala zm niejszyć tę złożoność do O(nlogn). W spom niana struktura danych zw ana jest kopcem lub stertą. Tarjan [10] wykazał, że operacje takie ja k insert i delete_min m ogą być w niej wykonane w czasie O(logn). Prezentow ana powyżej w ersja algorytmu je st jednak bardziej czytelna i pozw ala zilustrować jego głów ną ideę.

T w ierdzenie 1

Algorytm znajduje optymalne uszeregowanie dla danej sekwencji zadań.

D owód: P rzez indukcję ze względu na k. Uszeregow anie je st na pewno optymalne dla k = 1, ponieważ pierw sze zadanie je st szeregowane na czas, gdy (p * < Ą ) albo z m inim alnym m ożliwym opóźnieniem ( Q =pk). Pokażemy, że jeżeli twierdzenie je st praw dziw e dla k, to jest praw dziwe dla k + 1.

(8)

N ie wprost. Załóżm y że S*+1 je st uszeregowaniem otrzymanym z Sk zgodnie z algorytm em i że istnieje uszeregowanie S'k+ j, takie że cost(S'*+ i) < cost(S*+1). Rozważymy dwa przypadki.

Przypadek 1. Jeżeli C* +pk+ \ - dk+ \ £ 0, to koszt uszeregowania zadania k + 1 wynosi zero, poniew aż C *+1 = dk+ j. Zatem z założenia c o st(5 't+ 1) < cost(S*+1) = cost(Ą ). Usuwając (k + l)-sze zadanie z uszeregow ania S *+i otrzym amy uszeregow anie S* spełniające

nierów ności cost(S'*) < cost(S'*+1) < cost(S*+ |) = cost(Ą ), co je st sprzeczne z założeniem , że Sk je s t optym alne dla k zadań. Zatem tw ierdzenie je s t praw dziwe dla Przypadku 1.

Przypadek 2. Jeżeli x *+ \= C k + Pk +1 - <4+ i > 0, czyli zadanie k + 1 je st spóźnione.

Funkcja K^(x) je st definiowana następująco:

v M . r u J ~

x

'P

m

8«^ *<**♦, m

M X k X gdy x > x*tl

Oznaczm y przez x ’ długość przedziału, o który (k+ l)-sze zadanie je st przesuw ane w lewo w uszeregow aniu Sk. Zauważmy, że 0 < x* = C* + Pk+1 - C* + 1- Zgodnie z algorytmem, x* je st punktem , w którym funkcja Kk+ i(x) osiąga minimum. Z Lem atu 2 wynika, że x* < x* + 1 i szeregow anie w g algorytm u daje cost(S*+1) = cost(S*) + K p x ) + (x*+1 - x * ) / 4 + 1-

Jeżeli czas zakończenia (k + l)-szego zadania w uszeregow aniu S k +1 je st większy niż

C k + P k +1, to:

cost(5*) + x * + 1J3k+1 < cost(S*+1) < cost(S *+1) = cost(S*) + Kk(x') + (xk+ i - x )Pk+\ (4)

czyli:

cost(.S*) < cost(5*) + [Kk(x') - x 'p H \\ (5)

Z Lem atu 2 wiem y, że x*/4+1 > Ajt(x*), zatem z (5) cost(S*) < cost(S*), co jest sprzeczne z założeniem indukcyjnym, czyli w tym przypadku tw ierdzenie je st prawdziwe.

Jeżeli natom iast czas zakończenia (k + l)-szego zadania w uszeregow aniu S k+1 jest m niejszy niż C k+ P k+ 1, to rozważając ostatni blok B w uszeregow aniu Sk+1, czyli zbiór zadań uszeregow anych za ostatnią przerw ą czasow ą w S k+i otrzymamy:

cost(S*+1) = cost(S*+ i\B) + cost \ B ) . (6)

(9)

Szeregowanie zadań o znanej se k w e n cji. 51

Rozw ażm y teraz uszeregowanie 5 * + 1. W iemy że:

cost(S*+ [YB)

+

cost(B)

=

cost(S’*+1)

<

cost(S^ +

1)

(7)

Z Lem atu 2 wynika, że cost’(B) je st minimalny, czyli cost’(B) < cost(B). Zatem z (6) i (7) otrzymujemy:

cost(S*+ i\B) < cost(Si+ |YB) (8)

To je s t sprzeczne z założeniem indukcyjnym, zatem tw ierdzenie je s t praw dziwe również w tym przypadku, co kończy dowód.

5. Podsumowanie

W artykule zaproponowaliśm y algorytm o złożoności O(nlogn) do rozwiązywania problemu szeregow ania danej sekwencji niepodzielnych zadań z indywidualnymi żądanymi terminami zakończenia dla kryterium minimalizacji całkowitego kosztu opóźnień i wyprzedzeń. R ozw ażane funkcje kosztów s ą liniowe, a ich współczynniki dane i różne dla poszczególnych zadań. Proponowany algorytm o złożoności 0(«logn) je st bardziej efektywny niż algorytm o złożoności O(n3logn) zaproponowany przez Chretienne'a [1]. Przedstawiony algorytm będzie wykorzystany w procedurach podziału i ograniczeń, ja k również przeszukiw ania tabu zastosowanych do znajdywania optymalnej sekwencji zadań.

LITERATURA

1. Chrétienne P.: M inim izing the Earliness and Tardiness Costs o f a Sequence o f Tasks on a Single M achine, Research Report Laboratoire d'inform atique de Paris 6, 1999.

2. Garey M ., T arjan R., W ilfong G.: One-processor scheduling w ith symm etric earliness and tardiness penalties, M athem atics o f Operations Research, vol. 13,1988, s. 330-348.

3. Yano C., K im Y.: Algorithm s for Single M achine Scheduling Problems M inim izing Tardiness and Earliness. Technical Report #86-40, Departm ent o f Industrial Engineering, University o f M ichigan, A nn A rbor, 1986.

4. A bdul-Razaq T., Potts C.: Dynamic Programm ing State-Space Relaxation for Single- Machine Scheduling. Journal o f the Operational Research Society vol. 39, 1988, s. 141-152.

(10)

5. Szwarc W.: M inim izing Absolute Lateness in Single M achine Scheduling W ith Different D ue Dates. W orking Paper, U niversity o f W isconsin, M ilwaukee, 1988.

6. O w P., M orton T.: Filtered Beam Search in Scheduling. International Journal o f Production Research vol. 26, 1988, s. 35-62.

7. O w P., M orton T.: The Single M achine Early-Tardy Problem. M anagem ent Science vol. 35, 1989, s. 177-191.

8. Fry T., D arby-Dow m an K., Arm strong R.: Single M achine Scheduling to M inim ize M ean A bsolute Lateness. W orking Paper, College o f Business Adm inistration, U niversity o f South Carolina, Columbia, 1988.

9. Baker K., Scudder G.: Sequencing w ith Earliness and Tardiness Penalties: A Review.

O perations Research, vol. 38, 1990, s. 22-36.

10. Tarjan R. E.: D ata structures and network algorithms. Society for Industrial and Applied M athem atics, Philadelphia, P.A., 1983.

Recenzent: Prof. dr hab. int . Andrzej Swiem iak

A b stra c t

In the paper a JIT scheduling problem is considered. This is a one-m achine problem w ith linear cost functions that are task dependent and asymmetric. The problem consists o f two sub-problem s. T he first one is to find a good sequence o f jobs and the second one is to build an optim al schedule by inserting idle times. W e consider the second sub-problem . It is know n that it can be solved by a linear programming procedure or by an algorithm by Chrétienne [1] o f com plexity 0 ( n 3logn) A special case o f the problem w ith symm etric and task-independent costs was considered by Garey, Tarjan and W ilfong [2] who proposed an O(nlogn) procedure for this special case.

W e propose an algorithm solving the general problem w ith arbitrary costs. The algorithm is w orking by iterative adding the jo b s from a sequence. The base for the algorithm is a special function that describes a cost o f modifications o f the schedule. These m odifications consist in shifting the last jo b in a partial sequence to keep an optim al solution during inserting next jo b to the schedule. The function has som e interesting properties. Very im portant is that the function is increasing and piece-wise linear.

T he algorithm we propose has the com plexity O(nlogn) and in this sense im proves the algorithm proposed by Chrétienne [1]. W e plan to use it in a branch and bound as well as in a tabu search procedure for finding optim al sequences o f tasks.

Cytaty

Powiązane dokumenty

[r]

ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ Seria: AUTOMATYKA z. W pracy sformułowano problem szeregowania zadań na równoległych maszynach. Zakłada się, że dla każdego

W wielu zagadnieniach praktycznych często spotykamy się z sytuacją, kiedy ten sam zbiór zadań (prac, czynności itp.) wykonywany w identycznych (lub bardzo

Istnieją pewne odmiany zagadnienia szeregowania z przezbrojeniami, wynikające z przyjętych założeń: 1) Grupowanie zadań (batching) w grupy (batches) - grupa

W literaturze naukowej znane są przykłady modeli czasu w ykonywania zadania, w których ilość przydzielonych zasobów w pływa na długość jego wykonywania [4], Znane

problemu, jednakże udowodniono kilka jego własności (V-podobność oraz symetria rozwiązania optymalnego). W pracy [5] rozpatrywano przypadek, w którym stale części

W pracy przedstawiono sformułowanie, pewne własności oraz algorytm roz- więzania zagadnienia kolejnościowego gniazdowego z równoległymi maszynami 1 z ogólnę

[r]