OPERACJE WIELOMASZYNOWE Z NIERÓWNOCZESNYM UśYCIEM MASZYN W PROBLEMIE GNIAZDOWYM

Podobne dokumenty
Poszukiwanie optymalnego wyrównania harmonogramu zatrudnienia metodą analityczną

Numeryczne modelowanie ustalonego pola temperatury

jest rozwiązaniem równania jednorodnego oraz dla pewnego to jest toŝsamościowo równe zeru.

wiedzy Sieci neuronowe (c.d.)

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

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

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka

Matematyka ubezpieczeń majątkowych r.

9.9 Algorytmy przeglądu

Programowanie celowe #1

(Dantzig G. B. (1963))

Statystyka hydrologiczna i prawdopodobieństwo zjawisk hydrologicznych.

Zestaw 12- Macierz odwrotna, układy równań liniowych

ANALIZA HIERARCHICZNA PROBLEMU W SZACOWANIU RYZYKA PROJEKTU INFORMATYCZNEGO METODĄ PUNKTOWĄ. Joanna Bryndza

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

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

Analiza ilościowa w przetwarzaniu równoległym

Wykład 3. Opis struktury zbiorowości. 1. Parametry opisu rozkładu badanej cechy. 3. Średnia arytmetyczna. 4. Dominanta. 5. Kwantyle.

BADANIA OPERACYJNE ANALITYKA GOSPODARCZA

Rachunek prawdopodobieństwa projekt Ilustracja metody Monte Carlo obliczania całek oznaczonych

Technologia informacyjna

Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu - metodologia badań

Aproksymacja funkcji a regresja symboliczna

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta

KONTROLING I MONITOROWANIE ZLECEŃ PRODUKCYJNYCH W HYBRYDOWYM SYSTEMIE PLANOWANIA PRODUKCJI

Układy równań liniowych. Ax = b (1)

WYKORZYSTANIE NARZĘDZIA Solver DO ROZWIĄZYWANIA ZAGADNIENIA Problem przydziału

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

Spis treści. spis treści wygenerowany automatycznie

Gramatyki grafowe. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ.

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

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1

LABORATORIUM. Transport materiałów przy wykorzystaniu przenośników bezcięgnowych rurowych. (próby funkcjonalne na stanowisku modelowym)

Priorytetyzacja przypadków testowych za pomocą macierzy

Definicja pochodnej cząstkowej

Zad. 3: Układ równań liniowych

Testowanie modeli predykcyjnych

Sortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania:

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

Złożoność obliczeniowa zadania, zestaw 2

ZAGADNIENIE TRANSPORTOWE

Analiza wielokryterialna wstęp do zagadnienia

Streszczenie: Zasady projektowania konstrukcji budowlanych z uwzględnieniem aspektów ich niezawodności wg Eurokodu PN-EN 1990

Drzewa Decyzyjne, cz.2

SZACOWANIE MEDIANY PRZY UŻYCIU DOKŁADNEJ METODY BOOTSTRAPOWEJ

STATYKA Z UWZGLĘDNIENIEM DUŻYCH SIŁ OSIOWYCH

Inteligentna analiza danych

Optymalizacja ciągła

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory

Interpolacja. Marcin Orchel. Drugi przypadek szczególny to interpolacja trygonometryczna

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

Wyznaczanie symulacyjne granicy minimalnej w portfelu Markowitza

Algorytmy i struktury danych

Matematyka dyskretna dla informatyków

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

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

LOGIKA I TEORIA ZBIORÓW

DOBÓR PRÓBY. Czyli kogo badać?

Dla naszego obiektu ciągłego: przy czasie próbkowania T p =2.

Wykład 5. Skręcanie nieskrępowane prętów o przekroju prostokątnym.

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

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Informacje o wybranych funkcjach systemu klasy ERP Zarządzanie produkcją

Rozwiązywanie algebraicznych układów równań liniowych metodami iteracyjnymi. Plan wykładu:

Programowanie liniowe

Zadania do Rozdziału X

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

KaŜdemu atrybutowi A przyporządkowana jest dziedzina Dom(A), czyli zbiór dopuszczalnych wartości.

