RÓWNOLEGŁY ALGORYTM PRZESZUKIWANIA Z ZABRONIENIAMI DLA CYKLICZNEGO PROBLEMU GNIAZDOWEGO

Podobne dokumenty
CYKLICZNY PROBLEM PRZEPŁYWOWY Z PRZEZBROJENIAMI MASZYN

Optymalizacja harmonogramów budowlanych - problem szeregowania zadań

MODYFIKACJA KOSZTOWA ALGORYTMU JOHNSONA DO SZEREGOWANIA ZADAŃ BUDOWLANYCH

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ALGORYTM MRÓWKOWY (ANT SYSTEM) ALGORYTM MRÓWKOWY. Algorytm mrówkowy

Optymalizacja harmonogramów budowlanych - problem szeregowania zadań

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

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

OPTYMALIZACJA PRZEPUSTOWOŚCI SIECI KOMPUTEROWYCH ZA POMOCĄ ALGORYTMÓW GENETYCZNYCH

RÓWNOLEGŁY ALGORYTM SA DLA PEWNEGO PROBLEMU WIELOKRYTERIALNEGO

Algebra liniowa z geometrią analityczną

SYSTEM WSPOMAGANIA HARMONOGRAMOWANIA PRZEDSIĘWZIĘĆ BUDOWLANYCH

9.9 Algorytmy przeglądu

Metody optymalizacji dyskretnej

Colloquium 3, Grupa A

jest scharakteryzowane przez: wektor maksymalnych żądań (ang. claims), T oznaczający maksymalne żądanie zasobowe zadania P j

Schemat programowania dynamicznego (ang. dynamic programming)

Grupowanie sekwencji czasowych

1 Problemyprzepływowe

4.15 Badanie dyfrakcji światła laserowego na krysztale koloidalnym(o19)

wtedy i tylko wtedy, gdy rozwiązanie i jest nie gorsze od j względem k-tego kryterium. 2) Macierz części wspólnej Utwórz macierz

Matematyka Dyskretna Zadania

Filtracja pomiarów z głowic laserowych

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

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

Matematyka dyskretna. Wykład 2: Kombinatoryka. Gniewomir Sarbicki

AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2016

TEORIA OBWODÓW I SYGNAŁÓW LABORATORIUM

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

A. Cel ćwiczenia. B. Część teoretyczna

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

Koła rowerowe malują fraktale

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

ZASTOSOWANIE ALGORYTMÓW GENETYCZNYCH DO OPTYMALIZACJI SIECI KOMPUTEROWYCH

DWUPOZIOMOWA METODA WIELOKRYTERIALNEGO STEROWANIA PRZEPŁYWEM PRODUKTÓW

LABORATORIUM 4: Wpływ operatorów mutacji na skuteczność poszukiwań AE

9.4 Czasy przygotowania i dostarczenia

Podstawy rachunku prawdopodobieństwa (przypomnienie)

WYKŁAD 5 METODY OPTYMALIZACJI NIELINIOWEJ BEZ OGRANICZEŃ

Matematyka Dyskretna - zagadnienia

Sterowanie procesami dyskretnymi

σ-ciało zdarzeń Niech Ω będzie niepustym zbiorem zdarzeń elementarnych, a zbiór F rodziną podzbiorów zbioru Ω spełniającą warunki: jeśli A F, to A F;

( ) + ( ) T ( ) + E IE E E. Obliczanie gradientu błędu metodą układu dołączonego

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Sprawozdanie do zadania numer 2

Wybrane podstawowe rodzaje algorytmów

Priorytetyzacja przypadków testowych za pomocą macierzy

Wyznaczanie długości fali świetlnej za pomocą spektrometru siatkowego

9. Sprzężenie zwrotne własności

Ćwiczenie 4 Badanie wpływu asymetrii obciążenia na pracę sieci

P k k (n k) = k {O O O} = ; {O O R} =

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

ZAGADNIENIE TRANSPORTOWE

Metody numeryczne I Równania nieliniowe

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

SZTUCZNA INTELIGENCJA

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

Metody komputerowe i obliczeniowe Metoda Elementów Skoczonych. Element jednowymiarowy i jednoparametrowy : spryna

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

PROBLEM HARMONOGRAMOWANIA ZADAŃ WIELOMASZYNOWYCH

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

Uwaga 1.1 Jeśli R jest relacją w zbiorze X X, to mówimy, że R jest relacją w zbiorze X. Rozważmy relację R X X. Relację R nazywamy zwrotną, gdy:

HARMONOGRAMOWANIE CYKLICZNE W JEDNOSTKACH OPIEKI ZDROWOTNEJ

i = n = n 1 + n 2 1 i 2 n 1. n(n + 1)(2n + 1) n (n + 1) =

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

Indukcja matematyczna

Wydajność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

