• Nie Znaleziono Wyników

Heurystyczny algorytm szeregowania zadań w jednoprocesowym komputerowym systemie sterowania

N/A
N/A
Protected

Academic year: 2022

Share "Heurystyczny algorytm szeregowania zadań w jednoprocesowym komputerowym systemie sterowania"

Copied!
8
0
0

Pełen tekst

(1)

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)

¿ 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

/

(3)

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

(4)

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;

(5)

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.

(6)

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.

(7)

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).

(8)

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.

Cytaty

Powiązane dokumenty

zbrojeniami zależnymi od kolejności wykonywania zadań z kryterium minimalizacji sumy kosztów opóźnień (oznaczany przez l|Sy|Ew,J'/) należy do klasy problemów

Zestawienie wyników dotyczących złożoności obliczeniowej problemów szeregowania zadań w dwustanowiskowym przepływowym systemie obsługi przy ograniczeniach kolejnościowych

Eiementy te wprowadzają inercję, co powoduje, Ze zmierzone wartości róZnią się w stanach dynamicznych od rzeczywistych... Cyfrowy algorytm

[r]

W żadnym z badanych przypadków rezultat otrzymany przez algorytm genetyczny nie okazał się lepszy od rozwiązań znalezionych przez konstrukcyjne algorytmy heurystyczne..

W pracy przedstawiamy algorytm genetyczny rozwiązywania zagadnienia optymalizacji kolejności wykonywania zadań na jednej maszynie, w którym kryterium optymalności jest

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

Zasadniczą rolę w prawidłowej pracy komputerowo zintegrowanego systemu wytwarzania odgrywa wymiana informacji między poszczególnymi modułami. Od kilku lat w ITMiAP