• Nie Znaleziono Wyników

SYMULOWANE WYśARZANIE W PROBLEMIE GNIAZDOWYM Z OPERACJAMI WIELOMASZYNOWYMI NIERÓWNOCZEŚNIE WYKORZYSTUJĄCYMI MASZYNY

N/A
N/A
Protected

Academic year: 2021

Share "SYMULOWANE WYśARZANIE W PROBLEMIE GNIAZDOWYM Z OPERACJAMI WIELOMASZYNOWYMI NIERÓWNOCZEŚNIE WYKORZYSTUJĄCYMI MASZYNY"

Copied!
8
0
0

Pełen tekst

(1)

SYMULOWANE WYśARZANIE W PROBLEMIE GNIAZDOWYM Z OPERACJAMI WIELOMASZYNOWYMI

NIERÓWNOCZEŚNIE WYKORZYSTUJĄCYMI MASZYNY

Mariusz Makuchowski

Streszczenie: W pracy rozwaŜa się problem gniazdowy z operacjami wielomaszynowymi nierównocześnie wykorzystującymi maszyny i kryterium minimalizującym moment zakończenia wszystkich zadań. Do jego rozwiązania proponuje się algorytm oparty na technice symulowanego wyŜarzania. Następnie na duŜej liczbie przykładów testowych przeprowadza się analizę porównawczą pomiędzy zaproponowanym algorytmem a algorytmem opartym na technice tabu.

Słowa kluczowe: problem gniazdowy, operacje wielomaszynowe, algorytm symulowanego wyŜarzania.

1. Wstęp

Problem gniazdowy z kryterium minimalizującym moment zakończenia wszystkich zadań jest jednym z podstawowych zagadnień badanych w teorii harmonogramowania procesów produkcyjnych, [1], poniewaŜ modeluje on duŜy obszar rzeczywistych procesów produkcyjnych, zaś odpowiednie jego uogólnienia obszar ten jeszcze powiększają. Jednym z narzucających się rozszerzeń jest przyjęcie, Ŝe operacje wymagają nie jednej, lecz kilku maszyn, [2,3,4]. Idąc dalej, przyjmuje się, Ŝe maszyny niezbędne do wykonania danej operacji wykorzystywane są tylko w pewnych ustalonych przedziałach, a nie w całym okresie jej wykonywania, [5]. Takie uogólnienie nazywamy problemem gniazdowym z operacjami wielomaszynowymi nierównocześnie wykorzystującymi maszyny, [6].

PowyŜszy problem jest NP-trudny, co implikuje, Ŝe w praktyce do jego rozwiązania moŜna stosować tylko algorytmy przybliŜone, dokładniej algorytmy konstrukcyjne lub algorytmy popraw. Przykładowo, algorytm konstrukcyjny typu wstaw przedstawiono w pracy [7], zaś algorytm typu popraw - oparty na technice tabu serach - w pracy [8].

W tej pracy proponuje się algorytm popraw oparty na technice symulowanego wyŜarzania. Następnie przeprowadza się badania testowe na mocno zróŜnicowanych przykładach zaczerpniętych z literatury, prezentuje otrzymane wyniki oraz dokonuje ich analizy porównawczej z wynikami otrzymanymi algorytmem typu tabu serach. W celu zapewnienia jednakowych warunków dla obydwu algorytmów: algorytmy startują z identycznego rozwiązania początkowego, pracują na tym samym sąsiedztwie oraz wykorzystują tą samą technikę skoku powrotnego. Dodatkowo parametry sterujące dobrane są w taki sposób, aby czasy pracy obydwóch algorytmów były równe. Porównywane algorytmy róŜnią się jedynie ideą wybieranego rozwiązania z sąsiedztwa (algorytm symulowanego wyŜarzania – losowo, algorytm tabu serach – najlepsze niezabronione).

2. Sformułowanie problemu

(2)

Dany jest zbiór zadań J={1,2,K,r}, zbiór operacji O={1,2,K,o}, zbiór czynności }

, , 2 , 1

