14.06.2015 Views

Optimalizácia výrobných procesov

Optimalizácia výrobných procesov

Optimalizácia výrobných procesov

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Optimalizácia<br />

výrobných<br />

<strong>procesov</strong><br />

Ivan Brezina<br />

máj 2005 1


výrobná logistika<br />

rozvrhovanie na seba nadväzujúcich operácií<br />

systémy s jedným obslužným zariadením<br />

Moorov algoritmus<br />

Smithov algoritmus<br />

Lawlerov algoritmus<br />

systémy FLOW SHOP<br />

máj 2005 2


Výrobná logistika<br />

podľa anglosaskej<br />

literatúry<br />

Dodávateľ<br />

Logistika výroby<br />

Odberateľ<br />

Príjem materiálu<br />

Výroba<br />

Expedícia<br />

Sklad<br />

výrobných<br />

zdrojov<br />

Medzisklad<br />

Sklad<br />

hotových<br />

výrobkov<br />

máj 2005 3


Rozvrhovanie na seba<br />

nadväzujúcich operácií<br />

obslužný objekt M - zariadenie schopné vykonať<br />

jednu alebo niekoľko operácií, {M 1<br />

, M 2<br />

, ..., M m<br />

}<br />

operácia o - základná ucelená činnosť, ktorá už<br />

ďalej nie je deliteľná na čiastkové operácie,<br />

{o 1<br />

, o 2<br />

, ..., o n<br />

}<br />

t ij<br />

- trvanie j-tej operácie na i-tom obslužnom<br />

objekte<br />

máj 2005 4


Druhy modelov rozvrhovania<br />

podľa charakteristiky vstupných údajov<br />

deterministické modely<br />

stochastické modely<br />

podľa charakteristiky vstupu do systému<br />

statické (vstup naraz)<br />

dynamické (vstupy priebežne)<br />

podľa počtu obslužných objektov<br />

rozvrhovanie na jednom objekte<br />

rozvrhovanie na viacerých objektoch<br />

FLOW SHOP (rovnaké poradie operácií)<br />

JOB SHOP (ľubovoľné poradie)<br />

modely vyvažovania výrobných liniek<br />

máj 2005 5


Systémy s jedným obslužným<br />

zariadením<br />

<br />

4 7 2 3 5<br />

Σ 21<br />

<br />

2 4 5 3 7<br />

Σ 21<br />

máj 2005 6


Systémy s jedným obslužným<br />

zariadením<br />

4<br />

7<br />

2 3 5 5 3 2 7 4<br />

Σ 21<br />

2<br />

4<br />

5<br />

3<br />

7<br />

<br />

7 3 5 4 2<br />

Σ 21<br />

máj 2005 7


Moorov algoritmus<br />

1. Zostavíme rozvrh d 1<br />

≤ d 2<br />

≤ ... ≤ d n<br />

a túto postupnosť operácií<br />

uložíme do množiny F. Množinu L tvoria oneskorené operácie, a<br />

teda na začiatku L = Ø.<br />

2. Pre operácie z F postupne vypočítame termíny ich ukončenia C j<br />

ako súčet dĺžky trvania jednotlivých operácií t j<br />

. Hodnoty C j<br />

porovnávame s požadovanými termínmi ich ukončenia d j<br />

. Pre<br />

operácie z F nájdeme prvú oneskorenú operáciu (k-te miesto<br />

v F), operáciu, pre ktorú C k<br />

> d k<br />

. Z podmnožiny permutačného<br />

rozvrhu d 1<br />

≤ d 2<br />

≤ ... ≤ d k<br />

vyberieme operáciu s najdlhším<br />

trvaním. Túto operáciu vyberieme z F a umiestnime ju do L.<br />

3. Ak je ešte oneskorená nejaká operácia z F, opakujeme krok 2. Ak<br />

už nie je, optimálny rozvrh je postupnosť operácií zložená z F a<br />

z ľubovoľného poradia operácií z L.<br />

máj 2005 8


Moorov algoritmus - príklad<br />

o j o 1 o 2 o 3 o 4 o 5 o 6 o 7<br />

t j 2 10 6 7 5 4 2<br />

d j 4 14 16 18 15 25 21<br />

Príklad: 7 operácií o j s dobou trvania t j a termínmi ich ukončenia d j<br />

1.4≤14≤ 15≤ 16≤18≤ 21≤ 25, preto E = {o 1<br />

,o 2<br />

,o 5<br />

,o 3<br />

,o 4<br />

,o 7<br />

,o 6<br />

} a L=∅.<br />

2.C 1<br />

=2


Smithov algoritmus<br />

1. Položíme i = 1 a vypočítame celkový čas spracovania všetkých<br />

operácií o j<br />

, teda čas ukončenia poslednej operácie – hodnotu<br />

f<br />

i<br />

=<br />

n<br />

∑<br />

j=<br />

1<br />

t<br />

j<br />

2. Nech G je množina tých operácií, ktoré sa môžu vykonať ako<br />

posledné bez toho, aby došlo k oneskoreniu niektorej operácie, t. j.<br />