1 Wyznaczyć zastępczą impedancję zespoloną dwójnika przedstawionego na rys.1 dla trzech wartości pulsacji: a) = 0, b) = 1 krad/s, c) = 2 krad/s.

Temat: BADANIE NIEZALEśNOŚCI DWÓCH CECH JAKOŚCIOWYCH TEST CHI KWADRAT. Anna Rajfura 1

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI

PROBLEM HARMONOGRAMOWANIA ZADAŃ WIELOMASZYNOWYCH

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu

Metody numeryczne w przykładach

Metoda Karnaugh. B A BC A

INTERPOLACJA I APROKSYMACJA FUNKCJI

Wielokryteriowa optymalizacja liniowa

STATYSTYKA MATEMATYCZNA WYKŁAD 4. WERYFIKACJA HIPOTEZ PARAMETRYCZNYCH X - cecha populacji, θ parametr rozkładu cechy X.

Funkcja liniowa - podsumowanie

6. Zagadnienie parkowania ciężarówki.

PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ. Opis działania raportów w ClearQuest

Literatura. Leitner R., Zacharski J., Zarys matematyki wyŝszej dla studentów, cz. III.

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO

Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski

WIELOMIANY I FUNKCJE WYMIERNE

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Programowanie dynamiczne

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

Kody blokowe Wykład 2, 10 III 2011

METODY INŻYNIERII WIEDZY

WYZNACZANIE CECH PUNKTOWYCH SYGNAŁÓW POMIAROWYCH

USTALANIE WARTOŚCI NOMINALNYCH W POMIARACH TOROMIERZAMI ELEKTRONICZNYMI

Liczby zespolone. x + 2 = 0.

INSTRUKCJE ITERACYJNE

ZJAZD 4. gdzie E(x) jest wartością oczekiwaną x

Transkrypt:

OPERACJE WIELOMASZYNOWE Z NIERÓWNOCZESNYM UśYCIEM MASZYN W PROBLEMIE GNIAZDOWYM Mariusz MAKUCHOWSKI, Eugeniusz NOWICKI Streszczenie: W pracy rozwaŝa się problem gniazdowy, w którym operace wchodzące w skład danego zadania produkcynego, potrzebuą do wykonania nie edne, ale kilka maszyn. KaŜda z tych maszyny est wykorzystywana tylko w ednym, róŝnym przedziale czasowym; zadana est długość tego przedziału oraz moment rozpoczęcia liczony od chwili, w które dana operaci zaczyna się wykonywać. W pracy przedstawia się model matematyczny tego zagadnienia oraz szereg przybliŝonych algorytmów konstrukcynych. Następnie przeprowadza się analizę porównawczą zaproponowanych algorytmów na bazie duŝe liczby przykładów testowych. Słowa kluczowe: problem gniazdowy, operace wielomaszynowe, nierównoczesne uŝycie maszyn, algorytmy konstrukcyne. 1. Wstęp Jak powszechnie wiadomo, duŝą część praktycznych procesów produkcynych spotykanych w przemyśle moŝna zamodelować ako klasyczny problem gniazdowy lub tzw. problem gniazdowy z operacami wielomaszynowymi, [1] - [4]. W tym ostatnim procesy produkcyne charakteryzuą się tym, Ŝe do wykonywania poszczególnych operaci zaangaŝowana est nie edna, lecz kilka maszyn. Odpowiedni algorytm dokładny bazuący na metodzie podziału i ograniczeń podano w pracy [3], zaś algorytmy przybliŝone wykorzystuące techniki popraw przedstawiono w pracach [5], ]6]. Dotychczasowe modele matematyczne operaci wielomaszynowych zakładały uŝycie wszystkich potrzebnych maszyn (zasobów) przez cały czas trwania wykonywania określone operaci. Takie modele nakładaą ednak dość silne ograniczenia na rozwiązania dopuszczalne, poniewaŝ w rzeczywistości w wielu procesach produkcynych - maszyny są wykorzystywane tylko w pewnym przedziale, a nie w całym okresie wykonywania dane operaci, patrz np. [7]. Uwzględnienie tego faktu w modelu pozwala na wykorzystanie maszyny nie potrzebne w dane chwili do wykonywania dane operaci do realizaci inne operaci, rys 1, co w konsekwenci skutkue zmnieszeniem czasu wykonywania wszystkich operaci; dale taki model będziemy nazywać modelem operaci wielomaszynowych z nierównoczesnym uŝyciem maszyn, w odróŝnieniu od modelu tradycynego, zwanego modelem operaci wielomaszynowych z równoczesnym uŝyciem maszyn. W pracy przedstawiono wspomniany wyŝe model operaci wielomaszynowych z nierównoczesnym uŝyciem maszyn i sformułowano problem gniazdowy z tego typu operacami, w którym zmienną decyzyną est koleność wykonywania poszczególnych operaci. Następnie zaproponowano szereg przybliŝonych algorytmów konstrukcynych. Algorytmy te zastały porównane stosuąc analizę eksperymentalną z wykorzystaniem duŝe

