ALGORYTMY KONSTRUKCYJNE W PROBLEMIE GNIAZDOWYM. Mariusz Makuchowski

Podobne dokumenty
PROBLEM GNIAZDOWY Z OGRANICZENIEM BEZ CZEKANIA, HYBRYDOWY ALGORYTM POSZUKIWANIA Z ZABRONIENIAMI. Mariusz Makuchowski

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

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO

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

Temat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury.

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza

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

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

Temat: Problem minimalnego drzewa Steinera. Definicja problemu. Zastosowania. Algorytm dokładny Hakimi. Algorytmy aproksymacyjne.

Planowanie adresacji IP dla przedsibiorstwa.

Przykªady problemów optymalizacji kombinatorycznej

Wstp. Warto przepływu to

Szeregowanie zada« Wykªad nr 5. dr Hanna Furma«czyk. 4 kwietnia 2013

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM.

Projektowanie i analiza zadaniowa interfejsu na przykładzie okna dialogowego.

9.9 Algorytmy przeglądu

Amortyzacja rodków trwałych

Programowanie Obiektowe

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

Konspekt lekcji matematyki klasa 4e Liceum Ogólnokształcce

Szeregowanie zada« Przedmiot fakultatywny 15h wykªadu + 15h wicze« dr Hanna Furma«czyk. 7 pa¹dziernika 2013

Temat: Algorytmy zachłanne

Przycisk pracy. Przycisk stopu/kasowanie

System TELE-Power (wersja STD) Instrukcja instalacji

Wymierne korzyci wynikajce z analizy procesów

Multipro GbE. Testy RFC2544. Wszystko na jednej platformie

PREZENTACJA DZIAŁANIA KLASYCZNEGO ALGORYTMU GENETYCZNEGO

Lab. 02: Algorytm Schrage

Program Sprzeda wersja 2011 Korekty rabatowe

Gramatyki regularne i automaty skoczone

Projekt okablowania strukturalnego dla I semestru Akademii CISCO we WSIZ Copernicus we Wrocławiu

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

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

stopie szaro ci piksela ( x, y)

Projektowanie algorytmów rekurencyjnych

Temat: Problem najkrótszych cieek w grafach waonych, cz. I: Algorytmy typu label - setting.

ODPOWIEDZI I SCHEMAT PUNKTOWANIA ZESTAW NR 2 POZIOM PODSTAWOWY. 1. x y x y

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

Zapisów 17 ust. 4-6 nie stosuje si do przesuni midzy kategoriami wydatków, które s wynikiem przeprowadzenia procedury zamówie publicznych.

Cash flow projektu zakładajcego posiadanie własnego magazynu oraz posiłkowanie si magazynem obcym w przypadku sezonowych zwyek

9.4 Czasy przygotowania i dostarczenia

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

Izolacja Anteny szerokopasmowe i wskopasmowe

System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver Aplikacja WWW ver. 2.1 Instrukcja Obsługi

Sterowanie procesami dyskretnymi

SYSTEM WSPOMAGANIA HARMONOGRAMOWANIA PRZEDSIĘWZIĘĆ BUDOWLANYCH

Syntactic Pattern Recognition. Anna Kuchna Maciej arnowski

OGNIWO PALIWOWE W UKŁADACH ZASILANIA POTRZEB WŁASNYCH

Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika.

Zadania do wykonaj przed przyst!pieniem do pracy:

Statyczna próba skrcania

W Y B R A N E P R O B L E M Y I N Y N I E R S K I E ALGORYTM STEROWANIA ADAPTACYJNEGO HYBRYDOWEGO POJAZU KOŁOWEGO

Plan wykładu. Reguły asocjacyjne. Przykłady asocjacji. Reguły asocjacyjne. Jeli warunki to efekty. warunki efekty

INFORMACJA-PORÓWNANIE

Argumenty na poparcie idei wydzielenia OSD w formie tzw. małego OSD bez majtku.

Bazy danych Podstawy teoretyczne

Bazy danych. Plan wykładu. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania A B

1 Problemyprzepływowe

Regulamin Europejskiej Sieci Prewencji Kryminalnej z dnia 25 czerwca 2001 roku

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

Szukanie najkrótszych dróg z jednym ródłem

Laboratorium elektryczne. Falowniki i przekształtniki - I (E 14)

SUPLEMENT SM-BOSS WERSJA 6.15

Elementy pneumatyczne

INSTRUKCJA WYPEŁNIENIA KARTY PROJEKTU W KONKURSIE NA NAJLEPSZY PROJEKT

Klonowanie MAC adresu oraz TTL

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

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.

- 1 - OPIS TECHNICZNY Do projektu wykonawczego modernizacji budynku Komisariatu Policji w Gniewoszowie, pow. Kozienice

KARTA OCENY JEDNOSTKI NAUKOWEJ

Sposoby przekazywania parametrów w metodach.