tvoria ju tie operácie, pre ktoré platí d j<br />

≥ f i pre j = 1, 2, ..., n,<br />

i = 1, 2, ..., n. Z množiny G vyberieme operáciu o k<br />

, ktorá má<br />

najdlhší čas spracovania t k<br />

. Túto operáciu vykonáme ako poslednú a<br />

vynecháme ju z množiny G. Určíme hodnotu<br />

f<br />

i+<br />

1<br />

=<br />

f<br />

i<br />

−<br />

3. Položíme i = i + 1 a krok 2 opakujeme, kým neurčíme posledný<br />

pracovný úkon, ktorý v skutočnosti vykonáme ako prvý.<br />

t<br />

k<br />

máj 2005 10


Smithov algoritmus<br />

o j o 1 o 2 ... ... ... o n Rozvrhnuté<br />

t j t 1 t 2 ... ... ... t n operácie<br />

f i d j d 1 d 2 ... ... ... d n o j<br />

f 1 1<br />

m 1<br />

f 2 2<br />

m 1<br />

1<br />

m 2<br />

2<br />

m 2<br />

... ... ...<br />

1<br />

m n<br />

... ... ...<br />

2<br />

m n<br />

... ... ... ... ... ... ...<br />

... ... ... ... ... ... ...<br />

... ... ... ... ... ... ...<br />

f n<br />

n n<br />

m 1 m 2<br />

... ... ... m n<br />

n<br />

• d j < f i ak o j nemôžeme realizovať<br />

{m i j } t j d j ≥ f i ak o j môžeme realizovať<br />

X<br />

ak o j už bola realizovaná<br />

máj 2005 11


Smithov algoritmus - príklad<br />

o j o 1 o 2 o 3 o 4 o 5 o 6 o 7<br />

t j 2 10 6 7 5 4 2<br />

d j 4 14 16 18 15 25 21<br />

Príklad: 7 operácií o j s dobou trvania t j a termínmi ich ukončenia d j<br />

f i 4 14 16 18 15 25 21<br />

f 1<br />

o j o 1 o 2 o 3 o 4<br />

2 10 6 7<br />

d j<br />

36 <br />

d j<br />

≥ f i ????<br />

o 7<br />

t j 5 4 2<br />

o 5<br />

o 6<br />

<br />

máj 2005 12


Smithov algoritmus - príklad<br />

o j<br />

o 1<br />

o 2<br />

o 3<br />

o 4<br />

o 5<br />

o 6<br />

o 7<br />

o 8<br />

o 9<br />

Σ<br />

t j 4 7 9 6 3 8 7 3 2 49<br />

d j 20 15 45 30 30 50 40 48 50<br />

máj 2005 13


Smithov algoritmus - príklad<br />

o j<br />

o 1<br />

o 2<br />

o 3<br />

o 4<br />

o 5<br />

o 6<br />

o 7<br />

o 8<br />

o 9<br />

t j 4<br />

7<br />

9<br />

6<br />

3<br />

8<br />

7<br />

3<br />

2<br />

f i d j<br />

20<br />

15<br />

45<br />

30<br />

30<br />

50<br />

40<br />

48<br />

50<br />

R<br />

f i<br />

49<br />

<br />

<br />

<br />

<br />

<br />

8 *<br />

<br />

<br />

2<br />

o 6<br />

f 8 5<br />

X<br />

X<br />

X<br />

X<br />

X<br />

X<br />

X<br />

3 *<br />

2<br />

o 8<br />

f 6 15<br />

X<br />

7 *<br />

X<br />

X<br />

3<br />

X<br />

X<br />

3<br />

2<br />

o 2<br />

f 2 41<br />

<br />

<br />

9 *<br />

<br />

<br />

X<br />

<br />

3<br />

2<br />

o 3<br />

f 3 32<br />

<br />

<br />

X<br />

<br />

<br />

X<br />

7 *<br />

3<br />

2<br />

o 7<br />

f 4 25<br />

<br />

<br />

X<br />

6 *<br />

3<br />

X<br />

X<br />

3<br />

2<br />

o 4<br />

f 5 19<br />

4 *<br />

<br />

X<br />

X<br />

3<br />

X<br />

X<br />

3<br />

2<br />

o 1<br />

f 7 8<br />

X<br />

X<br />

X<br />

X<br />

3 *<br />

X<br />

X<br />

3<br />

2<br />

o 5<br />

f 9 2 X X X X X X X X 2 * o 9<br />

máj 2005 14


Lawlerov algoritmus<br />

Predpoklady:<br />

1. vopred určené pracovné úkony (operácie), ktorých<br />

realizácia je podmienkou ďalšieho spracovania<br />

(technologická alebo technická nadväznosť),<br />

2. váhy preferencií operácií w j<br />

reprezentujú významnosť<br />

jednotlivých operácií – preferencie jednotlivých operácií<br />

sú určené tak, že čím je vyššia hodnota váhy, tým vyššia<br />

je preferencia príslušnej operácie<br />

máj 2005 15


Lawlerov algoritmus<br />

1. Položíme i = 1 a vypočítame celkový čas spracovania všetkých<br />