{ n

N= K oraz zbiór maszyn M ={1,2,K,m}. Zadanie kJ składa się z ciągu

≥1

ok operacji indeksowanych kolejno przez jk +1, jk +2,K, jk +ok gdzie

=

= ki 11 i

k o

j . Realizacja zadania polega na wykonaniu w powyŜszej kolejności wszystkich operacji wchodzących w jego skład. Dla kaŜdej operacji jO określony jest zbiór maszyn

M

Mj, na których jest ona wykonywana; proces wykonywania operacji j na maszynie Mj

l∈ nazywamy czynnością ( lj, ). Oznaczając przez S( lj, ) moment rozpoczęcia wykonywania czynności ( lj, ) przyjmujemy, Ŝe moment rozpoczęcia wykonywania operacji j jest równy S(j) min S(j,l)

Mj l

= . Czynność ( lj, ) jest scharakteryzowana przez dwa parametry: głowę τj,l i ciało pj,l. Głowa określa, po jakim czasie od momentu S( j) rozpoczęcia wykonywania się operacji j ma rozpocząć się wykonywanie czynności ( lj, ) (zachodzi:S(j)=S(j,l)+τj,l), zaś ciało jest długością trwania tej czynności. Moment

) ( j

C zakończenia wykonywania operacji j określamy jako

} {

max ) ( )

(j S j l M pj,l j,l

C = + j +τ . Uszeregowanie dopuszczalne definiowane jest przez momenty S(j,l)≥0, lMj, jO spełniające wszystkie typowe dla problemu gniazdowego ograniczenia. Problem polega na znalezieniu uszeregowania dopuszczalnego minimalizującego moment wykonania wszystkich operacji maxj∈OC(j).

Przy badaniu własności problemu oraz przy konstrukcji algorytmów wygodnie jest posługiwać się modelem permutacyjno-grafowym. Zmienną decyzyjną jest zestaw permutacji określonych na czynnościach wykonywanych na poszczególnych maszynach.

Zestaw ten przedstawiony jest w postaci π =(π1,Km) gdzie πl =(πl(1),...,πl(|Nl|)) jest permutacją operacji zbioru czynności Nl ={(j,l): lMj}, które muszą być wykonane na maszynie l, lM . Zbiór wszystkich takich zestawów permutacji zwanych krótko permutacją oznaczamy przez Π. Dla kaŜdej permutacji π∈Π definiujemy graf

)) ( ,

( )

ET EO EK π

G = Θ ∪ ∪ (1) ze zbiorem obciąŜonych wierzchołków reprezentujących czynności

} , : ) ,

