1 Problemyprzepływowe

Podobne dokumenty
PROBLEM PRZEPŁYWOWY Z PRZEZBROJENIAMI ORAZ CIĄGŁĄ PRACĄ MASZYN Wojciech BOŻEJKO, Radosław IDZIKOWSKI, Mieczysław WODECKI

9.4 Czasy przygotowania i dostarczenia

9.9 Algorytmy przeglądu

NIETYPOWE WŁASNOŚCI PERMUTACYJNEGO PROBLEMU PRZEPŁYWOWEGO Z OGRANICZENIEM BEZ PRZESTOJÓW

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2014 PROBLEM PRZEPŁYWOWY: PERMUTACYJNY, BEZ CZEKANIA, BEZ PRZESTOJÓW

ALGORYTM EWOLUCYJNY DLA PROBLEMU SZEREGOWANIA ZADAŃ W SYSTEMIE PRZEPŁYWOWYM

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

5. Rozwiązywanie układów równań liniowych

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Zarządzanie zasobami w harmonogramowaniu wieloobiektowych przedsięwzięć budowlanych z wykorzystaniem teorii szeregowania zadań

Wybrane podstawowe rodzaje algorytmów

Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Metody uporządkowania

Metody Optymalizacji: Przeszukiwanie z listą tabu

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

NOWE WARIANTY OPERATORÓW GENETYCZNYCH DLA PROBLEMÓW Z KRYTERIUM SUMACYJNYM

HARMONOGRAMOWANIE ROBÓT BUDOWLANYCH Z MINIMALIZACJĄ ŚREDNIEGO POZIOMU ZATRUDNIENIA

Rozdział 1 PROGRAMOWANIE LINIOWE

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Zagadnienie transportowe

Sterowanie procesami dyskretnymi

Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak

ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 2008 Seria: AUTOMATYKA z. 199 Nr kol. 1999

Wykład z Technologii Informacyjnych. Piotr Mika

Metody uporządkowania

Nowe warianty operatorów genetycznych dla problemów z kryterium sumacyjnym

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Algorytmy wyznaczania centralności w sieci Szymon Szylko

2. Opis problemu T 1 = 0, (1) S j,k C j,k-1 j J, k=2,...,m, (2) C j,k = S j,k + p j,k j J, k M, (3) (4) (5)

PROBLEM: SORTOWANIE PRZEZ ODWRÓCENIA METODA: ALGORYTMY ZACHŁANNE

Układy równań liniowych. Krzysztof Patan

Algorytmy stochastyczne laboratorium 03

Metody optymalizacji dyskretnej

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

Hierarchiczna analiza skupień

Luty 2001 Algorytmy (4) 2000/2001

Metody Programowania

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Sortowanie topologiczne skierowanych grafów acyklicznych

Algorytmy konstrukcyjne dla problemu harmonogramowania projektu z ograniczonymi zasobami. Marcin Klimek *

HARMONOGRAMOWANIE CYKLICZNE W JEDNOSTKACH OPIEKI ZDROWOTNEJ

przedsięwzięć budowlanych i mające

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Grupowanie Witold Andrzejewski, Politechnika Poznańska, Wydział Informatyki 201/633

D. Miszczyńska, M.Miszczyński KBO UŁ 1 GRY KONFLIKTOWE GRY 2-OSOBOWE O SUMIE WYPŁAT ZERO

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

SYSTEM WSPOMAGANIA HARMONOGRAMOWANIA PRZEDSIĘWZIĘĆ BUDOWLANYCH

Wykład 6. Metoda eliminacji Gaussa: Eliminacja z wyborem częściowym Eliminacja z wyborem pełnym

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

Techniki optymalizacji

Algorytm genetyczny (genetic algorithm)-

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Wykład z modelowania matematycznego. Zagadnienie transportowe.

HEURYSTYCZNY ALGORYTM SZEREGOWANIA ZADAŃ W SYSTEMIE MASZYN RÓWNOLEGŁYCH Z KRYTERIUM MINIMALNO-CZASOWYM

