La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Controllo delle operazioni su una macchina

Presentazioni simili


Presentazione sul tema: "Controllo delle operazioni su una macchina"— Transcript della presentazione:

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

2 Sequenziamento delle operazioni (Scheduling)
magazzino con movimentazione interna controllo della successione dei tempi Ipotesi: tutti i grezzi sono disponibili dall’inizio (ri= 0)

3 Gantt del Sequenziamento
presenza dell’operazione p1 p2 p3 p4 pn op1 op2 op4 opn op3 c1 c2 c3 c4 cm tempo n cm= Si pi: completamento totale delle operazioni (makespan) 1

4 c = Si ci: completamento medio delle operazioni
presenza dell’operazione p1 p2 p3 p4 pn op1 op2 op4 opn op3 c1 c2 c3 c4 cm tempo 1 1 n c = Si ci: completamento medio delle operazioni n 1 n Si ci : somma dei tempi di completamento

5 Minimo completamento medio
presenza dell’operazione pn p2 p1 p3 p4 op2 op2 op1 op1 op3 op4 opn c1 c2 c3 c4 cm tempo c2 c1 se p2 < p1 lo scambio => c2< c c1= c2 riduce il completamento medio o la somma dei tempi di completamento min c S SPT: Shortest Process Time (first):

6 Minimizza anche: - flusso medio F - attesa media W
(ri= 0 => fi:= ci-ri = ci) SPT: p3 pn p2 p4 op3 opn op2 op4 c3 cn c2 c4 cm Minimizza anche: - flusso medio F - attesa media W - num. medio p. in att. Nw

7 n c / cm= 1 + Nw 1 cm Nw = Srx cr + cm- cm = n c / cm -1 n-1 2 1 t ci
Nw(t) n-1 n c / cm= 1 + Nw 2 1 t ci cn ck cj cy cx =cm n 1 cm Nw = Srx cr + cm- cm = n c / cm -1 1

8 = ( ncm- nc ) = n(1-c/ cm) SPT Massimizza cm cm ci cj ck cn cy cm 1 1
Nu(t) SPT Massimizza n-1 2 1 ci cj ck cn cy cm t n 1 cm Nu = Sri (cm- cr) + cm- cm 1 = ( ncm- nc ) = n(1-c/ cm) 1 cm

9 dr: tempo di consegna dovuto per Ritardo del pezzo r : Lr = cr-dr
(lateness) Lr < 0 dr Lr > 0 cr anticipo ritardo cr- dr Lr(cr) dr: tempo di consegna dovuto per pezzo r Ritardo del pezzo r : Lr = cr-dr

10 min c <=> min L n n L = 1 n 1 n 1 n S Lr cr- dr S S = = c - dr n
anticipo ritardo cr- dr Lr(cr) min c <=> min L n n L = 1 n 1 n n 1 n S r =1 Lr cr- dr S r =1 S r =1 = = c - dr

11 minimo ritardo Massimo
min LM S Lj Lk ci dj di cj dk ck Li LM = Maxr Lr = Lj

12 Si hanno le seguenti date di consegna:
Earliest Due Date EDD dati lavori J1 ...Jn Si hanno le seguenti date di consegna: di (1) di (2) di (3) di (4) di (l)

13 e si sequenziano i lavori nello stesso ordine
Earliest Due Date EDD Si riordinano gli indici nell’ordine delle date dovute d1 d2 d3 d4 dn e si sequenziano i lavori nello stesso ordine J1 J2 J3 J4 Jn d1 d2 d3 d4 dn

14 n Maxi Li 1 EDD min S Sott. ck di ci dk > di dk S’ ci’ ck’= ci di
Jk Ji Sott. ck di ci dk > di Ji Jk dk S’ ci’ ck’= ci di

15 EDD S’: -dk< - di ci = ck’ ci’< ci Max (Lk’, Li’)
Ji Jk S’: dk ci’ di ck’= ci -dk< - di ci = ck’ ci’< ci Max (Lk’, Li’) = Max (ci - dk, ci’- di) £ ci - di ci - di  Max (ck -dk, ci-di) = Max (Lk, Li)

16 Earliest Due Date EDD n min Maxi Li S 1 : Massimo anticipo minimo n
Max mini Ai S Ai = -Li> 0 ci di Ai< 0 ci di

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