{(j l lMj jO

=

Θ , (2)

zbiorem nieobciąŜonych łuków technologicznych

U

k J

U

jj jo j j

T j l jl

E k k

+k

+

= +

= 2{(( 1, 1),( , ))}, (3)

kolejnościowych

(3)

U

l M

U

i l l

K l i i

E (π)= |π=2| {(π ( −1),π ())} (4) oraz obciąŜonych łuków operacyjnych

U

j O

U

iM j j j j

O j j m i j m i j m i j m i

E = |=2|{(( , ( −1)),( , ())), (( , ()),( , ( −1)))}, (5)

gdzie zmienna j l M jl

l =argmin jτ , (lj argmaxl M ( j,l pj,l)

j +

=

+ τ ) oznacza maszynę,

na której rozpoczyna się (lub kończy się) wykonywanie operacji j, natomiast O

j m m m

m

Mj ={ j(1), j(2),K, j( )}, ∈ . Wierzchołek ( lj, ) obciąŜony jest wartością pj,l, a łuk ((j,a),(j,b))∈EO wartością wj,a,bj,b−τj,apj,a. JeŜeli graf G(π) nie posiada cykli dodatniej długości, to definiujemy rπ( lj, ) (qπ( lj, )) jako wartość najdłuŜszej drogi dochodzącej do (wychodzącej z) wierzchołka (j,l), łącznie z wagą tego wierzchołka.

W pracy [8] pokazano, Ŝe jeŜeli permutacja π reprezentuje rozwiązanie dopuszczalne, to: (i) graf G(π) nie posiada cykli o dodatniej długości, (ii) wartość rπ( lj, ) jest równa momentowi S( lj, ) rozpoczęcia wykonywania się czynności ( lj, ) oraz (iii) wartość najdłuŜszej ścieŜki w grafie G(π) (oznaczana przez Cmax(π)) jest równa długości uszeregowania. W konsekwencji graf G(π) pozwala na następujące równowaŜne sformułowanie problemu: Wśród permutacji π, dla których graf G(π) nie zawiera cykli o dodatniej długości, znaleźć permutację π* minimalizującą wartość Cmax(π).

3. Algorytm symulowanego wyŜarzania

Algorytm symulowanego wyŜarzania jest algorytmem typu popraw. Oznacza to, Ŝe w kaŜdym kroku analizuje on „sąsiednie” rozwiązania danego rozwiązania, zwanego dalej rozwiązaniem bazowym. Następnie algorytm akceptuje jedno z tych rozwiązań, tzn. traktuje je jako nowe rozwiązanie bazowe. Zaakceptowane rozwiązanie moŜe być lepsze jak i gorsze (w sensie wartości funkcji celu) niŜ rozwiązanie bazowe. JednakŜe prawdopodobieństwo zaakceptowania konkretnego sąsiedniego rozwiązania silnie zaleŜy od odpowiadającej mu wartości funkcji celu. Im rozwiązanie jest gorsze, tym prawdopodobieństwo zaakceptowania jest mniejsze. Z biegiem działania algorytmu prawdopodobieństwo akceptowania gorszych rozwiązań się zmniejsza.

W prezentowanym algorytmie zwanym dalej SA prawdopodobieństwo zaakceptowania rozwiązania P(α,β), tzn. przejścia z rozwiązania α do rozwiązania β, wynosi:



>

=

0 ,

0 , ) 1

,

( / t

Pα β e , (6)

(4)

gdzie ∆=Cmax(β)−Cmax(α) , zaś t jest parametrem (zwanym temperaturą) zmieniającym się logarytmicznie podczas pracy algorytmu od wartości

t

start do

t

end. W celu wyznaczenia temperatury początkowej i końcowej wyznacza się maksymalną

maxoraz minimalną (dodatnią)

min moŜliwą zmianę wartości funkcji, pomiędzy sąsiednimi rozwiązaniami.

PoniewaŜ wszystkie dane instancji są liczbami całkowitymi, najmniejsza moŜliwa zmiana wynosi ∆min=1. Z kolei największa moŜliwa zmiana wartości funkcji celu ograniczona jest od góry „wielkością” przekładanej operacji, dlatego teŜ przyjmuje się, Ŝe

} {

max , , ,

max l M j O pjl jl

j

=

. Temperaturę początkową ustawia się w taki sposób, aby prawdopodobieństwo zaakceptowania rozwiązania gorszego o ∆max/2 wynosiło 0,5.

Temperaturę końcową ustawia się natomiast w taki sposób, by prawdopodobieństwo zaakceptowania rozwiązania gorszego o 2∆minwynosiło 0,5;

) 5 , 0 ln(

2

max/

=−

start

t ,

) 5 , 0 ln(

2⋅∆min

= −

tend . (7)

Algorytm wykonuje 10.000 iteracji, przy czym zmiana temperatury następuje co 100 iteracji w sposób logarytmiczny, zgodnie z wzorem:

t t t

= + ε

: 1 (8)

gdzie

end start

end start

t t

t t

= −

ε η oraz η=99 oznacza liczbę zmian temperatury.

3.1 Sąsiedztwo

Prezentowany algorytm SA posiada sąsiedztwo oparte na idei sąsiedztwa algorytmu TMN prezentowanego w pracy [8]. Niech zπ,j =(z1π,j,K,zmπ,j)oznacza zestaw pozycji czynności operacji j w π, gdzie πl(zlπ,j)=(j,l) dla lMj; niewykonywanie na maszynie czynności j notuje się przez zlπ,j =0. Zbiór wszystkich zestawów pozycji, jakie mogą zajmować czynności operacji j w permutacji π oznaczamy Zπ,j. Ruch v=(j,z) polega na przesunięciu wszystkich czynności operacji j na pozycje określone przez zestaw

} {

\ ,

,j z j

Z

zπ π , a otrzymane rozwiązanie oznaczamy przez π(v).

Niech γ jest permutacją powstałą po usunięciu czynności operacji j z π. Dla kaŜdego zestawu pozycji zZπ,j definiujemy wartość

) ( ) ( )

(z h1 z h2 z

h = + (9) gdzie

(5)

)}

