• Nie Znaleziono Wyników

Zastosowanie techniki tabu search do problemów szeregowania w otwartych systemach obsługi

N/A
N/A
Protected

Academic year: 2022

Share "Zastosowanie techniki tabu search do problemów szeregowania w otwartych systemach obsługi"

Copied!
10
0
0

Pełen tekst

(1)

ZESZYTY NAIJKOW E POLITECHNIKI ŚLĄSKIEJ Seria: AUTOM ATYKA z. 114

1994 N r kol. 1250

Eugeniusz N O W IC K I Politechnika Wrocławska

ZASTOSOWANIE T EC H N IK I TABU SEARCH DO PROBLEM ÓW SZEREGOW ANIA W OTWARTYCH SYSTEMACH OBSŁUGI

Streszczenie: W pracy przedstaw ia się szybki aproksym acyjny algorytm o p arty na technice ta b u search, dla problem u szeregowania zadań w otw artym system ie obsługi (open shop problem ) z k ryterium będącym czasem w ykonania wszystkich zadań.

W yniki b adań num erycznych pokazują, że proponowany algorytm nie tylko zn ajd u je uszeregowania o mniejszej wartości funkcji celu niż inne najlepsze aproksym acyjne algorytmy) ale także pracuje w krótszym czasie.

A PPLICA TIO N OF TABU SEARCH TECHNIQUE FO R T H E O PEN SHOP PROBLEM

S um m ary: A fast approxim ation algorithm for th e problem of finding a m inim um m akespan in an open-shop is presented. T he algorithm is based on a ta b u search tech­

nique. C o m putational experim ents show th a t th e algorithm not only finds shorter m akespans th a n th e best approxim ation approaches b u t also runs in sh o rter tim e.

A N W EN D U N G D ER TABU SEARCH M ETHODE FU R DAS OPEN SHOP PROBLEM

Zusam m enfassung: M it dem Ziel der M inim ierung der G esam tbearbeitungszeit w ird heuristischer A lgorithm us basiert auf der Tabu Search M elhode fur das O pen Shop P roblem b etra cn te t. Der A lgorithm us war an den aus der L ite ra tu r bekannten B enchm ark Beispielen g etestet. Die R esu ltate der Testrechnungen dem onstrieren eindrucksvoll die Q u alitat unseres A lgorithm us.

1. W stęp

Ogólnie algorytm y aproksym acyjne d la problem ów szeregowania zadań n a m aszynach m ożna podzielić n a dw ie klasy: algorytmy konstrukcyjne i algorytmy popraw. Do pierwszej klasy należą algorytm y, któ re n a bazie pewnych reguł b u d u ją uszeregowanie i po jego o trzy m an iu kończą swoje działanie. A lgorytm y popraw sta rtu ją ju ż z pewnego uszerego­

w ania (z reguły otrzym anego przez algorytm y konstrukcyjne) i następnie w kolejnych

(2)

212 E. N owicki

etap ach próbują, je popraw ić w celu zm niejszenia wartości funkcji celu.

Główne techniki stosowane dotychczas przy konstrukcji algorytm ów popraw polegały n a lokalnym przeszukiw aniu otoczeń i akceptow aniu do dalszych poszukiwań tylko uszere­

gowali o m niejszej - niż ak tualnie n ajm niejsza - wartości funkcji celu. A lgorytm y te różniły się m iędzy sobą tak im i elem entam i jak : definicja otoczenia, stra te g ia jego przeglądania, w arunki sto p u itp . Ich wspólną niekorzystną cechą było zatrzym yw anie się w obsza­

rach m inim ów lokalnych. Je d y n a możliwość przezw yciężenia tej w ady polegała n a wielo­

k rotnym u rucham ianiu danego algorytm u - sta rtu ją c z różnych rozwiązań początkow ych.

Postępow anie ta k ie n iestety też nie dawało satysfakcjonujących wyników. D latego, a k tu ­ alne kierunki badań dotyczą tylko takich technik, które nie posiadają w spom nianej wady.

W badaniach tych, bazujących przede w szystkim n a m etodach sztucznej inteligen­

cji, m ożna w yróżnić (m iędzy innym i) n astępujące techniki : (i) technika genetyczna, (ii) technika sym ulowanego w yżarzania (sim ulated annealing) oraz (iii) technika ta b u search.

Sygnalizowane w lite ra tu rz e im plem entacje dwóch pierwszych technik dla w ybranych pro ­ blemów szeregow ania zadań n a m aszynach pokazały, że znalezienie satysfakcjonujących rozw iązań n astęp u je kosztem bardzo dużych nakładów obliczeniowych. Zaproponow ana przez Glowera [2], w połowie la t osiem dziesiątych, technika ta b u search zachow ując zalety podejść (i)-(ii) pozw ala znacznie zredukować nakłady obliczeniowe do wielkości zadow ala­

jących praktyków . A ktualnie je st ona intensyw nie im plem entow ana dla wielu problem ów szeregowania. Przykładow o, o sta tn io przedstaw iono bardzo szybkie algorytm y d la p ro­

blem ów z m aszynam i równoległym i [5], problem ów przepływowych [9] i gniazdowych [10].