RACHUNEK PRAWDOPODOBIEŃSTWA WYKŁAD 5.

Ćwiczenie nr 35: Elektroliza

A i A j lub A j A i. Operator γ : 2 X 2 X jest ciągły gdy

Wykład 21: Studnie i bariery cz.1.

Optymalizacja. Przeszukiwanie tabu

HARMONOGRAMOWANIE CYKLICZNE W PRZEPŁYWOWYCH SYSTEMACH PRODUKCYJNYCH

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,

Metody Programowania

Sterowanie Ciągłe. Używając Simulink a w pakiecie MATLAB, zasymulować układ z rysunku 7.1. Rys.7.1. Schemat blokowy układu regulacji.

Wybrane rozkłady zmiennych losowych i ich charakterystyki

Programowanie wielocelowe lub wielokryterialne

Metoda rozwiązywania układu równań liniowych z symetryczną, nieokreśloną macierzą współczynników ( 0 )

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

Metody Optymalizacji: Przeszukiwanie z listą tabu

Przeszukiwanie lokalne

Harmonogramowanie produkcji

Numeryczna algebra liniowa

Analiza wpływu długości trwania strategii na proces optymalizacji parametrów dla strategii inwestycyjnych w handlu event-driven

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

Programowanie celowe #1

System wspomagania harmonogramowania przedsięwzięć budowlanych

Funkcje dwóch zmiennych

przedsięwzięć budowlanych i mające

Matematyczne Podstawy Informatyki

ZARYS METODY OPISU KSZTAŁTOWANIA SKUTECZNOŚCI W SYSTEMIE EKSPLOATACJI WOJSKOWYCH STATKÓW POWIETRZNYCH

PORÓWNANIE WYBRANYCH ALGORYTMÓW OPTYMALIZACJI ROZPŁYWU MOCY W SYSTEMIE ELEKTROENERGETYCZNYM A COMPARISON OF SELECTED OPTIMAL POWER FLOW ALGORITHMS

Materiały do wykładów na temat Obliczanie sił przekrojowych i momentów przekrojowych. dla prętów zginanych.

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

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

DRGANIA WŁASNE RAM OBLICZANIE CZĘSTOŚCI KOŁOWYCH DRGAŃ WŁASNYCH

Analiza ilościowa w przetwarzaniu równoległym

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

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO

LINIA MONTAŻOWA Z WIELOMA OPERATORAMI NA POJEDYNCZEJ STACJI ROBOCZEJ

Transkrypt:

RÓWNOLEGŁY ALGORYTM PRZESZUKIWANIA Z ZABRONIENIAMI DLA CYKLICZNEGO PROBLEMU GNIAZDOWEGO Wojciech BOŻEJKO, Andrzej GNATOWSKI, Mieczysław WODECKI Streszczenie: W pracy rozpatrujemy cyliczny problemem gniazdowy, polegający na wytwarzaniu w ustalonych odstępach czasu pewnego zestawu elementów. Optymalizacja procesu sprowadza się do minimalizacji czasu cylu, tj. czasu, po tórym może nastąpić wyonywanie następnej partii tych samych elementów. Ponieważ problem jest silnie NPtrudny, więc do jego rozwiązywania będziemy stosowali algorytm przybliżony zaprojetowany do pracy w środowisu wieloprocesorowym. Słowa luczowe: szeregowanie zadań, algorytm równoległy, poszuiwanie z tabu 1. Wstęp Problemy cyliczne stanowią unialną, stosunowo mało zbadaną podlasę problemów szeregowania zadań. Jedna ostatnio cieszą się one znacznie więszym zainteresowaniem zarówno pratyów ja i teoretyów, głównie ze względu na ich duże znaczenie pratyczne oraz trudności z onstruowaniem odpowiednio efetywnych algorytmów rozwiązywania. Silna NP-trudność już wielu najprostszych wersji badanego problemu ogranicza zares stosowania algorytmów doładnych wyłącznie do instancji o niewielim rozmiarze. W rozpatrywanym wielomaszynowym systemie producji cylicznej dowolny element z ustalonej partii (mieszani) przechodzi w zadanej olejności technologicznej przez maszyny. Problem polega na minimalizacji czasu cylu, tj. czasu po tórym może nastąpić wyonywanie następnej partii tych samych elementów. Formalnie można go sformułować następująco: rozważany jest system wytwórczy złożony z m stanowis (maszyn o jednostowej przepustowości) oznaczonych M = {1,2,,m}. W systemie należy wyonywać cylicznie (w sposób powtarzalny) n zadań danych zbiorem N = {1,2,,n}. Zadanie j-te wymaga sewencji n j operacji indesowanych olejnymi liczbami naturalnymi (l j-1+1,,l j-1+n j), wyonywanych w podanej olejności, gdzie l = n jest całowitą liczbą operacji pierwszych j zadań, j=1,2,,n, l 0 = 0, oraz n = o. Operacja i O = {1,2,,o} ma być wyonywana na maszynie v im w nieprzerywalnym czasie p i > 0. Należy wyznaczyć cyliczny harmonogram pracy systemu przy następujących ograniczeniach: (1) ażda maszyna może wyonywać co najwyżej jedną operację w ażdej jednostce czasu, (2) ażda operacja może być wyonywany na co najwyżej jednej maszynie w ażdej jednostce czasu, (3) wyonywanie operacji nie może być przerwane. Zbiór zadań wyonywanych w pojedynczym cylu nazywany jest MPS-em (ang. Minimal Part Set). MPS-y są przetwarzane jeden po drugim w sposób cyliczny, dostarczając partię zadań (mieszanę produtów) w ilościach odpowiedniej dla ażdego cylu. Problem sprowadza się więc do ustalenia momentów rozpoczęcia wyonywania zadań na maszynach, aby czas cylu (czas po tórym zadanie jest wyonywane w olejnym MPSie) był minimalny. 622

