• Nie Znaleziono Wyników

Szybki algorytm selekcji zadań

N/A
N/A
Protected

Academic year: 2022

Share "Szybki algorytm selekcji zadań"

Copied!
8
0
0

Pełen tekst

(1)

ZESZY TY NAUKOW E POLITECHNIKI ŚT.ASKTFT Seria: AUTOM ATYKA z. 114

_______ 1994 N r kol. 1250

Ewa SK U BA LSKA - RA FA JLO W IC Z P olitechnika W rocławska

SZY BK I ALGORYTM SELEKCJI ZADAŃ

Streszczenie:W pracy pokażemy algorytm rozwiązywania problem u w yboru pod­

zbioru zadań przeznaczonych do realizacji na jednej m aszynie. K ryterium w yboru je s t zysk zw iązany z realizacją poszczególnych zadań. Zysk ten pom niejszany je st o kary zw iązane z czasem oczekiwania zadania n a wykonanie. Sformułowano model problem u w postaci specyficznego zadania program ow ania dynam icznego. W pracy pokażem y, że istnieje dokładny wielomianowy algorytm rozw iązania o złożonos'ci 0 ( n 2).

FAST ALGORITHM FOR TASKS SELECTION

S um m ary: We show in th e paper an algorithm for solving a problem of th e choice of a subset of tasks w aiting to be perform ed on a single m achine. T he objective is to m axim ize th e to ta l profit which consists of prizes we get for every com pleted task.

T h e profit is decreased by penalties payed for w aiting tim es of th e chosen tasks.

T h e m odel of th e problem is stated as a specific dynam ic program m ing problem . We p resent exact polynom ial-tim e algorithm which solves th e problem in 0 ( n 2).

SCHNELLER ALGORITHM US FÜ R WERKAUSW AHLPROBLEM

Zusam m enfassung: In der A rbeit wird ein A lgorithm us für W erkausw ahlprob- lem au f einer M achine form uliert, bei denen nicht alle W erkstücke realisiert sollen.

Die A usw ahlkriterium ist Realisierungsprofit, der für jede ausgew ähltes W erk er­

reicht wird und Reihenfolgerealisierungskosten die proportional m it W artezeit für jedes W erk betragen werden. M aximisierung von N ettoprofit ist die Z ielkriterium für aufstehende O ptim ierungsausgabe. M athem atisches Modell für dieses P roblem m it der A nw endung der dynam ischen P rogram m ierung wird gegeben. Ein exakter, polynom ialer A lgorithm us m it K om plexität 0 ( n 2) wird presentiert.

(2)

252 E .S k u b a lsk a -R a fa jło w ic z

1. W stęp

W pracy rozważany je st n astępujący problem : n zadań oczekuje w kolejce do realizacji n a pojedynczej m aszynie. Nie w szystkie zadania m uszą zostać zrealizowane. Z adanie j-te w ym aga do zrealizow ania użycia m aszyny w czasie pj. Za każde w ykonane zadanie o trz y ­ m am y zysk w ustalonej wielkos'ci zj. Zysk ten zostanie pom niejszony o karę zw iązaną z czasem p o bytu zad an ia w system ie. Z atem najwięcej zyskujem y n a realizacji zadań o krótkich czasach w ykonania. Nie opłaca się n ato m ia st wykonyw anie zadań o długim czasie realizacji, szczególnie w sytuacji, gdy m am y do w ykonania inne za d an ia o lep­

szym stosunku zysku Zj do czasu ich w ykonania pj. C hcem y zm aksym alizow ać zysk n e tto , k tó ry składa się z op łat (otrzym anych za wykonanie zadań) pom niejszonych o kary płacone proporcjonalnie do term inów zakończenia realizacji poszczególnych zadań.

Naszym celem je st dokonanie w yboru podzbioru zadań przeznaczonych do w ykonania oraz u stalenie kolejnos'ci ich realizacji. Po dokonaniu wyboru su m a o p łat otrzym anych za wykonanie zadań zostaje u stalo n a i w artość kry teriu m zależy jed y n ie od kolejności obsługiw ania zadań.

Ze względu n a pro sto tę sform ułow ania postaw iony wyżej problem m oże znaleźć za - stosowanie jako zagadnienie częściowe wchodzące w skład bardziej złożonych zadań szere­

gow ania zarówno w przypadku konstrukcji algorytów dokładnych,jak i prostych oblicze­

niowo heurez.

Problem kolejnościowy z ustalonym z góry zbiorem zadań, któ re m a ją być w ykony­