N iniejsza p ra c a je st je d n ą z pierw szych prób (oprócz pracy [11]), im plem entacji tech ­ niki ta b u search d la problem u szeregowania n zadań n a m m aszynach w otw arty m sys­

tem ie obsługi (open shop problem ) z k ry teriu m będącym czasem w ykonania w szystkich zadań. B azując n a tzw . blokach m aszynowych i blokach zadaniowych, wykazuje się pew ne własności elim inujące z poszukiw ań niektóre uszeregowania. N astępnie,w ykorzystując te własności, p o d a je się oryginalną definicję otoczenia danego rozw iązania. O toczenie to je st p odstaw ą do konstrukcji algorytm u ty p u ta b u search. O trzym any algorytm został w stępnie przetestow any n a szeregu problem ach testow ych wziętych z literatu ry . W yniki b adań num erycznych w skazują, że algorytm charakteryzuje się k rótkim czasem obliczeń, pro d u k u jąc jednocześnie rozw iązania bliskie lub równe optym alnym .

2 . S fo r m u ło w a n ie p r o b le m u i p o d s ta w o w e d e fin ic je

Rozw ażany w tej pracy problem szeregowania w o tw artym system ie obsługi m ożna sform ułować następująco: D any je st zbiór zadań J = {1,2, . . . , n } , zbiór m aszyn M — { 1,2, . . . , m } oraz zbiór operacji O = {1,2, . . . , o } , gdzie o = n ■ m . Zadanie j , j € J , składa się z m operacji indeksowanych przez lj + 1, lj + 2 , . . . , lj + m , gdzie lj = (j — l) m . O peracja lj + k je st w ykonyw ana n a m aszynie k bez przerw ań w czasie p; > 0, i = lj + k,

(3)

Z asto so w an ie te c h n ik i ta b u search

j € J , k € M . Zakładam y, że w każdej chwili czasowej: (i) co najwyżej je d n a opera­

cja każdego za d an ia może być wykonywana oraz (ii) każda m aszyna może wykonywać co najw yżej je d n ą operację. Uszeregowanie dopuszczalne je st definiowane przez m om enty rozpoczęcia w ykonyw ania operacji S, > 0, i € O spełniające wyżej sform ułowane ogra­

niczenia. P ro b lem polega n a znalezieniu uszeregowania dopuszczalnego m inim alizującego m om ent w ykonania wszystkich operacji m axl6o (5 ; + p,).

Podstawowa różnica pomiędzy sformułowanym powyżej problemem (notowanym za Graham em jako O || Cmax) a problemem gniazdowym J || Cmax polega na tym , że ko­

lejność wykonywania operacji danego zadania nie jest ustalona i podlega wyborowi. W konsekwencji dla określenia dopuszczalnego uszeregowania należy podać kolejność wyko­

nywania operacji na maszynach oraz kolejność wykonywania operacji każdego zadania.

Dalej, dla w ygody rozważań, podam y inne sformułowanie problemu O || C mttI w ykorzy­

stujące bezpośrednio te kolejności w tzw. modelu grafowym.

Zauważmy, że zbiór operacji O m ożna podzielić na podzbiory Mk — { i : i = lj + k , j € J ] , k 6 M oraz n a podzbiory J j == ( i : i = lj + k, k € M }, j € J . Podzbiór Mk określa operacje w ykonyw ane n a m aszynie k, zaś Jj operacje wchodzące w skład zad an ia j . Za­

chodzi O = U fei ^ oraz O = U"=i Jj- Niech perm utacja ~k = ( ^ ( 1 ), tt^(2), . . . , itk(n)) określa kolejność w ykonyw ania operacji ze zbioru A i^ a IT ^ zbiór wszystkich takich per- m u tacji, k S M . Podobnie niech p erm u tacja 7j = (7j ( l ) , 7; (2) , . . . , 7j(m )) określa kolej­

ność w ykonyw ania operacji ze zbioru J j ]a P; zbiór wszystkich takich p erm utacji, j € J . W ted y kolejność wykonyw ania operacji n a m aszynach je st zdefiniowana przez m -tkę tt = (ttj., tt-j, . . . , 7rm), gdzie 7T € H = III x n 2 . . . x IIm,zaś kolejność wykonyw ania operacji poszczególnych zadań przez n-tk ę 7 = (7 1, 72, , 7 n), gdzie 7 G T = ( P i,P 2, . . . ,T n).

D la kolejności tt 6 II oraz 7 € T określam y skierowany graf G(ir, 7 ) = ( 0 , R ( 7 ) U E(ir)) ze zbiorem wierzchołków O i zbiorem łuków R ( 7 ) U E (tt). K ażdy wierzchołek i G O m a wagę pi. Łuki ze zbioru E (tt) = UJtLi Uy=i { 0 ) 1 + 1))} precyzują kolejność wyko­

nyw ania operacji n a m aszynach, zaś luki R(~i) = Uj=i UTJi { ( j ] ( k ) , l j ( k + 1 ))} kolejność wykonyw ania operacji poszczególnych zadań.