Przegląd stanu wiedzy dotyczącego cylicznych zagadnień szeregowania zadań znaleźć można w pracy Levner i in. [1], a taże w rozprawie dotorsiej Kampmeyera [2]. Przegląd zagadnień producji cylicznej z zadaną liczbą MPS znaleźć można w pracach Sawia [3, 4]. Nowe własności harmonogramów cylicznych zaproponował Smutnici [5-7] oraz Pempera i Smutnici [8] i Dąbrowsi, Pempera, Smutnici [9]. Wstępne wynii badań autorów nad problemami cylicznymi opubliowane zostały w pracach Bożejo, Gniewowsi, Pempera, Wodeci [10], Bożejo, Kacprza, Wodeci [11] oraz Bożejo i Wodeci [12]. 2. Model matematyczny Zbiór operacji O w pojedynczym MPS może być w naturalny sposób zdeomponowany na podzbiory O = {j O : v j = }, z tórych ażdy odpowiada operacjom wyonywanych na maszynie ; niech m = O, M. Kolejność wyonywania operacji na maszynach jest definiowana jao m-rota π = (π 1,,π m), gdzie π = (π (1),,π (m )) jest permutacją elementów zbioru O, M; π (i) oznacza element O, tóry jest na pozycji i w π. Niech będzie zbiorem wszystich permutacji elementów z O. Stąd olejność wyonywania π 1 2 m. Harmonogram dla olejności wyonywania -tego MPS (według olejności wyonywania π) opisujemy zasadniczo przez dwa wetory zdarzeń S = (S,, S ), C = (C,, C ), gdzie S i C oznaczają odpowiednio termin rozpoczęcia i zaończenia operacji j w -tym MPS. Zdarzenia te muszą spełniać następujące ograniczenia: C C i Si 1, i = l j1 1,, l j 1, j =1,, n, (1) S, i = 1,, m 1, = 1,,, (2) ( i) ( i 1) m Ci = Si pi, i =1,, o, S i (3) 0, i =1,, n, (4) gdzie =1,2,. Ograniczenie (1) wynia z porządu technologicznego wyonywania operacji wewnątrz zadań, podczas gdy (2) z sewencyjnego charateru pracy maszyn. Równania (3) oraz (4) są oczywiste. Mówimy, że olejność wyonywania π jest dopuszczalna, jeśli istnieje co najmniej jeden harmonogram S, C, =1,2,, spełniający ograniczenia (1) (4). Zauważmy, że używając (3) możemy reprezentować harmonogram dla -tego MPS przez jeden wetor S. Wtedy ograniczenia (1) (4) przyjmą następującą postać: S S i pi Si 1, i = l j1 1,, l j 1, j =1,, n, (5) p S, i =1,, m 1, = 1,,, (6) ( i) ( i) ( i1) m S i 0, i = 1,, n. (7) W proponowanym modelu możliwe są przeploty zadań z olejnych MPS, tj. wyonywanie operacji z olejnego, +1-go MPS przed zaończeniem wyonywania wszystich operacji z -tego MPS na danej maszynie. Przeploty taie mogą zostać 623