operácií o j<br />

, teda čas ukončenia poslednej operácie – hodnotu<br />

f<br />

i<br />

=<br />

n<br />

∑<br />

j=<br />

1<br />

t<br />

j<br />

2. Nech G je množina tých operácií, ktoré sa môžu vykonať ako<br />

posledné bez toho, aby došlo k porušeniu podmienok<br />

technologických a technických nadväzností. Týmto operáciám<br />

i<br />

priradíme hodnotu w j max{f − d j,<br />

0} .<br />

Z množiny G vyberieme operáciu operáciu o k<br />

, pre ktorú platí<br />

i<br />

min( w j max{f − d j,<br />

0} )<br />

Túto operáciu vykonáme ako poslednú a vynecháme ju z množiny<br />

i+<br />

1 i<br />

G. Určíme hodnotu<br />

f = f − t k<br />

3. Položíme i = i + 1 a krok 2 opakujeme, kým neurčíme posledný<br />

pracovný úkon, ktorý v skutočnosti vykonáme ako prvý.<br />

máj 2005 16


Lawlerov algoritmus<br />

o j o 1 o 2 ... ... ... o n Rozvrhnuté<br />

t j t 1 t 2 ... ... ... t n operácie<br />

d j d 1 d 2 ... ... ... d n o j<br />

f i w j w 1 w 2 ... ... ... w n<br />

f 1 m 1<br />

1<br />

f 2 m 1<br />

2<br />

m 2<br />

1<br />

m 2<br />

2<br />

... ... ... m n<br />

1<br />

... ... ... m n<br />

2<br />

... ... ... ... ... ... ...<br />

... ... ... ... ... ... ...<br />

... ... ... ... ... ... ...<br />

f n<br />

m 1<br />

n<br />

m 2<br />

n<br />

... ... ... m n<br />

n<br />

⎧ • ak o j nemôžeme zrealizovať<br />

{m i j } = ⎨ w j max {f i − d j , 0} ak o j môžeme zrealizovať<br />

⎩ X<br />

ak o j už bola realizovaná<br />

máj 2005 17


Lawlerov algoritmus - príklad<br />

o 10<br />

t j 2 3 7 5 1 6 8 5 4 6<br />

8<br />

12<br />

8<br />

10<br />

10<br />

15<br />

25<br />

20<br />

20<br />

30<br />

3<br />

1<br />

d j<br />

2<br />

2<br />

1<br />

3<br />

2<br />

2<br />

3<br />

1<br />

o j<br />

o 1<br />

o 3<br />

o 4<br />

o 1 o 2 o 3 o 4<br />

o 5<br />

o 6<br />

o 7<br />

o 8<br />

o 9<br />

pred.<br />

-<br />

o 1<br />

-<br />

w j<br />

o 8 ,o 9<br />

o 2 ,o 3<br />

o 1<br />

o 3<br />

o 3<br />

o 4 ,o 5<br />

o 6<br />

o 2<br />

o 5<br />

o 6 o7<br />

o 8<br />

o 9<br />

o 10<br />

máj 2005 18


Lawlerov algoritmus - príklad<br />

o j<br />

d j<br />

o 1<br />

o 2<br />

o 3<br />

o 4<br />

o 5<br />

o 6<br />

o 7<br />

o 8<br />

8 12 8 10 10 15 25 20 20<br />

w j<br />

3 1 2 1 3 2 2 3<br />

- o 1<br />

- o 2<br />

,o 3<br />

o 1<br />

o 3<br />

o 3<br />

o 4<br />

,o 5<br />

o 6<br />

34 *<br />

2+2+7+5+1+6+8+5+4+6=47<br />

o 9<br />

t j<br />

2 3 7 5 1 6 8 5 4<br />

f i<br />

1<br />

f i 47 44 <br />

o 10<br />

o 10<br />

6<br />

30<br />

2<br />

o 8<br />

,o 9<br />

R<br />

2.(47-25)=44<br />

2.(47-30)=34<br />

min(44,34)=34<br />

máj 2005 19


Lawlerov algoritmus - príklad<br />

o j<br />

o 1<br />

o 2<br />

o 3<br />

o 4<br />

o 5<br />

o 6<br />

o 7<br />

o 8<br />

o 9<br />

o 10 t j 2<br />

3<br />

7<br />

5<br />

1<br />

6<br />

8<br />

5<br />

4<br />

6<br />

f i w j<br />

3<br />

1<br />

2<br />

1<br />

3<br />

2<br />

2<br />

3<br />

1<br />

2<br />

d j 8<br />

12<br />

8<br />

10<br />

10<br />

15<br />

25<br />

20<br />

20<br />

30<br />

f 9 9<br />

3<br />

X<br />

2*<br />

X<br />

X<br />

X<br />

X<br />

X<br />

X<br />

X<br />

f i 47<br />

<br />

<br />

<br />

<br />

<br />

<br />

44<br />

<br />

<br />

34*<br />

o 10<br />

-<br />

o 1<br />

-<br />

o 2 ,o 3<br />

o 1<br />