Dalej p rzedyskutujem y relację pom iędzy dopuszczalnością uszeregowania Si, i € O a p o stacią w prowadzonego grafu. Będziemy mówić, że kolejność (ir, 7 ) € II x P je st do­

puszczalna, jeżeli istnieje uszeregowanie dopuszczalne Si, i € O, w którym kolejność w ykonyw ania operacji je st określona przez (tt, 7 ). Łatwo zauważyć, że kolejność ( ^ , 7 ) je st dopuszczalna w tedy i tylko wtedy, gdy graf G'(", 7 ) nie zaw iera cykli. Co więcej, dla każdej dopuszczalnej kolejności (7177) € II x T m ożna skonstruow ać wiele uszeregować dopuszczalnych. N ajlepsze z nich (w sensie rozważanego k ryterium Cmax) je st określone przez Si = Ti, i 6 O, gdzie t< je st długością najdłuższej ścieżki dochodzącej do w ierzchołka i (bez niego) w grafie G (77,7); jeżeli wierzchołek i nie m a poprzedników, to Ti = 0. Niech C mai(7 r,7 ) oznacza długość najdłuższej ścieżki (ścieżka krytyczna) w grafie G ( t t ,^ ) . Teraz problem O || C max m ożna sformułować następująco:

(4)

21 4 E. N ow icki

Znaleźć kolejność (tt*,7 *) £ II x 1) ta k ą że