1 ( max

, max{

)

1(z = A lM Rl zl

h j , h2(z) max{B,maxl M Ql(zl)}

j

= , (10)

) , ( +

=r j lj

A γ , ( , )

, ,

+ + +

+ + +

= jl pjl q j lj B

j j

τ γ , (11)

l j l

l l

l z r z

R( −1)= γ(γ ( −1))−τ , , Ql(zl)=τj,l +pj,l+qγl(zl)) (12) oraz j(j+) jest poprzednikiem (następnikiem) technologicznym operacji j. JeŜeli operacja j nie ma poprzednika (następnika) technologicznego to odpowiednie zmienne wynoszą zero. ZauwaŜmy, Ŝe jeŜeli rozwiązanie π(v), v=(j,z) jest rozwiązaniem dopuszczalnym to wartość h(z) jest wartością najdłuŜszej drogi w grafie G(v)) przechodzącej, przez co najmniej jeden wierzchołek odpowiadający czynności operacji j a wartość max{Cmax(γ),h(z)} jest długością ścieŜki krytycznej w tym grafie. Niech al oznacza najmniejszą pozycję taką, Ŝe 1≤al ≤ γl , Rl(al)> A, jeŜeli Rll)>Alub

+1

= l

al γ – w przeciwnym wypadku. Niech bloznacza najmniejszą pozycję taką, Ŝe

l

bl ≤ γ

1 , Ql(bl)≤B lub bll +1 – w przeciwnym wypadku. Zestaw pozycji

j mB B

B z z Z

z =( 1,K, )∈ π, jest zestawem bazowym, jeŜeli

) ( min

) 1 (

maxl M Rl zlB l M Rl zlB

j

j

− < oraz alzlB ≤max{al,bl},lMj. (13)

NajwaŜniejszą własnością pozycji bazowych jest to, Ŝe dla kaŜdego zestawu pozycji Z j

zπ, istnieje zestaw bazowy zBZBπ,j taki, Ŝe h(zB)≤h(z) oraz liczność pozycji bazowych ZBπ,j

lMjπl jest istotnie mniejsza niŜ liczność wszystkich pozycji

,j =

lMj l −1

Zπ π . Dlatego dla kaŜdej operacji j danego rozwiązania π, wyznacza się rozwiązanie sąsiednie wybierane z rozwiązań powstałych z przesunięcia operacji j na pozycje bazowe.

Przeprowadzone badania pokazały, Ŝe generowanie ruchów nie zmieniających wartości funkcji celu ma istotnie niekorzystny wpływ na jakość generowanych rozwiązań. Dlatego teŜ proponuje się usunąć pozycje bazowe generujące taką samą wartość funkcji celu co rozwiązanie bieŜące. Wyjątkiem jest jednak taka sytuacja, gdy w zbiór ZB zawiera tylko takie pozycje, dla których odpowiadające rozwiązania nie zmieniają wartości funkcji celu Cmax lub są niedopuszczalne; ZB'π,j=ZBπ,j \{z:Cmax(π)=Cmax((j,z)))}, jeŜeli

<

z ZBπ,j:Cmax(π) Cmax((j,z))) lub ZB'π,j=ZBπ,j w przeciwnym wypadku.

Dla kaŜdej operacji j wyznaczany jest ruch

}}}