o 3<br />

o 3<br />

o 4 ,o 5<br />

o 6<br />

o 8 ,o 9<br />

R<br />

f 8 10<br />

<br />

X<br />

4<br />

X<br />

0*<br />

X<br />

X<br />

X<br />

X<br />

X<br />

o 5<br />

f 6 19<br />

<br />

<br />

<br />

X<br />

27<br />

8*<br />

X<br />

X<br />

X<br />

X<br />

o 6<br />

f 2 41<br />

<br />

<br />

<br />

<br />

<br />

<br />

32<br />

63<br />

21*<br />

X<br />

o 9<br />

f 3 37<br />

<br />

<br />

<br />

<br />

<br />

44<br />

24*<br />

51<br />

X<br />

X<br />

o 7<br />

f 4 29<br />

<br />

<br />

<br />

<br />

<br />

28<br />

X<br />

27*<br />

X<br />

X<br />

o 8<br />

f 5 24<br />

<br />

<br />

<br />

14*<br />

42<br />

18<br />

X<br />

X<br />

X<br />

X<br />

o 4<br />

f 7 13<br />

<br />

1*<br />

10<br />

X<br />

9<br />

X<br />

X<br />

X<br />

X<br />

X<br />

o 2<br />

f 10 2 0* X X X X X X X X X o 1<br />

o 3<br />

máj 2005 20


Systémy s viacerými obslužnými<br />

zariadeniami<br />

FLOW SHOP (rovnaké poradie operácií)<br />

JOB SHOP (ľubovoľné poradie)<br />

FLOW SHOP:<br />

každá úloha J sa skladá z operácií o ij<br />

, ktoré prechádzajú obslužnými<br />

zariadeniami v rovnakom poradí<br />

známe sú časy spracovania t ij<br />

všetkých operácií o ij<br />

obslužné zariadenia sú v každom časovom okamžiku k dispozícii<br />

individuálne operácie sú neprerušiteľné<br />

máj 2005 21


Systémy FLOW SHOP<br />

Johnsonove algoritmy<br />

Palmerova heuristika<br />

Gruptova heuristika<br />

heuristika Campbela, Dudeka a Smitha<br />

máj 2005 22


Johnsonov algoritmus pre dva na<br />

seba nadväzujúce obslužné objekty<br />

Predpoklady:<br />

dve na seba nadväzujúce zariadenia M 1<br />

a M 2<br />

čas zrealizovania j-tej operácie oj<br />

na objekte M 1 - t 1j<br />

na objekte M 2 - t 2j<br />

operácia o j<br />

vyžaduje obsluhu najprv na prvom<br />

objekte M 1<br />

a potom na druhom objekte M 2<br />

máj 2005 23


Johnsonov algoritmus pre dva na<br />

seba nadväzujúce obslužné objekty<br />

1. Označme ako I množinu nezaradených operácií na oboch obslužných objektoch,<br />

ako L 1 množinu zaradených operácií na obslužnom objekte M 1<br />

a ako L 2<br />

množinu zaradených operácií na obslužnom objekte M 2<br />

.<br />

( )<br />

2. Nájdime najkratší čas spracovania pre jednotlivé operácie min t . Ak majú<br />

1j,<br />

t 2 j<br />

i∈I<br />

viaceré operácie rovnaký najkratší čas, vyberieme ľubovoľný z nich. Nech<br />

minimum nastáva pre k-tu operáciu o k<br />

.<br />

3. Ak minimálny čas spracovania pre operáciu o k<br />

vyžaduje obslužné zariadenie M 1<br />

(minimálna je hodnota t 1k<br />

), zaradíme operáciu o k<br />

do množiny L 1 , ak vyžaduje<br />

obslužné zariadenie M 2<br />

(minimálna je hodnota t 2k<br />

), zaradíme operáciu o k<br />

do<br />

množiny L 2 .<br />

4. Položíme I = I – {o k<br />

}. Ak I = ∅, pokračujem krokom 5, inak sa vrátime na krok<br />

2 (celý proces výpočtu takto zopakujeme pre n–1 pracovných úkonov).<br />

5. Zostavíme rozvrh, ktorý tvoria usporiadané operácie z množiny L 1 v danom<br />

poradí a operácie z množiny L 2 v opačnom poradí.<br />

máj 2005 24


Johnsonov algoritmus pre dva na seba<br />

nadväzujúce obslužné objekty - príklad<br />

o j<br />

t 1j 12 13 12 8 10 13 6 5<br />

M 2 6 14 15 9 11 14 4 3<br />

M 1<br />

o 8<br />

t 2j<br />

o 1<br />

o 2<br />

o 3<br />

o 4<br />

o 5<br />

o 6<br />

o 7<br />

12 13 12 8 10 13 6 5<br />

o 1 o 2 o 3 o 4 o 5 o 6 o 7 o 8<br />

12 25 37 45 55 68 74 79<br />

12 6 7 14 15 9 11 14 4 3<br />

o 1 o 2 o 3 o 4 o 5 o 6 o 7 o 8<br />

12 18 25 39 54 63 74 88 92 95<br />