C ma i( 7r*,7 *) = m in Cmal( r , 7 ). (1) (7r,'y)enxr

W (1) nie uw zględniliśm y w arunku n a ’’niecykliczność” grafu G (tt, 7 ), ponieważ w grafie cyklicznym długość ścieżki krytycznej je st rów na nieskończoności.

N iech u = (u i, « 2) • • •, n«,) oznacza pewną, ścieżkę krytyczną, w G(ir, 7 ), gdzie u; £ O, i = 1 , . . . , ui(zaś tu je s t liczbę jej wierzchołków. Zachodzi C max(ir, 7 ) = DJLi Pu, •

P odam y te ra z definicje tzw. maszynowego bloku operacji i zadaniowego bloku operacji n a ścieżce krytycznej u. Definicje te uogólniają pojęcie bloku operacji w ykorzystyw ane w problem ie gniazdow ym dla konstrukcji algorytm ów dokładnych i algorytm ów popraw . Niech m ( i ) oraz j ( i ) oznacza odpowiednio m aszynę oraz zadanie związane z o p eracją i, i £ O. Podciąg ścieżki krytycznej B M = (u a, u a+i , . . . , u t), gdzie 1 < a < b < w, będziem y nazyw ać m aszynow ym blokiem operacji,jeżeli: (t) wszystkie operacje tego bloku są w ykonyw ane n a tej samej m aszynie,tzn. m ( u a) = m (u a+1) = . . . = m(ui,) == m ( B A I ) , [ii] operacja u a_j. (jeżeli a > 1) je s t wykonywana n a m aszynie m (u a_1) yt m ( B M ) oraz (iii) operacja (jeżeli a < w) je st wykonywana n a m aszynie m(ii(,+1) yt m ( B M ) . P odobnie podciąg ścieżki krytycznej B J — (uc, u c+1, . . . , u j), gdzie 1 < c < d < w, będziem y nazyw ać zadaniow ym blokiem operacji, jeżeli: (i) wszystkie operacje tego bloku są zw iązane z ty m sam ym za d an iem ,tzn . j ( u c) = j ( u c+1) = . . . = j(ud) == j ( B J ) , (ii) o peracja u c_i (jeżeli c > 1) je st zw iązana z zadaniem j ( u c- i ) y£ j ( B J ) oraz (iii) operacja Ud+i (jeżeli d < w) je s t zw iązana z zadaniem j(ud+1) yt j ( B J ) . Niech Im oraz Ij oznacza odpow iednio liczbę bloków m aszynowych oraz liczbę bloków zadaniowych n a ścieżce u.

W ted y n a ścieżce u w ystępują maszynow e bloki operacji B M ). = (u„t , u ak+l, . . . , U(,k), k = 1 , 2, . . . , l m , gdzie 6/, < a*+j, k = 1 , 2, . . . , l m — 1 oraz zadaniowe bloki operacji B J k — (uCk, , . . . , v.dk), k 1 , 2, gdzi e d^ c^+i, k — 1 , 2, . . . , Ij 1 . N ażda o p eracja z u je st w je d n y m z trzech stanów : (s l) należy do bloku m aszynowego i bloku zadaniowego, (s2) należy tylko do bloku maszynowego oraz (s3) należy tylko do bloku zadaniowego.

Sform ułow ane powyżej p ojęcia zilustrujem y następującym przykładem : Rozważmy problem O || C max, w k tó ry m w ystępują cztery zadania (n = 4), cztery m aszyny (m = 4) oraz szesnaście operacji (o = 4 • 4 = 16). Zgodnie z p rz y ję tą konwencją num eracji zadań zadanie 1 składa się z operacji 1,2,3,4, zadanie 2 z 5,6,7,8, zadanie 3 z 9 ,1 0 ,ll,1 2 (zaś za­

d anie 4 z 13,14,15,16. N iech x = (?ri, 7t2, ^ 3, 5r4), gdzie = (1 ,5 ,1 3 ,9 ), 7r2 = (2 ,1 0 ,6 ,1 4 ),

*3 = (7 ,3 ,1 1 ,1 5 ), 7r4 = (4 ,8 ,1 2 ,1 6 ) oraz 7 = (7 1, 72, 73, 74), gdzie 71 = ( 1 ,2 ,3 ,4 ), 72 = ( 7 ,8,5 ,6 ), 73 = (1 0 ,1 2 ,1 1 ,9 ), 7 4 = (16,1 5 ,1 4 ,1 3 ). Zauważmy, że kolejność (ir, 7 ) jest kolejnością dopuszczalną. D la ta k określonej kolejności przyjm ijm y, że ścieżka k ry ty czn a u w grafie G(tt, 7 ) m a postać u = ( 1 ,2 ,3 ,4 ,8 ,1 2 ,1 6 ,1 5 ,1 4 ,1 3 ,9 ). W tedy w = 11 i na ścieżce u m ożem y w yróżnić dw a m aszynow e bloki operacji (Im = 2) oraz dw a zadaniowe bloki operacji (Ij = 2). W y stęp u ją one w następującej kolejności:

(5)

Z asto so w an ie te c h n ik i ta b u search . 2 1 5

B Ą = ( 1 ,2 ,3 ,4 ) , B M X = (4 ,8 ,1 2 ,1 6 ), B Ą = (16,15,14,13), B M 2 = (13,9), gdzie Cj = l , d j = 4, a i = 4,b¡ = 7, Ci = 7, ¿2 = 10, a2 = 10, 62 = 11. O peracje 4,16,13 są. w stan ie ( s l) , operacje 8,12,9 w stanie (s2)( zaś 1,2,3,15,14 w stanie (s3).

3. E lim in a c y jn e w łasności bloków

W problem ie gniazdow ym (J || Cmar) kolejność 7 w grafie £ ( 7 7 7 ) je st u stalona i nie podlega zm ianie. Bloki maszynowe n a ścieżce u pozwalają, wyspecyfikować perm uta- cje P £ II, d la których C mal(/3,7 ) je st niem niejsze niż C mal(n, 7 ). P erm utacje te o trzy ­ m yw ane są przez zm ianą kolejności wykonywania operacji należących do w nętrza bloku B M k (tzn . operacji u 0*+i, nak+2, . . . , u&t _ i), k = 1 , 2 , . . . , Im. E lim inacja takich perm uta- cji w procesie poszukiw ań pozw ala znacznie przyspieszyć znajdow anie satysfakcjonującego uszeregowania. Podobne elim inacyjne własności bloków m aszynowych i bloków zadanio­

wych m ożna sform ułować dla rozważanego przez nas problem u. Niech p ara (7 7 7 ) € 11 x P określa pew ną kolejność dopuszczalną. Oznaczmy przez ir' € II perm utację, k tó ra została o trzy m an a z p erm u tacji ir przez zm ianę kolejności wykonywania operacji należących do w n ętrza bloków B M k , k = 1 , 2 , . . . , Im. Podobnie przez 7 ' € T oznaczm y perm utację, k tó ra została o trzy m an a z perm utacji 7 przez zm ianę kolejności wykonyw ania operacji należących do w nętrza bloków B J ,7 k = 1 , 2 , . . . , Ij. Zbiór wszystkich takich p a r ( ^ ', 7 ') oznaczm y przez f i( 7r, 7 ). Zachodzi następująca własność.

W łasn o ść 1. Niech para (7177) £ II x T oraz graf G (x , 7) nie zawiera cykli. Dla każdej pary ( ^ ', 7 ') £ fi(:7 7 ),

C m a r i^ W ) > Cm*x (n ,n )- (2)

Sform ułow ana powyżej własność um ożliwia wyeliminowanie w procesie poszukiwań isto t­

nej liczby uszeregowań, o których z góry wiemy (bez wyliczania C mal), że nie są ’’p er­

spektyw iczne”, tzn. nie dostarczają uszeregowań o mniejszej wartości funkcji celu niż C mor(7r, 7 ). Łatwo zauważyć, że zbiór Í2(zr, 7 ) zawiera

/m l j

l K \ B M k - 2 \ ) \ - U ( \ B J k - 2 \ ) l

k= 1 *=1

kolejności. G raf t? (7r ', 7 '), dla kolejności (tt', 7 ') £ fi(7r, 7 ) może posiadać cykle. Rozważmy dalej zbiór $(*",7 ) zaw ierający tylko takie kolejności, które otrzym uje się z (zr, 7 ) przez w ym ianę położenia jednej pary sąsiednich operacji n a ścieżce krytycznej u.

W ła sn o ść 2. Niech para (77 7) £ II x P. Jeżeli graf G (x , 7) nie zawiera cykli, to dla każdej pary (^',7') £ $ (777) graf G ( v ' , ‘Y ) też nie zawiera cykli.

Zauważmy, że $ ( 7 7 7 ) Rzeczywiście, zbiór $(77 7 ) zaw iera także kolejności o trzy m an e przez w ym ianę położenia pary operacji (u a, u a+i), gdzie u , je st pierw szą (lub

(6)

21 6 E. N ow icki

iłj+i je st ostatnią.) operacją, pewnego bloku, jeżeli te n blok m a co najm niej trzy elem enty lub iis je s t pierw szą,a u 3+i o sta tn ią o p eracją tego bloku, jeżeli m a dw a elementy.

Zdefiniowane zbiory zilustrujem y na przykładzie z rozdziału 2. Zbiór il(;r,7 ) zawiera 8 elem entow i m a postać C2( ir ,j) = G II x T : 7] G { (1, 2, 3 , 4) , ( 1, 3 , 2, 4)}, 7J G { ( 16, 15, 14, 13), (16, 14, 15, 13)}, < G {(4 , 8, 12, 16), (4, 12, 8, 16)}, = 7k, k = 2, 3;

jr' = i = 1, 2, 3}. Z kolei zbiór $ ( 3 ,7 ) = $*(3-, 7 ), gdzie $1(3-,7) = { ( 3 ,7 ') : Ti € {(2 , 1, 3, 4) , ( 1, 3 , 2, 4), ( 1, 2, 4 , 3)}, = Tfc, * = 2, 3 , 4}, 3>2( t , 7 ) = { ( * ',7 ) : < G {(8, 4 , 12, 16), (4, 12, 8, 16), (4 , 8, 16, 12)}, = tt*, fc = 1, 2 , 3}, $3(3-,7) = € { ( 15, 16, 14, 13), ( 16, 14, 15, 13), ( 16, 15, 13, 14)}, 7 { = 7*, i = 1, 2 , 3}, oraz $ 4 ( ^ ,7 ) = { ( t ', 7) : 7r{ = (1, 5, 9, 13), 7r{ = T i, & = 2, 3 , 4}. Zbiory 4>i(7T, 7 ), i = 1, 2 ,3 zaw ierają po trzy elem enty a <£4(3-, 7) jeden. Łącznie zbiór 4>(7r,7) ma w — 1 = 10 elementów.

4. P odstaw ow e ele m en ty techn iki tab u search

Technika ta b u search została wyczerpująco przedstaw iona w literatu rz e zagranicznej w [2], [3], [4],a w lite ra tu rz e krajowej w [6], [7], [8]. D latego też tu ta j ograniczym y nasze rozw ażania do kilku n ajistotniejszych elem entów tej techniki takich jak: ruch, otoczenie, lista tabu, poziom aspiracji oraz strategia przeglgdania otoczenia. P rzez ruch będziem y rozum ieć funkcję, k tó ra odwzorowuje jedno uszeregowanie w drugie uszeregowanie. D la każdego uszeregow ania określam y zbiór ruchów , który generuje otoczenie tego uszere­

gowania. A lgorytm y o p arte na technice ta b u search sta rtu ją z pewnego uszeregowania początkowego. W każdym kroku iteracyjnym w szystkie ruchy skojarzone z danym uszere­

gowaniem (uszeregow anie początkowe) są przeglądane w celu znalezienia ruchu i odpow ia­

dającego m u uszeregow ania o najm niejszej wartości funkcji celu. N astępnie, niezależnie od relacji m iędzy w artością funkcji celu d la znalezionego uszeregowania a w artością d la usze­

regow ania początkowego, ruch zostaje wykonany. O znacza to, że znalezione uszeregowanie tra k tu je m y jako uszeregowanie początkow e do następnego kroku. W celu zabezpieczenia się przed w padnięciem w cykl(tzn. generowaniem cyklicznie pewnego ciągu uszeregować, w prow adzam y listę ruchów zabronionych (lista ta b u ) m odyfikow aną w każdej iteracji.

D uże restrykcje w prow adzane przez listę ta b u są zm niejszane przez określenie poziom u aspiracji. Polega to n a ty m , że ruchy zabronione, które p ro d u k u ją uszeregowania o wartości funkcji celu m niejszej niż poziom aspiracji,też m ożna -wykonywać.

P rzedstaw im y teraz krótko im plem entacje, sform ułowanych powyżej podstaw owych elem entów techniki ta b u search, d la analizowanego w tej pracy problem u O || C max.

T ypow ym ruchem rozw ażanym w problem ie gniazdow ym je st w ym iana położenia są­

siedniej p ary operacji, k tóre należą do ścieżki krytycznej u i są wykonywane n a tej samej m aszynie (tzn . należą do pewnego bloku m aszynowego), [12]. Ruch te n je st w pełni opisany przez p odanie d la kolejności (3 , 7 ) p ary operacji v = (z, y)f takiej że a: — U k,y = u r+i dla pewnego 1 < k < w, oraz m ( x ) = m (y ). Przez analogię, dla problem u

(7)

Z asto so w an ie te c h n ik i ta b u search 217

O || C max w pracy [11] rozważono ruchy v = ( x , y ) polegające na wymianie położenia dowolnej sąsiedniej pary operacji z u. Zbiór wszystkich takich ruchów dla kolejnos'ci (tt, 7) określmy przez V '(?r,7). Zauważmy, że | V '(7r,7) |— tx> — 1 oraz każda para operacji v € V'(it, 7) należy do pewnego bloku maszynowego lub zadaniowego. Przez (7r„,7„) € II x T oznaczm y kolejność otrzym aną z kolejności (x, 7) przez wykonanie ruchu v. W tedy otoczenie kolejności (zr, 7) można określić następująco:

•^'(’r.7 ) = { K ,7 # ) : v € ^'(zr, 7)} (3)

Taka definicja zbioru ruchów wym aga w każdej iteracji algorytmu wyliczenia w — ł razy wartości funkcji celu, co implikuje duże nakłady obliczeniowe - szczególnie gdy w jest porównywalne z n. Dlatego proponujemy znaczne zmniejszenie liczności zbioru ruchów bazując na elim inacyjnych własnościach bloków (podobnie jak w [9], [10] dla problemów przepływowych i gniazdowych). Niech V (tt, 7) = (jLr=i V M k ( zr,7) U U*=i V J k ( n , 7 ), gdzie

KMa..(tt,

7

) = {(ua t , u ał+i ) ,( j i i>t_j,U(>J } , k = 1 , 2 , . . . , Im, (4)

V J k { n ,l) = {(«<*> “ c*+ i)>(“ <i*-i>u <i*)}> k = 1 ,2 ,...,lj. (5 ) Zbiór (zr, 7 ) zawiera ruchy otrzym ane przez wymianę położenia tylko dwóch początko­

wych i dwóch końcowych operacji każdego bloku. Zbiór ten generuje otoczenie

^ ( lr>7 ) = { (lr« J ^ ) : t ' e l /( i , 7 )}. (6) Przedyskutujem y teraz własności otoczeń (zr,7 ) , M (~ , 7). Zauważmy, że A f (~, 7) C

■M'(tc,~i) — ^ (7r)7)i oraz (•'V"/(7ri 7 ) \-,V ( ,rj7 )) C fl(7r,7). Stąd i z Własności 1,2mamy:

W ła s n o ś ć 3 . Niech para (t t, 7) 6 II x T oraz graf G(ir, 7) nie zawiera cykli.

(i) Dla każdej pary (^ ',7 ') S A i { x , 7 ), graf G(ir\ 7') jest acykliczny.

(ii) Dla każdej pary ( tt',7 ') € (W '(jr,7 ) \ Af(ic,7)), C'mox(jr',7 /) > (?„,„(*•,7 ).

O toczenie Af(n,-y) m a co najwyżej 2(/m + /j) elementów (w przykładzie z rozdziału 2,

| A/’ (7r, 7) |= 7 < u; — 1 = 10). W badaniach testowych okazało się, że przedstawiona redukcja otoczenia(polegająca na wyrzuceniu ’’ nieperspektywicznych” kolejności, znacznie zm niejsza czas potrzebny na znalezienie satysfakcjonującego uszeregowania.

K ied y tylko ruch v — (x , y ) jest wykonywany, ruch odwrotny ( y , x ) jest wprowadzany na listę T zabronionych ruchów. Precyzyjniej wykonujemy operację T := T © u, gdzie © definiujemy następująco: Ti := Ti+i, i — 1 , 2 , . . . , m a x t — 1, Tmaxt := ( y , x ) oraz m a xf jest długością listy T . Początkowo wszystkie elementy listy są zerowane. W danej iteracji algorytm u ruch v uważam y za zabroniony, jeżeli znajduje się na liście T . Jako poziom aspiracji przyjm ujem y najm niejszą znalezioną dotychczas wartość funkcji celu C ‘ .

Strategia przeglądania otoczenia w danej iteracji polega na określeniu dwóch podzbio­

rów A oraz B zbioru ruchów V(7r, 7), gdzie (7r,7) jest uszeregowaniem początkowym

(8)

21 8 E. N ow icki

d la tej iteracji. Zbiór A = {u € V(ic,-y) : v £ T ) zaw iera ruchy niezabronione,zaś B = {u € U (?r,7 ) : u € T, Cmax(ttV) 7 v) < C"} - ’’interesujące” nas (przez poziom aspiracji) ruchy zabronione. N astępnie jeżeli zbiór A U B je st niepusty, to w ybieram y ruch z tego zbioru, k tóry generuje uszeregowanie o najm niejszej w artości funkcji celu. W przeciw nym w ypadku n ajstarsze ruchy zabronione z listy ta b u T są usuw ane,aż zbiór A stanie się niepusty i w ybieram y ruch wg. procedury opisanej powyżej.

5. A lg o r y tm i w y n ik i badań testow ych

P odam y teraz szczegółowy opis proponowanego przez nas algorytm u TS. Uszerego­

w anie początkow e (~p, 7 P) wygenerowano wg reguły: wolnej m aszynie przydziel operację i o najw iększym p; spośród operacji, któ re m ogą być ak tualnie wykonywane (operacja i m oże być ak tu aln ie wykonywana, jeżeli j ( i ) ^ j ( k ) dla w szystkich operacji k ju ż wyko­

nyw anych), [1], W T S w prowadzono dw a warunki stopu: (¿) wykonanie m a x i t e r iteracji bez zm niejszenia w artości funkcji celu oraz (¿¿) globalne w ykonanie m a xg lo b iter iteracji.

Liczniki ¿ ie r l oraz i t t r l zliczają wykonane iteracje odpow iednio dla (i) oraz (ii).

A lgorytm T S

Krok 0. Połóż i t e r l := 0, iter2 := 0, t := 7rp, 7 := 7 P, C := Cmax(ir,-y), ir' := 7rp, 7 * := 7 P, C ' := C oraz 2; := (0, 0) dla ¿ = 1 , 2, . . . , m a x i.

Krok 1. Połóż ¿ ie r l := ¿ ie r l -f 1, iłer2 iter2 + 1. W yznacz zbiór ruchów V(ir,-y), zbiór ruchów niezabronionych A = {u 6 V (T r,j) : v $ T ) oraz zbiór interesujących ruchów zabronionych B = { v 6 P ( x , 7 ) : r e r , Cmax( x v, y v) < C ' ) .

Krok 2. Jeżeli A U B ^ 0, to w yznacz ruch v' € A U B taki, że Cmax(irvi,~/v>) =

n lin.j ^ lj /: Cmax (ttv, 7 „) i idź do Kroku 3. W przeciwnym w ypadku zm odyfikuj listę ta b u kładąc T : = T ® (0 ,0 ), wyznacz ponow nie zbiór A i idź do Kroku 2.

Krok 3. Zmodyfikuj listę ta b u kładąc T := T © v' i przejdź do nowej kolejności ir := 7ru», 7 ■— Tl/ł Ć7 .— Cmax(7Tvi, 7 u')*

Krok J . Jeżeli C < C *, to połóż 7r* := 5r , 7 * := 7 , C" := C oraz i t e r l := 0.

Krok 5. Jeżeli ¿ ie rl = m a x i t e r lub iter2 — m axglobiter} to ST O P . W przeciw nym wy­

p ad k u idź do Kroku 1.

A lgorytm T S m a trzy p a ra m e try sterujące m a x t , m a x i t e r oraz maxglobiter, których wartości m a ją wpływ n a jakość produkowanego rozw iązana i czas jego o trzy m an ia. P rz y ­ ję to m a x t = 8, m a x i t e r = 5000 oraz m axglobiter = 50000.

W stęp n e b ad a n ia testow e algorytm u przeprow adzono n a przykładach zaczerpniętych z praCj [1 1 ]. Są to przykłady, w których liczba zadań je st rów na liczbie m aszyn i zm ienia

(9)

Z asto so w an ie te c h n ik i ta b u search 2 1 9

się od 4 do 20. D la każdego n — 4,5 , 7 ,10,15,20 wygenerowano w [11] odpow iednio 50000, 45000, 1000, 300, 40, 25 przykładów i w ybrano 10 szczególnie trudnych instancji. W kon­

sekwencji o trzym ano 6 • 10 przykładów. A lgorytm TA z pracy [11], który je st aktualnie najlepszym algorytm em popraw , rozwiązywał je wykonując od 5 • 105 do 9 • 106 iteracji.

Czas jednej iteracji wynosił 23 • 10-6 n 2 sekund n a Silicon G raphics (10 Mips).

Zaproponow any przez nas algorytm T S; został zakodowany w Pascalu i był u rucham ia­

ny n a m inikom puterze IBM P C DX486 o tej samej prędkości 10 Mips. Po wykonaniu 5 -104 iteracji w yprodukow ano uszeregowania, z k tórych 14 m a m niejszą w artość funkcji celu niż o trzy m an a przez TA, 43 rów ną i tylko 3 większą. Po zwiększeniu p ara m etru m axglobiter do wartości 60000 także dla tych trzech przykładów otrzym ano uszeregowanie o m niej­

szej wartości funkcji celu. Czas w ykonania jednej iteracji je st około 4 razy krótszy niż w [11]. R easum ując, algorytm T S znajduje uszeregowania lepsze lub takie sam e ja k TA w czasie od 40 do 180 razy krótszym n a kom puterze o porównywalnej m ocy obliczenio­

wej. A ktualnie algorytm T S je st testow any na przykładach o w ym iarach n = 50,80,100.

O trzym yw ane wyniki są bardzo zachęcające.

6. Uwagi końcowe

W p racy podano bardzo szybki algorytm aproksym acyjny typu ta b u search dla otw ar­

tego system y obsługi. A ktualnie je st on modyfikowany przez wprowadzenie koncepcji tzw.

powrotów. K oncepcja ta polega n a tym , że po wykonaniu m a x i t e r iteracji bez popraw y wartości funkcji celu algorytm nie kończy działania, ale w raca do najlepszego znalezionego uszeregow ania i dalej kontynuuje poszukiw ania ze zm ienioną listą tab u .

Inny kierunek prac polega n a adaptacji wprowadzonego otoczenia dla problem ów , w których w jed n y m stanow isku obsługi zn ajduje się kilka (zam iast jednej) m aszyn. P ro b le­

m y te są szczególnie isto tn e przy sterow aniu w elastycznych system ach produkcyjnych.

L IT E R A T U R A ‘

[1] C hen B ., Strusevich, V .A .: W orst-case analysis of heuristics for open shop w ith parallel m achines. E uropean Journal of O peration Research 70, 1993, 379-390.

[2] Glover F.: F u tu re p a th for integer program m ing and links to artificial intelligence.

C om puters and operation research 13, 1986, 533-549.

[3] Glower F.: T abu search. P a rt I. ORSA Journal on C om puting 1, 1989, 190-206.

[4] Glover F ., L aguna M.: T abu search. (A C hapter in M odern H euristic Techniques for C om binatorial P roblem s). R ep o rt D epartm ent of C om puter Science and I n s titu te of C ognitive Science, U niversity of Colorado a t Boulder, Ju l 24, 1993.

[5] H ubscher R., Glover F.: A pplying ta b u search w ith influential diversification to

(10)

22 0 E . N ow icki

m ultiprocessor scheduling. R eport D ep artm en t of C om puter Science and In stitu te of Cognitive Science, U niversity of Colorado a t Boulder, O ctober 11, 1992.

[6] K adluczka P., W ala K.: T abu search heuristic for generalized graph p artitio n in g problem . Zeszyty Naukowe AGH seria: A utom atyka z. 64, Kraków, 1993, 473-487.

[7] K orcyl A., Sawik T .: A lgorytm y ty p u ta b u search dla w yznaczania p artii produk­

cyjnej i obciążenia m aszyn w elastycznym system ie produkcyjnym . Zeszyty Naukowe P olitechniki Śląskiej z. 109 , 1992, 147-157.

[8] Nowicki E.: Zastosow anie techniki przeszukiw ania z zabronionym i rucham i do pro­

blem ów przepływowych z ustalonym i i zm iennym i czasam i wykonyw ania zadań. Ze­

szyty Naukowe AGH seria: A uto m aty k a z. 64, K raków , 1993, 323-335.

[9] Nowicki E., Sm utnicki C.: A fast ta b u search algorithm for th e job shop problem . R a­

p o rt serii: P re p rin ty IC T 8/1993 W ydaw nictwo Politechniki W rocławskiej (w redakcji M anagem ent Science).

[10] Nowicki E., S m utnicki C.: A fast ta b u search algorithm for th e flow shop problem . R a­

p o rt serii: P re p rin ty IC T 8/1994 W ydaw nictw o P olitechniki W rocławskiej (w redakcji E uropean Jo u rn al of O perational Research).

[11] T aillard E.: B enchm arks for basic scheduling problem s. E uropean Jo u rn al of O p era­

tional Research 64, 1993, 278-285.

[12] T aillard E.: P arallel Taboo Search Technique for th e Jobshop Scheduling P roblem . W orking P ap er O RW P 89/11 (revised version O ctober 1992), D ép artem en t de M a th é­

m atiq u es, Ecole P olytechnique Federale De Lausanne, Lausanne, S w itzerland, 1989.

Recenzent: P rof.dr hab.inż. Tadeusz Sawik W płynęło do R edakcji do 30.04.1994 r.

A b s t r a c t

A fast and easily im plem ented approxim ation algorithm for th e problem of finding a m in im u m m akespan in an open-shop is presented. T he algorithm is based on a ta b u search technique w ith a specific neighborhood. A su b stan tially sm all neighborhood is defined using so-called blocks of operations on a critical path . T he essence of th e algori­

th m consists in basing on properties which allow us to search over th e m ost in teresting p a rt of a neighborhood (using th e m akespan). We show experim entally (having te ste d on com m only used benchm arks up to 400 operations) th a t th e algorithm can find shorter m akespans th a n th e best appro x im atio n approaches and also runs in sh o rter tim e. M o re­

over, it was successfuly run on random benchm arks up to 10.000 operations on a Personal C om p u ter AT 486DX. T h e algorithm is easily tu n e d (prim al values of tun in g p ara m ete rs are recom m ended).

Cytaty

Powiązane dokumenty

H dla Cmax - reguła szeregowania jest następująca: spośród zadań aktualnie dostępnych wybierz i w staw na końcu permutacji zadań uszeregowanych zadanie, które po

chwili, (iii) wykonywanie operacji na maszynie nie może być przerywane oraz dodatkowo (iv) w systemie nie może się znajdować więcej niż Ip zadań.. Warunek

Na poziomie niższym za pom ocą heurystyki opartej na m etodzie tabu search dokonywany jest wybór sekwencji montażowej dla każdego w yrobu oraz przydział operacji

Dla każdego zadania technologicznego Zh, i jest jednoznacznie zdefiniowany typ realizatora, który może je wykonać, oznaczany przez ph,i (zadanie może być w ykonane

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

Oznacza to, że część operacji technologicznych dla danego wyrobu m oże być wykonywana równocześnie - taka sytuacja ma miejsce w ów czas, gdy dane operacje należą do

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

Problem szeregow ania zadań czasowo-zależnych m a ju ż b ogatą literaturę [1],[5], W iększość znanych w yników dotyczy przypadku jednego procesora oraz dwóch