ZESZYTY NAUKOWE POLITECHNIKI SLĄSKIED Seria: A U TO MA TY KA z. 64
________ 1982 Nr kol. 736
Krzysztof ZIELIŃSKI, Andrzej GOŚCIŃSKI Instytut Informatyki
Akademia Górniczo-Hutnicza
HEURYSTYCZNY A L G O RY TM SZER EG OW AN IA ZADAŃ
W 3E 0N 0P R0 CE S0 R0 WY H KO MP UTEROWYM SYSTEMIE STEROW AN IA
St r o s z c z e n i e . li* pracy zaproponowano heurystyczny algorytm szere- gowania zadań scharakteryzowanych przez czasi wykonania p, .wartość linii krytycznej d i funkcję kary o postaci c(t) = oęmax |o,t-dJ.
Pokazano, że złożoność obliczeniowa tego algorytmu jest O(n). Po
równano rozwięzania uzyskiwane za pomocą tego algorytmu z ro związa
niami uzyskiwanymi przez zastosowanie algorytmu z priorytetami dy
namicznymi, stosowanego w komputerach do sterowania w czasie rze
czywistym. Stwierdzono, że proponowany algorytm heurystyczny daje wy ni ki lepsze w sensie minimum sumy kar ważonych. Wskazuje to na ce
lowość dostowania heurystycznego algorytmu szeregowania w je dn op ro
cesorowych komputerach do sterowania.
1. WPROWADZENIE
Przedmiotem naszych rozważań jest problem szeregowania n zadoń (algo
rytmów sterowania) realizowanych w jednoprocesorowym komputerze st erują
cym, pracującym w czasie rzeczywistym. Oak wynika z [3j, celowe jest, aby każde z wykonywanych zadań p i( i = i,...,n było scharakteryzowane przez średni czas Jego realizacji p^ oraz funkcje kary c^(t).
Funkcja c ^ t ) Jest dana w postaci
cie wyko na ni a pierwszego z zadań następuje w chwili t « tQ .
Problem szeregowania polega na określeniu kolejności wykonania zadań, tzn. znalezienia uszeregowania 3t , który minimalizuje sumę
(1)
g d z i e :
0fi - jest znanym współczynnikiem,
di - natomiast wartością linii krytycznej zadania P ± .
Ponadto założymy, że zadania są realizowane bez przerwań oraz rozpoczę-
¿ 2 1 K. Zieliński. A. Gośclńskl
g d z l o :
- /
(2)
n (3)
oraz 31 (i) oznacza l-te zadania w piani«' 9< .• Tek sformułowany problem szeregowania jest, jak pokazano w pracy [i], problemem NP-zupełnym.
W tej pracy sformułowano heurystyczny algorytm dla postawionego wyżej problemu szeregowania i wykazano, że posiada on złożoność O(a) dla przy
padku ustalonego zbioru zadań realizowanych w pewnych odstępach czasu,Na
leży podkreślić, że jest to przypadek najczęściej występujący w systemach komputerowego sterowania. Porównano Jego efektywność w senaie jakości roz*
więzsń ze znanym algorytmem z priorytetami dynamicznymi.' Pokazano wyż
szość proponowanego algorytmu heurystycznego. Należy podkreślić, że nie dokonano porównań z algorytmami dajęcyml optymalne rozwlęzanla (co byłoby interesujące z punktu widzenia jakości rozwięzenia) ze względu na długie czaay ich przetwarzania, co wynika z ich złożoności obliczeniowej. Przed
stawiono natomiast rozszerzenie prowadzonych rozważań na przypadek sze
regowania dynamicznego zbioru zadańi Pokazano, że proponowany algoryte heurystyczny posiada w tym przypadku złożoność 0(n2 ) i wskazano, że może on być użyty w trybie off-llne w przypadku modyfikacji zbioru zadań reali
zowanego przez komputerowy system sterowania.
2. HEURYSTYCZNY ALGORYTM SZEREGOWANIA
ł
Koncepcja proponowanego algorytmu heurystycznego polega na wprowadze
niu w zbiorze zadań P^, 1 - l,..,,n relacji < częściowego porzędku zdefiniowanej neatępujęcot
Dak pokazano w [3] w opetymalnym planie wykonania zadań ich uporządkowa
nie Jest zgodne z tę relację, tzn. jeśli -< P^ , to także w optymalnym planie zadanie PjL poprzedza zadanie P^.
Wprowadzenia powyższej relacji pozwala na ograniczenie zbioru zadań mo
gących znaleźć się na pierwszym miejscu poszukiwanego optymalnego planu wykonanie zedań, do elementów maksymalnych danego zbioru zadań względea relacji . Zadanie P^ jeet elementem maksymalnym ze względu na roz
ważana relację poprzedzania wtedy, gdy
H 1
/
Heurystyczny algorytm szeregowanie zadań.. 175
Po znalezieniu zadania maksymalnego 1 ustawieniu go na pierwezya miej
scu planu, można tę relację zastosować ponownie do pozostałego zbioru za
dać, Zagadnieniem otwartym Jest wybór Jednego spośród kilku elementów mak
sowi istotny heurystyczny^element rozważanego algorytmu i został rozwięza- ny za pomocę reguły o postaci
gdzie M stanowi zbiór indeksów zadań będących elementami maksymalnymi w aktualnie jeszcze nie uporządkowanym zbiorze zadań.
2,1. Formalizacja algorytmu
W celu bardziej efektywnej implementacji algorytmu wykorzystano macie
rzowy sposób reprezentacji relacji poprzedzania określonej w zbiorze za
dań P^, i ■ l,««.,n.
Para ^ ) J08t reprezentowana przez macierz A nxn»któreJ każ
dy element , i,j - l,.V.‘,n jest zdefiniowany Jak następuje i
Z przyjętych dafinicji wynikają następujęce własności macierzy At (i) Zadanie P^. które nie posiada żadnego poprzednika (może być rozpa
trywane jako pierwsze w opatymalnym planie wykonania zadań) poelade wszystkie elementy odpowiadającego mu wiersza równe zero, czyli
(li) Wykonanie lub dołęczenle zadania Pfc do zbioru zadań stwarza koniecz
ność odpowiednio usunięcia lub dołęczenia w macierzy A kolumny i wiersza o numerze k.!
Powyższe własności pozwalaję na wycięgnięcie następujęcych wnloskówt 1. W procesie szeregowania wystarczy znajomość sum s^, k » l,...,n.
. 2. Dołęczenle zadań w przypadku dynamicznym nie stwarza konieczność budowy całej macierzy A od poozętku, lecz sprowadza się do skonstruowa
nia jednego wiersza i kolumny.
3. W systemach sterowania, dla których zbiór zadań jest ściśle określo
ny, macierz A wystarczy wyznaczyć tylko raz podczas generacji systemu.
symalnych', stanowiących kandydatów na dane miejsca planu. Ton' krok sta-
1 gdy P^ ■< Plt i f J,
O w przeciwnym wypadku.
n
i-i
176 K. Zieliński, A. Gościńskl
Potrzebę realizacji danego zadania można określić przez wprowadzania wektora flagactive k k = l,...,n oraz odpowiednią modyfikację wektora s^, k »• l,...,n. Będziemy przyjmować w dalszym ciągu, że:
I
I gdy zadanie jest aktywne,,
0 w przeciwnym wypadku.
Operacja aktywzia.cji zadania P jest określona przez następujący al
gorytm !
Algorithm ACTIVE (i);
begin active ± — — 1|
for k=l to n do
if aik=l then s k — — s k+l and
Natomiast operacja dezaktywizacjl tego zadania przebiega w sposób nastę
pujący:
Algorithm PURGE (i);
begin
active ^ — Os for k«l to n do
if ak i »l then s k — .— sk-l end
Dla realizacji powyższych algorytmów oraz algorytmu szeregowania ko
nieczne Jest konstrukcja ma cierzy A oraz odpowiednie ustawienie wekt o
rów s k , active k k » l,...,n. Operacje te są realizowane przez algo
rytm :
Algorithm CONSTRUCTION;
bsgin
begin
for i=l to n do for J=1 to n do
if dj < m a x | d i ,pi j adn of^ >
oę±
and pj *£ p±
then a ^ = 1 alse a ^ » O
and;
Heurystyczny algorytm szeregowania zadań... 177
begin
for k=l to n do a c t ^ e ^ •**— lj for 1=1 to n do
if than 8 i 8 i +1 and;
and. '
Wykorz y3 tu Ję c wcześniej wp ro wadzona procedury oraz zakładając,że od po
wiednia macierze zostały ustawione, problemy wyzn ac ze ni a do wy ko na ni a ko- lajnago zadania Pfjggk przez proponowany w tym artykule algorytm sz er e
gujący, można zapisać Jak następuje:
Al go ri th m SCHEDULER;
begin
maxnum — — -1 for i»l to n do
lf actlye^^ = 1 and s i=0 and maxnum < heurletic ( d . ^ . c ^ ^ ) then begin
ftask — i;
maxnum — — heuristic ( d ^ o ^ . p ^ ) and;
end.
Funkcja heuristic ma postać:
function heuristic ( d ^ c ^ . p ^ ) begin
heuristic — — Cf^ m a x| 0, t- d1 | end
Anallz uj ęc za pr ezentowane algorytmy można zauważyć, ża algorytmy, któ
re dotyczę szeregowania zadań w komputerowym systemie sterowania,dla któ
rego zbiór tych zadań Jest stały, posladaję złożoność 0(n). Najbardziej skomplikowanym algorytmem Jest bowiem al gorytm konstrukcji macierzy A . P o siada on złożoność 0 ( n 2 ). Majęc na uwadze fakt, że konstrukcja macierzy A Jest realizowana tylko na etapie generacji systemu komputerowego dla ustalonego zbioru zadań lub też w trakcie Jego m o d y f i k a c j i ,co Jest reali
zowane w trybie off-llne, złożoność ta nie etanowi istotnego ograniczenia dla realizacji sz er eg ow an ia zadań w czasie rzeczywistym.
178 K. Zieliński, A. Gościńskl
2.2. Badania symulacyjna
Badania symulacyjne zostały zorientowane na porównanie zaproponowanego algorytmu heurystycznego ze znanym 1 stosowanym w komputerach sterujących algorytmem z priorytetami dynamicznymi. Porównania dokonano w sensie Ja
kości szeregowania określonej wskaźnikiem Jakości (2).
Przyjęto, że parametry of , d, p, sę losowane, zgodnie z rozkładami da
nymi w tablicy 1. Przypadek 1 odpowiada równomiernemu rozłożeniu zadań w horyzoncie sterowania, przy czym zadania maję czasy wykonania z pewnego określonego przedziału czasowego, co Jest zgodnie z charakterem zadań dla komputerów sterujęcych. Przypadek 2 uwzględnia spiętrzenia wykonywania za
dań i istotnie charakteryzuje dobroć algorytmu ze względu na wymagania stawiane komputerom sterujęcym. Przypadki 3 1 4 odpowiadaję ' odpowiednio przypadkom 1 i 2, z tym że zadania mogę posiadać dowolny czas wykonania z przewagę zadań krótszych.
i
Tablica 1
Parametr R o z k ł a d
Przypadek
af d
p U
1 równomierny
w przedziale (A.B)
równomierny w przedziale
(O.T)
równoaierny w przedziale
(K.L)
2 równomierny
w przedziale (A,B)
gaussowski z parametrami
E,E2
równomierny w przedziale
(K.L)
3 równomierny
w przedziale (A,8)
równomierny w przedziale
(0,T)
wykładniczy o wartości średniej S
4 równomierny
w przedziale (A.B)
gaussowski z parapetrami
E.E2
wykładniczy o wartości średniej S
Porównania algorytmów prowadzono dla wskaźników jakości (heurystycz
nego) 1 Qpp (z priorytetami dynamicznymi) wyznaczanymi w oparciu o wskaźnik Jakości (2). W celu porównania obydwu rozważanych algorytmów wprowadzono zmiannę losowę F - (QpD-QH )/Qp o » dla której obliczano dwa pierwsze, momenty E(F) oraz V(F) odpowiednio z zależności:
R R
E<F> - 1 2 Fi* V(F) ■ « h i (Fi - E(F))2-
i-1 i-i
gdzie R jest liczbę realizacji.
Heurystyczny algorytm szeregowania zadań.. 179
Dla obliczań przyjęto na st ęp uj ęc e wa rt oś ci paramatrów n = 20, R = 50, A = O, 8 = 100, T = 100, K » 1, L - 15, E - 50, H2 - 2, S = 8.
Uzyskane wy ni ki przedstawiono w tablicy 2.
T a blice 2
Przypadek
Wartość średnia
E(F)
Wariancja V.(F)
Wskaźnik określający liczbę realizacji ,dla których E(F)
jest dodatni w %
1 0,463 0,043 98
2 0,343 0,043 94
3 0,373 0,052 98
4 0,263 0,036 84
Aftaliza wyników wskazuje, że proponowany algorytm heurystyczny jest znacznie lepszy od stosowanego dotąd algorytmu z priorytetami dynami cz ny
mi. Analiza ostatniej kolumny tablicy 2 wskazuje, że dla przeważajęcej liczby realizacji, czego należało oczekiwać z wartości li cz by średniej E(F), algorytm heurystyczny daje lepsze wyniki. Dest to ważne, ponieważ ocena ta jest bardzo istotna z punktu organizacji pracy komputerów steru- Jęcych.
V 3. PODSUMOWANIE
Zaproponowano algorytm heurystyczny, który posiada złożoność oblicze- niowę 0(n), tzn. takę, Jaką posiadają stosowane obecnie w komputerach sterujących algorytmy: cykliczny oraz z priorytetami dynamicznymi. B a d a nia symulacyjne pozwoliły stwierdzić, że algorytm heurystyczny jest z n a c z nie lepszy w sensie jakości określonej sumą ważoną kar, aniżeli algorytm z priorytetami dynamicznymi. Wskazuje to na możliwość praktycznego w y k o rzystania tego algorytmu w komputerach sterujących.
W tym kierunku prowadzone są pewne prace implementacyjne.
LITERATURA
[1] COFFMAN E.G.Dr.: Computer and Oob-shop Scheduling Th eo ry (Dohn Wiley and Sons, Inc., New York, 1976).
[2] GOŚCIŃSKI A., ZIELIŃSKI K . : A Technique and a System Structure for On
line Activa ti on Moments De termination for Steady-State Optimization, International Dournal of System Science, Vol. 12, (1981), 263-176.
[3] GOŚCIŃSKI A., ZIELIŃSKI K , : The Determination of Direct Co ntrol A l g o rithms Activa ti on Moments Using a Real-Time Scheduling Algorithm, Ky- bernetyka (in press).
180 K. Zlelirtski, A. Goécirtakl
£4] HELO M . , KARP R.M. : A Dy namic Pr og ra mm in g Ap pr oa ch to S e qu en ci ng Pro
blema, ¿Journal of the Society fo Industrial and Ap pl ie d Mathema- thica, Vol. 10 (1962).
[ 5] LAWLER E . : The Scheduling of Single Machine Systems. A Review,The In
ternational Oournal of Production Research, Vol. 3 (1969), 177-199, [6] RINNOY A . H . G . , LA GENEG B . 3 . , L E NS TR A 0.0.: Minimizing To ta l Coats in
One-Machine Scheduling, Opne. Res. 23 (1975), 908-928.
[ 7] SCHWIMER 0.: On the N-job One-Machine, Sequence-Independent Schedulin Problem w i t h Tard in es s Penalties; A Branch-Bound Solution, Management Science, Vol. 18 (1972), B-301-B-312.
EBPHCTSHECKHM AJirOPHTM PACUHCAHHH 3AJIAR B OAHOHPOUECCOPHO0 KOMnOTEPHOti CHCTEME
P e 3 d m e
B CTaii>e npeAciaBjieH eBpHCTHBscitHH aaropHTM pacnHcaHHa 3aAa>i o x ap ajcrepa-
sobshhhx (tyHKitHea D Tpa$a a a - s a aan ep x sH b BtnBCZBTejiBBUx CECTexax y n p a a z e - HHfl n p o q eccam ii. 3tot cy6oniHMa*bBHfl ajiropHTM oC zanaeT BinaczH TezbH ofi caoxHO- CTbB 0 (h)t
HEUR IS TI C S C HE DU LI NG A L G O R I T H M FOR SI NG LE PROCESSOR CONTROL CO MPUTER
S u m m a r y
Heuristic sc he du li ng algorithm whic h minimizes we ig ht ed tardiness of jobs processing has been presented. A n snalyais of the pr oposed algorithn shows that it has co mp utational co mp le xi ty 0(n).
The efficiency of this al go ri th n has been compared with the well-knoN algorithm with dy namic priorities.