máj 2005 25


Johnsonov algoritmus pre dva na seba<br />

nadväzujúce obslužné objekty - príklad<br />

o j<br />

t 1j 12 13 12 8 10 13 6 5<br />

M 2 6 14 15 9 11 14 4 3<br />

M 1<br />

o 8<br />

t 2j<br />

o 1<br />

o 2<br />

o 3<br />

I = {o 1,<br />

o 2,<br />

o 3,<br />

o 4,<br />

o 5,<br />

o 6,<br />

o 7,<br />

o 8,<br />

o 9,<br />

o 10<br />

}, L 1 = L 2 = ∅<br />

min {12,13,12,8,10,13,6,5,6,14,15,9,11,14,4,3}= 3 t 28 = 3 , L 1 = ∅, L 2 = {o 8 }<br />

min {12,13,12,8,10,13,6,6,14,15,9,11,14,4}= 4 t 27 = 4 , L 1 = ∅, L 2 = {o 7 , o 8 }<br />

min {12,13,12,8,10,13,6,14,15,9,11,14}= 4 t 21 = 6 , L 1 = ∅, L 2 = {o 1 , o 7 , o 8 }<br />

min {13,12,8,10,13,14,15,9,11,14}= 8 t 14 = 8 , L 1 = {o 4 }, L 2 = {o 1 , o 7 , o 8 }<br />

min {13,12,10,13,14,15,11,14}= 8 t 15 = 10 , L 1 = {o 4 , o 5 }, L 2 = {o 1 , o 7 , o 8 }<br />

min {13,12,13,14,15,14}= 12 t 13 = 12 , L 1 = {o 4 , o 5 , o 3 }, L 2 = {o 1 , o 7 , o 8 }<br />

min {13,13,14,14}= 13 t 12 = 12 , L 1 = {o 4 , o 5 , o 3 , o 2 }, L 2 = {o 1 , o 7 , o 8 }<br />

min {13,14}= 13 t 16 = 13 , L 1 = {o 4 , o 5 , o 3 , o 2 , o 6 }, L 2 = {o 1 , o 7 , o 8 }<br />

I = ∅ R = L 1 ∪ L 2 = {o 4 , o 5 , o 3 , o 2 , o 6 , o 1 , o 7 , o 8 }<br />

máj 2005 26<br />

o 4<br />

o 5<br />

o 6<br />

o 7


Johnsonov algoritmus pre dva na seba<br />

nadväzujúce obslužné objekty - príklad<br />

o j<br />

t 1j 12 13 12 8 10 13 6 5<br />

M 2 6 14 15 9 11 14 4 3<br />

t 2j<br />

o 1<br />

M 1<br />

o 8<br />

R = {o 4 , o 5 , o 3 , o 2 , o 6 , o 1 , o 7 , o 8 }<br />

o 2<br />

Rozvrh o 4 o 5 o 3 o 2 o 6 o 1 o 7 o 8<br />

t 1j 8 10 12 13 13 12 6 5<br />

t 2j 9 11 15 14 14 6 4 3<br />

r 1j 0 8 18 30 43 56 68 74<br />

C 1j 8 18 30 43 56 68 74 79<br />

r 2j 8 18 30 45 59 73 79 83<br />

C 2j 17 29 45 59 73 79 83 86<br />

L 2j 8 1 1 0 0 0 0 0<br />

o 3<br />

o 4<br />

o 5<br />

o 6<br />

o 7<br />

máj 2005 27


Johnsonov algoritmus pre dva na seba<br />

nadväzujúce obslužné objekty - príklad<br />

o j<br />

t 1j 12 13 12 8 10 13 6 5<br />

M 2 6 14 15 9 11 14 4 3<br />

M 1<br />

o 8<br />

t 2j<br />

o 1<br />

o 2<br />

o 3<br />

R = {o 4 , o 5 , o 3 , o 2 , o 6 , o 1 , o 7 , o 8 }<br />

t 1j 8 10 12 13 13 12 6 5<br />

M 1 o 4 o 5 o 3 o 2 o 6 o 1 o 7 o 8<br />

0 8 18 30 43 56 68 74 79<br />

t 2j 8 9 1 11 1 15 14 14 6 4 3<br />

M 2 o 4 o 5 o 3 o 2 o 6 o 1 o 7 o 8<br />

8 17 18 29 30 45 59 73 79 83 86<br />

o 4<br />

o 5<br />

o 6<br />

o 7<br />

máj 2005 28


Johnsonov algoritmus pre tri na seba<br />

nadväzujúce obslužné objekty<br />

Predpoklady:<br />

tri na seba nadväzujúce zariadenia M 1<br />

, M 2<br />

a M 3<br />

ak platí niektorá z podmienok<br />

1. t 2i<br />

≤ t 1j<br />

, pre všetky i ≠ j<br />

2. t 2i<br />

≤ t 3j<br />

, pre všetky i ≠ j<br />

3. t 2i<br />

≤ min{t 1j<br />

t 3j<br />

}, pre všetky j<br />

tak v optimálnom rozvrhu operácia o i<br />