a) maszyny x y z b) maszyny x y z τ 1 τ czas 2 τ 1 τ czas 2 Rys. 1. Harmonogram wykonywania edne operaci wielomaszynowe; a) rzeczywiste wykorzystanie maszyn, b) wykorzystanie maszyn w modelu operaci wielomaszynowych z równoczesnym uŝyciem maszyn liczby przykładów testowych. Wyniki badań pokazuą, Ŝe zniesienie ograniczeń na rozwiązania dopuszczalne - narzucone przez model klasyczny - w wielu przypadkach skutkue otrzymaniem przez proste algorytmy konstrukcyne lepszych rozwiązań (krótszy czas wykonania wszystkich zadań), niŝ rozwiązania wyprodukowane przez zaawansowane algorytmy popraw zastosowane do modelu klasycznego. 2. Model operaci wielomaszynowe z nierównoczesnym uŝyciem maszyn Operaca wielomaszynowa z nierównoczesnym uŝyciem maszyn określona est przez długość e trwania t oraz zbiór czynności A, które wchodzą w e skład. KaŜda czynność a A zdefiniowana est poprzez trókę liczb określaącą koleno: maszynę l a, na które ma być ona wykonana, opóźnienie r a pomiędzy momentem rozpoczęcia wykonywania operaci a momentem rozpoczęcia się te czynności oraz czas e wykonywania p a na maszynie l a. maszyny r a t p a v=l a a x=l b b y z=l c S() Rys. 2. Operaca wielomaszynowa z nierównoczesnym uŝyciem maszyn; A ={a, b, c} Niech S() 0 oznacza moment rozpoczęcia wykonywania operaci. W proponowanym modelu przymuemy, Ŝe dla kaŝde chwili t [S(), S()+t ] istniee operaca a Α taka, Ŝe S() + r a t S() + r a + p a c czas