Instrumenty rynku pracy dla osób poszukuj cych pracy, aktualnie podlegaj cych ubezpieczeniu spo ecznemu rolników w pe nym zakresie.

Ustalenie optymalnego układu lokalizacyjnodystrybucyjnego

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI

REGULAMIN KONKURSU OFERT NA WYBÓR BROKERA UBEZPIECZENIOWEGO DLA MIASTA ZIELONA GÓRA, JEGO JEDNOSTEK ORGANIZACYJNYCH ORAZ SPÓŁEK KOMUNALNYCH.

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

M ZASYPANIE WYKOPÓW WRAZ Z ZAGSZCZENIEM

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

Rys 4. Układ klimatyzacyjny z recyrkulacyjnymi szafami klimatyzacyjnymi firmy Weiss Klimatechnik [2]

PROWIZJE Menad er Schematy rozliczeniowe

Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe.

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

I Powiatowy Konkurs Matematyka, Fizyka i Informatyka w Technice Etap finałowy 10 kwietnia 2013 grupa elektryczno-elektroniczna

Temat: Geometria obliczeniowa cz II. Para najmniej odległych punktów. Sprawdzenie, czy istnieje para przecinajcych si odcinków.

Stawiajc krzyyk w odpowiedniej wartoci mona zapisa dowolnego binarnego reprezentanta liczby dziesitnej x x x x x

KONKURS PRZEDMIOTOWY MATEMATYCZNY DLA UCZNIÓW GIMNAZJUM

Poniszy rysunek przedstawia obraz ukoczonej powierzchni wykorzystywanej w wiczeniu.

Rys1 Rys 2 1. metoda analityczna. Rys 3 Oznaczamy prdy i spadki napi jak na powyszym rysunku. Moemy zapisa: (dla wzłów A i B)

Twoja instrukcja użytkownika HP PAVILION DV6-1215SA

Uchwała nr 13 / Rady Pedagogicznej Szkoły Podstawowej nr 120 w Łodzi z dnia 20 lutego 2015 r. w sprawie wprowadzenia zmian do Statutu Szkoły

Optymalizacja oprogramowania - wprowadzenie

Metody Informatyczne w Budownictwie Metoda Elementów Skoczonych ZADANIE NR 1

KONKURENCJA DOSKONA!A

Program SMS4 Monitor

Regulamin wyjazdów studenckich na stypendia w ramach Programu Erasmus na Wydziale Pedagogiczno-Artystycznym UAM

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017

Metoda poszukiwania TABU w zastosowaniu do optymalizacji harmonogramu dostaw sieci dystrybucji towarów. Przykład przemysłu meblarskiego

Bazy danych. Plan wykładu. Pierwsza posta normalna. Druga posta normalna. Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML

Transkrypt:

ALGORYTMY KONSTRUKCYJNE W PROBLEMIE GNIAZDOWYM Mariusz Makuchowski Streszczenie: Praca opisuje zestaw algorytmów konstrukcyjnych dedykowanych problemowi gniazdowemu. orytmy te ze wzgldu na du liczb moliwoci ustawienia parametrów sterujcych słu jako procedura generujca rozwizanie w klasycznych metodach optymalizacji (zarówno algorytmach konstrukcyjnych jak i popraw). Zadaniem nadrzdnej metody jest dobranie moliwe najlepszych parametrów sterujcych opisanych algorytmów. W pracy przeprowadza si badania numeryczne oceniajce efektywno proponowanych algorytmów dla rónych metod nadrzdnych. Badania wykonane s na duej liczbie literaturowych przykładów testowych. Prac koczy analiza porównawcza zaprezentowanych algorytmów. Słowa kluczowe: problem gniazdowy rozwizania aktywne rozwizania pasywne algorytmy konstrukcyjne algorytmy hybrydowe. 1. Wstp Jednym z najbardziej klasycznych i zarazem trudny z praktycznego punktu widzenia w teorii szeregowania zada jest problem gniazdowy. Najczciej analizowanym kryterium tego problemu równie w tej pracy jest momentem zakoczenia wykonywania wszystkich zada. Problem ten jest intensywnie badany od wielu lat [1]. Tak wielkie zainteresowanie nim wynika z faktu i modeluje on wiele praktycznych procesów przemysłowych. Poniewa analizowany problem jest problemem silnie NP-trudnym [2] wiksze instancje rozwizuje si metodami przyblionymi zarówno algorytmami konstrukcyjnymi jak i algorytmami popraw. Rozwizanie tego problemu jest rozumiane jako harmonogram procesu produkcyjnego a dokładniej jako momenty rozpoczcia (i zakoczenia) kadej operacji kadego zadania. Niektóre z rozwiza mog okaza si nierealizowalne w praktyce i s nazywane rozwizaniami niedopuszczalnymi. Nawet w najbardziej popularnym dla tego problemu modelu permutacyjno-grafowym w którym zmienn decyzyjn s permutacje operacji wykonywanych na poszczególnych maszynach za warto kryterium jest długoci najdłuszej cieki w pewnym grafie cz rozwiza jest niedopuszczalna. Wikszo algorytmów popraw odrzuca rozwizania niedopuszczalne. orytmy te musz wic dokonywa analizy nowych rozwiza lub wykorzystywa pewne własnoci problemu [34] gwarantujce i wybrane rozwizanie jest dopuszczalne. W pracy proponuje si zestaw algorytmów konstrukcyjnych dedykowanych problemowi gniazdowemu. Zastosowanie dowolnego z prezentowanych algorytmów w charakterze procedury generujcej rozwizania problemu pomaga wyeliminowa konieczno testowania dopuszczalnoci rozwiza w projektowanych algorytmach. Podejcie takie zapewnia dodatkowo dobr jako generowanych rozwiza oraz zmniejszenie przestrzeni rozwiza. Wad takiego podejcia jest brak moliwoci znalezienia rozwizania optymalnego nawet przy optymalnym doborze parametrów sterujcych. Dodatkow zalet prezentowanego podejcia jest bardzo łatwe wprowadzanie dowolnych dodatkowych ogranicze generowanych rozwiza np. bez czekania bez