predchádza o j<br />

ak:<br />

min {t 1i<br />

+ t 2i<br />

, t 2j<br />

+ t 3j<br />

} ≤ min { t 2i<br />

+ t 3i<br />

, t 1j<br />

+ t 2j<br />

}<br />

t 1j´<br />

= t 1j<br />

+ t 2j<br />

a t 2j´<br />

= t 2j<br />

+ t 3j<br />

máj 2005 29


Johnsonov algoritmus pre tri na seba<br />

nadväzujúce obslužné objekty - príklad<br />

5<br />

t 1j 12 13 12 8 10 13 6<br />

M 3 6 14 15 9 11 14 4 3<br />

M 2 t 2j 5 11 12 5 8 12 4 2<br />

t 3j<br />

o 1<br />

o 2<br />

o 3<br />

M 1<br />

o 8<br />

o 4<br />

o 5<br />

o 6<br />

o 7<br />

o j<br />

o 1<br />

o 2<br />

o 3<br />

o 4<br />

o 5<br />

o 6<br />

o 7<br />

o 8<br />

t 1j´<br />

t 2j´<br />

17<br />

11<br />

o j<br />

5<br />

24<br />

25<br />

24<br />

27<br />

13<br />

14<br />

18<br />

19<br />

25<br />

26<br />

10<br />

8<br />

7<br />

máj 2005 30


Johnsonov algoritmus pre tri na seba<br />

nadväzujúce obslužné objekty - príklad<br />

o j<br />

o 1<br />

o 2<br />

o 3<br />

o 4<br />

o 5<br />

o 6<br />

o 7<br />

o 8<br />

t 1j´<br />

17<br />

24<br />

24<br />

13<br />

18<br />

25<br />

10<br />

7<br />

t 2j´<br />

11<br />

25<br />

27<br />

14<br />

19<br />

26<br />

8<br />

5<br />

I = {o 1,<br />

o 2,<br />

o 3,<br />

o 4,<br />

o 5,<br />

o 6,<br />

o 7,<br />

o 8,<br />

o 9,<br />

o 10<br />

}, L 1 = L 2 = ∅<br />

min {17,24,24,13,18,25,10,7,11,25,27,14,19,26,8,5}= 5 t 28 = 5 , L 1 = ∅, L 2 = {o 8 }<br />

min {17,24,24,13,18,25,10,11,25,27,14,19,26,8}= 8 t 27 = 8 , L 1 = ∅, L 2 = {o 7 , o 8 }<br />

min {17,24,24,13,18,25,11,25,27,14,19,26}= 11 t 21 = 11 , L 1 = ∅, L 2 = {o 1 , o 7 , o 8 }<br />

min {24,24,13,18,25,25,27,14,19,26}= 13 t 14 = 13 , L 1 = {o 4 }, L 2 = {o 1 , o 7 , o 8 }<br />

min {24,24,18,25,25,27,19,26}= 18 t 15 = 18 , L 1 = {o 4 , o 5 }, L 2 = {o 1 , o 7 , o 8 }<br />

min {24,24,25,25,27,26}= 24 t 12 = 24 , L 1 = {o 4 , o 5 , o 2 }, L 2 = {o 1 , o 7 , o 8 }<br />

min {24,25,27,26}= 24 t 13 = 24 , L 1 = {o 4 , o 5 , o 2 , o 3 }, L 2 = {o 1 , o 7 , o 8 }<br />

min {25,26}= 25 t 16 = 25 , L 1 = {o 4 , o 5 , o 2 , o 3 , o 6 }, L 2 = {o 1 , o 7 , o 8 }<br />

I = ∅ R = L 1 ∪ L 2 = {o 4 , o 5 , o 2 , o 3 , o 6 , o 1 , o 7 , o 8 }<br />

máj 2005 31


Johnsonov algoritmus pre tri na seba<br />

nadväzujúce obslužné objekty - príklad<br />

o j<br />

M 1 5<br />

t 1j 12 13 12 8 10 13 6<br />

o 8<br />

M 3 6 14 15 9 11 14 4 3<br />

M 2 t 2j 5 11 12 5 8 12 4 2<br />

t 3j<br />

o 1<br />

o 2<br />

o 3<br />

R = {o 4 , o 5 , o 2 , o 3 , o 6 , o 1 , o 7 , o 8 }<br />

Rozvrh o 4 o 5 o 2 o 3 o 6 o 1 o 7 o 8<br />

t 1j 8 10 13 12 13 12 6 5<br />

t 2j 5 8 11 12 12 5 4 2<br />

t 31 9 11 14 15 14 6 4 3<br />

r 1j 0 8 18 31 43 56 68 74<br />

C 1j 8 18 31 43 56 68 74 79<br />

r 2j 8 18 31 43 56 68 74 79<br />

C 2j 13 26 42 55 68 73 76 81<br />

L 2j 8 5 5 1 1 0 1 3<br />

r 3j 13 26 42 55 70 84 90 94<br />

C 3j 22 37 56 70 84 90 94 97<br />

L 3j 13 4 5 0 0 0 0 0<br />

