• Nie Znaleziono Wyników

Problem gniazdowy z ograniczeniem „bez czekania” M. Makuchowski

N/A
N/A
Protected

Academic year: 2021

Share "Problem gniazdowy z ograniczeniem „bez czekania” M. Makuchowski"

Copied!
12
0
0

Pełen tekst

(1)

Problem gniazdowy z ograniczeniem

„bez czekania”

M. Makuchowski

1.1 Wstęp

„Klasyczne” sformułowanie problemu gniazdowego, przyjmuje szereg założeń upraszczających, takich jak np.: (a) nieograniczony czas oczekiwania zadań w kolejkach pomiędzy stanowiskami, (b) nieograniczona możliwość magazyno- wania zadań pomiędzy stanowiskami, (c) zerowe lub pomijalne czasy trans- portu, (d) zerowe lub pomijalne czasy przezbrojeń maszyn, (e) nieograniczona pojemność buforów pomiędzy stanowiskami, (f) nieograniczona pojemność sys- temu. Założenia te, pomijające faktyczne ograniczenia produkcyjne, są doda- wane głównie ze względu na poważne kłopoty z modelowaniem i rozwiązywaniem odpowiednich zagadnień optymalizacji kombinatorycznej; mogą także prowadzić do modeli niedokładnie opisujących rzeczywistość. Przeciwnie, uwzględnienie tych realnych ograniczeń generuje nowe klasy problemów szeregowania do ba- dań. Jednym z takich problemów jest problem gniazdowy z ograniczeniem „bez czekania”. Powstaje on przez uwzględnienie w problemie klasycznym restrykcyj- nych ograniczeń klasy (a), jako wymaganie rozpoczęcia wykonywania operacji dokładnie w chwili zakończenia wykonywania jej poprzednika technologicznego (bezzwłocznie). Problemy takie występują w procesach wytwórczych z użyciem surowców zmieniających swoje własności fizyczno-chemiczne, np. produkcja żywności [4] czy produkcja lekarstw [11].

W tym rozdziale przedstawiono wyniki badań dotyczące efektywności przy- 1

(2)

bliżonych algorytmów rozwiązywania gniazdowego problemu szeregowania z ogra- niczeniem „bez czekania” (ang. no-wait job shop problem). Ten silnie NP- trudny problem teorii szeregowania wzbudza zainteresowanie badaczy, głównie ze względu na jego liczne zastosowania przemysłowe oraz trudności w skonstru- owaniu dostatecznie dobrych algorytmów. Porównano znane z literatury al- gorytmy rozwiązywania postawionego problemu, z algorytmami MINS, MSA i MTS, dedykowanymi oryginalnie dla dużo bardziej ogólnego problemu (problem gniazdowy z operacjami wielomaszynowymi o czynnościach asynchronicznych) adaptowanego do omawianego problemu szczególnego. Pokazano interesujące cechy nowo proponowanych algorytmów.

1.2 Sformułowanie problemu

Problem gniazdowy z ograniczeniem bez czekania i funkcją kryterialną będącą momentem zakończenia się wszystkich operacji oznaczany jest w notacji Gra- ham’a przez J |no − wait|Cmax, [3] i może być krótko sformułowany w następu- jący sposób:

Dany jest zbiór operacji O = {1, 2, . . . , n} oraz zbiór maszyn M = {1, 2, . . . , m}. Zbiór operacji podzielony jest na r rozłącznych podzbiorów zwanych zada- niami. Zadanie k, k ∈ J = {1, 2, . . . , r} składa się z ok operacji indeksowanych przez τk+ 1, τk+ 2, . . . , τk+ ok, gdzie τk =Pk−1

i=1 oi jest liczbą operacji w za- daniach 1, 2, . . . , k − 1, τ1 = 0 oraz P

k∈Jok = n. Dla każdej operacji j ∈ O określona jest maszyna µ(j) ∈ M, na której ma być ona wykonana w czasie pj> 0. Ponadto obowiązują następujące ograniczenia:

• Kolejnościowe: Operacje zadania k należy wykonać w kolejności (τk + 1, τk+ 2, . . . τk+ ok).