Klasyczne zagadnienie przydziału

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Analiza numeryczna Kurs INP002009W. Wykłady 6 i 7 Rozwiązywanie układów równań liniowych. Karol Tarnowski A-1 p.

Metody numeryczne. dr Artur Woike. Ćwiczenia nr 2. Rozwiązywanie równań nieliniowych metody połowienia, regula falsi i siecznych.

Grupy. Permutacje 1. (G2) istnieje element jednostkowy (lub neutralny), tzn. taki element e G, że dla dowolnego a G zachodzi.

a) 7 b) 19 c) 21 d) 34

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Aproksymacja funkcji a regresja symboliczna

RÓWNOLEGŁY ALGORYTM POSZUKIWANIA Z ZABRONIENIAMI UKŁADANIA PLANU ZAJĘĆ

OPTYMALIZACJA W LOGISTYCE

ZAGADNIENIE TRANSPORTOWE

AUTOMATYZACJA PROCESW DYSKRETNYCH 2012 ZASTOSOWANIE TECHNIK RÓWNOLEGŁYCH W SZEREGOWANIU ZA- DAŃ Z KRYTERIUM MINIMALIZACJI SUMY SPÓŹNIEŃ

Rozwiązywanie układów równań liniowych

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

Wykład 10 Grafy, algorytmy grafowe

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Efektywność Procedur Obliczeniowych. wykład 5

Projektowanie rozmieszczenia stanowisk roboczych

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

ALTERNATYWNE KODOWANIE W ALGORYTMACH PROBLEM PRZEPŁYWOWY Z SUMĄ SPÓŹNIEŃ

Metoda eliminacji Gaussa

) a j x j b; x j binarne (j N) całkowitoliczbowe; przyjmujemy (bez straty ogólności): c j > 0, 0 <a j b (j N), P n

HARMONOGRAMOWANIE CYKLICZNE W PRZEPŁYWOWYCH SYSTEMACH PRODUKCYJNYCH

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Przeszukiwanie lokalne

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

Laboratorium 5 Przybliżone metody rozwiązywania równań nieliniowych

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

Zaawansowane metody numeryczne

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Kolorowanie wierzchołków grafu

Instrukcja. Laboratorium Metod i Systemów Sterowania Produkcją.

Transkrypt:

Problemyprzepływowe Problemy przepływowe należą do jednych z prostszych i często analizowanych modeli systemów produkcyjnych. Poniżej zostanie przedstawiony podstawowy problem przepływowy, permutacyjny problem przepływowy oraz problem przepływowy z ograniczeniami bez czekania. DanyjestzbiórzadańJ ={,,...,n}którenależywykonaćnamaszynachm={,,...,m}.zadaniej J składasięzciąguoperacji (O j,...,o mj ).OperacjaO ij jestwykonywanabezprzerywanianamaszynie iwczasiep ij.zadanienamaszyniei,dlai=,,...,nmożebyćwykonane dopiero po zakończeniu wykonywania zadania na maszynie i. Rozwiązaniem jest harmonogram pracy maszyn reprezentowany przez macierzeterminówrozpoczęcias=(s,...,s n ),gdzies j =(S j,...,s mj ) orazzakończeniazadańc=(c,...,c n ),gdziec j =(C j,...,c mj ).PonieważC ij =S ij +p ij,więcrozwiązaniejestcałkowiciecharakteryzowane przez jedną z tych macierzy. Dla regularnej funkcji celu harmonogram jest dosuniętywlewonaosiczasu,więcmożnagoposzukiwaćwzbiorzetakich rozwiązań. W takiej sytuacji każde rozwiązanie może być jednoznacznie reprezentowane przez kolejność wykonywania zadań na maszynie i, ta zaś z koleijestreprezentowanapermutacjąπ i =(π i (),...,π i (n))elementówze zbioruj.wprzypadku,gdypermutacjeπ i mogąbyćróżnedlaróżnych i, to odpowiedni problem oznaczany jest jako ogólny (F). Jeśli wszystkie permutacjeπ i sątakiesametoproblemokreślanyjestjako permutacyjny (F*). Permutacyjny problem przepływowy Zakładając, że znana jest kolejność wykonywania zadań(określona przez permutacjęπ=(π(),...,π(n))nazbiorzej)wpermutacyjnymproblemie przepływowym, terminy zakończenia wykonywania zadań można wyznaczyć na postawie następujących warunków: C iπ(j) S iπ(j+),j=,...,n,i=,...,m, () C ij S i+j,i=,...,m,j=,...,n, () które prowadzą do następującego wzoru rekurencyjnego C iπ(j) =max{c iπ(j ),C i π(j) }+p iπ(j),j=,...,n, () liczonegodlai=,...,m,gdzieπ(0)=0,c i0 =0,i=,...,m,C 0j =0, j=,...,n.wprzypadkubardziejzłożonychanaliz(dowodzeniewłasności)

