AUTOMATYKA 2009 Tom 13 Zeszyt 2 Józef Grabowski*, Jaros³aw Pempera* Hybrydowy algorytm tabu dla niepermutacyjnego problemu przep³ywowego z kryterium sumacyjnym 1. Wprowadzenie W przep³ywowym systemie produkcyjnym nale y wykonaæ okreœlon¹ liczbê zadañ na maszynach zadañ przy u yciu okreœlonej liczby maszyn stanowi¹cych park maszynowy. Ka de zadanie wykonywane jest na ka dej maszynie w kolejnoœci zgodnej z numeracj¹ tych maszyn. Planowanie operacyjne w takim systemie polega na wyznaczeniu harmonogramu wykonywania zadañ na maszynach, który minimalizuje (maksymalizuje) zadane kryterium optymalizacyjne. Harmonogram wykonywania zadañ okreœlony jest przez momenty rozpoczêcia oraz zakoñczenia wykonywania zadañ na poszczególnych maszynach. Dopuszczalny harmonogram wykonywania cechuje siê tym, e w dowolnej chwili dowolna maszyna wykonuje tylko jedno zadanie oraz dowolne zadanie wykonywane jest tylko na jednej maszynie. Zdecydowana wiêkszoœæ prac poœwiêcona problemowi przep³ywowemu FS ( flow shop problem) dotyczy jego szczególnego przypadku jakim jest permutacyjny problem przep³ywowy PFS ( permutation flow shop problem). W permutacyjnym problemie przep³ywowym dodatkowo wymaga siê, aby kolejnoœæ wykonywania zadañ na wszystkich maszynach by³a identyczna. W obu przypadkach dla zadanej kolejnoœci wykonywania zadañ na maszynach mo na w szybki i jednoznaczny sposób wyznaczyæ dopuszczalny harmonogram wykonywania zadañ. Problem PFS jest jednym ze sztandarowych problemów harmonogramowania zadañ i w zwi¹zku z tym za ka dym razem, gdy pojawi siê jakaœ nowa metoda konstruowania algorytmów heurystycznych dla problemów kombinatorycznych, opracowywany jest algorytm dla tego w³aœnie problemu. W pracy [1] mo na zapoznaæ siê z zarysem historycznym dotycz¹cym rozwoju metod rozwi¹zywania problemu PFS. Problemy przep³ywowe z kryteriami sumowo-kosztowymi, takimi jak suma czasów zakoñczenia zadañ, przep³yw ca³kowity lub œredni s¹ rzadko rozwa ane w literaturze. Czêsto problemy te uwa ane s¹ za znacznie trudniejsze. Dla problemu PFS opracowano algorytmy * Instytut Automatyki, Informatyki i Robotyki, Politechnika Wroc³awska 289
290 Józef Grabowski, Jaros³aw Pempera dok³adne [2] pozwalaj¹ce na rozwi¹zanie problemów o niewielkie liczbie zadañ i/lub maszyn. Do rozwi¹zania problemów o rzeczywistych rozmiarach opracowano algorytmy heurystyczne oparte na metodach przeszukiwania lokalnego [3], mrówkowego [4], genetycznego [5], stadnego [6] oraz przeszukiwania z zabronieniami [7]. Z powodu braku w³asnoœci pozwalaj¹cych na efektywn¹ obliczeniowo predykcjê rozwi¹zañ nie lepszych od rozwi¹zania bazowego, znalezienie dobrych rozwi¹zañ przez te algorytmy zwi¹zane jest z przegl¹dniêciem bardzo du ej liczby rozwi¹zañ. W przypadku niepermutacyjnego problemu przep³ywowego z kryterium minimalizacji czasu zakoñczenia zadañ wykazano, e stosowanie niepermutacyjnej strategii wytwarzania mo e znacz¹co skróciæ czas wykonania zadañ [8]. 2. Opis formalny problemu W niepermutacyjnym problemie przep³ywowym dany jest zbiór zadañ J = {1, 2,..., n}, który nale y wykonaæ przy u yciu m maszyn ze zbioru M = {1, 2,..., m}. Zadanie j J wykonywane jest kolejno na ka dej maszynie. Czas wykonania zadania j J na maszynie k M wynosi p jk > 0. Kolejnoœæ wykonywania zadañ na maszynach mo na opisaæ za pomoc¹ zestawu sk³adaj¹cego z m permutacji π = (π 1,, π m ). Permutacja π k, okreœla kolejnoœæ wykonywania zadañ na maszynie k M. Oczywiœcie ka da permutacja π k, k M, okreœlona jest na zbiorze {1,, n}. Dla ustalonej kolejnoœci π dopuszczalny harmonogram wykonywania zadañ na maszynach okreœlony przez terminy rozpoczêcia (zakoñczenia) wykonywania zadañ S jk (C jk ), j = 1,, n, k = 1,, m musi spe³niaæ nastêpuj¹ce ograniczenia: S j1 0, j = 1,, n (1) C jk = S jk + p jk, j = 1,, n, k = 1,, m (2) S jk C j,k 1, j = 1,, n, k = 2,, m (3) S πk( j),k C πk( j 1),k, j = 2,, n, k = 1,, m (4) Nierównoœæ (1) i równoœæ (2) s¹ oczywiste. Nierównoœæ (3) modeluje ograniczenie technologiczne i oznacza, e moment rozpoczêcia wykonywania danego zadania na danej maszynie nie mo e byæ wczeœniejszy od momentu zakoñczenia realizacji tego zadania na maszynie poprzedniej. Nierównoœæ (4) modeluje ograniczenie wynikaj¹ce z jednostkowej przepustowoœci maszyn. Dla zadanej kolejnoœci wykonywania zadañ π najwczeœniejsze momenty zakoñczenia realizacji zadañ na maszynach mo na wyznaczyæ z nastêpuj¹cego wzoru rekurencyjnego: C πk( j),k = max(c πk( j 1),k, C πk( j),k 1 ) + p πk( j),k (5) gdzie π k (0) = 0, C 0,k = 0 dla k M, oraz C j,0 = 0 dla j J.
Hybrydowy algorytm tabu dla niepermutacyjnego problemu przep³ywowego... 291 Niech Π bêdzie zbiorem wszystkich kolejnoœci. Zbiór Π zawiera (n!) m zestawów permutacji. Problem optymalizacji polega na wyznaczeniu takiej kolejnoœci π*, dla której suma czasów zakoñczenia zadañ C sum (π*) bêdzie jest najmniejsza, precyzyjniej Csum ( π *) = min Csum ( α) α Π (6) n gdzie Csum ( π ) = C 1 ( s), m. s = π m 3. Model grafowy Problem wyznaczenia dopuszczalnego harmonogramu wykonywania zadañ dla ustalonej kolejnoœci ich wykonywania π mo na sprowadziæ do problemu wyznaczenia d³ugoœci najd³u szych dróg w grafie skierowanym G(π) = (N,T F(π)) ze zbiorem obci¹ onych wêz³ów N i zbiorem nieobci¹ onych ³uków T F(π), gdzie N = {1,..., n} {1,..., m} (7) wêze³ (j, k) N obci¹ ony jest wag¹ p π(j)k, n m 1 j= 1 k= 1 U U (8) T = {(( j, k ),( j, k + 1))} zbiór T zawiera modeluj¹ce ograniczenia technologiczne (3) m n 1 U k= 1U j= 1 k k (9) F ( π ) = {(( π ( j ), k ),( π ( j + 1), k ))} ³uk ((π k (j),k), (π k (j + 1),k)) F(π) modeluje ograniczenia maszynowe (4). W³asnoœæ 1. Najwczeœniejszy moment zakoñczenia realizacji zadania π k (j) na maszynie k na maszynie jest równy d³ugoœci najd³u szej drogi (œcie ki) dochodz¹cej do wêz³a (j,k) (z obci¹ eniem tego wêz³a) w grafie G(π). Najd³u sz¹ drogê dochodz¹c¹ do wêz³a x = (j,k) mo na jednoznacznie opisaæ za pomoc¹ ci¹gu wêz³ów u = ( u1, u2,..., u x x x x x x x x ) w grafie G(π), gdzie ui = ( j, ) w i ki N, natomiast w x jest liczb¹ wêz³ów w tej œcie ce. Ka da taka œcie ka z oczywistych wzglêdów, rozpoczyna siê w wêÿle (π 1 (1),1). W³asnoœæ 2. Problem wyznaczenia sumy czasów zakoñczenia wykonywania zadañ mo emy sprowadziæ do wyznaczenia sumy d³ugoœci najd³u szych dróg dochodz¹cych do wêz³ów reprezentuj¹cych zadania wykonywane na ostatniej maszynie. W³asnoœæ 3. D³ugoœci najd³u szych dróg dochodz¹cych do wêz³ów dla wszystkich wêz³ów mo na wyznaczyæ w czasie O(nm).
292 Józef Grabowski, Jaros³aw Pempera Najd³u sz¹ drogê u x mo na podzieliæ na podci¹gi wêz³ów reprezentuj¹cych zadania x x x x x wykonywane na tej samej maszynie. Sekwencjê zadañ Bgh = ( jg, jg+ 1,..., jh 1, jh ) sk³adaj¹c¹ siê z co najmniej dwóch zadañ odpowiadaj¹c¹ maksymalnemu podci¹gowi x x x x x x ( ug,..., uh) = (( jg, kg),..., ( jh, kh)) œcie ki u x x x takiemu, e kg =... = kh bêdziemy nazywali blokiem zadañ. Dla bloku x x x x x Bgh = ( jg, jg+ 1,..., jh 1, jh ) definiujemy: pierwsze zadanie x w bloku jako j g, ostatnie zadanie w bloku jako x j h oraz blok wewnêtrzny jako podsekwencjê ( jg x, jg x + 1,..., jh x 1, jh x ). W³asnoœæ 4. Niech π bêdzie dowoln¹ kolejnoœci¹ wykonywania zadañ, niech u x bêdzie najd³u sz¹ drog¹ do wêz³a x, natomiast L x (π) d³ugoœci¹ tej drogi. Je eli istnieje kolejnoœæ wykonywania zadañ β taka, e L x (β) < L x (π), wtedy β przynajmniej jedno zadanie z przynajmniej jednego bloku zadañ wykonywane jest przed pierwszym lub za ostatnim zadaniem z tego bloku. W³asnoœæ 4 bezpoœrednio wywodzi siê z teorii blokowej [10]. W³asnoœæ 5. Niech π bêdzie dowoln¹ kolejnoœci¹ wykonywania zadañ. Je eli istnieje kolejnoœæ wykonywania zadañ β taka, e C sum (β) < C sum (π), wtedy β przynajmniej jedno zadanie z przynajmniej jednego bloku spoœród wszystkich bloków wyznaczonych dla wêz³ów reprezentuj¹cych wykonywanie zadañ na ostatniej maszynie wykonywane jest przed pierwszym lub za ostatnim zadaniem z tego bloku. W³asnoœæ 5 jest prost¹ konsekwencj¹ w³asnoœci 2 oraz 4. 4. Algorytmy metaheurystyczne Obecnie najskuteczniejsze algorytmy metaheurystyczne dla problemów szeregowania zadañ oparte s¹ na szeroko rozumianych metodach przeszukiwañ lokalnych. W ka dej iteracji tego typu algorytmów przegl¹dany jest niewielki podzbiór przestrzeni rozwi¹zañ problemu celem wyznaczenia rozwi¹zania najlepszego oraz wyznaczany jest podzbiór przeszukiwany w nastêpnej iteracji. Na efektywnoœæ tego typu algorytmów decyduj¹cy wp³yw ma typ ruchów generuj¹cy s¹siedztwo. W wielopermutacyjnych problemach harmonogramowania zadañ jednym z najskuteczniejszych otoczeñ jest zredukowane otoczenie typu zamieñ s¹siednie zaproponowane dla problemu gniazdowego w pracy [11]. Redukcja otoczenia polega na wyeliminowaniu ruchów, o których wiemy apriorycznie, e nie przynios¹ poprawy funkcji celu. S¹ to w szczególnoœci zmieniaj¹ce kolejnoœæ wykonywania zadañ nienale ¹cych do bloków oraz zadañ wewnêtrznych bloków. Wysoka skutecznoœæ tego otoczenia zosta³a potwierdzona badaniami prezentowanymi w pracy [12] oraz z powodzeniem zastosowana do konstrukcji hybrydowego algorytmu opartego na metodach przeszukiwañ lokalnych dla niepermutacyjnego problemu przep³ywowego z kryterium minimalizacji czasu zakoñczenia zadañ [9].
Hybrydowy algorytm tabu dla niepermutacyjnego problemu przep³ywowego... 293 4.1. Otoczenie Dla rozwa anego problemu, ruch typu zamieñ s¹siednie mo emy opisaæ za pomoc¹ trójki v = (k, a, a + 1). W wyniku wykonania ruchu v = (k, a, a + 1) w kolejnoœci π otrzymujemy now¹ kolejnoœæ β, w której β s = π s dla s k, s = 1,, m oraz β k = (π k (1),, π k (a 1), π k (a + 1),π k (a),, π k (n)). S¹siedztwo zamieñ s¹siednie sk³ada siê z (n 1)m rozwi¹zañ s¹siednich i wymaga O(n 2 m 2 ) czasu. Czas przegl¹dania otoczenia mo emy zmniejszyæ, jedynie zmniejszaj¹c liczbê przegl¹danych rozwi¹zañ s¹siednich. Jak dot¹d, podobnie jak w przypadku permutacyjnego problemu przep³ywowego z kryterium sumacyjnym, nie s¹ znane efektywne metody akceleracji obliczeñ. Na podstawie w³asnoœci 5 mo emy apriorycznie wskazaæ ruchy, które wygeneruj¹ rozwi¹zania na pewno nie lepsze od rozwi¹zania bazowego. W tym celu weÿmy pod uwagê najd³u sz¹ drogê prowadz¹c¹ do wêz³a reprezentuj¹cego wykonywanie na ostatniej maszynie jednego dowolnie wybranego zadania. Zauwa my, e ruchy zmieniaj¹ce kolejnoœæ wykonywania zadañ nienale ¹cych do adnego z bloków wyznaczonych dla tej drogi oraz zadañ wewnêtrznych bloku nie przynios¹ skrócenia jej d³ugoœci. Jedynymi ruchami typu zamieñ s¹siednie daj¹cymi szansê na zmniejszenie jej d³ugoœci i poprawê wartoœci funkcji celu s¹ ruchy przesuwaj¹ce drugie zadanie z bloku przed pierwsze lub przedostatnie za ostatnie. Mo na pokazaæ, e dla dowolnej kolejnoœci wykonywania zadañ, najd³u sza droga do tego typu wêz³ów odwiedza ka d¹ maszynê dok³adnie jeden raz, zatem dla ka dego zadania mamy co najwy ej 2m ruchów rokuj¹cych poprawê i ³¹cznie 2nm ruchów, je eli weÿmiemy pod uwagê wszystkie wêz³y na ostatniej maszynie. W rzeczywistoœci liczba wêz³ów jest zdecydowanie mniejsza, poniewa niektóre ruchy mog¹ byæ identyczne dla wielu dróg, bloki dwuelementowe generuj¹ tylko jeden ruch, natomiast fragmenty drogi sk³adaj¹ce siê tylko z jednego zadania na maszynie nie generuj¹ adnego ruchu rokuj¹cego poprawê wartoœci funkcji celu. Oczywiœcie liczba ruchów rokuj¹cych poprawê wartoœci funkcji celu zale y od dystrybucji bloków. 4.2. Hybrydowy algorytm przeszukiwania z zabronieniami (HTS) Technika przeszukiwania z zabronieniami jest jedn¹ z najbardziej efektywnych metod konstruowania algorytmów heurystycznych dla problemów szeregowania zadañ. Jej wysok¹ efektywnoœæ dla problemu przep³ywowego z kryterium sumacyjnym potwierdzaj¹ wyniki badañ zawarte w pracy [7]. W ka dej iteracji algorytmu wyznaczana jest wartoœæ funkcji celu dla wszystkich rozwi¹zañ z s¹siedztwa rozwi¹zania bazowego celem wyboru najlepszego. Istotnym elementem metody jest mechanizm zabronieñ, który zabezpiecza proces przeszukiwañ przed nieustannym powtarzaniem fragmentu trajektorii przeszukiwañ. Do rozwi¹zania problemu proponujemy hybrydowy (dwucz³onowy) algorytm oparty na metodzie przeszukiwania z zabronieniami. Zadaniem pierwszego cz³onu algorytmu jest wyznaczenie dobrego rozwi¹zania permutacyjnego. Drugi (w³aœciwy) cz³on rozpoczyna przeszukiwania od otrzymanego rozwi¹zania permutatycnego i wyszukuje mo liwie najlepsze rozwi¹zanie niepermutacyjne.
294 Józef Grabowski, Jaros³aw Pempera Do konstrukcji pierwszego cz³onu wykorzystano uproszczony algorytm tabu search z pracy [7]. Uproszczenie polega³o na usuniêciu wszystkich mechanizmów dywersyfikacyjnych, tj. dynamicznej d³ugoœci zabronieñ, mechanizmu multiruchu. Algorytm oparty jest na sumie s¹siedztw typu wstaw i zamieñ. Na potrzeby dalszego opisu algorytm ten bêdziemy oznaczali symbolem TSP. Drugi cz³on algorytmu, algorytm TSNP, operuje na rozwi¹zaniach niepermutacyjnych (zestawach permutacji). Zastosowano w nim zredukowane s¹siedztwo typu zamieñ s¹siednie oraz mechanizm zabronieñ wzorowany na rozwi¹zaniach stosowanych m.in. w pracach [7] i [11]. Precyzyjniej, niech β bêdzie najlepszym niezabronionym rozwi¹zaniem w otoczeniu rozwi¹zania bazowego π wygenerowanym przez wykonanie ruchu v = (k, a, a + 1) w tej kolejnoœci. Do listy zabronieñ dodawana jest trójka (k, π k (a), π k (a + 1)). Element listy zabronieñ (k, a, b) zabrania wszystkich kolejnoœci, w których zadanie a znajduje siê przed zadaniem b na maszynie k. Na liœcie pamiêtanych jest L ostatnich trójek. Algorytm TSNP koñczy dzia³anie po wykonaniu zadanej liczby iteracji. 5. Badania eksperymentalne W celu oceny jakoœci omawianego otoczenia oraz efektywnoœci opracowanego hybrydowego algorytmu tabu przeprowadzono eksperyment komputerowy na pierwszych piêciu grupach instancji problemu przep³ywowego, które zosta³y zaproponowane przez Taillarda [13]. W zestawie tym dla ka dej pary n m: 20 5, 20 10, 20 20, 50 5, 50 10, 50 20 znajduje siê 10 przyk³adów testuj¹cych. Tabela 1 Wyniki badañ eksperymentalnych Grupa PRD(π HTS1 ) PRD(π HTS2 ) CPU TSNP DIV(π NAT ) DIV(π HTS1 ) DIV(π TSP ) DIV(π HTS2 ) 20 5 8,70 0,04 0,39 33,50 21,87 0,03 0,09 20 10 3,48 0,10 0,92 28,41 23,93 0,04 0,24 20 20 1,48 0,24 2,29 19,78 17,99 0,00 0,11 50 5 2,81 0,20 1,88 32,43 28,65 2,08 2,00 50 10 1,61 0,51 4,99 30,91 28,77 1,53 1,34 Œrednio 3,62 0,22 29,01 24,24 0,74 0,58 Algorytm zosta³ zaprogramowany w œrodowisku Visual C++ 2005 i uruchomiony na komputerze z procesorem Intel Core 2 Duo 2.60 GHz. Rozwi¹zanie pocz¹tkowe dla algorytmu TSP zosta³o wygenerowane algorytmem NEH [14]. Dla ka dej instancji problemu zarówno algorytm TSP jak i TSNP wykona³ 1000 iteracji. D³ugoœæ listy zabronieñ wynosi³a odpowiednio 7 oraz 25.
Hybrydowy algorytm tabu dla niepermutacyjnego problemu przep³ywowego... 295 Dla ka dego przyk³adu wyznaczono 4 rozwi¹zania: naturaln¹ kolejnoœæ wykonywania zadañ π NAT, kolejnoœæ wygenerowan¹ algorytmem TSP π TSP, kolejnoœæ wygenerowan¹ algorytmem HTS z naturaln¹ kolejnoœci¹ pocz¹tkow¹ π HTS1, kolejnoœæ wygenerowan¹ algorytmem HTS z rozwi¹zaniem pocz¹tkowym wygenerowanym algorytmem TSP π HTS2. Nastêpnie obliczono nastêpuj¹ce wielkoœci: PRD(π) 100% (C sum (π 0 ) C sum (π))/c sum (π 0 ) wzglêdna poprawa rozwi¹zania pocz¹tkowego π 0, DIV(π) 100% (C max (π) C reft )/C ref wzglêdna ró nica wartoœci funkcji celu rozwi¹zania wygenerowanego algorytmem TS i wartoœci referencyjnej C ref dla permutacyjnego problemu przep³ywowego z pracy [5], CPU A czas obliczeñ algorytmu A. Wyniki eksperymentu komputerowego przedstawiono w tabeli 1. Dodatkowo dla ka - dej grupy wyznaczono najmniejsz¹ wartoœæ DIV(π HTS2 ). Wartoœci te odpowiednio wynosi- ³y 0,45; 1,21; 0,28; 0,89; 0,42%. Algorytm HTS zosta³ uruchomiony równie na wiêksz¹ liczbê iteracji jednak e dla wiêkszoœci instancji otrzymywane rozwi¹zania koñcowe nie by³y lepsze. Z analizy wyników eksperymentu komputerowego wynika, e jakoœæ rozwi¹zañ generowanych przez algorytm HTS istotnie zale y od rozwi¹zania pocz¹tkowego. Dla naturalnych rozwi¹zañ pocz¹tkowych, znacznie oddalonych od rozwi¹zañ optymalnych œrednio 24%, obserwuje siê najwiêksz¹ poprawê uzyskiwan¹ przez algorytm TSNP, która wynosi³a œrednio w zale noœci od grupy od 1,4 8,7%. W przypadku uruchomienia algorytmu TSNP z rozwi¹zaniem pocz¹tkowym wygenerowanym algorytmem TSP, obserwuje siê znacznie mniejsze poprawy tj. od 0,04 0,51%. Ujemne wartoœci DIV œwiadcz¹ o znalezieniu rozwi¹zañ lepszych od referencyjnych rozwi¹zañ permutacyjnych (w przypadku pierwszych trzech grup najprawdopodobniej optymalnych). Zatem istniej¹ harmonogramy niepermutacyjne o nawet 1,21% lepszej wartoœci funkcji celu. 6. Podsumowanie W pracy zosta³ przedstawiony hybrydowy algorytm tabu search dla niepermutacyjnego problemu przep³ywowego bazuj¹cy na jednym najefektywniejszych otoczeñ dla problemów wielopermutacyjnych. Wyniki badañ eksperymentalnych wskazuj¹, e w klasie rozwi¹zañ niepermutacyjnych znajduj¹ siê rozwi¹zania znacz¹co lepsze od rozwi¹zañ permutacyjnych. Niestety efektywnoœæ tego otoczenia ogólnie nale y oceniæ nisko. Uzyskiwane poprawy s¹ relatywnie niewielkie. Dalsze kierunki badañ powinny koncentrowaæ siê na opracowaniu innnego typu otoczeñ.
296 Józef Grabowski, Jaros³aw Pempera Literatura [1] Gupta J.N.D., Stafford S., Flowshop scheduling research after five decades. European Journal of Operational Research, 169, 2006, 699 711. [2] Bansal S.P., Minimizing the sum of completion times of n-jobs over m-machines in a flowshop a branch and bound approach. AIIE Transactions, 9, 1977, 306 311. [3] Allahverdi A., Aldowaisan T., New heuristics to minimize total completion time in m-machine flowshops. International Journal of Production Economics, 77, 2002, 71 83. [4] Rajendran C., Ziegler H., Ant-colony algorithms for permutation flowshop scheduling to minimize makespan/total flowtime of jobs. European Journal of Operational Research, 155, 2004, 426 438. [5] Reeves C.R., Yamada T., Genetic algorithms, path relinking and the flowshop sequencing problem. Evolutionary Computation, 6, 1998, 45 60. [6] Tasgetiren M.F., Liang Y., Sevkli M., Gencyilmaz G., A particle swarm optimization algorithm for makespan and total flowtime minimization in the permutation flowshop sequencing problem. European Journal of Operational Research, 177, 2007, 1930 1947. [7] Bo ejko W., Pempera J., Smutnicki A., Parallelization of metaheuristics for the flow shop scheduling problem. Lecture Notes in Computer Science (w druku). [8] Tandon M., Cummings P.T., Levan M.D., Flowshop sequencing with non-permutation schedules. Computers and Chemical Engineering, 15, 1991, 601 607. [9] Lin S.W., Ying K.C., Applying a hybrid simulated annealing and tabu search approach to nonpermutation flowshop scheduling problems. International Journal of Production Research, 45, 5, 2009, 1411 1424. [10] Grabowski J., Nowicki E., Smutnicki C., Metoda blokowa w zagadnieniach szeregowania zadañ. EXIT, Warszawa 2003. [11] Nowicki E., Smutnicki C., A fast taboo search algorithm for job shop problem. Management Science, 42,6, 1996, 797 813. [12] Watson J.P., Howe A.E., Whitley L.D., Deconstruction Nowicki and Smutnicki s i-tsab algorithm for the job shop problem. Computers and Operations Research, 33,9, 2006, 2623 2644. [13] Taillard E., Benchmarks for basic scheduling problems. European Journal of Operational Research, 64, 1993, 278 285. [14] Nawaz E., Enscore E.E., Ham I., A heuristic algorithm for the m machine, n job flow shop sequencing problem. Omega International Journal of Management Science, 11, 1993, 91 95.