zabronionie (z różnych względów, m.in. technologicznych lub organizacyjnych) poprzez dodanie do modelu ograniczenia: lub równoważnego: 1 C ( m ) S (1), = 1,, m, (8) S 1 ( m ) p ( m ) S (1), =1,, m. (9) Definicja 1 Czas cylu T w fazie ustalonej harmonogramu, tj. gdy różnica momentów rozpoczęcia operacji w olejnych ich powtórzeniach jest stała, wynosi T = S S, =1,2,. Czas cylu T jest liczbą rzeczywistą i zależy od π, a oczywiście nie ażda jego wartość jest dopuszczalna, bowiem momenty rozpoczęcia wyonywania zadań S, j=1,2,,o, =1,2,, muszą taże spełniać ograniczenia (5) (7). Przez T(π) będziemy oznaczać minimalną wartość czasu cylu, spełniającą ograniczenia (5) (7). 2. Model grafowy Niech grafy H(π) i G(π) będą zdefiniowane w następujący sposób [13]: G(π) = (O, R ℇ(π)), (10) H(π) = (O, R ℇ(π) ℇ (π)), (11) gdzie O jest zbiorem wierzchołów, a R ℇ(π) ℇ (π) to zbiory łuów: R = {(i, i + 1)}, (12) ℇ(π) = {(π (i), π (i + 1))}, (13) ℇ (π) = π (m ), π (1). (14) Łui olejności technologicznej oznaczmy przez R, łui olejności maszynowej przez ℇ(π), a łui cyliczne przez ℇ (π). Niech wierzchołe j O reprezentuje j-tą operację i posiada wagę 0. Łui ze zbioru R reprezentują olejność technologiczną wyonywania operacji w zadaniu; łui ze zbioru ℇ(π) olejność wyonywania operacji na maszynach, a łui ze zbioru ℇ (π) ograniczenie poprzedzania w olejnych cylach: S ( ) + p ( ) T S (). (15) Każdy łu (i, j) R ℇ(π) obciążony jest wagą p, łui (i, j) ℇ (π) posiadają wagę p T. Własność 1 [15] Kolejność wyonywania π jest dopuszczalna wtedy i tylo wtedy, gdy graf G(π) nie zawiera cylu oraz T zostało wybrane ta, że H(π) nie zawiera cylu o dodatniej długości. 624

3. Przeszuiwanie z zabronieniami Metoda poszuiwania z zabronieniami (tabu search, TS) została pierwotnie zaproponowana przez Glovera [14]. Jest ona modyfiacją metody przeszuiwania loalnego. Dopuszcza się możliwość zwięszania wartości funcji celu (przy wyznaczaniu nowego rozwiązania generującego otoczenie), aby w ten sposób zwięszyć szansę na osiągnięcie minimum globalnego. W celu uninięcia cylicznego odwiedzania rozwiązań, sierowania poszuiwań w obiecujące regiony przestrzeni oraz umożliwienie wyjścia z estremum loalnego wprowadza się tzw. mechanizm zabronień. Wyonując ruchy zapamiętuje się rozwiązania, atrybuty rozwiązań lub ruchów na liście tabu (LT). Generując otoczenie nie rozpatrujemy rozwiązań znajdujących się na tej liście chyba, że spełniają ryterium aspiracji, to jest waruni, przy tórych ograniczenia tabu można pominąć. Na Rysunu 1 przedstawione zostały olejne roi równoległego algorytmu przeszuiwania z zabronieniami. Algorytm 1. Przeszuiwanie z zabronieniami π * najlepsze znalezione dotychczas rozwiązanie, LT := ; Kro 0: Wyznacz rozwiązanie startowe π 0 ; π := π 0 ; Kro 1: Wyznacz sąsiedztwo N(π) bieżącego rozwiązania π; Usuń z sąsiedztwa N(π) elementy zabronione przez listę LT; Kro 2: Podziel N(π) na = () grup; Każda grupa zawiera co najwyżej p elementów; Kro 3: Dla ażdej grupy s=1,2,, znajdź (używając p procesorów) uszeregowania π s o najmniejszej wartości minimalnego czasu cylu T Kro 4: Znajdź uszeregowanie z N(π) dla tórego z=arg min{t(π s ): s=1,2,,} Kro 5: Jeśli T(z) < T(π * ) to π * := z; Umieść atrybuty ruchu prowadzącego z π do z na liście LT; Kro 6: Jeśli (warune stopu jest spełniony) to Stop; w przeciwnym wypadu idź do rou 1.; Rys. 1. Pseudood dla algorytmu przeszuiwania z zabronieniami W drugim rou algorytmu sąsiedztwo N(π) jest dzielone na rozłączne zbiory. Dla ażdej grupy wartość funcji celu jest wyznaczana przy użyciu p procesorów. Liczba procesorów użytych w rou trzecim może być stałą lub uzależniona od rozmiaru sąsiedztwa. Mechanizm zabronień realizowany jest za pomocą listy tabu stanowiącej rótoterminową historię przeszuiwań. Dodawane są do niej odwiedzone przez algorytm rozwiązania. Gdy długość listy osiągnie masymalną ustaloną wartość L przed dodaniem olejnego rozwiązania usuwane jest najstarsze. W przypadu gdy w danym rou wszyscy sąsiedzi znajdują się na liście tabu, usuwane są z niej olejne rozwiązania, począwszy od najstarszego, ta długo, aż co najmniej jeden z sąsiadów nie jest zabroniony. Dodatowo wprowadzono ryterium aspiracji: ażdy sąsiad o wartości funcji celu mniejszej od dotychczasowego najlepszego rozwiązania nie jest zaazany, nawet jeśli znajduje się na liście tabu. Sąsiedztwo. Atrybuty ruchu prowadzącego do rozwiązania sąsiedniego opisywane są nieuporządowaną parą zadań {i, j}, M(i) = M(j) = m, tórych olejność wyonywania na 625