• Synchroniczne: Każda maszyna może wykonywać w danej chwili co naj- wyżej jedną operację oraz nie można w tym samym czasie wykonywać więcej niż jednej operacji danego zadania.

• Bez czekania: Każda nie pierwsza operacja danego zadania, musi rozpo- cząć się dokładnie w momencie zakończenia wykonywania operacji wcze- śniejszej tego samego zadania.

Niech S(j) ≥ 0 oraz C(j) = S(j) + pj oznacza odpowiednio moment rozpoczę- cia oraz moment zakończenia wykonywania operacji j na maszynie µ(j), j ∈ O.

Uszeregowanie definiujemy jako zestaw S(j) ≥ 0, j ∈ O. Uszeregowanie jest do- puszczalne, jeżeli spełnia wszystkie powyższe ograniczenia. Problem polega na

(3)

znalezieniu uszeregowania dopuszczalnego minimalizującego moment wykonania wszystkich operacji Cmax= maxj∈OC(j).

W dalszej analizie będziemy odwoływać się również do znaczącego uogólnie- nia problemu gniazdowego, określonego jako „problem z operacjami wielomaszy- nowymi z nieprzesuwalnymi czynnościami asynchronicznymi” (WNCA). Wpro- wadzając w problemie WNCA dodatkowe ograniczenie wymagające aby każda z operacji była wykonywana na innej maszynie otrzymujemy pewien specyficzny przypadek problemu gniazdowego z operacjami wielomaszynowymi z nieprze- suwalnymi czynnościami asynchronicznymi1. Transformacji problemu gniazdo- wego bez czekania, z operacjami jednomaszynowymi, w których każde dwie czynności tego samego zadania wykonywane są na różnych maszynach, do pro- blemu z asynchronicznymi czynnościami jest oczywista. W skrócie polega ona na tym, że całe zadanie należy traktować jako pojedynczą operację z nieprze- suwalnymi czynnościami asynchronicznymi. Analogicznie wszystkie operacje zadania w pierwotnym problemie należy interpretować jako czynności operacji w problemie wtórnym.

1.3 Algorytmy

Ponieważ rozważany problem jest NP-trudny (w pracy [12] pokazano dowód NP- trudności tego problemu już dla przypadku dwumaszynowego), dlatego uwaga badaczy skierowana jest na poszukiwanie efektywnych algorytmów przybliżo- nych zarówno bardzo szybkich algorytmów konstrukcyjnych jak i znacznie wol- niejszych ale zarazem dokładniejszych algorytmów popraw.

Algorytmy SMCP, SMBP, SMSP, VNS, GASA krótko opisane poniżej, dedy- kowane są dla gniazdowego problemu z ograniczeniem bez czekania. Ponieważ problem ten jest tylko jednym bardzo specyficznym przypadkiem o wiele bardziej ogólnego problemu gniazdowego z operacjami wielomaszynowymi z nieprzesu- walnymi czynnościami asynchronicznymi oznacza to, że algorytmy dedykowane temu pierwszemu problemowi, mogą wykorzystywać szereg własności, które nie występują w ogólniejszym problemie. Z kolei pozostałe omawiane algorytmy MINS, MSA i MTS (także krótko opisane poniżej) dedykowane są dla problemu ogólniejszego są bardziej uniwersalne (służą do rozwiązywania szerszej klasy pro- blemów). Z tego powodu nie mogą uwzględniać pewnych własności badanego w

1W wybranych przykładach testowych problemu gniazdowego, każde zadanie składa się z operacji wykonywanych na różnych maszynach.

(4)

tej pracy problemu uwzględnianych przez algorytmy dedykowane.

SMCP, SMBP, SMSP

W pracy [8] przedstawiono kilka konstrukcyjnych, działających na tej sa- mej idei, algorytmów przybliżonych. Wszystkie one działają na dysjunktywnym modelu grafowym, który charakteryzuje się tym, że występują w nim alterna- tywne łuki. Łuki te określają kolejność pomiędzy operacjami różnych zadań.