wane n a jednej m aszynie, tak by m inim alizować sum aryczny ważony czas p o b y tu zadań w system ie (czas zakończenia realizacji poszczególnych zadań), został rozw iązany w roku 1956 przez S m ith a [5]. Jak w iadom o, o ptym alne uszeregowanie otrzym ujem y w tym przypadku poprzez uporządkow anie zadań zgodnie z nierosnącym i w artościam i ^ Ł.

W przypadku gdy w szystkie wagi Wj są takie sam e ( pow iedzm y równe 1), zadania należy wykonywać zgodnie z niem alejącym porządkiem czasów realizacji pj. W konsek­

wencji- istotnym problem em je st problem w yboru podzbioru zadań, k tó re m a ją zostać zrealizow ane, a nie problem ich uszeregowania.

O m aw iany problem wyboru je st szczególnym przypadkiem szerszej klasy zadań ze­

branych i sformułowanych w pracy [3], przypadkiem ,dla którego udało się uzyskać efekty­

wne algorytm y rozw iązania. P rzedstaw iony problem wyboru zadań m a pew ne form alne związki z m odelam i szeregow ania zadań ze zm iennym i czasam i realizacji [1], [6]. M ożna pokazać, że pew ną (dość w ąską zresztą) klasę problem ów tego ty p u m ożna rozwiązywać w bardziej efektyw ny sposób ( to znaczy za pom ocą algorytm u o złożoności 0 ( n 2) ,a nie jako ogólne zagadnienia przydziału).

W pracy sform ułujem y algorytm ( 0 ( n 2)) rozw iązania problem u w yboru zadań przy wagach jednostkow ych (wj = 1) o party n a rozw iązaniu pew nego szczególnego zagadnienia

(3)

program ow ania dynam icznego. Pokażemy również, że w przypadku gdy zyski zj są pro­

porcjonalne do czasów wykonywania zadań, to znaczy:

Zj = v - p j ; j = l , . . . , n ,

algorytm rozw iązania problem u daje się znacznie uprościć i m a złożoność O(nlogn), przy czym większość czasu działania algorytm u pochłania porządkowanie zadań, n atom iast sam problem w yboru w ym aga wykonania co najwyżej 0 ( n ) operacji.

P ro sto ta proponowanego tu algorytm u je st na tyle duża, że mógłby on znaleźć za - stosowanie do rozdziału zadań m iędzy procesory w sieciach o rozproszonej i niejednorodnej m ocy obliczeniowej. Serwer sieci lokalnej dokonywałby selekcji zadań, których realiza­

cji się sam podejm ie, kierując się umownymi zyskami i czasami realizacji zależnymi od jego m ocy obliczeniowej. Pozostałe zadania odsyłane byłyby do realizacji przez węzeł o większej m ocy obliczeniowej. D okładniejszy opis algorytm u przystosowany do przedsta - tiionej wyżej sytuacji zamieszczony zostanie w innej pracy.

S zybki a lg o ry tm selekcji zad ań___________________________________________ 2 5 3

2. Sformułowanie problemu

Niech J = { 1 , 2 , . . . , « } oznacza zbiór zadań do wykonania. Określone są czasy realizacji zadań pj > 0, j € J oraz zyski związane z wykonaniem każdego zadania Zj > 0, j 6 J ■ Z adania m ogą być wykonywane w dowolnej kolejności, przy czym w każdym m om en­

cie czasowym wykonywane może być tylko jedno zadanie. Niech S C J oznacza zbiór zadań, które zo stan ą zrealizowane. W yznaczenie zbioru S je st podstaw owym problem em decyzyjnym , k tóry należy rozwiązać. W celu uproszczenia zapisu przyjm iemy, że zadania zostały ponum erow ane zgodnie z niem alejącym i czasami wykonania, to znaczy pj > Pj+i- G dyby wszystkie zadania m iały zostać zrealizowane, to zgodnie z regułą S m itha zadanie o num erze 11 powinno być realizowane jako pierwsze, a zadanie o num erze jeden jako o statn ie (pierw sze od końca).

Niech X',j 1 < i , j < n będzie 0-1 zm ienną decyzyjną o następującej interpretacji:

M odel m atem atyczny problem u możemy w tedy sformułować w następujący sposób:

1, gdy j — te zadanie w ybrano do wykonania jako i — te (licząc pozycje od końca), ( j € S) ,

0, w p r z e c i w n y m przypadku.

(1)

(4)

254 E .S k u b a lsk a -Ila fa jlo w ic z

przy ograniczeniach".

n

^ 1> J = !> • • • , « . (2)

«=1

¿ z , j < 1 , i - (3)

j=i

Xij = 1 ==> x mi = 0, m > i l < j i , j = (4)

