METOD WSTWIEŃ W KLSYCZNYCH PROBLEMCH SZEREGOWNI. Cz. I. PROBLEM PRZEPŁYWOWY. Eugenuz Nowck, Maruz Makuchowk Strezczene: Prezentowana praca jet perwzą częścą opracowana dotyczącego metody wtaweń w zatoowanu do budowy algorytmów kontrukcyjnych dla klaycznych problemów zeregowana operacj produkcyjnych. Przedtawa ę w nej zereg tego typu algorytmów będących modyfkacją aktualne najlepzego znanego w lteraturze algorytmu kontrukcyjnego, zbudowanego na baze metody wtaweń, dla jednego z najbardzej klaycznych problemów zeregowana jakm jet problem przepływowy. Jako podtawowe kryterum przyjmuje ę moment wykonana wzytkch zadań. Dodatkowo prezentuje ę zczegółowe wynk numerycznych badań porównawczych pomędzy proponowanym algorytmam a algorytmem. Słowa kluczowe: metoda wtaweń, problem przepływowy, algorytmy kontrukcyjne. 1. Wprowadzene W otatnch klku dekadach oberwuje ę burzlwy rozwój teor zeregowana, a w zczególnośc jej totnego fragmentu zwązanego z zeregowanem operacj produkcyjnych na mazynach. Jet to powodowane przede wzytkm bardzo duŝą aplkacyjnoścą otrzymywanych rezultatów, które pozwolły na zbudowane efektywnych algorytmów tanowących jądra komputerowo zntegrowanych ytemów wytwarzana. Specyfka problemów oraz wymagana praktyczne powodują jednak, Ŝe zantereowane badaczy kupa ę przede wzytkm na kontrukcj efektywnych algorytmów przyblŝonych zamat algorytmów dokładnych (znajdujących uzeregowane optymalne). Wynka to przede wzytkm z faktu, Ŝe cza dzałana algorytmu jet bardzo totnym parametrem, zaś zdecydowana wękzość problemów naleŝy do klay tzw. problemów NPtrudnych, co praktyczne wyklucza tnene zybkch algorytmów dokładnych. Ogólne algorytmy przyblŝone moŝna podzelć na dwe klay: algorytmy kontrukcyjne oraz algorytmy popraw. Idea algorytmów kontrukcyjnych polega na tym, Ŝe tartując z uzeregowana putego, w kaŝdym kolejnym kroku teracyjnym zeregują na odpowednej mazyne jedną z dotychcza ne uzeregowanych operacj aŝ do uzeregowana ch wzytkch, co jet równowaŝne z otrzymanem uzeregowana pełnego zakończenem dzałana. Spoób wyboru zeregowanej w danym kroku operacj, mazyny na której ma być ona zeregowana oraz pozycj, na którą jet ona wtawana na wybranej mazyne określa dany algorytm kontrukcyjny. Z kole algorytmy popraw tartują z pełnego uzeregowana (otrzymanego z reguły przez algorytmy kontrukcyjne) natępne w kolejnych krokach teracyjnych tarają ę poprawć to uzeregowane w ene wartośc rozpatrywanego kryterum. JuŜ z tego bardzo ogólnego opu wynka, Ŝe algorytmy kontrukcyjne dzałają w czae zdecydowane krótzym nŝ algorytmy popraw. Netety jakość produkowanych przez ne 1
uzeregowań jet znaczne gorza. Tym nemnej potrzeba zatoowana dobrego (w ene wartośc funkcj celu) uzeregowana początkowego dla algorytmów popraw powoduje, Ŝe badana na tym algorytmam ą w dalzym cągu waŝne w pełn uzaadnone. Co węcej ą take ytuacje produkcyjne (np. aware), w których bardzo zybke algorytmy ą koneczne, ponewaŝ cza dzałana algorytmów popraw dla problemów o praktycznych rozmarach waha ę z reguły od klku do klkunatu mnut podcza gdy algorytmy kontrukcyjne wymagają czau tylko rzędu klku ekund. RóŜnorodność ytuacj produkcyjnych powoduje, Ŝe zdecydowana wękzość tnejących algorytmów kontrukcyjnych jet wyoce pecjalzowana dla konkretnych problemów zeregowana modelujących określone ytuacje produkcyjne z reguły brak w nch elementów wpólnych. Itotnym wyjątkem ą algorytmy bazujące na metodze wtaweń. Ogólne mówąc algorytmy te kładają ę z dwóch faz: fazy wtępnej fazy zaadnczej. W faze wtępnej tworzy ę ltę operacj według neronących wartośc prorytetów. Faza druga rozpoczyna ę od uzeregowana putego kłada ę z tylu kroków teracyjnych le operacj naleŝy uzeregować. W kaŝdym kroku teracyjnym zereguje ę kolejną operacje z lty. Szeregowane to polega na próbnym wtawanu tej operacj na wzytke pozycje w zbudowanym w poprzednch krokach częścowym uzeregowanu z jednoczenym wyznaczenem wartośc pewnej funkcj ocenającej kaŝde próbne wtawene. Pozycja dla której funkcja ocenająca przyjmuje wartość najmnejzą jet pozycją, na którą wtawa ę otateczne zeregowaną operacje. Z powyŝzego opu wdać, Ŝe elementam dentyfkującym dany algorytm bazujący na metodze wtaweń ą tylko dwa elementy: potać prorytetów oraz potać funkcj ocenającej. Co węcej, z reguły jako funkcję ocenającą przyjmuje ę rozwaŝaną funkcje kryteralną. Powoduje to, Ŝe algorytmy te ą praktyczne unweralne moŝna jej tounkowo łatwo adaptować do róŝnego rodzaju problemów zeregowana operacj produkcyjnych. Netety jak dotychcza odczuwa ę brak w lteraturze wyczerpujących badań nad algorytmam tego typu, mmo Ŝe panuje powzechne przekonane potwerdzone przeprowadzanym tetam Ŝ algorytmy te produkują rozwązana najbardzej blke rozwązanom optymalnym w całej klae algorytmów kontrukcyjnych. Prezentowana praca jet perwzą częścą opracowana dotyczącego metody wtaweń w zatoowanu do budowy algorytmów kontrukcyjnych dla klaycznych problemów zeregowana operacj produkcyjnych takch jak problem przepływowy problem gnazdowy. Problemy te ą powzechne uwaŝane za ztandarowe problemy teor zeregowana, ponewaŝ modelują wele rzeczywtych proceów produkcyjnych, tanowąc jednocześne bazę do modelowana nnych, bardzej komplkowanych proceów. W pracy kupamy ę na probleme przepływowym. Dla tego problemu znany jet tylko jeden algorytm bazujący na technce wtaweń, zaproponowany w 1983 r. w [1] zwany tam algorytmem od perwzych lter nazwk jego twórców. Szczegółowe badana porównawcze jednoznaczne pokazują, Ŝe jet to aktualne najlepzy algorytm kontrukcyjny dla badanego problemu. Zaproponowane przez na modyfkacje tego algorytmu pozwolły jednak na zbudowane welu jego mutacj, które zachowują ę znaczne lepej, tzn. przy praktyczne dopuzczalnym zwękzenu czau oblczeń produkują uzeregowana o zauwaŝalne mnejzych wartoścach funkcj celu. Badana porównawcze przeprowadzono na tetowych przykładach z pracy [2], dotępnych przez eć Internetu powzechne toowanych do tetowana algorytmów przyblŝonych dla badanego zagadnena. Rozmar tych przykładów waha ę od 1000 do 10 000 operacj dlatego wydaje ę być adekwatny do wękzośc ytuacj praktycznych. 2
2. Problem przepływowy jego permutacyjne formułowane. Problem przepływowy moŝna określć natępująco. Dany jet zbór zadań J = {1,2,...,n} oraz zbór mazyn M = {1,2,..., m}. Zadane j, j J ma być wykonywane kolejno na mazynach 1, 2,..., m. Czynność polegającą na wykonywanu zadana j na mazyne l nazywamy operacją notujemy jako parę (l, j), Zadane j na mazyne l (tzn. operacja (l, j) jet realzowane bez przerw w czae p 0. Przyjmuje ę, Ŝe: () mazyna l, l M l, j > moŝe wykonywać co najwyŝej jedną operację w danej chwl, () ne moŝna jednocześne wykonywać węcej nŝ jednej operacj danego zadana w danej chwl oraz () kaŝda mazyna wykonuje zadana w tej amej kolejnośc. Uzeregowane dopuzczalne jet defnowane przez momenty rozpoczęca wykonywana S(l, j) operacj (l, j), l M, j J take, Ŝe wzytke powyŝze ogranczena ą pełnone. Problem polega na znalezenu uzeregowana dopuzczalnego mnmalzującego moment wykonana wzytkch zadań j J C( m, j) gdze C ( m, j) = S( m, j) + p m, j. Dla dalzych rozwaŝań wygodne jet zatoować tzw. permutacyjne formułowane badanego problemu, w którym zmenną decyzyjną jet permutacja zboru zadań J, zaś wartość kryterum, czyl moment wykonana wzytkch zadań, jet długoścą najdłuŝzej śceŝk w pewnym grafe. Mając na uwadze, Ŝe w prezentowanych algorytmach na danym kroku teracyjnym jet uzeregowana tylko część zadań ze zboru J, koneczne jet przyjęce pewnych uprazających załoŝeń notacyjnych. Nech oznacza dowolny podzbór zboru zadań J, π - permutację tego zboru, zaś Π - zbór wzytkch takch permutacj. Formalne π oraz Π pownny być ndekowane przez, lecz dla uprozczena notacj ndek ten pomjamy dodatkowo przyjmujemy, Ŝe ymbol π oznacza lczność zboru = { π (1), π (2),..., π ( π )}. Po tych uwagach moŝemy przejść bezpośredno do permutacyjnego formułowana badanego problemu. Dla π Π określamy kerowany T K graf G( π ) = ( M J, E E ) ze zborem werzchołków M J oraz łuków potac T K E E o E T m π = l = 2 = 1 K m π = l = 1 = 2 U U {(( l 1, ), ( l, ))}, E U U {(( l, 1), ( l, ))}. KaŜdy werzchołek (l, ) reprezentuje operację ( l, π ( )) ma obcąŝene równe pl, π ( ). Łatwo zauwaŝyć, Ŝe dla danej permutacj π Π moment rozpoczęca wykonywana S( l, π ( )) operacj ( l, π ( )) równa ę długośc najdłuŝzej śceŝk w grafe G (π ) wychodzącej z werzchołka (1,1) dochodzącej do werzchołka (l, ) (bez obcąŝena tego werzchołka). Co węcej, długość najdłuŝzej śceŝk (śceŝka krytyczna), oznaczanej dalej przez C ( ), równa ę momentow wykonana wzytkch zadań, Otateczne problem π prowadza ę do znalezena 3. lgorytm * * ( Π π Π takej, Ŝe C π ) = mn π C ( π ). Jak juŝ wpomnalśmy aktualne najlepzym algorytmem kontrukcyjnym dla problemu przepływowego jet algorytm z pracy [1], oparty jet na technce wtaweń. W faze wtępnej (faza perwza) algorytmu przyjmuje ę, Ŝe prorytet ω( j) zadana j jet równy ume czaów wykonywana tego zadana na wzytkch mazynach, tzn. 3
m j) = l = 1 p l, ω (. (1) Intucja przyjęca takej potac prorytetu polega na tym, Ŝe wydaje ę Ŝ trzeba rozpocząć zeregowane od najwękzego zadana a natępne coraz mnejze kolejne zadana upychać w powtałe dzury w uzeregowanu. W faze zaadnczej (faza druga) jako funkcję ocenająca próbne wtawene danego zadana przyjmuje ę funkcje kryteralną, czyl moment wykonana wzytkch aktualne uzeregowanych zadań, łączne z próbne wtawonym zadanem. PonŜej przedtawamy zczegółowy chemat algorytmu. lgorytm Faza I. Dla kaŝdego zadana j wyznacz jego prorytet ω ( j), j J. Znajdź permutację zadań α taką, Ŝe ω( α(1)) ω( α(2))... ω( α( n)). Faza II. PołóŜ π : = ( α(1)), U : = { α(1)}. Dla kaŝdego t = 2,3,..., n wykonaj: Krok 1. PołóŜ j : = α( t) wyznacz t permutacj γ = ( π (1),..., π ( 1), j, π ( ),..., π ( t 1)), = 1,2,...,t, przez włoŝene zadana j przed kaŝdą pozycję w permutacj π dodatkowo za otatną pozycję w tej permutacj.. Wśród tych permutacj wyznacz permutację γ taką, Ŝe 1 t oraz C γ ) = mn C ( γ ). PołóŜ π : = γ oraz U : = U { j}. ( 1 t W powyŝzym chemace zbór U określa zadana, które zotały uzeregowane na danym etape dzałana algorytmu. Po zakończenu dzałana algorytmu wyprodukowana przez nego permutacja π = π. Przeprowadzmy teraz analzę złoŝonośc oblczenowej algorytmu. Faza I wymaga O ( nlogn) czau. PonewaŜ wyznaczene wartośc funkcj ocenającej wymaga O (nm) czau w jednej teracj w faze II (krok 1) jet ona wyznaczana co najwyŝej n razy, to do wykonana jednej teracj w faze II potrzeba O ( n 2 m) czau. Stąd z faktu, Ŝe w faze II wykonuje ę n-1 teracj (kroków 1) wynka, Ŝe do realzacj tej faza potrzeba O ( n 3 m) czau. Jet to równeŝ złoŝoność oblczenowa całego algorytmu. Przedtawony powyŝej cza dzałana algorytmu moŝna jednak znaczne zredukować wykorzytując pecyfczny poób wyznaczana wartośc funkcj ocenającej przedtawony w pracy [3]. Dla wygody czytelnka, krótko go nazkcujemy. Bezpośredno przed rozpoczęcem wykonywana danej teracj t dyponujemy permutacją π = ( π (1), π (2),..., π ( t 1)), według której zotało juŝ uzeregowane t-1 zadań wypecyfkowanych w zborze U. Dla kaŝdej operacj ( l, ), l M, U wyznaczamy w grafe G (π ) długość r ( l, ) najdłuŝzej śceŝk wychodzącej z werzchołka (1,1) dochodzącej do werzchołka (l, ) oraz długość q ( l, ) najdłuŝzej śceŝk wychodzącej z werzchołka (l, ) dochodzącej do werzchołka (m, t-1); zajmuje to łączne O (nm) czau. Wykorzytując te welkośc, cza wyznaczena wartośc funkcj ocenającej C ( γ ) włoŝene zadana j przed utaloną pozycję w permutacj π moŝna zredukować z O (nm) do O (m). W tym celu wylczamy w czae O (m) długość R (l), l=1,...,m najdłuŝzej 4
śceŝk wychodzącej z werzchołka (1,1) dochodzącej do werzchołka (l, ) w grafe G( γ ) z natępujących oczywtych zaleŝnośc rekurencyjnych: R ( 1) r(1, ( 1)) + p1, j = π, R l) = { R( l 1), r( l, π ( 1) + }, l=2,...,m. ( p l, j Natępne w czae O (m) wylczany C γ ) wykorzytując zaleŝność C ( ( γ ) = 1 l m ( R( l) + q( l, π ( ))). Stąd wynka, Ŝe jedną terację w faze II moŝna wykonać w czae O (nm) co powoduje, Ŝe złoŝoność oblczenowa algorytmu redukuje ę do O(n 2 m). Badana numeryczne pokazują, Ŝe praktyczne redukcja ta oznacza n/2 - krotne krócene czau oblczeń. Na konec prezentacj algorytmu, warto zauwaŝyć, Ŝe jego domnacja wśród algorytmów kontrukcyjnych zotała takŝe częścowo potwerdzona teoretyczne przed analzę najgorzego przypadku. W pracy [5] pokazano, Ŝe algorytmy kontrukcyjne zbudowane na baze nnych najbardzej popularnych metod (metody prorytetowej oraz metody relakacj) mają wpółczynnk najgorzego przypadku ne mnejzy nŝ (m+1)/2; wpółczynnk najgorzego przypadku jet defnowany jako makymalna, po wzytkch przykładach m mazynowych, wartość lorazu wartośc funkcj celu produkowanej przez dany algorytm do mnmalnej wartośc funkcj celu. Z kole w [4] [5] pokazano, Ŝe wpółczynnk najgorzego przypadku algorytmu jet ne wękzy nŝ (m+1)/2 oraz ne mnejzy nŝ m / 2. Co węcej, tneje podejrzene, Ŝe jego rzeczywta wartość jet równa podanemu dolnemu ogranczenu. 4. Modyfkacje algorytmu nalzując zczegółowo algorytm zauwaŝamy, Ŝe wtawene operacj j na danym kroku teracyjnym t natępuje w poób optymalny dla utalonej juŝ częścowej kolejnośc wykonywana π = ( π (1),..., π ( t 1)) zadań ze zboru U. Ne oznacza to jednak, Ŝe po znalezenu dla zadana j najlepzej pozycj wyprodukowanu nowej permutacj częścowej γ = ( π (1),..., π ( 1), j, π ( ),..., π ( t 1)), ne moŝna zmnejzyć wartośc funkcj celu C ( γ ) zmenając w otrzymanej permutacj połoŝene nnych zadań. Ze względów czaowych jet oczywte, Ŝe naleŝy raczej kupć ę na zmane połoŝena tylko newelkej lczby zadań a najlepej tylko pewnego jednego zadana x j. Przytępując do realzacj tak ogólne zaryowanej de modyfkacj algorytmu naleŝy odpowedzeć na dwa pytana: (1) jak określć zadane x, którego połoŝene będzemy zmenać? oraz (2) na jaka pozycję pownno ono być wtawone? Odpowedz na pytane 2 wydaje ę być oczywta. NaleŜy zadane x wyjąć z t elementowej permutacj π = γ otrzymując t-1 elementową permutację oznaczaną dalej przez β natępne wtawć zadane x na taką pozycje w permutacj β, dla której wartość funkcj celu jet najmnejza. Odpowedź na pytane 1 ne jet juŝ taka oczywta dlatego naleŝy rozwaŝyć pewna lczbę reguł wyboru zadana x. Borąc powyŝze pod uwagę, proponujemy modyfkację algorytmu, zwaną dalej algorytmem IR (od ang. Inert Renert), która polega na dodanu po kroku 1 fazy II algorytmu dodatkowego kroku 2 o natępującej potac: 5
Krok 2. Określ zadane x j toując utaloną regułę wyboru. Utwórz permutację β = ( β (1),..., β ( t 1)) przez uunęce zadana x z permutacj π. Wyznacz t permutacj γ = ( β (1),..., β ( 1), x, β ( ),..., β ( t 1)), = 1,2,..., t, przez włoŝene zadana x przed kaŝdą pozycję w permutacj β dodatkowo za otatną pozycję w tej permutacj. Wśród tych permutacj wyznacz permutację ( 1 t oraz C γ ) = mn C ( γ ). PołóŜ π : = γ γ taką, Ŝe 1 t ZauwaŜmy, Ŝe z wyjątkem określena zadana x oraz utworzena permutacj β, krok 2 jet dentyczny jak krok 1. Stąd, jeŝel złoŝoność oblczenowa tych wyjątków ne będze wękza nŝ O (nm), to złoŝoność oblczenowa algorytmu IR pozotane taka ama jak algorytmu. W celu określena zadana x proponujemy natępujące cztery reguły wyboru: Reguła 1. Na śceŝce krytycznej w grafe G (π ) znajdź operację o najwękzym czae wykonywana (wyłączając operacje zadana j). Jako zadane x przyjmj zadane, w którego kład wchodz ta operacja. Reguła 2. Dla kaŝdego zadana z permutacj π (z wyjątkem zadana j) wyznacz obcąŝene tego zadana śceŝką krytyczną defnowane jako uma czaów wykonywana tych jego operacj, które wchodzą w kład śceŝk krytycznej w grafe G (π ). Jako zadane x przyjmj zadane o najwękzym obcąŝenu. Reguła 3. Wśród zadań z permutacj π (z wyjątkem zadana j) znajdź zadane o najwękzej lczbe operacj wchodzących w kład śceŝk krytycznej w grafe G (π ). JeŜel wybór jet jednoznaczny, przyjmj to zadane jako x. W przecwnym wypadku jako zadane x przyjmj zadane, które jednocześne ma najwękzą wartość prorytetu (1). Reguła 4. Jako zadane x przyjmj to zadane z permutacj π (z wyjątkem zadana j), którego uunece z tej permutacj powoduje najwękze zmnejzene wartośc funkcj celu. Idea kontrukcj wzytkch powyŝzych reguł jet dentyczna polega na tym, Ŝe naleŝy uunąć to zadane, które ma najwękzy wpływ na wartość funkcj celu. W regule 4 jet ona realzowana bezpośredno a w pozotałych regułach pośredno. Realzując tą dee lczymy na to, Ŝe zmenając połoŝene takego zadana znajdzemy po wykonanu kroku 2 zauwaŝalne lepzą, w ene wartośc funkcj celu, permutację nŝ permutacja znalezona po kroku 1. ZauwaŜmy, Ŝe cza realzacj kaŝdej z reguł ne jet wękzy nŝ O (nm). Dla reguł 1-3 uwaga ta jet oczywta, zaś dla reguły 4 wymaga krótkego komentarza. Proponujemy rozpocząć wykonywane tej reguły od wylczena w czae O (nm) długośc r ( l, ), q ( l, ) najdłuŝzych dróg w grafe G (π ) zgodne z defncją podaną w rozdzale 3. Wtedy wartość funkcj celu C ( ) dla permutacj δ otrzymanej z permutacj π po uunęcu zadana π () moŝna wyznaczyć w czae O (m) wykorzytując oczywtą zaleŝność δ 6
C ( δ ) = 1 l m ( r( l, π ( 1)) + q( l, π ( + 1)) ) ; j, = 1,..., t, gdze π (0) = π ( t + 1) =0, r( l,0) = q( l,0) = 0 dla l M. Z faktu, Ŝe wzytkch permutacj δ jet ne węcej nŝ n wynka, Ŝe cza realzacj reguły 4 jet O (nm). Reaumując oznacza to, Ŝe złoŝoność oblczenowa algorytmu IR przy zatoowanu reguł 1-4 wyno O(n 2 m). Dalej algorytm IR z regułą wyboru k będzemy nazywać algorytmem IRk, k =1,2,3,4. Zmana połoŝena zadana x w permutacj π moŝe powodować, Ŝe zadane j wtawone w kroku 1 ne zajmuje juŝ optymalnej pozycj. Dlatego teŝ proponujemy dalzą modyfkację algorytmów IR1-IR4 polegającą na zmane połoŝena tego zadana a dokładnej na znalezenu dla nego najlepzej pozycj w ene wartośc funkcj celu. W konekwencj ugerujemy modyfkację algorytmu IRk, zwaną dalej algorytmem IRRk, która prowadza ę do dodanu po kroku 2, dodatkowego kroku 3 o natępującej potac: Krok 3. Utwórz permutację δ = ( δ (1),..., δ ( t 1)) przez uunęce zadana j z permutacj π. Wyznacz t permutacj γ = ( δ (1),..., δ ( 1), j, δ ( ),..., δ ( t 1)), = 1,2,..., t, przez włoŝene zadana j przed kaŝdą pozycję w permutacj δ dodatkowo za otatną pozycję w tej permutacj. Wśród tych permutacj wyznacz permutację γ taką, Ŝe 1 t oraz C γ ) = mn C ( γ ). PołóŜ π : = γ ( 1 t Podobne jak poprzedno, dodany krok 3 jet oblczenowo dentyczny jak krok 1 dlatego złoŝoność oblczenowa kaŝdego z algorytmów IRR1-IRR4 wyno O(n 2 m). 5. Wynk badań tetowych Głównym celem badań tetowych jet zbadane, na le rozwązana wyprodukowane przez oem zaproponowanych algorytmów IR1-IR4, IRR1-IRR4 ą lepze od rozwązań generowanych przez algorytm. lgorytmy będzemy tetować na zczególne trudnych 120 przykładach zaproponowanych przez Tallarda w pracy [2], których rozmar waha ę od 20 zadań 5 mazyn ( 100 operacj) do 500 zadań 20 mazyn (10 000 operacj); przykłady podzelone ą na 12 grup po 10 przykładów o tej amej lczbe zadań mazyn; dana grupa jet notowana jako n/m. NaleŜy tu zauwaŝyć, Ŝe trudność tetowych przykładów wynka ne tylko z ch duŝego rozmaru ale z faktu, Ŝ zotały one wybrane wśród dzeątek tyęcy przykładów generowanych loowo, jako najbardzej złoślwe. Dodatkowym elementem przemawającym za wyborem tych przykładów ą znane dla nch rozwązana optymalne lub prawe optymalne, [6]. Rozwązana te zotały otrzymane w wynku ogromne czaochłonnych aborbujących wele komputerów ejach oblczenowych toując metodę podzału ogranczeń. Jako rozwązana początkowe przyjmowano rozwązana otrzymane przez algorytm popraw bazujący na technce tabu earch z pracy [7]. Dalej wartośc funkcj celu dla tych rozwązań będzemy nazywać B wartoścam bazowym notować jako C. lgorytmy zaprogramowano w Delph 4.0 a oblczena przeprowadzono na komputerze Pentum II (333Mhz). Dla kaŝdego przykładu wyznaczano względną poprawę Φ = 100% ( C C )/ C (2) wartośc C funkcj celu otrzymanej algorytmem przez zatoowane algorytmu generującego wartość funkcj celu C, { IR1,IR2,IR3,IR4,IRR1,IRR2,IR3, IRR4}. 7
Natępne dla kaŝdej z 12 grup przykładów kaŝdego tetowanego algorytmu wylczono wartość średną v[ Φ ] z 10 wartośc Φ dla pozczególnych przykładów. Wynk przedtawono w tabel 1. Grupa Tab. 1. Względne poprawy algorytmu Względna poprawa algorytmu przez algorytm w % ( v[ Φ ] dla algorytmu ) n/m IR1 IR2 IR3 IR4 IRR1 IRR2 IRR3 IRR4 20/5 0,84 0,23 0,49 0,33 1,15 1,12 1,16 1,03 20/10 0,84 0,64 0,69 1,51 1,17 1,18 1,32 1,75 20/20-0,36 0,22 0,16 0,96 0,19 0,50 0,59 1,45 50/5 0,11 0,24 0,13 0,05-0,21 0,17 0,10 0,07 50/10 0,39 0,28 0,40 0,72 0,41 0,65 0,51 0,81 50/20 0,19 0,01-0,12 0,93 0,29 0,90 0,44 1,34 100/5 0,01-0,02 0,04 0,07 0,03 0,01 0,04 0,08 100/10 0,43 0,59 0,46 0,79 0,43 0,51 0,60 0,55 100/20 0,37 0,51 0,56 0,80 0,73 0,62 0,62 1,11 200/10 0,24 0,43 0,29 0,32 0,35 0,55 0,38 0,56 200/20 0,28 0,36 0,20 0,92 0,67 0,57 0,64 1,00 500/20 0,23 0,29 0,16 0,53 0,31 0,44 0,27 0,56 wzytke 0,30 0,32 0,29 0,66 0,46 0,60 0,55 0,86 Z analzy tabel 1 wynka, Ŝe w przypadku algorytmów IR reguła 4 zachowuje ę najlepej. Pozotałe reguł zachowują ę prawe dentyczne z lekką przewagą reguły 2. Podobna ytuacja wytępuje w przypadku algorytmów IRR z tym, Ŝe teraz przewaga reguły 2 nad regułam 1 3 jet bardzej wdoczna. Potwerdza to naze ntucyjne przewdywana, Ŝe naleŝy zmenać połoŝene tego zadana, które ma najwękzy wpływ na wartość funkcj celu, ponewaŝ reguła 4 wyraŝa to w poób bezpośredn a natępne w kolejnośc reguła 2. Generalne, wzytke tetowane algorytmy poprawają algorytm z tym, Ŝe zdarzają ę take grupy przykładów, dla których nektóre z nch zachowują ę gorzej. Odno ę to tylko do algorytmów IR1, IR2, IR3. Powtórna zmana połoŝena wtawonego wcześnej zadana j realzowana przez algorytmy IRR wydaje ę być - w oblczu wynków z tabel 1 - w pełn uzaadnona. Względna poprawa rozwązań produkowanych przez algorytm przez najlepzy z tetowanych algorytmów, jakm okazał ę algorytm IRR4, wyno średno 0,86 %, wahając ę od 0,07% do 1,75% w zaleŝnośc od grupy przykładów. Odpowedź na pytane czy taka względna poprawa jet godna uwag zaleŝy oczywśce od tego jak duŝa jet makymalna moŝlwa względna poprawa. Dlatego teŝ przeprowadzono dalze badana tetowe polegające na tym, Ŝe dla kaŝdego przykładu wyznaczono makymalną moŝlwą względną poprawę Φ, B Φ = 100% ( C C )/ C. (3) 8
W powyŝzym wzorze zamat mnmalnej wartośc funkcj celu wprowadzono wartość bazową B C, która - jak juŝ wpomnalśmy - dość dobrze ją przyblŝa. Natępne dla Φ kaŝdej z 12 grup przykładów wylczono wartość średną v [ Φ ] z 10 wartośc dla pozczególnych przykładów. Wynk przedtawono w drugej kolumne tabel 2. Dodatkowo w trzecej czwartej kolumne powtórzono z tabel 1 wartośc średnch względnych popraw dla najlepzych algorytmów z grupy IR IRR, tzn. algorytmów = IR4, IRR4. Tab. 2. Porównane względnych popraw z makymalnym względnym poprawam Grupa v [ Φ ] v[ Φ ] dla alg. v[ Φ v[ Φ ] ] w % dla alg. n/m IR4 IRR4 IR4 IRR4 20/5 3,11 0,33 1,03 10,5 33,1 20/10 4,70 1,51 1,75 32,1 37,2 20/20 3,53 0,96 1,45 27,2 41,0 50/5 0,70 0,05 0,07 7,6 9,7 50/10 4,79 0,72 0,81 15,1 16,9 50/20 5,81 0,93 1,34 16,0 23,1 100/5 0,48 0,07 0,08 14,4 17,6 100/10 2,29 0,79 0,55 34,4 24,3 100/20 5,16 0,80 1,11 15,5 21,5 200/10 1,36 0,32 0,56 23,4 41,2 200/20 4,14 0,92 1,00 22,2 24,1 500/20 2,16 0,53 0,56 24,5 26,1 wzytke 3,18 0,66 0,86 20,2 26,3 Z analzy tabel 2 wynka, Ŝe makymalna względna poprawa rozwązań produkowanych przez algorytm wyno średno 3,18 %, wahając ę od 0,48% do 5,81% w zaleŝnośc od grupy przykładów. Porównując te welkośc z wartoścam popraw algorytmu przez algorytm IR4 lub IRR4 naleŝy zauwaŝyć, Ŝe algorytmy te totne poprawają rozwązana dotarczone przez algorytm. Szczególne jano wynka to z dwóch otatnch kolumn tabel 2, w których podano jak procent makymalnej względnej poprawy tanow względna poprawa produkowana odpowedno przez algorytm IR4 oraz IRR4. Przykładowo, dla algorytmu IRR4 wartość ta wyno średno 26%, wahając ę od 10% do 41%. Podumowując wynk przeprowadzonych badań tetowych moŝemy twerdzć, Ŝe proponowane modyfkacje algorytmu dotarczają algorytmów produkujących rozwązana o totne mnejzych wartoścach funkcj celu. Co węcej, cza oblczeń dla najbardzej czaochłonnego algorytmu, jakm jet algorytm IRR4, ne przekracza 3 ekund dla najwękzych tetowanych przykładów o rozmarze 10 000 operacj. Oznacza to, Ŝ proponowany w tej pracy kerunek badań jet bardzo obecujący pownen być kontynuowany. 9
Lteratura 1. Nawaz M., Encore Jr. E.E., Ham I.: heurtc algorthm for the m-machne, n-job flow-hop equencng problem. OMEG Internatonal Journal of Management Scence, 11, 1983, tr. 91-95. 2. Tallard E.: Benchmark for bac chedulng problem, European Journal of Operatonal Reearch, 64, 1993, tr. 278-285. 3. Tallard E.: Some effcent heurtc method for flow hop equencng. European Journal of Operatonal Reearch, 47, 1990, tr. 65-74. 4. Nowck E., Smutnck C.: New reult n the wort-cae analy for flow-hop chedulng. Dcrete ppled Mathematc, 46, 1993, tr. 21-41. 5. Nowck E.: Metoda tabu w problemach zeregowana zadań produkcyjnych, Ofcyna Wydawncza Poltechnk Wrocławkej, Wrocław 1999. 6. Vaeen R.J.M.: OR lbrary, Internet: http://mcmga.m.c.ac.uk.nfo.html. Fle flowhop1.txt, flowhop2.txt. 7. Nowck E., Smutnck C.: fat taboo earch algorthm for the permutaton flow-hop problem. European Journal of Operatonal Reearch, 91, 1996, tr. 160-175. Dr hab. nŝ. Eugenuz NOWICKI Mgr nŝ. Maruz MKUCHOWSKI Intytut Cybernetyk Techncznej, Poltechnka Wrocławka 53-342 Wrocław, ul. Janzewkego 11/17 tel.: (071) 320-29-61 e-mal: enowck@ct.pwr.wroc.pl 10