Wszystkie omawiane algorytmy wybierają w pewien deterministyczny sposób jeden z alternatywnych łuków i dodają go do zbioru S łuków reprezentujących budowane rozwiązanie. Ta właśnie deterministyczna reguła wyboru różni po- szczególne algorytmy: SMCP (ang. Select Most Critical Pair), SMBP (ang.

Select Most Balanced Pair), SMSP (Select Max Sum Pair). Po skończeniu dzia- łania algorytmu zbiór S jednoznacznie określa otrzymane rozwiązanie.

MINS

Algorytm MINS opisany w [10] jest algorytmem konstrukcyjnym, bazującym na tzw. technice wstawień, który jest uogólnieniem odpowiedniego algorytmu z monografii [9], dla problemu gniazdowego z operacjami wielomaszynowymi równocześnie wykorzystującymi maszyny. Specyfikacja problemu dla którego był tworzony algorytm MINS wymagała jednak dość istotnych zmian. Zmiany te dotyczą zarówno określenia wagi operacji, zestawu pozycji na które próbnie wstawia się operację jak i opracowania strategii postępowania dla sytuacji gdy każde próbne włożenie pewnej operacji powoduje powstanie rozwiązania niedo- puszczalnego.

VNS

Praca [13] przedstawia dwa różne algorytmy lokalnego poszukiwania, dedy- kowane rozważanemu problemowi. Pierwszy z nich VNS (ang. Variable Neigh- borhood Search) jest bardzo szybki, deterministyczny, a jego działanie wykorzy- stuje specyficzną strukturę problemu. Algorytm VNS składa się z 3 modułów.

Pierwszy z nich odpowiedzialny jest za generowanie rozwiązania startowego, drugi za znalezienie rozwiązania lokalnie optymalnego a trzeci za opuszczenie rozwiązania lokalnie optymalnego znalezionego wcześniej przez drugi moduł. Al- gorytm używa ruchów k-insert polegających na przekładaniu k sąsiednich opera- cji jednocześnie. Podstawowe sąsiedztwo zbudowane jest na ruchach 1-insert i w momencie gdy algorytm znajdzie rozwiązanie lokalnie optymalnie (przy tym są- siedztwie), próbuje polepszyć bieżące rozwiązanie analizując kolejno sąsiedztwa oparte na ruchach typu k-insert z coraz większym parametrem k, 1 ≤ k ≤ kmax. W przypadku gdy algorytm znajdzie lepsze rozwiązanie ponownie przełącza się

(5)

na sąsiedztwo 1-insert. Algorytm kończy swoje działanie w gdy znalezione roz- wiązanie jest lokalnie optymalne dla każdego z stosowanych sąsiedztw.

GASA

Drugim z prezentowanych algorytmów w pracy [13] jest niedeterministyczną hybrydą wykorzystującą elementy algorytmów genetycznych i symulowanego wyżarzania GASA (ang. Genetic Algorithm, Simulated Annealing). W prezen- towanym algorytmie z każdą iteracją wykonywane są następujące czynności:

• Krzyżowanie – Krzyżowanie najlepszego osobnika bieżącej populacji z lo- sowo wybranym osobnikiem. Ten proces powtarzany jest Psize/2 krotnie generując Psize nowych osobników, gdzie Psize jest licznością populacji.

Z rozszerzonego w ten sposób zbioru 2Psize osobników, pozostawia się ostatecznie Psize najlepszych.

• Mutacja – Każdy z osobników poddawany jest operacji mutacji, polega- jącej na odwróceniu sekwencji pomiędzy dwoma pozycjami wybranymi losowo. Podobnie jak podczas krzyżowania z rozszerzonego zbioru osob- ników pozostawia się Psizenajlepszych.

• Symulowane wyżarzanie – Dla każdego z osobników wyznaczane jest lo- sowo rozwiązanie z jego sąsiedztwa. Następnie obliczana jest różnica w wartości funkcji celu pomiędzy bieżącym rozwiązaniem a wybranym rozwiązaniem z sąsiedztwa. Ostatecznie rozwiązanie sąsiednie akcepto- wane jest z prawdopodobieństwem zależnym od obliczonej różnicy warto- ści funkcji celu. Operacje te powtarzane są n × m razy.