maszynie m jest zamieniana. W algorytmie przyjęto strategię wyboru sąsiada o najmniejszej wartości funcji celu. Sąsiedztwo tworzone jest w oparciu o teorię bloów: bloiem B dla ścieżi µ w grafie H(π) nazywa się taą podścieżę o masymalnej długości, tóra zawiera tylo łui olejności maszynowej R. Ja poazano w [16], czas cylu może ulec poprawie tylo jeśli modyfiuje się pierwszy lub ostatni łu blou B. W badaniach esperymentalnych w [16] opisane sąsiedztwo oazało się być najlepsze z rozważanych, stąd zdecydowano się na jego zastosowanie. Procedura startowa. Do rozpoczęcia działania algorytmu TS potrzebne jest dopuszczalne rozwiązanie początowe. Tworzone jest ono za pomocą prostego algorytmu ustalającego taą olejność wyonywania operacji na maszynach, w tórej wszystie operacje z zadania i są wyonywane przed operacjami zadania j, jeśli i < j. 3.1. Funcja celu Funcja celu f(π) dla zadanej olejności wyonywania operacji π zwraca minimalny czas cylu T(π), f(π) = T(π). Do tej pory do jej wyznaczania w literaturze stosowana była metoda Howarda [17] (używano jej między innymi w [16]). W niniejszej pracy użyto rozwiązania własnego opartego o metodę bisecji oraz algorytm Bellmana-Forda. Znane są sposoby oszacowania wartości długości czasu cylu celu z góry (T (π)) i z dołu (T (π)). Oszacowaniem górnym może być T (π) = C (π), a oszacowaniem dolnym masimum sum czasów wyonywania operacji na maszynach w pojedynczym MPSie: T (π) = ma p 626 (i). (16) Ponieważ suma p (i) nie zależy od olejności π, również ta zdefiniowane dolne oszacowanie nie zależy od π, czyli T = T (π). 3.2. Zmodyfiowany algorytm Bellmana-Forda (B-F) Za pomocą zmodyfiowanego algorytmu Bellmana-Forda możliwe jest wyznaczenie cylu o najwięszej wadze w grafie H(π) przechodzącego przez zadany wierzchołe reprezentujący operację i. Algorytm Bellmana-Forda [18] umożliwia wyznaczenie najrótszej ścieżi pomiędzy dwoma wierzchołami w grafie ważonym. W grafie nie może występować cyl o ujemnej wadze osiągalny ze źródła. W zastosowaniu do rozważanego problemu należy zmodyfiować algorytm Bellmana- Forda ta, aby znajdował najdłuższą ścieżę w grafie H(π) pomiędzy wierzchołami i i j. Warune nie występowania cylu o łącznej ujemnej wadze zostaje zastąpiony waruniem nie występowania cylu o łącznej dodatniej wadze osiągalnej ze źródła. W grafie H(π) ażdy z wierzchołów ma co najwyżej dwa łui wychodzące. Stąd najdłuższy cyl przechodzący przez wierzchołe i ma wagę: L (T, π) = ma{bf(i, j ) + δ(j, i), BF(i, j ) + δ(j, i)}, (17) gdzie BF(i, j ) oznacza najdłuższą ścieżę między wierzchołami j i i, a δ(j, i) wagę łuu (j, i). Jeśli graf H(π) posiada dodatni cyl osiągalny z wierzchoła i, algorytm B-F znaleźć może ścieżę o najwięszej wadze i długości rzędu O( V[H(π)] E[H(π)] ). Ścieżę taą oznaczono dalej jao L (π, T).