18 Massimo numero pezzi in tempo
Algoritmo di Moore J1 J2 J3 J4 Jn d1 d2 d3=d4 dn 1) Si scelgono gli indici in ordine EDD (non sempre è unico: es. J3 e J4 sopra)

19 J3 Jn J1 J2 J4 d1 d2 d3=d4 dn 1’) La sequenza ottenuta è la sequenza corrente S1 (la prima) ; si pone i=1 2) Si individua il primo lavoro in ritardo Jl(i) nella sequenza corrente, se non esiste: stop

20 J3 Jn J1 J2 J4 d1 d2 d3=d4 dn 3) Si individua il lavoro più lungo Jr(i) con r  l(i), nella sequenza corrente Si 4) Si ottiene una nuova sequenza corrente Si+1 escludendo Jr(i) e si torna al passo 2), con i:= i+1

21 nT numero di pezzi che vanno rifiutati
Algoritmo di Moore min nT S 1968 nT numero di pezzi che vanno rifiutati (T: Tardiness) Ipotesi di lavoro: S0 ottima Sempre: S0: A0 R0 ammessi o in anticipo rifiutati o in ritardo

22 Si può posticipare Jr(k) mantenendo l’ottimalità
Sempre: S0: A0 R0 Infatti se Ja(1) ... ... Jr (k) Ja (z) Jr (1) ... Jr (l) S0: Si può posticipare Jr(k) mantenendo l’ottimalità

23 Infatti in A0: Lmax £ 0, inoltre: EDD
S0 : A0 R0 scelti gli indici dei lavori secondo una qualsiasi S EDD i < j di  dj Si può sempre riordinare A0 come la EDD scelta: h<k a(h) < a(k) Infatti in A0: Lmax £ 0, inoltre: EDD min Lmax S Il riordino può essere necessario solo se $ di = dj

24 Algoritmo di Moore Definizione di l(1): Jr(1) : max ph = pr(1)
min nT S Definizione di l(1): S1: J1 Ja(1) Ja(2) Jr(1) Jl(1) Ja(z) Jl(i) Jn dl(1) Jr(1) : max ph = pr(1) h=1,l(1)

25 Definizione ricorsiva di Jr (k) , da k=2
k £ i Jr(k-1)-1 Jr(k) Jl(k) Ak: Jr(k-1)+1 dl(k) Jr (h) con h < k non ci sono in Ak Jl (k) ultimo lavoro in Ak; unico in ritardo Jr (k)  Ak : max ph = pr (k) h: Jh  Ak

26 m 1 := numero lavori di { J1 ....Jl(1) } = :A1 assenti in A0
Ja(1) Ja(2) Jl(1) Ja(z) presenti in A0 assente in A0 m 1 := numero lavori di { J1 ....Jl(1) } = :A1 assenti in A0 m 1 > 0 (almeno uno è assente, altrimenti Jl(1) sarebbe presente e in ritardo, cosa impossibile, per definizione di A0)

27 Algoritmo di Moore Jq(1) : max ph = pq (1) min nT S pq(1) £ pr(1)
q(1) £ l(1) h=1,l(1) h ¹ a (·) £ l(1) pq(1) £ pr(1) Lavoro di peso massimo fra quelli in J1 ....Jl(1) assenti in A0 q(1) può coincidere con r(1)

28 Passo i-esimo: 1 < k £ i Definizione ricorsiva di l(k), iniziando da k=2: J1 Ja(1) Ja(2) Jr(k-1)-1 Jr(k-1)+1 Jl(k) Jn Sk: dl(k) Jr (h) con h < k, rifiutati al passo h, non ci sono in Sk Sk : sequenza corrente al passo k

29 Sn +1 (sequenza corrente) : J1 Ja(1) Jr(n)-1 Jr(n)+1 Jl(n) Jn
Se l(n+1) non esiste Ultimo passo: i = n +1 Sn : J1 Ja(1) Jr(n)-1 Jr(n) Jr(n)+1 Jl(n) Jn pr(n) dl(n) dn Sn +1 (sequenza corrente) : pr(n) pr(n) J1 Ja(1) Jr(n)-1 Jr(n)+1 Jl(n) Jn dl(n) dn

