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