Z własności cylicznego problemu gniazdowego wynia, że ażdy cyl grafu H(π) musi zawierać łu cyliczny (π (m ), π (1)). Stąd wiadomo, że cyl o najwięszej wadze w grafie zawierać będzie operację: i O = {π (1), π (1),, π (1)}. (18) Niech L(T, π) oznacza cyl o najwięszej wadze w grafie H(π). Uruchamiając zmodyfiowany algorytm Bellmana-Forda dla grafu H(π) i operacji ze zbioru O można więc wyznaczyć: L(T, π) = ma {L (π, T)}. (19) Analogiczne rozumowanie przeprowadzić można gdy graf H(π) zawiera cyl o dodatniej wadze, otrzymując L (π, T). 3.3. Metoda równego podziału (bisecji) Dla ustalonego π, T(π) szacować można za pomocą metody równego podziału, szuając ja najmniejszego T taiego, że L(π, T) 0. Jao przedział startowy należy przyjąć [T, T (π)]. Opis algorytmy można znaleźć w [19]. Ponieważ: oraz: L(T, π) = L (π, T) dla T T(π) (20) L(T, π) > 0 L (π, T) > 0 dla T < T(π), (21) w poszuiwaniu minimalnego czasu cylu metodą bisecji funcje L (π, T) i L(T, π) można stosować zamiennie. Ponieważ funcja L (T, π) jest ciągła na przedziale [T, T (π)], oraz: L (T, π) > 0 L (T (π), π) < 0, (22) dozwolone jest użycie metody równego podziału. W przypadu gdy L (T, π) = 0 L (T (π), π) = 0 stosowanie bisecji nie jest zasadne, bo znane jest rozwiązanie optymalne. Dodatowo ścisła monotoniczność funcji L (T, π) gwarantuje istnienie jednego pierwiasta równania L (T, π) = 0, dla zadanego π. 3.4. Wersja równoległa algorytmu Obliczanie wartości funcji oceniającej zabiera najwięszą część czasu pojedynczej iteracji TS (patrz Rysune 2), stąd obszar ten zbadano pod ątem możliwości przyspieszenia algorytmu. Zrównoleglić można obliczenia związane z wyznaczaniem funcji oceniającej, bądź obliczać ją dla wielu permutacji jednocześnie. W pracy tej przyjęto drugie z wymienionych rozwiązań. 627

Rys. 2. Uproszczony schemat pętli algorytmu TS W ażdej iteracji algorytmu TS generowane jest otoczenie rozwiązania. Następnie obliczana jest wartość funcji oceniającej dla ażdego z sąsiadów. W zrównoleglonym algorytmie obliczania te wyonywane są równolegle. Ze względu na architeturę sprzętu na jaim przeprowadzane były esperymenty, wybrano technologię implementacji OpenMP. Pozwala ona tworzyć wieloplatformowe apliacje dla systemów wieloprocesorowych ze współdzieloną pamięcią. Do zrównoleglenia użyto lauzuli pozwalającej na wybór liczby wątów obliczeniowych: #pragma omp parallel for num_threads(liczba_watkow). Umożliwia ona równoczesne wyonywanie przez wiele wątów pętli for. Procedura przydziału zadań do wątów jest realizowana automatycznie przez OpenMP. 4. Wynii esperymentalne Algorytm został zaimplementowany w języu C++ w środowisu Visual Studio 2013. Testy przeprowadzono na omputerze z 6-cio rdzeniowym (12 wątów) procesorem Intel Core i7-4930k 3.90 GHz, systemie Windows 8.1 Pro z 32GB pamięci RAM. 4.1. Instancje testowe Użyto przyładów ze zbioru OR-Library po raz pierwszy opisanego w [20], do tórych dostęp można uzysać na stronie internetowej [21]. Wybrano instancje dla problemu gniazdowego. Zmieniono go w problem cyliczny przyjmując, że zadania z instancji tworzą pojedynczy MPS. Listę problemów testowych zawiera Tabela 1. 628

Tab. 1. Instancje testowe dla problemu gniazdowego. Instancja liczba liczba liczba liczba liczba liczba instancja zadań maszyn operacji zadań maszyn operacji la01 10 5 50 la23 15 10 150 la02 10 5 50 la24 15 10 150 la03 10 5 50 la25 15 10 150 la04 10 5 50 la26 20 10 200 la05 10 5 50 la27 20 10 200 la06 15 5 75 la28 20 10 200 la07 15 5 75 la29 20 10 200 la08 15 5 75 la30 20 10 200 la09 15 5 75 la31 30 10 300 la10 15 5 75 la32 30 10 300 la11 20 5 100 la33 30 10 300 la12 20 5 100 la34 30 10 300 la13 20 5 100 la35 30 10 300 la14 20 5 100 la36 15 15 225 la15 20 5 100 la37 15 15 225 la16 10 10 100 la38 15 15 225 la17 10 10 100 la39 15 15 225 la18 10 10 100 la40 15 15 225 la19 10 10 100 ft06 6 6 36 la20 10 10 100 ft10 10 10 100 la21 15 10 150 ft20 20 5 100 la22 15 10 150 4.2. Parametry Wstępnie sprawdzono dla jaich długości listy tabu uzysiwano najlepsze wynii. Wybrano L = 7. Aby porównać czas wyonywania algorytmu z [16], ustalono liczbę iteracji Iter na 200 i 800. Dodatowo wyonano symulacje dla Iter = {3200, 6400, 12800, 50000}. Wersję zrównolegloną algorytmu uruchamiano dla ilości wątów TH = {2,4,6,8,10,12} i Iter = 200 dla wszystich instancji testowych. Mierzone były: średnie odchylenie względne czasu cylu; odchylenie zdefiniowano jao: T = 100%, (23) gdzie T oznacza czas cylu obliczony przez algorytm heurystyczny TS, a T dolne oszacowanie czasu cylu; średni czas wyonywania algorytmu t ; dla wersji równoległej średnie przyspieszenie: s =, (24) gdzie t oznacza średni czas wyonywania algorytmu przy wyorzystaniu wątów; dla różnych liczby iteracji lub wątów. 629