X{j 6 {0,1}, (5)

O graniczenie (4) oznacza, że jeśli zadanie j-te je s t wykonyw ane jako i-te (od końca), to żadne z zadań o dłuższym czasie w ykonyw ania (/ < j ) nie m oże go poprzedzać, czyli nie m oże zostać ustalone n a pozycji ¿ 4 - 1 , i + 2 , . . . . Z adanie optym alizacji (l)-(5 ) m ożna rozbić n a n zadań cząstkowych, w których liczba w ybranych zadań je st z góry ustalona.

W każdym z tych zadań zakładam y, że zrealizowano dokładnie k zadań ( k = 1 , 2 , . . . , n).

O p ty m aln a wartość funkcji celu je st w tedy rów na:

Y = m a x kYk (6)

gdzie Yk je st w artością funkcji celu dla problem u (l)-(5 ) z dodatkow ym ograniczeniem :

£ ! > « = *. (7)

■ = 1 j = l

Prowadzi to do następującego schem atu obliczeniowego bazującego n a idei program ow a­

nia dynam icznego.

Algorytm

Yi j = m a x { Y i j - u Y i - u - i + z j - i ■ pj] , 0 < i ‘ < j < n ,

y„,o = 0, Yij = 0, n > i > j > 1 Yk = n , „ . k = 1 , 2 , . . . , n.

y - m ax Yk

1 < k < n

Y i j oznacza zysk (netto ) zw iązany z um ieszczeniem j-tego zad an ia n a pierwszej pozycji (licząc od końca). Y i j i = 2 , 3 , . . . , n oznacza m aksym alny zysk (n e tto ),ja k i m ożna uzyskać um ieszczając n a i-tej pozycji (licząc od końca) zadanie o num erze rów nym i , i + 1 Z adania o num erach m niejszych niż i pom ijam y, gdyż m uszą one zajm ow ać wcześniejsze (licząc od końca) pozycje.

Rozwiązanie zad an ia je st równoważne ze znalezieniem najdłuższej drogi w sieci, której stru k tu rę przedstaw iono schem atycznie n a rysunku 1. W ym aga to w ykonania 0 ( n 2) operacji arytm etycznych.

(5)

S zybki a lg o ry tm selekcji zad ań 255

R y s.1.S tru k tu ra obliczeniowa problem u selekcji zadań Fig. 1. C om putational stru c tu re of tasks selection problem

3. Zadanie z zyskami proporcjonalnymi do czasów realizacji

W przypadku gdy dla każdego j £ J

zj = v-pj, v >

0

, (

8

)

2 i - Pi

2.1 - 3p3

zn - npn

(6)

256 E. S k u b alsk a-R afaj łowicz

gdzie v je st pewną, znaną, stalą, problem selekcji zadań znacznie się upraszcza. P rzy ta k im założeniu jesteśm y w stanie podać algorym wielomianowy rozw iązania o złożoności 0 ( n ) (lub 0 ( n l o g n ) w łączając w to sortow anie zadań zgodnie z długością czasów ich wykony­

wania).

Algorytm prostego wyboru

K r o k 1. Jeżeli v, które pojaw ia się w (8),je s t większe niż liczba zadań n, w tedy o p ty ­ m alnym rozw iązaniem je st zrealizowanie w szystkich zadań zgodnie z ich uporząd­

kowaniem. W przeciw nym przypadku, gdy v < n, przejdź do kroku 2.

K r o k 2. Określ liczbę r w następujący sposób:

r = n + 1 — [u]

gdzie [w] je st n ajm niejszą liczbą całkow itą większą (równą) u. Rozw iązaniem o p ty ­ m alnym je st usunięcie o statnich r (zgodnie z p rzy ję tą num eracją) zadań jako nie przynoszących zysków i w ykonanie n — r zadań o dłuższych czasach realizacji.

Poprawność algorytm u wynika z analizy poprzedniego m odelu. Jeśli przyjm iem y, że zj = vPj oraz pj > Pj+i, to dla każdego j > i otrzym am y:

Yv

> K j+ i

co pociąga za sobą Yk = V**, k = 1,2, . . . , n . O ptym alnym rozw iązaniem je st wartość Y = Ym, takie że:

z m - rnpm = (v - m ) p m > 0,

\

Zm+l - (" i + l)Pm+l = ( v - m - l) p m+l < 0 Inny dowód popraw ności algorytm u przedstaw iono w pracy [4],

4. Podsumowanie

P ro sto ta proponowanego tu algorytm u d aje szansę n a stw orzenie szybkiej m eto d y selekcji naw et dużej liczby zadań, szczególnie jeśli zgodzim y się n a zastosow anie przybliżonego losowego algorytm u sortow ania [2].

Uogólnienie proponowanego m odelu selekcji zadań do p rzypadku z kosztam i uwzględ­

niającym i ważone czasy oczekiwania zadań (uę ^ 1) w ydaje się łatw e i pow inno prowadzić do dokładnego algorytm u o złożoności 0( rt3).

(7)

Szybki a lg o ry tm selekcji zadań 257

W tym m iejscu w arto zwrócić uwagę na ogólniejszy aspekt sformułowanego w pracy zada­

nia, a m ianow icie n a negocjacyjny charakter problem u. W odróżnieniu od klasycznych zadań szeregOKania, dopuszcza się tu ta j rezygnację z realizacji części zadań, w tedy gdy nie je st ona opłacalna. Zauważmy, że rezygnacja ta nie musi być ostateczna, lecz oz­

naczać m oże odłożenie zadań do następnego etap u rozliczeniowego oraz może się wiązać ze zm ianam i w arunków ich realizacji (zm iana zysku bądź realizatora). Takie spojrzenie na rozw ażane w pracy zadanie pozw ala je widzieć jako elem ent wielostopniowego problem u program ow ania produkcji.

LITERATURA

[1] Nowicki E., Zdrzałka S., A Survey of R esults for Sequencing Problem s with Control­

lable Processing T im es, Discrete Applied M athem atics Vol. 26 (1990) s.271-287.

[2] P ra b h ak a r Raghavan, Lecture Notes on Random ized A lgorithm s, Research R eport IBM Research Division RC 15340 (1990) 1/9/90.

[3] Skubalska-R afajlow icz E., P roblem y selektywnego wyboru i szeregowania zadań z przezbrojeniam i, Zeszyty Naukowe Politechniki Śląskiej ser.A utom atyka z .109 nr 1175 (1992) s.223-232.

. [4] Skubalska-Rafajlow icz E., An Easy and E xact A lgorithm for Task Selection P roblem , P race IC T P olitechniki Wrocławskiej (1992) n r.50/92

[5] S m ith W .E ., Various optim izers for single-state production, Naval Res. Logist.

Q u art. 3 (1956), pp 56-66.

[6] Vickson R .G ., Two single m achine sequencing problem s involving controllable job processing tim es, A IIE Trans. 12 (1980), pp 258-262.

Recenzent: Prof. d r hab. inż. Tadeusz Sawik

W płynęło do Redakcji do 30.04.1994 r.

(8)

258 E .S k u b alsk a-R afajlo w icz

Abstract

In th e paper th e following situation is considered: n tasks w ait to be processed on a single m achine. N ot all tasks m ust be perfom ed. Task i-th (i = requires a positive processing tim e p;. We get a prize z, for every perform ed task and a p en alty is paid for w aiting tim e of th e tasks. We w ant to m axim ize th e net profit, which consists of th e sum of prizes collected by processing tasks m inus th e sum of penalties payed pro­

portionally to w aiting tim es of th e tasks. O ur aim is to choose a subset of tasks to be perform ed and find a sequence of these tasks w hich m axim ize th e n et profit. T h e model of th e problem is sta te d as a specific dynam ic program m ing problem . We present exact polynom ial-tim e algorithm which solves th e problem in 0 ( n 2). We show also th a t there exists th e polynom ial tim e (O (nlogn)) algorithm which solves exactly th e above problem under th e assum ption th a t th e collected profits are proportional to th e processing tim es of th e perform ed tasks.

Cytaty

Powiązane dokumenty

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

macyjne takie jak m etoda włączania najdalszego wierzchołka FI oraz m etoda najtańszego włączania wierzchołka CI [20], [24], W algorytmach typu włączania najpierw

Dla zadanej funkcji czasu realizacji zadań sformułowano model matematyczny zagadnienia i podano algorytm heurystyczny.. Przedstawiono wyniki eksperymentów

Problem ten polega na sprawdzeniu, czy dla ustalonej wa rtości zmiennej progowej V, istnieje dopu sz cz al ny pr zy dz ia ł o koszcie V.. In tencją tej prscy Jest

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

Czas pobierania części, ja k i czas transportu pojem nika je st w przybliżeniu stały, jednak z jednej kolum ny regału może być pobieranych kilka części, zaś

W pracy rozważany jest problem czasowo-optymalnego przydziału zasobów nieodnawialnych podzielnych w sposób ciągły i n zadań do dwóch identycznych maszyn równoległych

W związku z tym podstawowym założeniem Programu Wspierania Rodzin jest utworzenie spójnego systemu wsparcia rodzin przeżywających trudności w wypełnianiu funkcji