Algorytm GASA kończy pracę jeśli w przez ustaloną liczbę iteracji nie poprawi najlepszego znalezionego rozwiązania.

MSA

W algorytmie MSA opisanym w pracy [6] zastosowano ogólną ideę symu- lowanego wyżarzania [5]. Podstawą efektywności algorytmu jest zastosowanie bardzo subtelnego sąsiedztwa bazowego. Sąsiedztwo te generowane jest przez ruchy typu wstaw, polegające na przekładaniu zadania (w oryginalnym pro- blemie operacji) na tak zwane pozycje bazowe. W pracy tej ograniczę się do stwierdzenia, że sąsiedztwo bazowe zawiera tylko niewielką frakcję najbardziej obiecujących rozwiązań z sąsiedztwa pełnego. Ponadto w algorytmie MSA za- stosowano specjalistyczną bardzo szybką procedurę MDAGA wyznaczającą dłu- gość uszeregowania. Rozwiązanie początkowe generowane jest przez wcześniej

(6)

już omawiany algorytm MINS. Algorytm MSA kończy swoją pracę po ustalonej liczbie iteracji.

MTS

W algorytmie MTS opisanym w pracy [7] zastosowano ogólną ideę poszu- kiwania z zabronieniami [1, 2]. Podobnie jak w algorytmie MSA w algorytmie MTS podstawą efektywności jest zastosowanie sąsiedztwa bazowego oraz wy- korzystanie specjalistycznej procedury MDAGA wyznaczającej wartość funkcji celu rozwiązań z sąsiedztwa. Algorytm wyposażony jest w szereg dodatkowych technik poprawiających jego efektywność m.i. detektor cyklu, metodę skoku powrotnego i inne. Podobnie jak MSA algorytm MTS rozpoczyna swoją pracę od wygenerowania rozwiązania algorytmem MINS i działa przez ustaloną liczbę iteracji.

1.4 Wyniki badań

Ponieważ algorytm GASA jest algorytmem niedeterministycznym czyli wyniki przez niego dostarczane nie są powtarzalne, jako rozwiązanie przyjmuje się naj- lepsze znalezione z 30 przebiegów tego algorytmu. Z kolei dla algorytmu MSA (także niedeterministyczny) ze względu na jego stosunkowo dużą czasochłonność zrezygnowano z wielokrotnych uruchomień. Z badań wstępnych nad tym algo- rytmem wynika jednak, że dla ustalonej instancji warjancja wartości funkcji celu otrzymywanych rozwiązań jest dość mała. Fakt ten usprawiedliwia ograniczenie się do 1 przebiegu algorytmu dla każdego z przykładów.

Badania numeryczne przeprowadzono na literaturowych przykładach testo- wych problemu gniazdowego przy dodatkowym założeniu ograniczenia „bez cze- kania” dla każdych kolejnych operacji tego samego zadania. Przykłady te, są mocno zróżnicowane zarówno pod względem ilości zadań (od 6 do 30) jak i ilości maszyn (od 5 do 15). Ponadto przykłady te można podzielić (ze względu na praktyczny stopień skomplikowania obliczeń numerycznych) na „łatwe” i „tru - dne”. Przykłady „łatwe” to te, które udało się rozwiązać algorytmem dokładnym opartym na technice Branch&Bound zaproponowanym w pracy [8] pozostałe zaś określamy mianem „trudne”.

Dla każdego z przykładów podajemy wartości CmaxA uszeregowań otrzyma- nych odpowiednim algorytmem A ∈ {SM CP, SM SP, M IN S, V N S, GASA, M SA, M T S} oraz dla algorytmów A ∈ {GASA, M SA, M T S} czas działa- nia tA liczony w sekundach. Algorytmy A ∈ {SM CP, SM SP, M IN S, V N S}

pracowały w czasie nieprzekraczającym 1 sekundy na przykład. Wyniki ekspery-

(7)