magazynowania. Wystarczy tylko uwzgldni dane ograniczenie podczas generacji rozwizania (modyfikujc nieznacznie procedur konstrukcyjn) nie zmieniajc nic w nadrzdnym algorytmie sterujcym. Zaprezentowane algorytmy zostały zastosowane w charakterze procedur generujcych rozwizania dla metod nadrzdnych dobierajcych optymalne sterowanie. Tak zintegrowane algorytmy nazywane s dalej algorytmami hybrydowymi. Prezentowane algorytmy hybrydowe zostały przebadane numerycznie na przykładach testowych z pracy [5] dostpnych przez sie Internetu i powszechnie stosowanych do testowania nowych algorytmów dla badanego zagadnienia. Rozmiar tych przykładów waha si od 225 do 2000 operacji. 2. Sformułowanie problemu Cho w wikszoci prac prezentujcych efektywne algorytmy dedykowane problemowi gniazdowemu prezentuje si rozbudowany model permutacyjno-grafowy w niniejszej pracy przytoczony zostanie najbardziej podstawowy model analizowanego problemu. Spowodowane jest to faktem i przeciwnie ni w literaturowych algorytmach w prezentowanej pracy algorytm nadrzdny sugeruje si tylko wartoci funkcji celu rozwizania otrzymanego algorytmem konstrukcyjnym. To brak koniecznoci dokładnej analizy przegldanych (przez algorytm nadrzdny) rozwiza jest główn przyczyn wprowadzenia tylko podstawowego modelu. Cho model ten mona znale w wielu pracach naukowych [234] to ze wzgldu na jego bazowe znaczenie dla niniejszej pracy został on ponownie opisany. Dany jest zbiór zada J {1...r} zbiór operacji O {1...n} oraz zbiór maszyn M {1...m}. Zbiór operacji podzielony jest na r rozłcznych podzbiorów odpowiadajcych poszczególnym zadaniom. Zadanie k J utosamia si z zadan sekwencj o k. operacji; o n. Sekwencja ta okrela wymagan kolejno wykonywania operacji zadania k J k o numerze k i dla uproszczenia notacji przyjmuje si e ma ona nastpujca posta: k j k 1 jk 2... jk ok gdzie 1 k i 1 oraz j 1 0 ( j k 1 jk 2... jk ok ) j o jest liczb operacji w zadaniach 1 2... k-1 i. Dodatkowo dla ułatwienia dalszej notacji cig operacji zadania k tj. oznaczmy przez O k oraz przyjmijmy e oznaczenie h Ok oznacza i h jest pewnym elementem wystpujcym w cigu O k (normalnie operator zdefiniowany jest tylko dla zbioru elementów a nie cigu). Ponadto dla kadej operacji h O okrelona jest jedna maszyna µ ( M na której ma by ona wykonywana w czasie p h > 0. Dodatkowo w modelu obowizuj trzy typowe dla tego rodzaju problemów ograniczenia: kada maszyna moe wykonywa w danej chwili nie wicej ni jedn operacj nie mona jednoczenie wykonywa wicej ni jednej operacji danego zadania w danej chwili wykonywanie operacji na maszynie nie moe by przerywane. Uszeregowanie dopuszczalne definiowane jest przez momenty rozpoczcia wykonywania S ( 0 operacji h h O takie e wszystkie powysze ograniczenia s spełnione. Problem polega na znalezieniu uszeregowania dopuszczalnego minimalizujcego moment wykonania wszystkich operacji max h O C( gdzie C ( S(. p h

3. Rozwizania aktywne i pasywne Rozwizanie jest aktywne gdy nie mona przypieszy terminu rozpoczcia wykonywania adnej z operacji nie opóniajc terminu rozpoczcia operacji innej. Rozwizanie które nie jest aktywne nazywane jest rozwizaniem pasywnym. W przypadku minimalizacji długoci uszeregowania rozwizania aktywne uwaane s za lepsze ni rozwizania pasywne. Jest tak dlatego poniewa dla kadego rozwizania pasywnego mona wyznaczy (poprzez dosunicie operacji) odpowiadajce mu rozwizanie aktywne o niegorszej wartoci funkcji celu. Dlatego badacze bardzo czsto ograniczaj si tylko do budowy rozwiza aktywnych. Co wicej take w trakcie ich tworzenia rozwizania czciowe s rozwizaniami aktywnymi. Pomimo tego w pracy proponuje si sposób generacji rozwiza bazujcy na generacji czciowych rozwiza pasywnych. Rozwizanie kocowe jest równie rozwizaniem pasywnym. Jednake ze wzgldu na sposób generacji transformacja kocowego rozwizania pasywnego do aktywnego nie zmienia wartoci funkcji celu wiec jest zbdna. Dla prezentowanego w pracy algorytmu w wersji A tworzone rozwizania s zawsze rozwizaniami aktywnymi natomiast dla algorytmu w wersji P tworzone rozwizania mog by rozwizaniami pasywnymi. 4. orytmy generujce rozwizania Ogólna idea proponowanych algorytmów polega na tworzeniu uszeregowania poprzez systematyczne dokładanie zada do czciowo utworzonego we wczeniejszych iteracjach uszeregowania. Parametrem sterujcym bdcym jednoczenie zmienn decyzyjn dla algorytmu nadrzdnego jest kolejno szeregowania zada. Kolejno ta zwana jest dalej permutacj ładujc i oznaczana przez π ( π(1) π(2) π( r)) π ( i) J 1 i r. W i-tej iteracji szeregowaniu podawane zostaje zadanie o numerze π. Proces dodania zadania π do czciowego harmonogramu polega na wyznaczeniu wszystkich momentów rozpoczcia S ( oraz momentów zakoczenia C ( wykonywania si kadej operacji tego zadania h Oπ. Raz uszeregowane zadanie nie zmienia ju swego połoenia w harmonogramie tzn. wyznaczone w i-tej iteracji momenty S ( i C ( h Oπ bd momentami rozpoczcia i zakoczenia wykonywania si tych operacji w kocowym uszeregowaniu. Sposób wyznaczenia wartoci S ( i C ( h Oπ róni si w kolejnych wersjach algorytmu generujcego rozwizania. Wersja A algorytmu generujcego rozwizania Podstawowa wersja A algorytmu generujcego rozwizania wyszukuje najmniejszego moliwego (spełniajcego wszystkie wymagane ograniczenia) momentu S ( rozpoczcia wykonywania si operacji h Oπ. Proces wyznaczenia kolejnych wartoci S ( i C ( h Oπ odbywa si według kolejnoci wynikajcej z cigu O π. W wyniku takiej strategii bardzo czsto zdarza si i dodawane zadanie w całoci lub czciowo wnika w istniejcy ju harmonogram. Pojcie wnika naley tutaj rozumie tak e operacje szeregowanego zadania kocz si wczeniej ni operacje zada wczeniej ju

uszeregowanych. Cho strategia wersji A algorytmu generujcego rozwizania wydaje si by bardzo dobra posiada ona pewn wad. Oznaczmy przez h operacj wkładan w harmonogram ponadto niech h i h oznaczaj odpowiednio operacj bezporednio wczeniejsz i operacj bezporednio póniejsz wzgldem operacji h wykonane na tej samej maszynie µ ( h ) µ ( µ ( h ). Moe zdarzy si i wkładana w harmonogram operacja h zostanie włoona pomidzy operacje h i h w taki sposób i moment zakoczenia operacji wczeniejszej jest mniejszy od momentu rozpoczcia operacji wkładanej C ( h ) < S( oraz jednoczenie moment zakoczenia operacji wkładanej jest mniejszy ni moment rozpoczcia operacji nastpnej C ( < S( h ). Oznacza to e przerwa w pracy maszyny µ ( pomidzy momentem C h ) zakoczenia zadania ( ( h a momentem S h ) rozpoczcia zadania h zostanie czciowo wykorzystana przez wykonanie operacji h a pozostały fragment przestoju maszyny zostanie podzielny na dwa odrbne przestoje. Takie dzielenie dziur w harmonogramie na mniejsze jest niekorzystne. Jest tak dlatego gdy krótkie przestoje maszyny uniemoliwiaj dalsze efektywne upychanie operacji zada. Przestoje te nie s wykorzystane przez kolejne szeregowane zadania. Dzieje si tak gdy czas obróbki szeregowanych w kolejnych iteracjach operacji jest dłuszy ni przestoje maszyn na których s one wykonywane. Dlatego z perspektywy układania dalszych operacji (kolejnych zada) nieraz jest lepiej rozpocz wykonywa operacj póniej w zamian zyskujc długi przedział przestoju maszyny. Wersja P algorytmu generujcego rozwizania W algorytmie wersji P i-ta iteracja zaczyna si od znalezienia próbnych momentów rozpoczcia S '( h Oπ operacji szeregowanego zadania π. Próbne momenty S '( h Oπ wyznacza si jako najwczeniejsze moliwe momenty rozpoczcia wykonywania si kolejnych operacji O π. Nastpnie dla kadej z operacji h Oπ w kolejnoci odwrotnej ni wystpuj one w cigu O π dokonane zostaje wyznaczenie ostatecznej wartoci momentu rozpoczcia S ( h Oπ. Jeeli operacja h jest ostatni operacj na maszynie to przyjmuje si S ( ( wyznacza si drugi moment S ''( rozpoczcia wykonywania si operacji h. Jako warto S ''( przyjmuje si najwikszy moliwy moment rozpoczcia wykonywania si operacji h z zachowaniem wszystkich ogranicze oraz przy załoeniu i operacja nie wyskoczy z aktualnej dziury harmonogramu tzn. C' ' ( S( g) dla wszystkich g takich e C' ( S( g) µ ( g) µ ( g O gdzie C '( ( ph i C '' ( '( ph. Po wyznaczeniu wartoci tych momentów algorytm podejmuje decyzj o przyjciu jako moment rozpoczcia wykonywania si operacji h warto S '( lub S ''(. Wyboru dokonuje si na podstawie analizy długoci powstajcych przedziałów bezczynnoci maszyny bezporednio przed i po wykonywaniu operacji h. Zauwamy e dla ustalonych momentów S ( i C ( długo przestoju przed wykonaniem operacji h wynosi S ( C( h ) a długo przestoju maszyny po wykonaniu operacji jest równa S( h ) C(. Jeli zadanie h nie istnieje przyjmuje si i C ( h ) 0.

W przypadku dosunicia operacji do lewej strony (przyjcia S ( ( ) długo a ' przestoju przed wykonaniem operacji h bdzie wynosi a ' ( C( h ) a długo b ' przestoju maszyny po wykonaniu operacji h bdzie równa b' S( h ) C' (. Analogicznie dla dosunicia operacji do prawej strony (przyjcia S ( '( ) długo a '' przestoju przed wykonaniem operacji h bdzie wynosi a '' '( C( h ) a długo b '' przestoju maszyny po wykonaniu operacji h bdzie równa b' ' S( h ) C' '( ( a ' b' a' ' b' ' ). W pracy przebadano nastpujce warunki wyboru momentu S ( rozpoczcia wykonywania si operacji h: 1) 2) 3) 4) 5) 6) S (' gdy a' > b' S( S (' S (' gdy b' 0 S( S (' S (' gdy a' b' S( S (' S (' gdy a' > b'lub b' 0 S( S (' S (' gdy a' > 0 S( S (' S (' gdy a' > 0 lub b' 0 S(. S (' orytm generujcy rozwizania wersji P z warunkiem wyboru S ( nr x oznaczany bdzie jako algorytm wersji P x. Idea wszystkich warunków jest taka aby w miar moliwoci unika tworzenia dwóch przestojów maszyny jeli mona uzyska cigło jednego przestoju. Jeeli natomiast tworz si dwa przestoje to lepiej aby jeden z nich był długi kosztem zmniejszenia a drugiego ni stworzenie dwóch przestojów o redniej długoci. Autorowi wydaje si e łatwiej bdzie w póniejszych iteracjach wykorzysta jeden długi przestój maszyny ni w przypadku gdyby maszyna miała wiksz liczb krótkich przestojów. 5. Badania testowe W celu przebadania algorytmów generujcych rozwizania przedstawionych w wczeniejszej czci pracy stworzono algorytm bazujcy na idei algorytmu NEH [6]. Oryginalnie konstrukcyjny algorytm NEH dedykowany jest problemowi przepływowemu w którym zmienn decyzyjn jest permutacja zada. Tym razem owa tworzona permutacja zada bdzie traktowana jako permutacja ładujca dla przedstawionych algorytmów natomiast algorytm NEH bdzie nadrzdnym algorytmem sterujcym. Oczywicie tak skonstruowane hybrydy bd rozwizywa instancje problemu gniazdowego. Nazwy

powstałych algorytmów to NEH-A dla algorytmu generujcego rozwizanie w wersji A i NEH-P x dla algorytmu generujcego rozwizanie wersji P x. W pierwszej czci testu algorytmy (NEH-A NEH-P x 1 x 6 INSA [4]) zostały przetestowane na szczególnie trudnych 80 przykładach zaproponowanych przez Taillarda [5]. Rozmiar instancji waha si od 15 zada i 15 maszyn (225 operacji) do 100 zada i 20 maszyn (2 000 operacji). Przykłady te podzielone s na 8 grup po 10 instancji o tej samej liczbie zada i maszyn dana grupa notowana jest jako: r/m. Nastpnie dla kadego przykładu została policzona warto dolnego graniczenia. Sposób obliczenia dolnego ograniczenia polegał na rozwizaniu optymalnym (algorytmem Carliera) m jednomaszynowych problemów 1 ri qi Cmax i wybraniu najwikszej otrzymanej wartoci C. Dla j-tego problemu zadanie i J zostało zamodelowane pojedyncz operacja max O i h tak e µ ( h ) j z czasem wykonania p h. Czas r i wyznaczono jako sum czasów wszystkich operacji zadania i poprzedzajcych operacj h; r i pk a czas q i jako h 1 k jk 1 sum wszystkich operacji zadania i wykonywanych po operacji h; q i p k. Dalej k h 1 wartoci dolnego ograniczenia dla ustalonej instancji bdzie oznaczana przez LB. Nastpnie dla kadego przykładu obliczono warto funkcji celu C otrzymanego algorytmem a nastpnie policzono odległo wzgldem dolnego ograniczenia LB zgodnie z wzorem A lg C A lg / δ 100% ( LB) LB. Dla kadej z 8 grup przykładów i kadego testowanego algorytmu obliczono rednie wartoci odległoci δ ] z odpowiednich 10 wartoci δ. Dodatkowo dla kadego testowanego algorytmu obliczono redni warto wzgldnej odległoci dla wszystkich przykładów. Otrzymane wyniki przedstawiono w tabeli 1. Z wyników tych wnika e testowane algorytmy bazujce na tworzeniu rozwiza w oparciu o rozwizania pasywne (algorytmy NEH-P x 1 x 6 ) dostarczaj statystycznie lepsze rozwizania ni analogiczny algorytm bazujcy na rozwizaniach aktywnych (algorytm NEH-A). W drugiej czci testu sprawdzono czy wycignite wnioski dotyczce algorytmów generujcych rozwizania w proponowanych hybrydach s take słuszne w przypadku zmiany algorytmu sterujcego. W tym celu stworzono 8 nowych hybrydowych algorytmów. orytmy te powstały poprzez połczenie 4 rónych odmian algorytmu sterujcego oraz dwóch algorytmów generujcych rozwizania wersji A i P 4. Drugi algorytm sterujcy BigNEH powstał poprzez zmian w algorytmie NEH testowanych permutacji czciowych. Zmiana ta polega na wydłueniu permutacji ładujcych do permutacji wszystkich zada nawet tych jeszcze nieuszeregowanych. Zadania jeszcze nieuszeregowane dodawane s w kolejnoci naturalnej do czciowej permutacji zada ju uszeregowanych. Kolejne dwie odmiany algorytmu sterujcego MNEH i MBigNEH powstały poprzez dwukrotne uruchomienie algorytmu odpowiednio NEH i BigNEH raz w pierwotnej formie a raz rozwizujc lustrzane odbicie problemu. Jako ostateczne rozwizanie zwracane jest uszeregowanie lepsze w sensie wartoci funkcji celu z rozwizania oryginalnego jak i rozwizania otrzymanego dla lustrzanych danych. Ostatecznie przebadaniu poddane zostały nastpujce algorytmy NEH-A NEH-P 4 BigNEH-A BigNEH-P 4 MNEH-A MNEH-P 4 MBigNEH-A MBigNEH-P 4. Otrzymane j k o k

rezultaty zostały przedstawione w analogiczny sposób jak rezultaty z pierwszej czci testu i zamieszczone s w tabeli 2. Tab 1. Jako otrzymanych rozwiza mierzona wzgldem dolnego ograniczenia grupa INSA NEH A 1 2 δ ] δ ] NEH P NEH P δ ] δ ] r/m 15/15 246 497 480 489 20/15 255 508 519 486 20/20 311 632 593 576 30/15 231 441 414 410 30/20 299 521 536 543 50/15 169 312 291 292 50/20 202 407 377 393 100/20 140 261 237 237 Wszystkie 232 447 431 428 grupa 3 4 5 6 NEH P NEH P NEH P NEH P δ ] δ ] δ ] δ ] r/m 15/15 485 485 517 492 20/15 484 484 486 496 20/20 573 573 583 612 30/15 413 413 418 416 30/20 536 529 520 540 50/15 299 299 297 303 50/20 377 376 390 366 100/20 230 228 235 228 Wszystkie 425 423 431 431 Z tabeli 2 wynika e zastosowanie modyfikacji algorytmu NEH do BigNEH poprawia wydajno algorytmu rednio o 2%. Rozwizywanie instancji pierwotnej równoczenie z instancj lustrzan równie podniosło redni wydajno algorytmu o kolejne 2%. Ostatecznie najlepszym algorytmem sterujcym jest algorytm MBigNEH zawierajcy obydwie poprawki. Dla wszystkich czterech algorytmów sterujcych zmiana sposobu generacji rozwizania kocowego poprzez zmian czciowych uszeregowa aktywnych w pasywne przyniosła wzrost wydajnoci o kolejne 2%. Co wicej poprawa jakoci generowanych rozwiza widoczna jest w kadej (z wyjtkiem 1 grupy dla algorytmu NEH) grupie instancji kadego testowanego algorytmu sterujcego. Otrzymane wyniki uzasadniaj potrzeb przekształcania czciowych rozwiza aktywnych w rozwizania pasywne. Drugim wnioskiem wynikajcym z przeprowadzonych bada w czci pierwszej jak i drugiej jest stwierdzenie e wszystkie prezentowane w pracy algorytmy dostarczaj rozwiza duo słabszych (w sensie wartoci funkcji celu) ni algorytm INSA. Jednak skojarzmy teraz cztery nastpujce fakty:

Tab 2. Jako otrzymanych rozwiza mierzona wzgldem dolnego ograniczenia grupa δ ] δ ] δ ] δ ] r/m NEH-A NEH-P 4 BigNEH-A 15/15 497 485 479 466 20/15 508 484 476 452 20/20 632 573 571 553 30/15 441 413 399 373 30/20 521 529 526 507 50/15 312 299 296 266 50/20 407 376 379 347 100/20 261 228 245 217 Wszystkie 447 423 421 398 BigNEH-P 4 grupa δ ] δ ] δ ] δ ] r/m MNEH-A MNEH-P 4 MBigNEH-A MBigNEH-P 4 15/15 476 425 440 433 20/15 451 448 454 438 20/20 567 549 545 535 30/15 416 389 371 360 30/20 501 504 491 475 50/15 296 274 279 253 50/20 378 368 363 338 100/20 257 221 241 207 Wszystkie 418 397 398 380 - Dla problemu przepływowego algorytm NEH [6] jest najlepszym literaturowym algorytmem konstrukcyjnym. - Dla problemu gniazdowego algorytm INSA [4] jest najlepszym literaturowym algorytmem konstrukcyjnym. - Dla instancji problemu przepływowego algorytm NEH jest duo bardziej wydajny ni algorytm INSA - Dla instancji problemu przepływowego prezentowane algorytmy dostarczaj dokładnie takie same rozwizanie jak algorytm NEH. Oznacza to e dla instancji problemu gniazdowego podobnych w pewnym sensie do instancji problemu przepływowego prezentowane algorytmy mog okaza si najlepsze ze wszystkich znanych w literaturze algorytmów konstrukcyjnych. Pod tym ktem zostanie przeprowadzona dalsza cz bada. W trzeciej czci bada porównana zostanie jako czterech z proponowanych algorytmów hybrydowych z algorytmem INSA. Badania zostan przeprowadzone na odpowiednio skonstruowanych 880 instancjach testowych. Instancje te s podzielone na grupy po 80 sztuk. Kada grupa oznaczona jest symbolem D% i powstała z 80 przykładów zmodyfikowanych instancji Taillarda. Modyfikacja kadej instancji polega na ustawieniu naturalnej marszruty w pierwszych D% zadaniach. Pod pojciem naturalnej marszruty

zadania k rozumie si wykonywanie i-tej operacji tego zadania na maszynie nr i (w przykładach Taillarda kade zadanie składa si z m operacji o k m k J ). Grupa oznaczona symbolem 0% zawiera oryginalne instancje Taillarda dedykowane problemowi gniazdowemu natomiast grupa oznaczona symbolem 100% s to instancje sprowadzone całkowicie do problemu przepływowego; wszystkie zadania posiadaj naturaln marszrut. Tabela nr 3 zawiera rednie (z grupy 80 instancji) wartoci jakoci rozwizania mierzone wzgldem dolnego ograniczenia. Tab 3. Jako otrzymanych rozwiza mierzona wzgldem dolnego ograniczenia dla kolejnych grup D% modyfikowanych instancji A A D% δ ] δ ] δ ] δ ] δ ] A INSA A NEH-A A NEH-P 4 A BigNEH-A A BigNEH-P 4 0% 232 447 423 421 398 10% 237 439 428 420 398 20% 274 437 425 416 398 30% 330 427 419 418 400 40% 372 423 411 419 406 50% 419 403 396 413 411 60% 464 385 383 407 401 70% 480 350 357 381 377 80% 487 299 303 337 336 90% 507 237 238 281 283 100% 508 153 153 201 201 rednia 392 364 358 374 364 Z wyników zamieszczonych w tabeli 3 wynika i proponowane w pracy algorytmy hybrydowe uzupełniaj si doskonale z algorytmem INSA. Słabym punktem algorytmu INSA s przykłady zblione parametrami do przykładów problemu przepływowego. Im instancja zawiera wicej zada z naturaln marszrut tym algorytm INSA generuje rozwizania słabsze w sensie jakoci funkcji celu. Dokładnie odwrotn charakterystyk posiadaj algorytmy hybrydowe zaproponowane w pracy. Im wiksza jest liczba zada z naturaln marszrut tym jako generowanych rozwiza zaproponowanych algorytmów jest lepsza. Dla przykładów w których 50% zada charakteryzuje si marszrut naturaln proponowane algorytmy dostarczaj rozwiza niewiele lepszych ni rozwizania dostarczone algorytmem INSA. Gdy ilo zada z naturaln marszrut jest wiksza ni owa granica 50% proponowane algorytmy s zdecydowanie lepsze (w sensie jakoci produkowanych rozwiza) ni algorytm INSA. W badaniach nie skupiano si na analizie czasu oblicze kadego z algorytmów gdy czasy te były stosunkowo krótkie i podobne. Obliczenia przeprowadzone zostały na komputerze klasy PC z procesorem PentiumD 28GHz. orytmy napisane zostały w jzyku C i uruchamiane były w systemie Windows XP. Najszybszym algorytmem jest algorytm INSA który liczył rednio 40ms jedn instancj natomiast najwolniejszemu algorytmowi BigNeh-P 4 zajmowało to 150ms. Najszybszy z zaproponowanych algorytmów NEH-A liczył rednio 70ms jedn instancj. orytmy rozwizujce dodatkowo lustrzan instancj działy odpowiednio dwukrotnie dłuej ni odpowiadajce im algorytmy jednoprzebiegowe. A A A

6. Podsumowanie Z pracy wynika i stosowanie tylko rozwiza aktywnych podczas konstrukcji rozwiza jest złym podejciem. Prawd jest i dla kocowych rozwiza nie ma sensu tworzenia rozwizania pasywnego z rozwizania aktywnego gdy takie przekształcenie nie polepszy jakoci rozwizania (w przypadku minimalizacji długoci harmonogramu). Jednake dla algorytmów konstrukcyjnych podczas tworzenia rozwizania ocenianie czciowego harmonogramu tylko na podstawie aktualnej wartoci funkcji celu okazuje si by mało efektywne. Wyniki bada pokazały e odpowiednie przekształcanie czciowych rozwiza aktywnych w czciowe rozwizania pasywne wpływaj bardzo korzystnie na kocowe uszeregowanie. Umiejtne dobranie przekształcenia uszeregowania aktywnego w pasywne jest trudnym zagadnieniem gdy potencjalne korzyci z takiego zabiegu pojawiaj si dopiero w kolejnych krokach budowy rozwizania. W prezentowanej pracy zastosowano przekształcenie promujce przesunicie włoonej operacji w taki sposób aby pozostawi moliwie najwikszy czas przestoju maszyny. W wyniku tego zabiegu zwiksza si prawdopodobiestwo wpasowania póniej szeregowanych operacji. Słuszno takiego podejcia potwierdzona została dowiadczalnie poprzez zaobserwowanie poprawy generowanych w ten sposób rozwiza. Drugim osigniciem pracy jest stwierdzenie i dla instancji problemu gniazdowego w których ponad połowa zada ma charakter przepływowy proponowane algorytmy s zdecydowanie wydajniejsze ni INSA (najlepszy algorytm konstrukcyjny znany do tej pory). Przykładowo dla instancji prawie w całoci przepływowych (fakt i nie s one w pełni przepływowe eliminuje moliwo stosowania algorytmu NEH) proponowany algorytm NEH-A osigana rednio rozwizania o 30% lepsze ni algorytm INSA. Literatura 1. A.S. Jain S. Meeran. Determinstic job-shop scheduling: Past present and future. European Journal of Operational Research 113 1999 str. 390-434. 2. Lenstra J. Rinnooy Kan A.: Computational complexity of discrete optimization problems. Annals of Discrete Mathematics 1979 4 121. 3. Nowicki E.: Metoda tabu w problemach szeregowania zada produkcyjnych Oficyna Wydawnicza Politechniki Wrocławskiej Wrocław 1999. 4. Nowicki E. Smutnicki C.: A fast taboo search algorithm for the job shop problem. Management Science 42 1996 str. 797-813. 5. Taillard E.: Benchmarks for basic scheduling problems European Journal of Operational Research 64 1993 str. 278-285. 6. Nawaz M. Enscore Jr. E.E. Ham I.: A heuristic algorithm for the m-machine n-job flow-shop sequencing problem. OMEGA International Journal of Management Science 11 1983 str. 91-95. Dr in. Mariusz Makuchowski Politechnika Wrocławska Instytut Informatyki Automatyki i Robotyki 50-372 Wrocław ul Janiszewskiego 11/17 tel.: (0-71) 320-28-34 e-mail: mariusz.makuchowski@pwr.wroc.pl