używa się rownoważnej nierekurencyjnej postaci wzoru C iπ(j) = max i j 0 j i... j i j s= j s t=j s p sπ(t). () W przypadku problemów F* z kryterium minimalizacji długości uszeregowaniaposzukiwanajestpermutacjaπ Π,dlaktórej gdziec max (π)=c mπ(n). Model grafowy C max (π )=min π Π C max(π), (5) Dladanejpermutacjiπ ΠmożnastworzyćgrafG(π)=(M N,E 0 E ), wktórymm={,...,m},n={,...,n}. 5 6 n- n zadania m maszyny Rysunek : Graf G(π). n E 0 = m j=i= jest zbiorem technologicznych krawędzi pionowych, zaś m E = n i=j= {((i,j),(i+,j))}, (6) {((i,j),(i,j+))}, (7)

jest zbiorem sekwencyjnych krawędzi poziomych. Wszystkie krawędzie w grafieg(π)mająwagęzero.obciążeniekażdegowęzła(i,j)wynosip iπ(j).czas zakończeniazadaniaπ(j),j=,...,n,namaszyniei,i=,...,m,odpowiada długości najdłuższej ścieżki prowadzącej z węzła(0, 0) do węzła(i, j), wrazzobciążeniemtegowęzła.wprzypadkuproblemuf C max wartość funkcji celu dla danego π jest równa długości ścieżki krytycznej w grafie G(π). Metodyprzybliżone MetodaprzybliżonaAdostarczapewnegorozwiązaniax A bliskiegooptymalnemu,toznaczytakiegorozwiązania,dlaktóregowartośćfunkcjiceluk(x A ) niewieleróżnisięodwartościoptymalnejk(x ).Metodprzybliżonychjest znacznie więcej niż dokładnych, są one zwykle zorientowane na problem, który rozwiązują. Jakość metody przybliżonej ocenia się na podstawie złożoności obliczeniowej algorytmu oraz dokładności przybliżenia.. Błądprzybliżenia Niech Z będzie konkretnym przykładem badanego problemu optymalizacyjnego, X(Z) zbiorem wszystkich rozwiązań problemu dla tego przykładu, a K(x; Z) wartością funkcji celu dla rozwiązania x w konkretnym przykładzie. Rozwiązaniex X(Z),dlaktóregoK(x ;Z)=min x X(Z) K(x;Z)jestnazywanerozwiązaniemoptymalnymdlaprzykładuZ.Niechx A X(Z)będzie rozwiązaniem przybliżonym uzyskanym przez algorytm A dla przykładu Z. Jako błąd przybliżenia algorytmu A można przyjąć jedną z wielkości[] B A (z)= K(x A ;Z) K(x ;Z), (8) S A (Z)=K(x A ;Z)/K(x ;Z), (9) T A (Z)= K(xA ;Z) K(x ;Z), (0) K(x ;Z) U A (Z)= K(xA ;Z) K(x ;Z). () K(x A ;Z) WartościbłędówT A iu A niemogąbyćwyznaczonewprzypadkugdywartość mianownika jest równa zero.