4.3. Wynii Ze względu na różne założenia dotyczące rozłączności MPS, wartości T nie mogą być bezpośrednio porównywane z wyniami pracy [16]. W pracy [16] dla H = 1 gwarantowana jest rozłączność MPS, jedna wprowadzone jest dodatowe ograniczenie C S. Co więcej, w pracy tej zastosowano inne oszacowania dolne rozwiązań - sorzystano z literaturowych oszacowań dla porewnego problemu gniazdowego. Dla H = 2 dolne oszacowanie budowano w ten sam sposób co w niniejszej pracy, nie jest jedna gwarantowana rozłączność MPS. Aby móc porównać czasy działania algorytmu zaproponowanego w [16], oszacowano różnicę mocy obliczeniowej procesorów użytych w esperymentach. Na podstawie porównania wydajności rdzeń-na-rdzeń [22] oszacowano t t 0.25, gdzie t oznacza przybliżony czas wyonywania algorytmu z [16] na procesorze użytym w niniejszym esperymencie. Wersja sewencyjna algorytmu. Rezultat esperymentu numerycznego poazano w Tabeli 2. Algorytm wymagał średnio więszej liczby iteracji do uzysania wyniu zbliżonego do tego z [16]. Dopiero przy Iter = 6400 uzysano rezultat T < 6. Jednocześnie poszczególne iteracje algorytmu własnego wyonywały się szybciej (również po przeliczeniu czasu na t ). Pozwoliło to na zbadanie zachowania algorytmu dla więszych Iter. Zwięszanie Iter powyżej 12800 powodowało niewielie poprawienie T. Dla wielu z instancji problemu udało się uzysać czas cylu równy dolnemu jego oszacowaniu. W podobnym czasie taie samo zjawiso zaobserwowano w [16]. Tab. 2. Wynii obliczeń sewencyjnego algorytmu TS. Brucer, Kampmeyer [16], Brucer, Kampmeyer [16], TS H Iter = 1 H = 2 T t T t t T t t [%] [s] [%] [s] [s] [%] [s] [s] 200 69.71 6 14.42 317 78.25 12.69 436 109 800 27.57 19 5.83 567 141.75 5.42 623 155.75 3200 12.08 57 - - - - - - 6400 5.7 107 - - - - - - 12800 4.63 178 - - - - - - 50000 4.38 524 - - - - - - Wersja równoległa algorytmu. Dla liczby iteracji Iter = 200 uruchomiono sewencyjną oraz równoległą wersję algorytmu. Liczbę wątów ograniczono do 12, ze względu na parametry techniczne procesora. Rysune 3 przedstawia wynii esperymentu. Instancje testowe podzielono na 3 grupy według liczby operacji. Wartość przyspieszenia zależy od liczby sąsiadów w otoczeniu w ażdej z iteracji algorytmu TS oraz czasu potrzebnego do wyznaczenia wartości funcji oceniającej. W więszych instancjach testowych otoczenia są przeciętnie więsze oraz wyliczanie funcji oceniającej zabiera więcej czasu. Stąd przyspieszenie dla grupy (200 300) jest najwięsze. Spade przyspieszenia dla więszej ilości wątów dla grupy (36 100) wynia z narzutu wiążącego się z użyciem równoległej pętli for z OpenMP. 630