Tablica 1.1: Wartości CmaxA oraz tA [s]. Przykłady „łatwe”

przy- opti- SMCP SMSP MINS VNS GASA MSA MTS

kład mum Cmax Cmax Cmax Cmax Cmax t Cmax t Cmax t La01 971 1403 1106 1084 1064 1037 23 971 71 971 46

La02 937 1296 – 1059 1011 990 24 937 68 937 48

La03 820 1392 1020 1004 973 832 24 820 67 820 46

La04 887 1502 1039 1007 1020 889 25 887 46 887 44

La05 777 1094 – 920 861 817 24 777 61 777 50

La06 1248 1758 – 1475 1431 1339 80 1316 128 1300 77 La07 1172 1837 1609 1370 1366 1240 70 1226 136 1214 79 La08 1244 1839 1580 1518 1390 1296 72 1285 141 1269 76 La09 1358 2430 – 1521 1586 1447 83 1382 138 1375 78 La10 1287 2427 1541 1451 1527 1338 70 1293 135 1294 75 La16 1575 2337 – 1819 1673 1637 39 1575 156 1604 108 La17 1371 1898 – 1690 1556 1430 42 1371 125 1371 98 La18 1417 2197 – 1722 1713 1555 42 1485 131 1417 106 La19 1482 2245 – 1689 1786 1610 40 1491 120 1497 116 La20 1526 2288 1971 1714 1795 1693 45 1526 152 1602 104

Ft06 73 101 84 80 73 73 6 73 21 73 28

Ft10 1607 2271 – 1769 1810 1620 41 1607 175 1607 135 Orb01 1615 2357 2063 1799 1663 1663 39 1615 181 1615 164 Orb02 1485 2324 – 1728 1555 1555 40 1517 138 1485 100 Orb03 1599 2089 1801 1686 1603 1603 41 1599 186 1599 183 Orb04 1653 2220 1952 1983 1653 1653 43 1653 150 1653 110 Orb05 1365 2261 – 1553 1415 1415 44 1385 135 1370 106 Orb06 1555 2350 1788 1909 1555 1555 42 1555 166 1555 126

Orb07 689 922 – 831 706 706 43 689 141 689 120

Orb08 1319 1898 1823 1319 1319 1319 41 1319 193 1319 161 Orb09 1445 2388 1688 1721 1535 1535 40 1445 143 1445 104 Orb10 1557 2467 2565 1614 1618 1618 46 1557 128 1564 101

(8)

Tablica 1.2: Wartości CmaxA oraz tA[s]. Przykłady „trudne”

przy- roz. SMCP SMSP MINS VNS GASA MSA MTS

kład ref. Cmax Cmax Cmax Cmax Cmax t Cmax t Cmax t La11 1656 2226 – 1822 1915 1825 170 1701 220 1656 112 La12 1462 2202 1935 1545 1694 1631 164 1462 204 1465 88 La13 1610 2197 2221 1748 1907 1766 183 1610 222 1634 114 La14 1659 2381 – 1982 2313 1805 176 1725 212 1659 103 La15 1713 2720 2134 2047 1898 1829 167 1743 221 1713 112 La21 2048 3033 – 2519 2496 2182 147 2173 274 2048 217 La22 1918 2668 – 2220 2210 1965 135 1930 263 1918 206 La23 2075 3296 – 2692 2397 2193 136 2159 301 2075 213 La24 2044 2473 – 2653 2455 2150 133 2065 284 2044 201 La25 1946 2750 – 2451 2344 2034 142 1959 279 1946 178 La26 2627 3687 – 3326 3194 2945 332 2651 535 2627 346 La27 2763 3488 – 3180 3286 3036 311 2773 534 2763 372 La28 2696 4806 – 3440 3134 2902 324 2725 478 2696 355 La29 2498 4152 3086 2897 2838 2617 311 2521 487 2498 326 La30 2602 3492 3392 2818 3217 2892 346 2764 483 2602 283 La31 3690 4838 – 4256 4076 4298 957 3742 1010 3690 645 La32 4082 5469 – 4700 4476 4686 869 4089 1063 4082 726 La33 3712 – – 4204 4361 4214 860 3757 996 3712 650 La34 3716 5016 – 4419 4447 4401 968 3716 1057 3719 746 La35 3797 5360 – 4460 4378 4299 897 3929 1093 3797 672 La36 2796 3651 – 3546 3199 2949 203 2864 486 2796 361 La37 3025 4326 – 4038 3665 3216 192 3062 495 3025 395 La38 2612 3872 – 3229 3002 2762 202 2717 491 2612 336 La39 2760 – – 3751 3347 2908 195 2867 474 2760 374 La40 2728 4422 – 3376 3365 2950 214 2752 485 2728 388 Ft20 1587 2274 – 1866 – 1675 184 1626 211 1587 98