. Technikawcięć Algorytm NEH oparty na technice wcięć jest do chwili obecnej najlepszym przybliżonymalgorytmemkonstrukcyjnymdlaproblemuf C max.algorytm ten składa się z n-krokowej fazy zasadniczej poprzedzonej fazą wstępną. Poniżej został przedstawiony przebieg algorytmu NEH. Krok.Uporządkujzadaniazgodnieznierosnącymiwartościami m i= p ij (zadanie pierwsze ma największą wartość sumy). Krok.Weźdwapierwszezadaniaiuporzadkujjetak,abywartośćC max dla tych dwóch zadań była najmniejsza. Krok.Dlak=donpowtarzajkrok. Krok.Wstawk-tezadanienajednozkmożliwychmiejsctakabywartość C max dlapermutacjiczęściowejbyłajaknajmniejsza. ZłożonośćkrokuwynosiO(nlog(n)),adlakrokujestO(m).Żebywyznaczyć jeden czas zakończenia wykonywania wszystkich zadań w kroku potrzebne jest O(km) operacji. Zatem złożoność obliczeniowa klasycznego algorytmunehwynosio(n m).możliwejestjednakzredukowaniezłożoności obliczeniowej algorytmu NEH, postępując w kroku w sposób opisany przeztaillardawpracy[6].niechm i oznaczawartośćc max powstawieniu zadania k na i-te miejsce. ()Wyznacznajwcześniejszyczaszakończeniae ij i-tegozadanianaj-tej maszynie(rysunek a), e ij =max{e i,j,e i,j }+p ij, () i=,...,k,j=,...,m, e 0j =0,e i0 =0. ()Wyznaczkoniecq ij,tzn.czasmiędzyrozpoczęciemi-tegozadaniana j-tej maszynie, a zakończeniem wszystkich operacji(rysunek b), q ij =max{q i,j+,q i+,j }, () i=k,...,,j=m,...,, q kj =0,q i,m+ =0.

e a) e q b) q f q c) 5 5 f q Rysunek : Ilustracja działania algorytmu: wstawienie piątego zadania na trzecią pozycję. ()Wyznacznajwcześniejszyczaszakończeniaf ij naj-tejmaszyniedla zadania k wstawionego na i-tą pozycję(rysunek c), f ij =max{f i,j,e i,j }+p kj, () i=,...,k,j=,...,m, f i0 =0. ()WartoścczasuzakońzceniawykonywanazadańM i pododaniuzadania 5

k na i-tej pozycji wynosi M i =max{f ij,q ij }, (5) i=,...,k,j=,...,m. Wszystkie opisane wyżej kroki mogą być wykonane w czasie O(km). W rezultacie, krok algorytmu NEH ma złożoność O(km). Zastosowanie powyższego algorytmu pozwala zatem zredukować złożoność obliczeniową algorytmu NEHdoO(n m).. Poszukiwanie z zabronieniami(tabu search) Metoda ta została zaproponowana przez Glovera[] w 989 r. Tabu search (TS) jest modyfikacją metody lokalnych poszukiwań. W podstawowej wersji metoda TS rozpoczyna swe działanie od pewnego rozwiązania początkowego x 0 X.WelementarnymkrokutejmetodyzostajeprzeszukanecałesąsiedztwoN(x i )rozwiązaniax i.sąsiedztwojestdefiniowaneprzezruchyktóremożnawykonaćzx i.celemtegoposzukiwaniajestznalezieniewn(x i+ ) rozwiązania z najmniejszą wartością funkcji celu K(x). Proces poszukiwania jest kontynuowany od najlepszego znalezionego rozwiązania. W celu zapobieżenia cyklicznego powtarzania się rozwiązań, zatrzymania w ekstremum lokalnym oraz aby skierować poszukiwania w obiecujące obszary rozwiązań wprowadzono pamięć historii poszukiwań w postaci listy zabronień(tzw. listy tabu). Na liście tej przechowywana jest określona liczba ostatnio odwiedzanych rozwiązań(rozwiązania bazowe). Rozwiązania te nie są pamiętane bezpośrednio, ale w postaci pewnych ich atrybutów. Powoduje to, że zabronienia z nich wynikające w danej iteracji dotyczą także rozwiązań, które nie były dotychczas rozwiązaniami bazowymi. W celu osłabienia tej restrykcji określana jest dodatkowo dla zabronionego rozwiązania pewną funkcję aspiracji. Jeśli wartość tej funkcji jest mniejsza od zadanego poziomu, to rozwiązania nie traktuje się jako zabronionego. W trakcie wykonywania kolejnych iteracji pamiętane jest najlepsze znalezione rozwiązaniex TS wsensiewartościfunkcjiceluorazodpowiadającąmuwartośćtej funkcji. Poszukiwanie zatrzymuje się w chwili zadziałania odpowiednich warunków stopu. Podsumowując, do podstawowych elementów metody tabu można zaliczyć: ruch: funkcja, która przekształca jedno rozwiązanie w drugie, sąsiedztwo: zbiór rozwiązań możliwych do uzyskania z ustalonego rozwiązania za pomocą klasy ruchów, 6