o 4<br />

o 5<br />

máj 2005 32<br />

o 6<br />

o 7


Palmerova heuristika<br />

Predpoklady:<br />

n na seba nadväzujúcich zariadení M 1<br />

, M 2<br />

, ..., M n<br />

<br />

1. Pre j = 1, 2, ..., n vypočítame koeficienty:<br />

s j<br />

= | m-1 |.t mj<br />

+ | m-3 |.t m-1j<br />

+ | m-5 |.t m-2j<br />

+ ... + | m - (2m-1) |.t 1j<br />

2. Ako suboptimálny rozvrh vyberieme ten rozvrh, pre<br />

ktorý platí: s 1 ≥ s 2 ≥ ... ≥ s n<br />

máj 2005 33


Palmerova heuristika - príklad<br />

o j<br />

M 1 5<br />

t 1j 12 13 12 8 10 13 6<br />

o 8<br />

M 3 6 14 15 9 11 14 4 3<br />

M 2 t 2j 5 11 12 5 8 12 4 2<br />

t 3j<br />

o 1<br />

o 2<br />

o 3<br />

s 1<br />

= |3 - 1|.6 + |3 - 3 |.5 + | 3 - 5 |.12 = 12 + 0 + 24 = 36<br />

s 2<br />

= |3 - 1|.14 + |3 - 3 |.11 + | 3 - 5 |.13 = 28 + 0 + 26 = 54<br />

s 3<br />

= |3 - 1|.15 + |3 - 3 |.12 + | 3 - 5 |.12 = 30 + 0 + 24 = 54<br />

s 4<br />

= |3 - 1|.9 + |3 - 3 |.5 + | 3 - 5 |.8 = 18 + 0 + 16 = 34<br />

s 5<br />

= |3 - 1|.11 + |3 - 3 |.8 + | 3 - 5 |.10 = 22 + 0 + 20 = 42<br />

s 6<br />

= |3 - 1|.14 + |3 - 3 |.12 + | 3 - 5 |.13 = 28 + 0 + 26 = 54<br />

s 7<br />

= |3 - 1|.4 + |3 - 3 |.4 + | 3 - 5 |.6 = 8 + 0 + 12 = 20<br />

s 8<br />

= |3 - 1|.3 + |3 - 3 |.2 + | 3 - 5 |.5 = 6 + 0 + 10 = 16<br />

54 ≥ 54 ≥ 54 ≥ 42 ≥ 36 ≥ 34 ≥ 20 ≥ 16 s 2 ≥ s 3 ≥ s 6 ≥ s 5 ≥ s 1 ≥ s 4 ≥ s 7 ≥ s 8<br />

R = {o 2 , o 3 , o 6 , o 5 , o 1 , o 4 , o 7 , o 8 }<br />

o 4<br />

o 5<br />

máj 2005 34<br />

o 6<br />

o 7


Palmerova heuristika - príklad<br />

o j<br />

M 1 5<br />

t 1j 12 13 12 8 10 13 6<br />

o 8<br />

M 3 6 14 15 9 11 14 4 3<br />

M 2 t 2j 5 11 12 5 8 12 4 2<br />

t 3j<br />

o 1<br />

o 2<br />

o 3<br />

R = {o 2 , o 3 , o 6 , o 5 , o 1 , o 4 , o 7 , o 8 }<br />

Rozvrh o 2 o 3 o 6 o 5 o 1 o 4 o 7 o 8<br />

t 1j 13 12 13 10 12 8 6 5<br />

t 2j 11 12 12 8 5 5 4 2<br />

t 31 14 15 14 11 6 9 4 3<br />

r 1j 0 13 25 38 48 60 68 74<br />

C 1j 13 25 38 48 60 68 74 79<br />

r 2j 13 25 38 50 60 68 74 79<br />

C 2j 24 37 50 58 65 73 78 81<br />

L 2j 13 1 1 0 2 3 1 1<br />

r 3j 24 38 53 67 78 84 93 97<br />

C 3j 38 53 67 78 84 93 97 100<br />

L 3j 24 0 0 0 0 0 0 0<br />

o 4<br />

o 5<br />

máj 2005 35<br />

o 6<br />

o 7


Palmerova heuristika - príklad<br />

o j<br />

M 1 5<br />

t 1j 12 13 12 8 10 13 6<br />

o 8<br />

M 3 6 14 15 9 11 14 4 3<br />

M 2 t 2j 5 11 12 5 8 12 4 2<br />

t 3j<br />

o 1<br />

o 2<br />

o 3<br />

o 4<br />

o 5<br />

o 6<br />

o 7<br />

máj 2005 36


Gruptova heuristika<br />

Predpoklady:<br />

n na seba nadväzujúcich zariadení M 1<br />

, M 2<br />

, ..., M n<br />

<br />

1. Pre j = 1, 2, ..., n vypočítame koeficienty:<br />

s<br />

j<br />

=<br />

min<br />

1≤k≤m−1<br />

e<br />

j<br />

{ t + t }<br />

kj<br />

k + 1j<br />

e j<br />

=1 ak t 1j<br />