Inacze mówiąc, w kaŝde chwili okresu trwania operaci, przynamnie edna czynność te operaci est wykonywana. (Formalnie rzecz biorąc poęcie okresu trwania operaci est nadmiarowe ednak wykorzystanie go znacznie upraszcza dalsze rozwaŝania.). Z przedstawionego modelu wynika, Ŝe czynność a operaci musi rozpocząć się wykonywać na maszynie l a w chwili S() + r a, a A. Oczywiście moment rozpoczęcia wykonywania S() operaci nie est w tym modelu określony, lecz tylko wzaemne relace pomiędzy przedziałami czasowymi (oraz ich długości), w których poszczególne czynności te operaci powinny być wykonywane. 3. Sformułowanie problemu gniazdowego Dany est zbiór zadań J ={1, 2,..., J }, zbiór operaci O ={1, 2,..., O }, zbiór czynności A={1, 2,..., A }, oraz zbiór maszyn M={1, 2,..., M }. Zadanie k J składa się z ciągu o k 1 operaci indeksowanych koleno przez k +1, k +2,..., k + o k, gdzie k = k i= 1 1 o i. Wykonanie zadania polega na wykonaniu w powyŝsze koleności kaŝde z operaci wchodzące w ego skład, zaś wykonanie operaci polega na wykonaniu wszystkich ego czynności, zgodnie z ograniczeniami przedstawionymi w poprzednim rozdziale. Przymue się, Ŝe: (i) kaŝda maszyna moŝe wykonywać w dane chwili nie więce niŝ edną czynność, (ii) nie moŝna ednocześnie wykonywać więce niŝ edne operaci danego zadania oraz (iii) wykonywanie czynności na maszynie nie moŝe być przerywane. Uszeregowanie definiowane est przez momenty rozpoczęcia wykonywania operaci S() 0, O. ZauwaŜmy, Ŝe przy ustalonych tych momentach, mamy takŝe określone momenty rozpoczęcia wykonywania wszystkich czynności ze zbioru A. Problem polega na znalezieniu dopuszczalnego uszeregowania minimalizuącego moment wykonania wszystkich operaci C = O C(), gdzie C() = S() + t est momentem wykonania operaci O. 4. Uszeregowanie permutacyne W dalszym ciągu pracy będziemy poszukiwać tylko takich przybliŝonych uszeregowań, które naleŝą do klasy tzw. uszeregowań permutacynych. Uszeregowanie permutacyne est w pełni określone przez permutacę π = (π(1), π(2),..., π( O )) elementów zbioru O oraz następuącą procedurę ego konstrukci, składaącą się z O kroków iteracynych i startuącą z pustego uszeregowania częściowego. W i-tym kroku iteracynym szereguemy operacę π(i), dostawiaąc ą moŝliwie nawcześnie na koniec uszeregowania częściowego, otrzymuąc nowe uszeregowanie częściowe, i =1,2,..., O. (Wartość funkci celu dla uszeregowania określonego przez permutacę π będziemy oznaczać przez C ( π ).) ZauwaŜmy, Ŝe otrzymane uszeregowanie est dopuszczalne wtedy i tyko wtedy, gdy dla kaŝde pary operaci, zadania k J takie, Ŝe k +1 < k + o k zachodzi 1 1 ( ) < ( 1 π π ), gdzie π est permutacą odwrotną do permutaci π. Jest oczywiste, Ŝe nie kaŝde uszeregowanie dopuszczalne dosunięte do lewe strony (tzw. uszeregowanie pseudo-aktywne) est uszeregowaniem permutacynym, co oznacza, Ŝe w zbiorze uszeregowań permutacynych nie musi znadować się uszeregowanie optymalne. (Przykładowo uszeregowanie z rys. 3 zawieraące tylko dwie operace 1, 2, dwóch róŝnych zadań nie est uszeregowaniem permutacynym, bo nie moŝe być wygenerowane powyŝszą procedurą, ani dla permutaci π = (1,2), ani teŝ dla permutaci π = (2,1)). W sytuacach

Rys. 3. Uszeregowanie nie permutacyne dla operaci 1 i 2; A 1 ={a, b}, A 2 ={c, d, e} przemysłowych często ednak nie stosue się przeplatania czynności dwóch róŝnych operaci, występuącego w uszeregowaniach nie permutacynych, co uzasadnia skupienie się tylko na uszeregowaniach permutacynych, w których taka sytuaca nie zachodzi. Dodatkowym elementem przemawiaącym za nie rozpatrywaniem uszeregowań nie permutacynych est duŝy stopień skomplikowania potencalnych algorytmów przybliŝonych. 5. Algorytmy konstrukcyne Proponuemy rozwaŝyć dwie grupy przybliŝonych algorytmów konstrukcynych: algorytmy priorytetowe P o priorytetach dynamicznych oraz algorytmy W bazuące na technice wstawień, zwane algorytmami typu wstaw. KaŜda z grup zawiera 11 wersi algorytmów opartych na te same idei, ale róŝniących się między sobą sposobem obliczania pewnych parametrów, które steruą bezpośrednio przebiegiem działania algorytmu. 5.1. Algorytmy priorytetowe Ogólnie mówiąc, zasada działania algorytmu priorytetowego P polega na systematycznym dołączaniu kolenych operaci na koniec częściowego uszeregowania. Dokładnie, algorytm P wykonue O kroków iteracynych; w kaŝdym kroku est i szeregowana edna operaca. Niech π = ( π (1), π (2), K, π ( i)) określa permutacę 0 częściową otrzymaną po wykonaniu kroku i, i=1,2,..., O ; π est permutacą pustą. W kroku iteracynym i określany est zbiór operaci gotowych OG, tzn. operaci, których poprzedniki zostały uŝ uszeregowane. Następnie dla kaŝde operaci OG wyznacza się priorytet δ(). Operaca maszyny t OG o namniesze wartości tego priorytetu est wstawiana na i1 i i1 koniec permutaci częściowe π, tzn. π = π t ; w przypadku kilku operaci o te same namniesze wartości priorytetu, wybierana est operaca o namnieszym numerze. Proponuemy priorytet δ() określać w taki sposób, by promować duŝe operace, wśród operaci, których uszeregowanie powodue stosunkowo niewielki wzrost wartości funkci celu, definiowany ako C = C i1 i1 ( π ) C ( π ). Miara wielkości operaci obliczana est na podstawie takich cech te operaci, ak: czas trwania t, maksymalna długość czynności x y z d a e b c czas p = p, średnia długość a A a