5. Wniosi Rys. 3. Zależność przyspieszenia od liczby wątów dla Iter = 200. W pracy przedstawiono równoległy algorytm przeszuiwania z zabronieniami dla cylicznego problemu gniazdowego. Badania przeprowadzono na literaturowych danych testowych. Zrównoleglona wersja algorytmu TS pozwala na wyonywanie więszej liczby iteracji w tym samym czasie, w porównaniu do algorytmu sewencyjnego, co prowadzi to do uzysiwania mniejszych czasów cylu. Czynniiem ograniczającym przyspieszenie jest wielość sąsiedztwa. W badanych instancjach problemu, w celu uzysania więszego przyspieszenia należałoby zrównoleglić inną część algorytmu, np. algorytm Bellmana-Forda lub bisecji. Dla zaproponowanego algorytmu, przy wyorzystaniu więszej liczby procesorów, możliwe byłoby zastosowanie innych strategii tworzących więsze sąsiedztwa. Praca została częściowo sfinansowana ze środów Narodowego Centrum Naui przyznanych na podstawie decyzji numer DEC-2012/05/B/ST7/00102. Bibliografia 1. Levner E., Kats V, Lopez A.P., Cheng T.C.E. Compleity of cyclic scheduling problems: A state-of-the-art survey. Computers and Industrial Engineering, 59, 2010, 352-361. 2. Kampmeyer T., Cyclic Scheduling Problems, Ph.D. Dissertation, Universitat Osnabruc, 2006. 3. Sawi T., A mied integer program for cyclic scheduling of fleible flow lines, Bulletin of the Polish Academy of Sciences, Technical Sciences, Vol. 62, No. 1, 2014, 121 128. 4. Sawi T., Batch vs. cyclic scheduling in fleible flow shops by mied integer programming, International Journal of Production Research 50(18), 2012, 5017 5034. 5. Smutnici C.: Scheduling with high variety of customized compound products. Decision Maing in Manufacturing and Services, 1, 1/2, 2007, 91-110. 6. Smutnici C., Smutnici A.: Nowe własności harmonogramów cylicznych w systemie przepływowym, Automatya, t. 11, z. 1/2, 2007, 275-285. 631

7. Smutnici C., Smutnici A.: Harmonogramowanie cyliczne w systemie gniazdowym, Zastosowania teorii systemów, AGH, 2007, 105-115. 8. Pempera J., Smutnici C., Minimalizacja czasu cylu wytwarzania na linii: Podejście genetyczne z espresją genów. Automatya 2005, t. 9, z. 1/2, 189-199. 9. Dąbrowsi P., Pempera J., Smutnici C.: Minimizing cycle time of the flow line-genetic approach with gene epression, Lecture Notes in Computer Science, vol. 4431, 2007, 194-201. 10. Bożejo W., Gniewowsi Ł., Pempera J., Wodeci M., Cyclic hybrid flow-shop scheduling problem with machine setups, Procedia Computer Science Vol. 29, 2014, 2127 2136. 11. Bożejo W., Kacprza Ł., Wodeci M., Cyliczny problem przepływowy z przezbrojeniami maszyn, Innowacje w Zarządzaniu i Inżynierii Producji (red. R. Knosala), Oficyna Wydawnicza Polsiego Towarzystwa Zarządzania Producją, Opole 2014, 484-493. 12. Bożejo W., Wodeci M., Problemy cyliczne z równoległymi maszynami, w: Automatyzacja procesów dysretnych, Teoria i zastosowania (red. A. Świernia, J. Kryste), Gliwice 2014, 27-36. ISBN 978-83-62652-67-9. 13. Smutnici C., Nowici E.: A fast taboo search algorithm for the job shop problem. Management science, Issue 42.6, 1996, 797-813. 14. Glover F., Laguna M., Tabu Search, Kluwer, 1997. 15. Smutnici C.: Opracowanie metod efetywnego wyznaczania czasu cylu dla zadanej olejności wyonywania zadań w systemie gniazdowym, Raport PREPRINTY nr 78/2013. 16. Brucer P., Kampmeyer T.: Tabu search algorithms for cyclic machine scheduling problems. Journal of Scheduling, Issue 8.4, 2005, 303-322. 17. Dasdan A., Irani S. S., Gupta R. K.: Efficient algorithms for optimum cycle mean and optimum cost to time ratio problems. Proceedings of the 36th annual ACM/IEEE Design Automation Conference, 1999, 37-42. 18. Cormen T. H., Leiserson C. E., Rivest R. L., Clifford, S.: Introduction To Algorithms. MIT Press, 2001, 588-592. 19. Burden R. L., Faires J. D.: Numerical Analysis (9th ed.), Broos/Cole, Cengage Learning, 2011, 48-54. 20. Beasley J. E.: OR-Library: distributing test problems by electronic mail. Journal of the Operational Research Society, Issue 41(11), 1990, 1069-1072. 21. OR-LIBRARY, dostęp: http://people.brunel.ac.u/~mastjjb/jeb/info.html [09 01 2015]. 22. Geebench Browser, dostęp: http://browser.primatelabs.com/ [09 01 2015]. Dr hab. Wojciech BOŻEJKO, prof. nadzw. Mgr inż. Andrzej GNATOWSKI Wydział Eletronii, Politechnia Wrocławsa 50-370 Wrocław, ul. Wyb. Wyspiańsiego 27, e-mail: wojciech.bozejo@pwr.wroc.pl andrzej.gnatowsi@pwr.wroc.pl Dr hab. Mieczysław WODECKI, prof. nadzw. Instytut Informatyi, Uniwersytet Wrocławsi 50-383 Wrocław, ul. Joliot-Curie e-mail: mwd@ii.uni.wroc.pl 632