rozwiązanie początkowe: rozwiązanie od którego algorytm rozpoczyna działanie, lista tabu: lista, na której zapisywane są atrybuty ruchów lub rozwiązań dla ustalonej liczby ostatnio rozpatrywanych rozwiązań, kryterium aspiracji: warunki, przy których w kolejnym kroku algorytmu można użyć rozwiązania zabronionego, warunek zakończenia: sytuacja, w której algorytm kończy swoje działanie np.() wykonana została założona z góry liczba iteracji,() zakończył się czas przeznaczony na działanie algorytmu,() w kolejnych iteracjach wartość funkcji celu nie uległa zmianie.. Ruchy i sąsiedztwo W analizowanym problemie rozwiązaniem jest permutacja π. Sąsiedztwo permutacji π może być stworzone poprzez zbiór ruchów. Niech Π oznacza zbiór wszystkichpermutacjizbioruzadańj,πdowolnerozwiązanieπ Π,aN(π) jego otoczeniem, czyli zbiorem wszystkich możliwych permutacji wygenerowanych z permutacji π za pomocą zbioru ruchów. Najczęściej stosowane są trzy rodzaje ruchów: (i) wymiana par przyległych(api), (ii) wymiana par dowolnych(npi), (iii) technika przenoszenia i wstawiania(ins). Wymianaparprzyległych(API).Oznaczającprzezπ permutacjęotrzymanązπwwynikuzamianyparprzyległychnapozycjachiii+( i n )uzyskujesięzpermutacji permutację π=(π(),π(),...,π(i),π(i+),...,π(n)) π =(π(),π(),...,π(i+),π(i),...,π(n)). Otoczenie API zawiera n permutacji. Wymiana par dowolnych(npi). Po zastosowaniu zamiany na pozycjach iik( i,k n)zpermutacji π=(π(),π(),...,π(i),...,π(k),...,π(n)) 7