= a A czynności p p / A oraz ilość czynności m = A. Szczegółowe postacie priorytetu δ, dla których algorytm P był testowany, przedstawiono w tabeli 1; algorytm P z funkcą priorytetu δi będziemy oznaczać przez Pi. Tab. 1. Sposoby obliczenia wartości priorytetu δ ( ) operaci Priorytet δ() Sposób obliczenia δ 0 () 1 δ 1 () δ 2 () δ 3 () δ 4 () δ 5 () δ 6 () δ 7 () δ 8 () δ 9 () δ 10 () C C t C / p C / p 0, p C 7 0, p C 7 C 0,35p 0, 35p C 0,001p 0, 7 p C 0, 7 p m C 0,001p 0, 7p m MoŜna łatwo zauwaŝyć, Ŝe w przypadku zastosowania algorytmu P0 otrzymuemy, niezaleŝnie od danych konkretnego przykładu, permutacę naturalną π = (1, 2,..., O ). Algorytm ten est rozpatrywany tylko po to, aby ocenić na ile arbitralna permutaca est gorsza od permutaci wyprodukowanych przez pozostałe algorytmy. W algorytmach P2- P10, wśród operaci o zbliŝonych wartościach C promowane są duŝe operace; im p, p lub m est większe, tym kaŝdy z priorytetów est mnieszy. Sposób promowania est róŝny: w algorytmach P3-P4 polega on podzieleniu wartości C przez miarę wielkości operaci, zaś w algorytmach P2, P5-P10 - na odęciu od wartości C te miary. Współczynniki przy miarach operaci występuące w algorytmach P5- P10 zostały dobrane eksperymentalnie. 5.2. Algorytmy typu wstaw Algorytm W typu wstaw składa się z dwóch faz. W fazie pierwsze dla kaŝde operaci O, wyznacza się wagę w ( ) i następnie tworzona est permutaca α = ( α(1), α(2), K α( O )) zbioru operaci spełniaąca w( α(1)) w( α(2)) K w( α( O )).

Faza druga składa się O kroków iteracynych. W kroku i szeregue się operacę α (i), przez wstawienie e na pewną pozycę h, 1 h i, w otrzymane do te pory permutaci i1 częściowe π = ( π (1), π (2), K, π ( i 1)) ; wstawienie operaci α (i) na pozycę h oznacza, Ŝe wszystkie operace z pozyci h, h+1,..., i-1 są przesuwane w prawo o edną pozyce, a na zwolnione pozyci h umieszcza się operace α (i). W celu wyboru pozyci h wyznaczamy w permutaci częściowe nawiększą wśród pozyci w i 1 π i 1 π dwie pozyce technologicznym operacę α (i) ; eŝeli takich nie ma, to namnieszą wśród pozyci w i 1 π technologicznym po operaci α (i) ; eŝeli takich nie ma, to i oraz + i. Pozyca i est, na których znaduą się operace poprzedzaące w sensie + i = 0. Pozyca i est z kolei, na których znaduą się operace następuące w sensie + i = i. Następnie wstawia się próbnie operacę α (i) na kaŝdą z pozyci i < g i. Dla kaŝde, tak otrzymane i - elementowe permutaci częściowe β, wyznacza się wartość funkci celu. Pozyca, dla które wartość ta est namniesza est pozycą h; w przypadku gdy est kilka takich pozyci wybiera się nawcześnieszą. Ograniczenie się do przeglądania tylko pozyci powodue, Ŝe otrzymana permutaca częściowa Tab. 2. Sposoby wyznaczenia wag operaci + i < g i i π zawsze est permutacą dopuszczalną. Waga Sposób obliczenia Waga Sposób obliczenia w 0 () 1 w 6 () w 1 () t w 7 () w 2 () w 3 () w 4 () w 5 () p w 8 () sum p w 9 () p w 10 () m + p sum m + p m + p t + p sum t + p t + p Jakość generowanego w ten sposób rozwiązania zaleŝy w duŝym stopniu od permutaci α wyznaczane w fazie pierwsze. Jest intuicynie asne, Ŝe powinno się szeregować operace od nawiększe do namniesze. Dlatego teŝ proponuemy ako wagi operaci przyąć ich miary wielkości zaproponowane w poprzednim rozdziale; dodatkowo ako sum miarę wielkości operaci przymuemy sumę długości e czynności p = a A p. Szczegółowe postacie wag w, dla których algorytm W był testowany, przedstawiono w tabeli 2; algorytm W z funkcą priorytetu wi będziemy oznaczać przez Wi. Algorytm W0 ako permutacę α przymue permutacę arbitralną. Pozostałe algorytmy W1-W10 permutacę α wyznaczaą w oparciu o przyęte miary wielkości poszczególnych operaci (algorytmy W1-W4) lub sumy tych miar (algorytmy W5-W10). +