< t mj<br />

, v opačnom prípade e j<br />

= –1<br />

2. Ako suboptimálny rozvrh vyberieme ten rozvrh, pre<br />

ktorý platí: s 1 ≥ s 2 ≥ ... ≥ s n<br />

máj 2005 37


Gruptova heuristika - príklad<br />

o j<br />

M 1 5<br />

t 1j 12 13 12 8 10 13 6<br />

o 8<br />

M 3 6 14 15 9 11 14 4 3<br />

M 2 t 2j 5 11 12 5 8 12 4 2<br />

t 3j<br />

o 1<br />

−1<br />

−1<br />

s 1<br />

=<br />

=<br />

min{ 12 + 5,5 + 6} 11<br />

1<br />

1<br />

s 2<br />

=<br />

=<br />

min<br />

1<br />

1<br />

s 3<br />

=<br />

=<br />

min 12 + 12,12 + 15<br />

1 1<br />

s 4<br />

=<br />

=<br />

min 8 + 5,5 + 9<br />

{ 13 + 11,11 + 14} 24<br />

{ } 24<br />

{ } 13<br />

o 2<br />

s 4 ≥ s 5 ≥ s 3 ≥ s 2 ≥ s 6 ≥ s 1 ≥ s 7 ≥ s 8<br />

R = {o 4 , o 5 , o 3 , o 2 , o 6 , o 1 , o 7 , o 8 }<br />

o 3<br />

o 4<br />

o 5<br />

1 1<br />

s 5<br />

=<br />

=<br />

min<br />

1<br />

s 6<br />

=<br />

=<br />

min 13 + 12,12 + 14<br />

−1<br />

−1<br />

s 7<br />

=<br />

=<br />

min{ 6 + 4,4 + 4} 8<br />

−1<br />

−1<br />

s 8<br />

=<br />

=<br />

min 5 + 2,2 + 3<br />

{ 10 + 8,8 + 11} 18<br />

1<br />

{ } 25<br />

{ } 5<br />

máj 2005 38<br />

o 6<br />

o 7


Gruptova heuristika - príklad<br />

o j<br />

M 1 5<br />

t 1j 12 13 12 8 10 13 6<br />

o 8<br />

M 3 6 14 15 9 11 14 4 3<br />

M 2 t 2j 5 11 12 5 8 12 4 2<br />

t 3j<br />

o 1<br />

o 2<br />

o 3<br />

R = {o 4 , o 5 , o 3 , o 2 , o 6 , o 1 , o 7 , o 8 }<br />

Rozvrh o 4 o 5 o 3 o 2 o 6 o 1 o 7 o 8<br />

t 1j 8 10 12 13 13 12 6 5<br />

t 2j 5 8 12 11 12 5 4 2<br />

t 31 9 11 15 14 14 6 4 3<br />

r 1j 0 8 18 30 43 56 68 74<br />

C 1j 8 18 30 43 56 68 74 79<br />

r 2j 8 18 30 43 56 68 74 79<br />

C 2j 13 26 42 54 68 73 78 81<br />

L 2j 8 5 4 1 2 0 1 1<br />

r 3j 13 26 42 57 71 85 91 95<br />

C 3j 22 37 57 71 85 91 95 98<br />

L 3j 13 4 5 0 0 0 0 0<br />

o 4<br />

o 5<br />

máj 2005 39<br />

o 6<br />

o 7


Gruptova heuristika - príklad<br />

o j<br />

M 1 5<br />

t 1j 12 13 12 8 10 13 6<br />

o 8<br />

M 3 6 14 15 9 11 14 4 3<br />

M 2 t 2j 5 11 12 5 8 12 4 2<br />

t 3j<br />

o 1<br />

o 2<br />

o 3<br />

o 4<br />

o 5<br />

o 6<br />

o 7<br />

máj 2005 40


Poznámka<br />

Gruptova heuristika poskytuje<br />

zvyčajne lepšie výsledky ako<br />

Palmerova!!!<br />

máj 2005 41


Heuristika Campbela, Dudeka a<br />

Smitha<br />

Predpoklady:<br />

n na seba nadväzujúcich zariadení M 1<br />

, M 2<br />

, ..., M n<br />

heuristická metóda má m – 1 etáp<br />

každá etapa – transformácia na dvojobjektový problém:<br />

k = 1, t 1 1j<br />

= t 1j<br />

, t 1 2j .= t mj<br />

k = 2, t 2 1j = t 1j<br />

+ t 2j<br />

, t 2 2j .= t m-1j + t mj<br />

k = 3, t 3 1j<br />

= t 1j<br />

+ t 2j<br />

+ t 3j<br />

, t 3 2j .= t m-2j + t m-1j + t mj<br />

......<br />

m<br />

k = m–1, t m-1 1j<br />

= ∑ − 1<br />

m<br />

t<br />

ij , t m-1 2j .= ∑ t ij<br />

i=<br />

1<br />

i=<br />

2<br />

Z vypočítaných m – 1 rozvrhov je najlepší s minimálnou hodnotou<br />

trvania.<br />

máj 2005 42

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!