(9)

Tablica 1.3: Średnie wartości ρA[%]. Przykłady „łatwe”

ρA

przykłady SM CP SM SP M IN S V N S GASA M SA M T S

La01–05 52,2 18,5 15,8 12,4 3,9 0,0 0,0

La06–10 62,6 28,0 16,4 15,7 5,6 3,1 2,3

La16–20 48,7 29,2 17,3 15,7 7,5 1,1 1,6

Ft06,10 39,8 15,1 9,8 6,3 0,4 0,0 0,0

Orb01–05 46,6 19,5 2,3 2,3 13,4 0,7 0,1

Orb06–10 50,5 33,7 2,5 2,5 13,2 0,0 0,1

Wszystkie 51,3 25,1 14,8 9,5 4,1 0,9 0,7

mentu zamieszczone są w tabeli 1.1 przykłady „łatwe” oraz tabeli 1.2 przykłady

„trudne”. Ponadto tabela 1.1 zawiera wartości Cmaxopt rozwiązań optymalnych, natomiast tabela 1.2 zawiera wartości Cmaxref rozwiązań referencyjnych, wyzna- czonych jako najlepsze z rozwiązań otrzymanych wszystkimi testowanymi algo- rytmami,

Cmaxref = min

A∈AlgSetCmaxA (1.1)

gdzie AlgSet = {SM CP, SM SP, M IN S, V N S, GASA, M SA, M T S}. Dodat- kowo w tabeli 1.1 oznaczono grubą czcionką rozwiązania optymalne, a w tabeli 1.2 rozwiązanie referencyjne.

Następnie dla każdego „łatwego” przykładu obliczono błąd względny ρAwar- tości CmaxA uszeregowań otrzymanych odpowiednimi algorytmami liczony wzglę- dem rozwiązania optymalnego,

ρA= 100% · (CmaxA − Cmaxopt)/Cmaxopt. (1.2) Podobnie dla każdego „trudnego” przykładu obliczono błąd względny %A warto- ści CmaxA uszeregowań otrzymanych odpowiednimi algorytmami liczony wzglę- dem rozwiązania referencyjnego,

%A= 100% · (CmaxA − Cmaxref)/Cmaxref. (1.3) W tabeli 1.3 podane są średnie wartości parametru ρA wyliczone z grup

„łatwych” przykładów testowych. Ostatni wiersz tej tabeli „wszystkie”, zawiera

(10)

Tablica 1.4: Średnie wartości %A [%] badanych algorytmów, przykłady „trudne”

%A

przykłady SM CP SM SP M IN S V N S GASA M SA M T S

La11–15 44,8 31,6 12,6 20,0 9,4 1,7 0,3

La21–25 41,7 – 24,8 18,6 4,9 2,5 0,0

La26–30 49,1 27,0 18,7 18,8 9,1 1,9 0,0

La31–35 35,3 – 16,0 14,5 15,3 1,3 0,0

La36–40 46,0 – 28,7 19,0 6,2 2,5 0,0

Ft20 43,3 – 17,6 – 5,5 2,5 0,0

Wszystkie 43,6 29,8 20,1 18,2 8,8 2,0 0,1

średnią wartość parametru ρAodpowiedniego algorytmu z wszystkich „łatwych”

przykładów.

W tabeli 1.4 podane są średnie wartości parametru %A wyliczone z grup