30 mk : numero lavori in J1 ....Jl(k)
assenti in A0 Jq(k) è un lavoro di peso massimo tra i mk in J1 … Jl(k) fuori da A0 , non già abbinati  J1 ....Jl(k)  A0 Jq(k)

31 Definizione ricorsiva di Jq(k) :
 J1 ....Jl(k) A0 Ï {Jq(1) ... Jq(k-1) } Bk Jq(k) => h £ l(k) Jq(k) => ÏA0 È {Jq(1) ... Jq(k-1)} Jq(k) : pq(k) = ph q(k) £ l(k) max h £ l(k) Jh Ï Bk abbinato a Jr(k)

32 Algoritmo di Moore Ipotesi: Tesi: min nT S Passo i-esimo: a) mi ³ i
b) $ Jq(1) ... Jq(i) : pq(k) £ pr(k) Ipotesi: A) mi+1 ³ i +1 B) $ Jq(i+1) : pq (i+1) £ pr (i+1) Tesi:

33 A) mi+1 ³ i +1 B) $ Jq(i+1) : pq (i+1) £ pr (i+1) Tesi: Se la tesi è dimostrata, m1 ³ 1  mn ³ n dimostra che l’algoritmo dà un ottimo Mu con nu è il numero di lavori rifiutati nell’ipotetica ottima da giei uno a giei nu

34 Se mi >i mi+1 ³ mi ³ i +1 Se mi = i i Jq(1) ... Jq(i), abbinati a Jr (1) ... Jr(i) q (k) £ l (k) pq(k) £ pr(k) k = 1,…,i sono esattamente tutti i lavori assenti in A0 tra J1 ... Jl(i)

35 ritardati di ( å h pr (h) - å h pq (h))
Ja(1) Ja(2) Jr(i) Jl(i) Jl(i+1) Ja(z) J1 Si dl(i) dl(i+1) Ja(1) Ja(2) Jl(i) J1 Jl(i+1) Ja(z) Si+1 dl(i) dl(i+1) Ja(1) Ja(2) Jl(i) Jl(i+1) Ja(z) A0 I lavori da giei elle i in poi vengono anticipati di somma di pi qu di acca nell’ipotetica ottima e di somma di pi erre acca in esse i più uno ritardati di ( å h pr (h) - å h pq (h)) rispetto a Si+1 i i 1 1 mi = i

36 Jr (h) con h < k non ci sono in Ak
Tesi B) $ Jq(i+1) : pq (i+1) £ pr (i+1) Jr (k-1)-1 Jr (k) Jl(k) Ak: Jr (k-1)+1 dl(k) Jr (h) con h < k non ci sono in Ak con l (i) < q(i+1) £ l (i+1) perché mi = i

37 $ Jr (h’) “nasconde” Jq(i+1) = Jr (h’)
tempo di processo massimo dei lavori in A i+1 Jq(i+1) Î A i+1 pq(i+1) £ pr(i+1) Jq (i+1) Ï A i+1 $ Jr (h’) “nasconde” Jq(i+1) = Jr (h’) Jq(k) è un lavoro di peso massimo tra i mk in J1 ....Jl(k) fuori da A0 ,non già abbinati

38 pq(i+1) £ pq(h’) £ pr(h’) = pq(i+1)
h’’’ < h’’ < h’ £ i A h’’’ Jr (h’’’) A h” Jr (h’’) Jq (h’) pq (h’) = A h’ pq(i+1) £ pq(h’) £ pr(h’) = pq(i+1) q(i+1) £ l(h’) A i+1 pq (i+1) Jq (i+1) Jr (h’) Jr (i+1) Jq(h”) Ï A i+1 Jq(h’) Ï A i+1 sono indicati solo i lavori rifiutati in Ak o assenti in A0 Jq (h) pq (h) = Jq (h’’) pq (h’’) = Sia h il valore per cui $ Jr =Jq(h) ($ h sempre,perché i Jq sono più dei Jr): allora Jq(h) Î A i+1 pq(i+1) = pq(h) £ pr(i+1)


Scaricare ppt "Controllo delle operazioni su una macchina"

Presentazioni simili


Annunci Google