6. Analiza eksperymentalna Zaproponowane w poprzednim rozdziale dwie grupy algorytmów konstrukcynych zostały przetestowane na duŝe liczbie przykładów testowych. Szczegółowy opis sposobu generowania tych przykładów oraz wyniki badań testowych przedstawiamy w poniŝszych dwóch podrozdziałach. 6.1 Sposób generowania przykładów testowych Przykłady do badań testowych zostały wygenerowane na bazie 120 przykładów z pracy [5], dla operaci wielomaszynowych z równoczesnym uŝyciem maszyn. PoniewaŜ oryginalne przykłady zawieraą kilka sposobów wykonania te same operaci, ograniczyliśmy się tylko do ednego. Następnie sposób wykonania dane operaci, określony przez długość e trwania t, zbiór czynności A oraz maszyny l a, a A, wzbogaciliśmy o parametry r a, p a, a A. Zostały one wylosowane w taki sposób, by przez cały okres trwania operaci, konieczne było wykonywanie przynamnie edne e czynności. Przykłady testowe podzielone są na 3 klasy (Rdata, Mdata, Vdata), po 40 instanci w kaŝde. Klasy róŝnią się między sobą średnią oraz maksymalną liczbą czynności edne operaci, patrz tabela 3. Przykłady w kaŝde klasie moŝna z kolei połączyć w grupy po 5 przykładów, charakteryzuące się ednakową liczbą maszyn M, zadań J oraz operaci O ; patrz tabela 4. Tab. 3. Parametry klas przykładów testowych Nazwa klasy Liczba czynności edne operaci Średnia Maksymalna Rdata 2 3 Mdata 1/3 M 3/5 M Vdata 1/2 M 4/5 M Tab. 4. Parametry grup przykładów testowych Grupa przykładów M J O Grupa przykładów M J O 01 05 5 10 50 21 25 10 15 150 06 10 5 15 75 26 30 10 20 200 11 15 5 20 100 31 35 10 30 300 16 20 10 10 100 36 40 15 15 225 Jak widać z tabel 3, 4 przykłady testowe są dość mocno zróŝnicowane pod względem ich rozmiaru (liczba maszyn, liczba zadań, liczba operaci) oraz liczby czynności dane operaci. Takie zróŝnicowanie est konieczne, aby wszechstronnie ocenić akość danego algorytmu.

