La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

3.1 Sequenziamento delle operazioni a minimo: tempo di completamento medio, ritardo massimo Controllo delle operazioni su una macchina.

Presentazioni simili


Presentazione sul tema: "3.1 Sequenziamento delle operazioni a minimo: tempo di completamento medio, ritardo massimo Controllo delle operazioni su una macchina."— Transcript della presentazione:

1

2 3.1 Sequenziamento delle operazioni a minimo: tempo di completamento medio, ritardo massimo Controllo delle operazioni su una macchina

3 controllo della successione dei tempi (Scheduling) Sequenziamento delle operazioni magazzino con movimentazione interna Ipotesi: tutti i grezzi sono disponibili dallinizio (r i = 0)

4 Gantt del Sequenziamento presenza delloperazione p4p4 pnpn c m = i p i : completamento totale delle operazioni (makespan) 1 n tempo op 1 c1c1 p1p1 op 2 c2c2 p2p2 c3c3 p3p3 op 4 c4c4 cmcm op n op 3

5 presenza delloperazione c = i c i : completamento medio delle operazioni 1 n 1 n p4p4 tempo op 1 c1c1 op 2 c2c2 c3c3 op 4 c4c4 cmcm op n pnpn p1p1 p2p2 p3p3 i c i : somma dei tempi di completamento 1 n

6 op 1 tempo presenza delloperazione c1c1 c2c2 c3c3 op 3 p3p3 op 4 c4c4 p4p4 cmcm op n pnpn Minimo completamento medio riduce il completamento medio o la somma dei tempi di completamento se p 2 < p 1 lo scambio => c 2 < c 2 c 1 = c 2 c2c2 p1p1 c1c1 op 2 p2p2 SPT: Shortest Process Time (first): min c S op 2 op 1

7 Minimizza anche: - flusso medio F - attesa media W - num. medio p. in att. N w (r i = 0 => f i := c i -r i = c i ) op 2 c2c2 p2p2 c3c3 op 3 p3p3 op 4 c4c4 p4p4 cmcm op n pnpn cncn SPT:

8 cici cjcj ckck cncn cycy c x = c m 1 2 n-1 N w = r x c r 1 n 1 cmcm + c m - c m = n c / c m -1 N w (t) t n c / c m = 1 + N w

9 cici cjcj ckck cncn cycy cmcm 1 2 n-1 N u (t) t N u = r i (c m - c r ) 1 n 1 cmcm + c m - c m = ( nc m - nc ) = n(1-c/ c m ) 1 cmcm SPT Massimizza

10 L r < 0 drdr L r > 0 crcr anticipo ritardo c r - d r L r (c r ) Ritardo del pezzo r : L r = c r -d r d r : tempo di consegna dovuto per pezzo r RITARDO (lateness)

11 = c - min c min L 1 n n L = r =1 LrLr r =1 1n1n = n c r - d r 1 n r =1 n drdr L r < 0 drdr L r > 0 crcr anticipo ritardo c r - d r L r (c r )

12 minimo ritardo Massimo LiLi cjcj LkLk LjLj ckck dkdk didi djdj cici L M = Max r L r = L j min L M S

13 Earliest Due Date EDD dati lavori J 1...J n Si hanno le seguenti date di consegna: d i (2) d i (1) d i ( 3 ) d i (4) d i ( l )

14 Earliest Due Date EDD Si riordinano gli indici nellordine delle date dovute d2d2 d1d1 d3d3 d4d4 dndn e si sequenziano i lavori nello stesso ordine J1J1 J2J2 J3J3 J4J4 JnJn d2d2 d1d1 d3d3 d4d4 dndn

15 EDD min S n Max i L i 1 JiJi S ott. JkJk d k > d i cici ckck didi dkdk c k = c i c i didi S JiJi JkJk

16 Max (L k, L i )= Max (c i - d k, c i - d i ) c i - d i EDD -d k < - didi c i < cici c i = c k dkdk c k = c i c i didi S: JiJi JkJk Max (L k, L i )Max (c k -d k, c i -d i ) = c i - d i

17 n min Max i L i S 1 Earliest Due Date EDD : n Max min i A i S 1 cici didi A i = -L i > 0 Massimo anticipo minimo A i < 0 cici didi :

18 3.2 Algoritmo di Moore per la minimizzazione dei lavori in ritardo

19 Massimo numero pezzi in tempo Algoritmo di Moore J1J1 J2J2 J3J3 J4J4 JnJn d1d1 d2d2 d 3 =d 4 dndn 1) Si scelgono gli indici in ordine EDD (non sempre è unico: es. J 3 e J 4 sopra)

20 J3J3 JnJn J1J1 J2J2 J4J4 d1d1 d2d2 d 3 =d 4 dndn 1) La sequenza ottenuta è la sequenza corrente S 1 (la prima) ; si pone i=1 2) Si individua il primo lavoro in ritardo J l(i) nella sequenza corrente, se non esiste: stop

21 3) Si individua il lavoro più lungo J r(i) con r l(i), nella sequenza corrente S i 4) Si ottiene una nuova sequenza corrente S i+1 escludendo J r(i) e si torna al passo 2), con i:= i+1 J3J3 JnJn J1J1 J2J2 J4J4 d1d1 d2d2 d 3 =d 4 dndn

22 Algoritmo di Moore min n T S 1968 n T numero di pezzi che vanno rifiutati (T: Tardiness) Ipotesi di lavoro: S 0 ottima Sempre: S 0 : A 0 R 0 ammessi o in anticipo rifiutati o in ritardo

