La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "3.2 Algoritmo di Moore per la minimizzazione dei lavori in ritardo."— Transcript della presentazione:

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

2 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)

3 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

4 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

5 Traduzione logica dell’intuizione Moore costruisce una sequenza con il massimo numero di lavori terminati in tempo e con il minimo tempo totale di processamento  S n Moore e’ ottima. s K : = { i 1 … i k } indici di una generica sequenza dei primi k lavori N k : = massimo numero di lavori in tempo, rispetto a tutte le possibili S k IP d 1  d 2  …  d n ( i lavori sono ordinati secondo EDD )

6 S k di Moore e’ tale che: - il numero di lavori processati in tempo e’ pari ad N k - il tempo di processamento totale e’ minimo Praticamente Moore trova l’ottimo per i primi k lavori Dimostriamo per INDUZIONE che S n e’ ottima S 1 e’ banalmente ottima. S k assumiamola ottima. S k+1 e’ ottima?

7 Costruiamo la sequenza S k+1 a partire da S k - se j k+1 e’ processato in tempo ottengo ancora una sequenza ottima, in cui i lavori che arrivano in tempo sono ( N k + 1 ). - se j k+1 non e’ processato in tempo, elimino il lavoro con tempo di processamento più lungo, fra gli ( N k + 1 ). Ottengo una sequenza di k+1 lavori, di cui N k+1 = N k arrivano in tempo, con tempo di processamento totale minimo.

8 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

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

10 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

11 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):

12 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

13 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

14 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)

15 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

16 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

17 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)

18 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

19 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  J q(1)... J q(i) : p q(k)  p r(k) Passo i-esimo:

20 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 l’algoritmo dà un ottimo

21 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)

22 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)

23 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

24  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

25 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.2 Algoritmo di Moore per la minimizzazione dei lavori in ritardo."

Presentazioni simili


Annunci Google