6.2 Wyniki testów Jakość rozwiązania wygenerowanego przez algorytm A { P0,..., P10, W 0,..., W10} dla danego przykładu oceniamy obliczaąc błąd względny gdzie A A Best Best C C )/ C ρ = 100 * (, A C est wartością funkci celu dla uszeregowania utworzonego algorytmem A, zaś Best C - namnieszą wartością funkci celu spośród uszeregowań wygenerowanych poprzez wszystkie testowane algorytmy. Wyniki testów dla grupy algorytmów priorytetowych oraz grupy algorytmów typu wstaw przedstawiono odpowiednio w tabeli 5 oraz w tabeli 6; w kolumnie all tych tabel podano średni błąd wszystkich algorytmów dane grupy, z wyątkiem algorytmu P0 w tabeli 5 oraz algorytmu W0 w tabeli 6. Tab. 5. Wyniki testów algorytmów priorytetowych dla poszczególnych klas przykładów Klasa Średni błąd względny ρ P dla algorytmu P przykładów P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 all Rdata 224,3 18,3 33,5 12,8 9,0 10,4 7,6 7,9 7,1 7,5 6,9 12,1 Mdata 154,4 18,7 17,6 12,8 7,4 10,1 6,1 7,6 6,2 4,6 4,9 9,6 Vdata 101,3 28,6 16,4 17,2 13,7 18,9 12,4 14,2 11,7 11,7 10,7 15,5 all 160,0 21,9 22,5 14,2 10,0 13,1 8,7 9,9 8,3 7,9 7,5 12,4 Tab. 6. Wyniki testów algorytmów typu wstaw dla poszczególnych klas przykładów Klasa Średni błąd względny ρ W dla algorytmu W przykładów W0 W1 W2 W3 W4 W5 W6 W7 W8 W9 W10 all Rdata 18,2 43,2 46,7 43,8 50,9 50,0 42,2 52,2 47,0 43,8 51,1 47,1 Mdata 17,5 13,9 14,2 15,1 16,1 13,8 14,5 16,4 11,5 13,0 14,6 14,3 Vdata 20,2 4,1 4,6 5,3 5,0 4,6 5,5 5,2 4,2 4,3 5,8 4,9 all 18,6 20,4 21,8 21,4 24,0 22,8 20,7 24,6 20,9 20,4 23,8 22,1 Z analizy Tabeli 5 i 6 wynika, Ŝe proponowane algorytmy produkuą uszeregowania o wartości funkci celu od 8 do 20 razy mniesze niŝ wartość funkci celu dla arbitralnego uszeregowania otrzymanego algorytmem P0. Średni błąd względny, na wszystkich 120 przykładach testowych, algorytmów P wynosi 12,4%, zaś algorytmów W 22,1%, co oznacza, Ŝe ogólnie rzecz biorąc algorytmy bazuące na technice wstawień są gorsze. Nie znaczy to ednak, Ŝe taka sytuaca występue w kaŝde klasie przykładów. Dla przykładów o małe i średnie liczbie czynności w poszczególnych operacach (klasa Rdata i Mdata) algorytmy P zachowuą się zdecydowanie lepie niŝ algorytmy W, zaś dla przykładów o duŝe liczbie czynność (klasa Vdata) sytuaca est odwrotna.

Z porównania 10 algorytmów priorytetowych wynika, Ŝe nalepszy est algorytm P10, bazuący na priorytetach uwzględniaących wszystkie zaproponowane miary wielkości operaci, w postaci kombinaci liniowe z odpowiednimi współczynnikami. Z kolei wśród algorytmów typu wstaw nalepszy est algorytm W0, w którym początkowa koleność est wybrana arbitralnie, nie uwzględniaąc wielkości operaci. Oznacza to naszym zdaniem, Ŝe zaproponowane w tym wypadku miary wielkości operaci są nieodpowiednie, szczególnie dla klasy Rdata. Stwierdzenie to łatwo zweryfikować porównuąc algorytmy W tylko dla klas Mdata i Vdata. Wtedy nalepszym algorytmem est algorytm W8, który ako miarę wielkości operaci przymue t + p. W celu sprawdzenia zachowania się algorytmów ze względu na liczbę maszyn i operaci przedstawiliśmy bardzie szczegółowe wyniki w tabeli 7 ograniczaąc się tylko do algorytmu P10 oraz W8. Tab. 7. Wyniki testów algorytmów P10, W8 dla poszczególnych grup przykładów Grupa przykładów Średni błąd względny ρ A dla algorytmu A Rdata Mdata Vdata P10 W8 P10 W8 P10 W8 01-05 7,1 11,5 12,5 10,3 14,9 8,1 06-10 10,0 12,1 8,8 11,5 13,1 2,6 11-15 9,9 6,6 5,1 17,8 13,9 1,4 16-20 3,3 53,9 3,6 8,4 11,7 4,4 21-25 5,5 66,6 2,3 14,6 11,3 6,7 26-30 5,6 61,6 5,3 10,5 6,6 3,2 31-35 2,1 52,4 0,8 6,5 9,8 3,4 36-40 11,6 111,2 0,6 12,1 4,4 4,2 01-40 6,9 47,0 4,9 11,5 10,7 4,2 Z tabeli 7 wynika, Ŝe generalnie im większa est liczba operaci, tym algorytmy P10, W8 zachowuą się lepie, z wyątkiem algorytmu W8 zastosowanego do przykładów z klasy Rdata; algorytm ten szczególnie źle pracue na instancach 36-40. Przewaga algorytmu P10 nad algorytmem W8 występue w 14 grupach przykładów klas Rdata i Mdata; tylko w dwóch grupach algorytm W8 est lepszy. Z kolei w klasie Vdata, algorytm W8 est wyraźnie lepszy niŝ algorytm P10 w kaŝde z 8 grup. Potwierdza to wcześnie sformułowana tezę o konieczności zmodyfikowania miar odległości w algorytmach W dla przykładów o małe liczbie czynności w poszczególnych operacach. Inną przyczyną stosunkowo złe akości algorytmów W moŝe być takŝe fakt, Ŝe przy ocenie próbnego wstawienia dane operaci na określoną pozyce w permutaci częściowe, nie uwzględniono ograniczeń technologicznych; ograniczenia te były brane pod uwagę tylko przy wyznaczaniu pozyci, na które moŝe być próbnie wstawiana operaca, Ŝeby nie wygenerować cyklu. Uwzględnienie tych ograniczeń, mimo Ŝe skomplikue postać algorytmów W moŝe znacznie poprawić ich akość, tak ak moŝna to zaobserwować w przypadku operaci wielomaszynowych z równoczesnym uŝyciem maszyn, [2].

8. Podsumowanie W pracy przedstawiono i przebadano dwie grupy algorytmów konstrukcynych dla problemu gniazdowego z operaci wielomaszynowymi z nierównoczesnym uŝyciem maszyn. Wyniki badań pokazuą, Ŝe proponowane algorytmy znaduą uszeregowania w ułamkach sekund na komputerach klasy PC, o akości zadawalaące praktyków. Dalsze badania powinny być skierowane w kierunku opracowywania lepszych miar wielkości operaci, których zastosowanie w algorytmach typu wstaw moŝe znacznie poprawić ich akość. Innym kierunkiem badań, est konstrukca algorytmów opartych na technikach popraw, ze szczególnym uwzględnieniem techniki tabu search. Wtedy przedstawione w te pracy algorytmy, mogą być z powodzeniem uŝyte do generowania rozwiązań początkowych. Literatura 1. Grabowski J.: Sformułowanie i rozwiązanie zagadnienia kolenościowego z równoległym wykorzystaniem maszyn, Archiwum Automatyki i Telemechaniki, 1978, str. 91 113. 2. Nowicki E.: Metoda tabu w problemach szeregowania zadań produkcynych, Oficyna Wydawnicza Politechniki Wrocławskie, Wrocław 1999. 3. Kramer A.: Scheduling Multiprocessor Tasks on Dedicated Processors, PhD-Thesis, Fachbereich Mathematik/Infomatik, Universitat Osnabruck, 1995. 4. Drozdowski M.: Scheduling multiprocessor task An Overview, European Journal Operational Research, 94, 1996, str. 215-230. 5. Brucker P., Neyer J.: Tabu-Search for Multi-Mode Job-Shop Problem, OR Spectrum, 20, 1998, str. 21-28. 6. Nowicki E.: Metoda tabu search w wielosposobowym problemie gniazdowym. Automatyka, tom 3, z. 1, 1999, str. 251-258. 7. Sawik T.: Planowanie i sterowanie produkci w elastycznych systemach montaŝowych, Warszawa, WNT, 1996. Mgr inŝ. Mariusz Makuchowski Dr hab. inŝ. Eugeniusz Nowicki Instytut Cybernetyki Techniczne Politechnika Wrocławska 53-342 Wrocław, ul. Janiszewskiego 11/17 tel.: (071) 320-29-61 e-mail: enowicki@ict.pwr.wroc.pl