\{

' : ) , {(

: ) ( min{

arg max (v) ,j ,j

R

j C v j z z ZB z

v = π ∈ ∈ π π (14)

zwany reprezentantem.

(6)

Ponadto jest oczywiste, Ŝe jeŜeli Ŝadna czynność operacji j nie leŜy na ścieŜce krytycznej w grafie G(π), to dla kaŜdego ruchu v=(j,z)∈V(π,j) zachodzi

) ( )

( ( ) max

max π C π

C v ≥ . Dlatego ograniczamy się do przesuwania czynności tylko tych operacji j, które naleŜą do zbioru Ω⊂O zawierającego wszystkie operacje, których przynajmniej jedna czynność leŜy na ścieŜce krytycznej w grafie G(π). Ostatecznie sąsiedztwo permutacji π ma postać ( ) { : }

)

( ∈Ω

= j

N R

vj

SA π π .

3.2 Rozwiązanie startowe

Prezentowany algorytm SA rozpoczyna pracę z tego samego rozwiązania, co algorytm TMN oparty na technice tabu. Rozwiązanie to jest generowane przez algorytm INS typu wstaw opisany w pracy [7]. Startowanie z takich samych rozwiązań początkowych jest konieczne w celu prawidłowego porównywania efektywności algorytmów SA oraz TMN.

3.3 Skok powrotny

Podczas działania algorytm SA zapamiętuje najlepsze (dotychczas znalezione) rozwiązanie. W przypadku, gdy algorytm wykona pewną liczbę iteracji (500) nie poprawiających wartości funkcji celu, następuje przypisanie bieŜącemu rozwiązaniu rozwiązania najlepszego.

4. Analiza eksperymentalna

Badania zostały przeprowadzone na przykładach testowych wygenerowanych w pracy [8], na komputerze klasy PC z procesorem Athlon XP 2000+. Przykłady są podzielone na trzy klasy (SRdata, SMdata, SVdata), róŜniące się między sobą średnią liczbą czynności jednej operacji (odpowiednio: 2, 1/3m i 1/2m). KaŜda klasa składa się z 8 grup liczących po pięć instancji. Instancje danej grupy posiadają jednakową liczbę maszyn m i zadań r.

Przedstawiony algorytm SA oceniamy na podstawie jakości wygenerowanych rozwiązań w odniesieniu do rozwiązań otrzymanych algorytmem TMN (typu tabu) polepszonego o dodatkowe techniki takie jak: (i) dynamiczna zmiana długości tabu listy oraz (ii) unikanie wybierania rozwiązań o wartości funkcji celu równej wartości dla rozwiązania bazowego (identyczne jak w algorytmie SA). Dla kaŜdego przykładu wyznaczano długość uszeregowania CSA generowanego przez badany algorytm SA oraz zmierzono czas T jego pracy. Następnie wyznaczono długość uszeregowania CTMN otrzymanego przez algorytm TMN pracujący dokładnie w czasie T. Z kolei wyznaczano względną procentową poprawę

TMN SA

TMN C C

C )/

(

%

100 ⋅ −

ρ= . (15) Dla kaŜdej grupy obliczono wartości średnie z pięciu przykładów AV(ρ) oraz średni czas pracy algorytmów AV(T). W tabeli 1 przedstawiono średnie wartościAV(ρ) oraz AV(T) otrzymane dla kaŜdej z 8 grup wszystkich klas.

Tab. 1.Wyniki badań testowych algorytmu SA i TMN

(7)

Grupa SRdata SMdata SVdata )

AV AV(T) AV(ρ) AV(T) AV(ρ) AV(T)

m / r [%] [s] [%] [s] [%] [s]

5 / 10 -1,1 23 0,5 18 1,2 24

5 / 15 0,6 27 0,4 23 0,9 40

5 / 20 0,3 33 0,0 23 0,9 40

10 / 10 0,9 33 0,5 53 3,2 102

10 /15 1,0 36 2,6 70 3,5 141

10 / 20 2,4 45 1,8 101 4,5 183

10 / 30 2,7 63 2,8 149 5,1 320

15 /15 2,9 57 6,1 239 4,8 541

All 1,2 1,8 3,0

Z tabeli 1 wynika, Ŝe proponowany algorytm SA generuje średnio rozwiązania o 2,0%

lepsze, niŜ rozwiązanie wyprodukowane algorytmem TMN. Proponowany algorytm SA okazał się lepszy w niemal kaŜdej z testowych grup. ZauwaŜalny wzrost wydajności algorytmu SA dla większych przykładów (większych zarówno pod względem ilości operacji i maszyn jak i pod względem średniej ilości czynności jednej operacji) spowodowany jest względnym przyrostem szybkości w stosunku do algorytmu TMN. Dla najmniejszych przykładów algorytm TMN wykonywał do 3.500 iteracji w czasie T, podczas gdy dla największych przykładów ilość wykonanych iteracji wynosiła około 850.

5. Uwagi końcowe

Zaprezentowane wyniki badań wskazują, Ŝe proponowany algorytm SA oparty na technice symulowanego wyŜarzania jest lepszy niŜ algorytm TMN oparty na technice tabu serach. Warto tu przypomnieć, Ŝe obydwa porównywane algorytmy posiadały dokładnie takie same sąsiedztwa, startowały z tych samych rozwiązań początkowych oraz pracowały w tym samym czasie. Wydaje się, ze jest kilka przyczyn tej sytuacji.

Po pierwsze, czas jednej iteracji algorytmu SA jest znacznie mniejszy niŜ jednej iteracji algorytmu TMN. Powoduje to, Ŝe przy tym samym czasie łącznym, algorytm SA wykonuje istotnie więcej iteracji niŜ TMN. Z kolei wiadomo, Ŝe algorytm oparty na technice tabu daje

„dobre” wyniki dopiero po wykonaniu odpowiednio duŜej liczby iteracji; w tym wypadku liczba tych iteracji była zaś stosunkowo mała, rzędu 800 dla największych instancji.

Po drugie, otrzymane wyniki wskazują, Ŝe lista tabu w algorytmie TMN jest zbyt restrykcyjna, co moŜe istotnie przeszkadzać w szybkim znalezieniu dobrych rozwiązań.

Z powyŜszego wynika, Ŝe odpowiednie dalsze badania algorytmu TMN są jak najbardziej poŜądane. Powinny one dotyczyć: (i) zmniejszenia czasu wykonania jednej iteracji algorytmu oraz (ii) postaci listy tabu, w celu uczynienia jej mniej restrykcyjnej, przy zachowaniu jednak własności zabezpieczającej przed częstym powstawaniem cykli.

Praca była finansowana ze środków KBN w latach 2003-2006, jako projekt badawczy nr T11A01624.

(8)

Literatura

1. Pinedo M.: Scheduling: Theory, Algorithms, and Systems, Prentice Hall Englewood Cliffs, 1995.

2. Drozdowski M.: Scheduling multiprocessor task – An Overview, European Journal Operational Research, 94, 1996, 215-230.

3. Grabowski J.: Sformułowanie i rozwiązanie zagadnienia kolejnościowego z równoległym wykorzystaniem maszyn, Archiwum Automatyki i Telemechaniki, 1978, 91–113.

4. Kramer A.: Scheduling Multiprocessor Tasks on Dedicated Processors, PhD-Thesis, Fachbereich Mathematik/Infomatik, Universitat Osnabruck, 1995.

5. Sawik T.: Planowanie i sterowanie produkcji w elastycznych systemach montaŜowych, Warszawa, WNT, 1996.

6. Makuchowski M., Nowicki E.: Modele permutacyjno-grafowe problemów gniazdowych z operacjami wielomaszynowymi, Modelowanie i optymalizacja, metody i zastosowania, Akademicka Oficyna Wydawnicza EXIT, Warszawa 2002, V11-V24.

7. Nowicki E., Makuchowski M.: Pewien algorytm konstrukcyjny dla problemu gniazdowego z operacjami wielomaszynowymi nierównocześnie wykorzystującymi maszyny. Automatyka, Tom 7, UWND Kraków 2003, 199-204.

8. Makuchowski M., Nowicki E.: Algorytm tabu dla problemu gniazdowego z operacjami wielomaszynowymi nierównocześnie wykorzystującymi maszyny, Politechnika Śląska Zeszyty Naukowe Automatyka 134, Gliwice 2002, 287-297.

Mgr inŜ. Mariusz MAKUCHOWSKI

Instytut Cybernetyki Technicznej, Politechnika Wrocławska 53-342 Wrocław, ul. Janiszewskiego 11/17

tel.: (0*71) 320-29-61

e-mail: makuch@ict.pwr.wroc.pl

Cytaty

Powiązane dokumenty

Dotychczasowe modele matematyczne operacji wielomaszynowych zakładały uŜycie wszystkich potrzebnych maszyn (zasobów) przez cały czas trwania wykonywania

Streszczenie: W pracy przedstawia się nowy algorytm obliczający długość ścieŜki krytycznej w grafie modelującym problem gniazdowy z operacjami wielomaszynowymi

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

Such parameters as bubble size I and slip veloeities were measured, along with the induced buoyancy and velocity I distributions, data analysis technique.. using hot-film A set

Czteroletnie badania nad koordynacją działań lokalnych na rzecz bezpieczeństwa obejmowały analizę obowiązującego prawa, dokumentów w postaci powiatowych programów

Algorytm RN traci więc istotną część informacji, zawartą w danych, gdy iloczyn xp jest mały.. Będzie tak

Opisano przede wszystkim równoległy, wielokryterialny algorytm przeszukiwania Tabu znajdujący uszeregowania niezdotninowane ze względu na wszystkie kryteria

Analizę prowadzi się w następujący sposób: pobraną próbkę przenosi się do kolbki stożkowej, dodając 10 ml wody destylowanej, 2 krople fenoloftaleiny i