23 Infatti se J a(1) J r (k)... J a (z)... J r ( ) J r (1) Si può posticipare J r(k) mantenendo lottimalità S0:S0: Sempre: S 0 : A 0 R 0

24 S 0 : A 0 R 0 scelti gli indici dei lavori secondo una qualsiasi S EDD i < j d i d j Si può sempre riordinare A 0 come la EDD scelta: h

25 Algoritmo di Moore min n T S J r(1) : max p h = p r(1) h=1,l(1) h=1,l(1) S1:S1: J1J1 J a(1) J a(2) J r(1) J l(1) J a(z) J l(i) JnJn d l(1) Definizione di l(1):

26 Definizione ricorsiva di J r (k), da k=2 Ak:Ak: J r(k-1)-1 J r(k) J r(k-1)+1 d l(k) k i J l (k) ultimo lavoro in A k ; unico in ritardo J r (k) A k : max p h = p r (k) h: J h A k J l(k) J r (h) con h < k non ci sono in A k

27 presenti in A 0 J a(1) J a(2) J l(1) J a(z) 1 := numero lavori di { J 1....J l(1) } = : A 1 assenti in A 0 1 > 0 (almeno uno è assente, altrimenti J l(1) sarebbe presente e in ritardo, cosa impossibile, per definizione di A 0 ) assente in A 0 S1S1

28 Algoritmo di Moore min n T S p q(1) p r(1) Lavoro di peso massimo fra quelli in J 1....J l(1) assenti in A 0 q(1) può coincidere con r(1) J q(1) : max p h = p q (1) q(1) l(1) h=1,l(1) h a ( ) l(1)

29 Sk:Sk: J1J1 J a(1) J a(2) J l(k) JnJn d l(k) J r (h) con h < k, rifiutati al passo h, non ci sono in S k Definizione ricorsiva di l(k), iniziando da k=2: J r(k-1)-1 J r(k-1)+1 Passo i-esimo: 1 < k i S k : sequenza corrente al passo k

30 S (sequenza corrente) : J1J1 J a(1) J l( ) JnJn dndn J r( )-1 J r( )+1 Ultimo passo: i = S : J1J1 J a(1) J l( ) JnJn d l( ) J r( ) J r( )+1 dndn p r( ) J r( )-1 d l( ) Se l( ) non esiste

31 J q(k) è un lavoro di peso massimo tra i k in J 1 … J l(k) fuori da A 0, non già abbinati J 1....J l(k) A 0 k : numero lavori in J 1....J l(k) assenti in A 0 J q(k)

32 J q(k) : p q(k) = p h q(k) l(k) max h l(k) J h Definizione ricorsiva di J q(k) : abbinato a J r(k) J 1....J l(k) A 0 {J q(1)... J q(k-1) } J q(k) => A 0 {J q(1)... J q(k-1) } J q(k) => h l(k) BkBk BkBk

33 Algoritmo di Moore min n T S Tesi: A) i+1 i 1 B) J q(i+1) : p q (i+1) p r (i+1) Ipotesi: i i i i J q(1)... J q(i) : p q(k) p r(k) J q(1)... J q(i) : p q(k) p r(k) Passo i-esimo:

34 Tesi: A) i+1 i 1 B) J q(i+1) : p q (i+1) p r (i+1) Se la tesi è dimostrata, 1 1 dimostra che lalgoritmo dà un ottimo

35 Se i >i i+1 i i 1 Se i = i i J q(1)... J q(i), abbinati a J r (1)... J r(i) q (k) l (k) p q(k) p r(k) k = 1,…,i sono esattamente tutti i lavori assenti in A 0 tra J 1... J l(i)

36 J l(i) i = i ritardati di ( h p r (h) - h p q (h) ) rispetto a S i+1 A0A0 J a(1) J a(2) J l(i) J a(z) J l(i+1) 1 i 1 i SiSi J1J1 J a(1) J a(2) J r(i) J l(i) J a(z) d l(i) d l(i+1) J l(i+1) J1J1 J a(1) J a(2) J a(z) d l(i) J l(i+1) S i+1 d l(i+1)

37 Tesi B) J q(i+1) : p q (i+1) p r (i+1) Ak:Ak: J r (k-1)-1 J r (k) J r (k-1)+1 d l(k) J l(k) J r (h) con h < k non ci sono in A k con l (i) < q(i+1) l (i+1) perché i = i

38 J r (h) nasconde J q(i+1) = J r (h) A i+1 J q (i+1) J q(i+1) A i+1 p q(i+1) p r(i+1) tempo di processo massimo dei lavori in A i+1 J q(k) è un lavoro di peso massimo tra i k in J 1....J l(k) fuori da A 0,non già abbinati

39 A i+1 J r (i+1) J q (h) p q (h) = J q (h) p q (h) = sono indicati solo i lavori rifiutati in A k o assenti in A 0 A h J r (h) A h J r (h) J q(h) A i+1 h < h < h i J q(h) A i+1 allora J q(h) A i+1 p q(i+1) = p q(h) p r(i+1) J q (h) p q (h) = A h p q(i+1) p q(h) p r(h) = p q(i+1) q(i+1) l(h) Sia h il valore per cui J r =J q(h) ( h sempre,perché i J q sono più dei J r ): p q (i+1) J q (i+1) J r (h)


Scaricare ppt "3.1 Sequenziamento delle operazioni a minimo: tempo di completamento medio, ritardo massimo Controllo delle operazioni su una macchina."

Presentazioni simili


Annunci Google