3.1 sequenziamento delle operazioni a minimo: tempo di completamento medio, ritardo massimo...
Post on 01-May-2015
216 Views
Preview:
TRANSCRIPT
3.1 Sequenziamento delle operazioni a minimo: tempo di completamento medio, ritardo massimo
Controllo delle operazioni su una macchina
controllo della successione dei tempi
((SchedulingScheduling))Sequenziamento Sequenziamento delle operazionidelle operazioni
magazzino con movimentazione interna
Ipotesi: tutti i grezzi sonodisponibili dall’inizio (ri= 0)
Gantt del Gantt del SequenziamentoSequenziamento
presenza dell’operazionep4 pn
cm= i pi: completamento totale
delle operazioni (makespan)1
ntempo
op1c1
p1
op2c2
p2
c3
p3
op4c4 cm
opnop3
op3
presenza dell’operazione
c = i ci: completamento medio delle operazioni
1
n1n
p4
tempoop1
c1
op2c2 c3
op4c4 cm
opn
pnp1 p2 p3
i ci : somma dei tempi di completamento
1n
op1
tempo
presenza dell’operazione
c1 c2 c3
op3
p3
op4c4
p4
cm
opn
pn
Minimo completamento medioMinimo completamento medio
riduce il completamento medio o la
somma dei tempi di completamento
se p2 < p1 lo scambio => c2< c2 c1= c2
c2
p1
c1
op2
p2
SPT: Shortest Process Time (first): min c S
op2 op1
Minimizza anche: - flusso medio F - attesa media W - num. medio p. in att. Nw
(ri= 0 => fi:= ci-ri = ci)
op2c2
p2
c3
op3
p3
op4c4
p4
cm
opn
pn
cn
SPT:
ci cjckcn cy cx =cm
12
n-1
Nw = rx cr1
n1cm
+ cm- cm = n c / cm -1
Nw(t)
t
n c / cm= 1 + Nw
ci cj ck cn cy cm
12
n-1
Nu(t)
t
Nu = ri (cm- cr)1
n1cm
+ cm- cm
= ( ncm- nc ) = n(1-c/ cm)1cm
SPT Massimizza
Lr < 0 dr
Lr > 0
cr
anticipo ritardo
cr- dr
Lr(cr)
Ritardo del pezzo r : Lr = cr-dr
dr: tempo di consegna dovuto per pezzo r
RITARDORITARDO((latenesslateness))
= c -
min c <=> min L
1 n
nL =
r =1Lr
r =1
1n=
n cr- dr
1 n
r =1
ndr
Lr < 0 dr
Lr > 0
cr
anticipo ritardo
cr- dr
Lr(cr)
minimo ritardo Massimominimo ritardo Massimo
Li
cj
Lk
Lj
ckdkdidj
ci
LM = Maxr Lr = Lj
min LM
S
Earliest Due DateEarliest Due DateEDDEDD
dati lavori J1 ...Jn
Si hanno le seguenti date di consegna:
di (2)di (1) di (3)di (4) di (l)
Earliest Due DateEarliest Due DateEDDEDD
Si riordinano gli indici nell’ordine delle date dovute
d2d1 d3 d4 dn
e si sequenziano i lavori nello stesso ordine
J1 J2 J3 J4 Jn
d2d1 d3 d4 dn
EDD minS
n Maxi Li
1
Ji
Sott.
Jk
dk > dicick di
dk
ck’= cici
’ di
S’
JiJk
Max (Lk’, Li’) = Max (ci - dk, ci’- di) ci - di
EDDEDD
-dk<
- d
i
ci’<
ci
ci =
ck’
dk
ck’= cici
’ di
S’:Ji
Jk
Max (Lk, Li) Max (ck -dk, ci-di) =ci - di
nmin Maxi Li
S 1
Earliest Due DateEarliest Due DateEDDEDD
:
nMax mini Ai
S 1 ci di
Ai = -Li> 0
Massimo anticipo minimo
Ai< 0
ci di
:
3.2 Algoritmo di Moore per la minimizzazione dei lavori in ritardo
Massimo numero pezzi in tempo
Algoritmo di MooreAlgoritmo 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)
J3JnJ1 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
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
J3JnJ1 J2 J4
d1 d2 d3=d4 dn
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
rifiutatio in ritardo
Infatti se
Ja(1) Jr (k)... ... Ja (z)
... Jr ()Jr (1)
Si può posticipare Jr(k) mantenendo l’ottimalità
S0:
Sempre: S0: A0 R0
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: EDDmin Lmax SIl riordino può essere
necessario solo se di = dj
Algoritmo di Moore min nT S
JJr(1) r(1) : max p: max phh = p = pr(1)r(1)
h=1,l(1)h=1,l(1)
S1:J1 Ja(1) Ja(2) Jr(1) Jl(1) Ja(z) Jl(i) Jn
dl(1)
Definizione di l(1):
Definizione ricorsiva di Jr (k) , da k=2
Ak:Jr(k-1)-1 Jr(k)
Jr(k-1)+1 dl(k)
k i
Jl (k) ultimo lavoro in Ak; unico in ritardo
Jr (k) Ak : max ph = pr (k)
h: Jh Ak
Jl(k)
Jr (h) con h < k non ci sono in Ak
presenti in A0
Ja(1)Ja(2) Jl(1) Ja(z)
1 := numero lavori di { J1 ....Jl(1) } = :A1
assenti in A0
1 > 0 (almeno uno è assente, altrimenti Jl(1) sarebbe presente e in ritardo, cosa impossibile, per definizione di A0)
assente in A0
S1
Algoritmo di Moore min nT S
pq(1) pr(1) Lavoro di peso massimo fra
quelli in J1 ....Jl(1) assenti in
A0
q(1) può coinciderecon r(1)
Jq(1) : max ph = pq (1)
q(1) l(1) h=1,l(1)
h a () l(1)
Sk: J1 Ja(1) Ja(2) Jl(k) Jn
dl(k)
Jr (h) con h < k, rifiutati al passo h, non ci sono in Sk
Definizione ricorsiva di l(k), iniziando da k=2:
Jr(k-1)-1 Jr(k-1)+1
Passo i-esimo: 1 < k i
Sk : sequenza corrente al passo k
S (sequenza corrente) :J1 Ja(1) Jl() Jn
dn
Jr()-1 Jr()+1
Ultimo passo: i = S:
J1 Ja(1) Jl() Jn
dl()
Jr() Jr()+1
dnpr()
pr()pr()
Jr()-1
dl()
Se l() non esiste
Jq(k) è un lavoro di peso massimo tra i k in J1 … Jl(k) fuori da A0 , non già abbinati
J1 ....Jl(k)
A0
k : numero lavori in J1 ....Jl(k) assenti in A0
Jq(k)
Jq(k) : pq(k) = ph
q(k) l(k)
max h l(k)Jh
Definizione ricorsiva di Definizione ricorsiva di JJq(k)q(k) ::
abbinato a Jr(k)
J1 ....Jl(k)
A0
{Jq(1) ... Jq(k-1) }Jq(k) => A0 {Jq(1) ... Jq(k-1)}
Jq(k) => h l(k) Bk
Bk
Algoritmo di MooreAlgoritmo di Moore min nmin nTT
SS
Tesi: A) A) i+1 i+1 ii1 1
B) B) JJq(i+1)q(i+1) : p : pq (i+1) q (i+1) ppr r
(i+1)(i+1)
Ipotesi: i i iiJJq(1)q(1) ... J ... Jq(i)q(i) : p : pq(k)q(k)
ppr(k)r(k)
Passo i-esimo:
Tesi:A) A) i+1 i+1 ii1 1
B) B) JJq(i+1)q(i+1) : p : pq (i+1) q (i+1) ppr (i+1)r (i+1)
Se la tesi è dimostrata, 1 1 dimostra che l’algoritmo dà un ottimo
Se i >i i+1 ii1
Se i = i
iJq(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)
Jl(i)
i = i
ritardati di ( ritardati di ( h h ppr (h)r (h) - - h h ppq (h)q (h)))
rispetto a Srispetto a Si+1i+1
A0
Ja(1) Ja(2) Jl(i) Ja(z)Jl(i+1)
1
i
1
i
Si
J1Ja(1) Ja(2) Jr(i) Jl(i) Ja(z)
dl(i) dl(i+1)
Jl(i+1)
J1Ja(1) Ja(2) Ja(z)
dl(i)
Jl(i+1)
Si+1
dl(i+1)
Tesi B) Jq(i+1) : pq (i+1) pr (i+1)
Ak:Jr (k-1)-1 Jr (k)
Jr (k-1)+1 dl(k)
Jl(k)
Jr (h) con h < k non ci sono in Ak
con l (i) < q(i+1) l (i+1)perché i = i
Jr (h’) “nasconde” Jq(i+1) = Jr (h’)
A i+1 Jq (i+1)
Jq(i+1)A i+1 pq(i+1) pr(i+1)
tempo di processo massimo dei lavori in A i+1
Jq(k) è un lavoro di peso massimo tra i k
in J1 ....Jl(k) fuori da A0 ,non già abbinati
A i+1
Jr (i+1)
Jq (h)
pq (h) =
Jq (h’’)
pq (h’’) =
sono indicati solo i lavori rifiutati in Ak o assenti in A0
A h”
Jr (h’’)
A h’’’
Jr (h’’’)
Jq(h’) A i+1
h’’’ < h’’ < h’ i
Jq(h”) A i+1
allora Jq(h) A i+1
pq(i+1) = pq(h) pr(i+1)
Jq (h’)
pq (h’) =
A h’
pq(i+1) pq(h’) pr(h’) =
pq(i+1)
q(i+1) l(h’)
Sia h il valore per cui Jr =Jq(h)
( h sempre,perché i Jq sono più dei Jr):
pq (i+1)
Jq (i+1)
Jr (h’)
top related