„trudnych” przykładów testowych. Podobnie jak w tabeli 1.3 i tu ostatni wiersz

„wszystkie”, zawiera średnią wartość parametru ρA odpowiedniego algorytmu z wszystkich tym razem „trudnych” przykładów.

1.5 Analiza wyników

Wyniki numeryczne wykazują, że dla problemu gniazdowego z ograniczeniem bez czekania algorytm MTS, statystycznie generuje uszeregowania najlepsze w sensie wartości funkcji celu, a średni błąd od rozwiązania optymalnego (przy- kłady „łatwe”) wynosi zaledwie 0, 7%. Aż w czterech grupach z 6 algorytm MTS wykazuje się najlepszą średnią jakością produkowanych rozwiązań. W pozosta- łych dwóch grupach ustępuje on tylko algorytmowi MSA dla którego średni błąd od rozwiązań optymalnych też jest bardzo mały i wynosi 0, 9%. Dla pozostałych algorytmów parametr ten zmienia się od 4, 1% do 51, 3%.

Bardziej szczegółowa analiza tabeli 1.3 wykazuje ponadto, że algorytm MSA w 18 a algorytm MTS w 17 na 27 „łatwych” przykładów znalazł rozwiązanie optymalne. Algorytmy VNS i GASA dostarczyły tylko po 4 takie rozwiązania.

Z analizy wyników zamieszczonych w tabelach 1.2 i 1.4 widać, że algorytmy MSA i MTS dostarczają także zdecydowanie najlepszych rozwiązań dla „trud-

(11)

nych” przykładów. Najlepszym w sensie jakości produkowanych rozwiązań jest algorytm MTS, dla którego średnia wartość parametru %M T S wynosi 0, 1%.

Algorytm ten w 23 na 26 przykładów dostarczył rozwiązanie najlepsze. Tylko w 3 przypadkach ustąpił algorytmowi MSA, który ze średnią wartością parame- tru %M SAwynoszącą 2, 0% klasyfikuje się na drugim miejscu w sensie jakości ge- nerowanych rozwiązań. Pozostałe algorytmy wypadają słabo w stosunku do al- gorytmów MSA i MTS bo średnia wartości parametru%A, A ∈ {SM CP, SM SP, M IN S, V N S, GASA} zawiera się w od 8, 8% do 43, 6%.

Wśród algorytmów konstrukcyjnych tj. SMCP, SMSP, MINS zdecydowa- nie najlepszym okazał się MINS. Dla przykładów łatwych średni błąd ρM IN S wynosi zaledwie 15% co w stosunku do błędu ρSM CP = 51% i ρSM CP = 25%

wydaje się być niewielką wartością. Ponadto dla stosunkowo łatwych instancji problemu algorytmowi MINS potrafi wygenerować rozwiązanie optymalne czego przykładem może być instancja oznaczona symbolem „Orb08”. Dla przykładów

„trudnych” algorytm MINS okazał się także najlepszy w klasie algorytmów kon- strukcyjnych. Tym razem średni błąd %M IN Swynosi 20% podczas gdy dla pozo- stałych algorytmów konstrukcyjnych %SM CP = 44% i %SM CP = 30%. Niestety jakość generowanych rozwiązań algorytmem MINS dla przykładów „trudnych”

jest zauważalnie gorsza niż dla przykładów łatwych, średni błąd od rozwiązania referencyjnego (przykłady „trudne”) jest większy niż średni błąd od rozwiązania optymalnego (przykłady „łatwe”), %M IN S> ρM IN S.

1.6 Podsumowanie

Algorytmy MINS, MSA i MTS stworzone dla potrzeb problemu ogólniejszego jakim jest problem gniazdowy z wielomaszynowymi operacjami o nieprzesuwal- nych czynnościach asynchronicznych znakomicie nadają się do rozwiązywania szczególnego przypadku jakim jest problem gniazdowy z ograniczeniem bez cze- kania. Obecnie są to najlepsze, w sensie jakości produkowanych rozwiązań, znane w świecie algorytmy potrafiące rozwiązać „trudne” przykłady tego pro- blemu.