otrzymuje się permutację π =(π(),π(),...,π(k),...,π(i),...,π(n)). OtoczenieNPIzawiera n(n ) permutacji. Technika przenoszenia i wstawiania(ins). Dowolna permutacja z otoczenia N(π) powstaje z permutacji π poprzez wyjęcie pewnego elementu π z pozycjii,anastępniewstawieniegotakabyzajmowałonpozycjekwnowej permutacji. Po zastosowaniu takiej techniki z permutacji π=(π(),π(),...,π(i ),π(i),π(i+),...,π(k ),π(k),π(k+),...,π(n)) otrzymuje się permutację π =(π(),π(),...,π(i ),π(i+),...,π(k ),π(k),π(i),π(k+),...,π(n)). OtoczenieINSzawiera(n ) permutacji. Taillard[6]pokazał,żeruchy(iii)sąlepszeodruchów(i)i(ii)zarówno pod względem jakości otrzymanego uszeregowania jak i złożoności obliczeniowej przeglądania sąsiedztwa wygenerowanego za pomocą tego typu ruchów. Dlatego też w dalszych rozważaniach będą brane pod uwagę tylko ruchy(iii). Niechυ = (a,b)będzieparąpozycjia,b {,...,n},a bw permutacjiπ.nowapermutacjaπ υ uzyskanazπpoprzezusunięciezadania π(a)zpozycjiaiumieszczeniugonapozycjibdefiniowanajestwnastępujący sposób π υ =(π(),...,π(a ),π(a+),...,π(b),π(a),π(b+),...,π(n)),dlaa<b i π υ =(π(),...,π(b ),π(a),π(b+),...,π(a ),π(a+),...,π(n)),dlaa>b. Każdaparaυ =(a,b)definiujeruchzπ,niechubędziezbioremtakichpar. Sąsiedztwo permutacji π generowane poprzez zbiór ruchów U jest oznaczane przezn(u,π) = {π υ :υ U}.Największesąsiedztwomożnawygenerować zapomocązbioruruchówv ={(a,b):b/ {a,a},a,b {,...,n}}. Należyzauważyć,żedlaa,btakichże a b =dwaruchyυ = (a,b) iυ = (a,b)dajątąsamąpermutacjęπ υ =π υ (takieruchysąnazywane ruchami równoważnymi). Żeby uniknąć nadmiarowości V zawiera dokładnie jeden ruch z każdej pary równoważnych ruchów. N(V, π) posiada (n ) sąsiadówispełniawłasnośćstyczności(connectivityproperty):dla dowolnegorozwiązaniapoczątkowegoπ () Πistniejeskończonatrajektoria poszukiwańπ (),π (),...,π (r) taka,żeπ (r) jestoptymalnymrozwiązaniemi π (i+) N(V,π (i) ),i=,...,r. 8

.5 Listatabu Lista tabu jest jednym z mechanizmów zapobiegania występowania cykli w procesie poszukiwań. Wśród aplikacji TS dla problemu przepływowego opisywanych w literaturze można znaleźć wiele różnych elementów pamiętanych na liście tabu: parę później odwiedzanych permutacji[], wartość funkcji celu dla odwiedzanej właśnie permutacji[6], zadanieijegopozycje[6], paręzadańiichpozycje[7]. W praktyce dobór elementów pamiętanych na liście tabu zależy od inwencji projektanata algorytmu. Poniżej została przedstawiona konstrukcja listy tabuwoparciuopracę[5]. NiechT=(T,...,T maxt )będzielistątabuodanejdługościmaxt,gdzie T j =(g,h)jestparązadań.listatabujestinicjalizowanaelementemzerowymt j =(0,0),j=,...,maxt.Niechυ=(a,b)będzieruchemwykonywanym z permutacji π. Ruch ten otrzymuje status ruchu zabronionego i zostaje dodany do listy T w następujący sposób: elementy listy są przesuwane o jedna pozycjęwlewo,tzn.wykonywanesąoperacjet j =T j+,j=,...,maxt, anastępnie T maxt =(π(a),π(a+))jeślia<b i T maxt =(π(a ),π(a))jeślia b. Oznaczato,żeruchυ=(a,b)zpermutacjiβniemożezostaćwykonany (posiadastatustabu)jeśliconajmniejjednapara(β(j),β(a)),j=a+,...,b jestnaliścietdlaa<b,iconajmniejjednapara(β(a),β(j)),j=b,...,a jestnaliściet,wprzeciwnymprzypadku. Długość listy tabu ma zasadniczy wpływ na jakość rozwiązań otrzymanych przez algorytm TS. Zbyt krótka lista tabu powoduje, że generowane są identyczne ciągi rozwiązań bazowych, algorytm wpada w cykl obliczeniowy. Natomiast zbyt długa lista zabronień powoduje usunięcie z otoczenia dużej ilości rozwiązań co powoduje pogorszenie średniej jakości rozwiązań, z których wybierane jest rozwiązanie bazowe i ostatecznie zmniejsza szanse na znalezienie dobrych rozwiązań. Długość listy zabonień jest wyznaczana eksperymentalnie. 9

.6 Poziomaspiracji Zapisanie na liście atrybutów rozwiązań i ruchów, a w konsekwencji traktowanie pewnych ruchów jako zabronionych ma oprócz oczywistych zalet także pewną wadę. Postępowanie takie może doprowadzić do zabronienia wykonania ruchu, który jednak jest interesujący z punktu widzenia dalszych poszukiwań. Na przykład prowadzi bezpośrednio lub pośrednio(po wykonaniu kilku iteracji) do rozwiązań bazowych o wartości funkcji celu mniejszej niż dotychczas znaleziona. W celu uniknięcia tej wady wprowadza się funkcję aspiracji ruchu oraz poziom aspiracji do zabronienia. Jeżeli dany ruch jest zabroniony, ale wartość jego funkcji aspiracji jest mniejsza niż poziom aspiracji do zabronienia, to ruch ten traktuje się jako ruch niezabroniony. W celu dokładnego przedstawienia ogólnie zarysowanej idei postępowania należy wprowadzić pewne pojęcia i oznaczenia(zgodnie z pracą[]). Niech fa(υ,x)oznaczawartośćfunkcjiaspiracjidlaruchuυ,υ V(x)(gdzieV(x) jest zbiorem ruchów) z rozwiązania bazowego x, a pa(i) poziom aspiracji dla zabronienia w i-tej iteracji poszukiwań. Definicja(Nowicki[])Ruchυ V(x i )wi-tejiteracjiposzukiwańjest nazywany ruchem perspektywicznym, jeżeli fa(υ,x i )<pa(i). (6) Z ruchu zabronionego, który jest perspektywiczny jest zdejmowane zabronienie, tzn. ruch ten będzie traktowany jako niezabroniony. Zgodnie z pracą[] jako wartośc funkcji aspiracji ruchu υ z rozwiązania x została przyjęta fa(υ,x)=c(x υ ). (7) Badania testowe przeprowadzone przez autora pracy[] pokazały, że najbardziej skuteczne są następujące postacie poziomów aspiracji do zabronienia: oraz gdzie pa (i)=min 0 g i c(xg ) (8) pa (i)=min( min g F(i)\{0} c(xg ), min g F(i)\{i} c(xg+ )), (9) F(i)={0 g i:c(x g )=c(x i )}. (0) Drugą postać można stosować tylko w sytuacji, gdy wartość funkcji celu jest liczbą całkowitą. Jest to typowa sytuacja w problemach harmonogramowania zadań. Zbiór F(i) określa numery wykonanych iteracji, w których 0

wartości funkcji celu dla rozwiązań bazowych są identyczne i równe wartości funkcji celu dla rozwiązania bazowego z aktualnie wykonywanej iteracji i. Pierwszy człon w funkcji min z(9) jest minimalną wartością funkcji celu,zktórejwjednejiteracjinastąpiłoprzejściedowartościc(x i )wtrakcie przeprowadzonego już procesu poszukiwań. Drugi człon jest symetryczny i określa minimalną wartość funkcji celu, do której nastąpiło bezpośrednie(w jednejiteracji)przejściezwartościc(x i ). Literatura [] W. Bożejko Równoległe algorytmy szeregowania zadań produkcyjnych, Praca doktorska, Wrocław 00. [] M. Dell Amico, M. Trubian, Applying Tabu-Search to the Job-Shop Scheduling Problem, Annals of Operations Research, 99, -5. []F.Glover,TabuSearch.PartI,ORSAJournalofComputing,989, 90-06. [] E. Nowicki, Metaoda tabu w problemach szeregowania zadań produkcyjnych, Prace Naukowe ICT PWr, Seria Monografie, 999. [5] E. Nowicki, C. Smutnicki, A fast tabu search algorithm for the permutation flow-shop problem, European Journal of Operational Research 9, 996, 60-75. [6] E. Taillard, Some efficient heuristic methods for the flow shop sequencing problem, European Journal of Operational Research 7, 990, 65-7. [7]M.Widmer,A.Hertz,Anewheuristicmethodfortheflowshopsequencing problem, European Journal of Operational Research, 989, 86-9.