1.7 Bibliografia

[1] F. Glover. Tabu Search. Part I. ORSA Journal of Computing, 1:190-206, 1989.

[2] F. Glover. Tabu Search. Part II. ORSA Journal of Computing, 2:4-32, 1990.

(12)

[3] R. Graham, E. Lawler, J. Lenstra, A. Rinnoy Kan. Optimalization and aproxima- tion in determinic sequencing and scheduling. Annals of Discrete Mathematics, 5:287-326, 1979.

[4] G.N. Hall, C. Sriskandarajah. A survey of machine scheduling problems with blocking and no-wait in process. Operations Research, 44:510-524, 1996.

[5] S. Kirpatrick, C.D. Gelatt, M.P. Vecchi. Optimization by simulated annealing.

Science, 220:671-680, 1983.

[6] M. Makuchowski. Symulowane wyżarzanie w problemie gniazdowym z operacjami wielomaszynowymi nierównocześnie wykorzystującymi maszyny, W red. Ryszard Knosala: Komputerowo zintegrowane zarządzanie. 2, WNT, Warszawa 2004.

[7] M. Makuchowski, E. Nowicki, Algorytm tabu dla problemu gniazdowego z ope- racjami wielomaszynowymi nierównocześnie wykorzystującymi maszyny. Zeszyty Naukowe Politechniki Śląskiej. Seria Automatyka, 1554:287-297, 2002.

[8] A. Mascis, D. Pacciarelli, Job-shop scheduling with blocking and no-wait constra- ints, European Journal Operational Research, 143:498-517, 2002.

[9] E. Nowicki. Metoda tabu w problemach szeregowania zadań produkcyjnych. Ofi- cyna Wydawnicza Politechniki Wrocławskiej, Seria Monografie 27, Wrocław 1999.

[10] E. Nowicki, M. Makuchowski. Pewien algorytm konstrukcyjny dla problemu gniaz- dowego z operacjami wielomaszynowymi nierównocześnie wykorzystującymi ma- szyny. Automatyka, 7(1/2):199-204, 2003.

[11] W. Raaymakers, J. Hoogeveen. Scheduling multipurpouse batch process industries with no-wait restrictions by simulated annealing. European Journal of Operational Research, 126:131-151, 2000.

[12] S. Sahni, Y. Cho. Complexity of scheduling shops with no-wait in process. Ma- thematics of Operations Research, 4:448-457, 1979.

[13] C.J. Schuster, J.M. Framinan. Approximative procedures for no-wait job shop scheduling. Operations Research Letters, 31:308-318, 2003.

Cytaty

Powiązane dokumenty

A lgorytm y zstępujące należą do najprostszych algorytm ów należących do klasy algorytm ów lokalnej optym alizacji. W każdej iteracji tego typu algorytm u dla

część przestrzeni

Jeżeli własna siła uniemożliwia działanie innej siły i dopiero przyjęcie biernej postawy otwiera nas na dar Amidy, to powstaje pytanie w jaki sposób osiągnąć tę

Socjologiczno-własnościowa interpretacja „problemu gapowicza”, oparta na ekonomiczno- socjologicznej teorii własności, pozwala stwierdzić, że w rzeczywistości problem

[6] Makuchowski M., Nowicki E.: Algorytm tabu dla problemu gniazdowego z operacjami wielomaszynowymi nierównocześnie wykorzystującymi maszyny, Politechnika Śląska Zeszyty

Przedstawiony algorytm SA oceniamy na podstawie jakości wygenerowanych rozwiązań w odniesieniu do rozwiązań otrzymanych algorytmem TMN (typu tabu) polepszonego o dodatkowe

algorytm genetyczny z elementami symulowanego wyŜarzania. Dalszy układ pracy jest następujący. W rozdziale drugim podaję sformułowanie matematyczne rozwaŜanego problemu

każde zadanie może składać się z innej liczby operacj każde zadanie może mieć inną marszrutę technologiczną zadanie może wielkorotnie odwiedzać tę samą maszynę liczba