Controllo delle operazioni su una macchina

Slides:



Advertisements
Presentazioni simili
Scheduling (Schedulazione) Susanna Pelagatti – Università di Pisa
Advertisements

Algoritmi e Strutture dati Mod B
Meccanismi one-parameter. Riepilogo Archi di un grafo controllati da agenti egoistici Solo lagente conosce il peso associato al proprio arco Obiettivo:
Il problema del cammino minimo tra 2 nodi in un grafo non cooperativo
Problema dellordinamento Input: Sequenza di n numeri Output: Permutazione π = tale che: a 1 a 2 …… a n Subroutine in molti problemi E possibile effettuare.
Master Bioinformatica 2002: Grafi Problema: cammini minimi da tutti i vertici a tutti i vertici Dato un grafo pesato G =(V,E,w), trovare un cammino minimo.
                      Insertion-Sort
Informatica nella Produzione Industriale
Modello Macchina Singola
Fisica 1 Termodinamica 9a lezione.
Fisica 1 Termodinamica 8a lezione.
Termodinamica 8 12 maggio 2011 Macchine termiche
Lez. 31 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Programmazione.
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Dynamic Programming Chiara Mocenni Corso di.
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Scelte di consumo Chiara Mocenni Corso di laurea.
Cammini minimi con una sorgente
Scheduling della CPU Concetti fondamentali Criteri di scheduling
Scheduling della CPU Concetti di base Criteri di scheduling
MATEMATICA FINANZIARIA
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Iterazione enumerativa (for)
Scenario Archi di un grafo controllati da agenti egoistici
Meccanismi one-parameter. Riepilogo Archi di un grafo controllati da agenti egoistici Solo lagente conosce il peso associato al proprio arco Obiettivo:
Meccanismi one-parameter. Riepilogo Archi di un grafo controllati da agenti egoistici Solo lagente conosce il peso associato al proprio arco Obiettivo:
Metodi di Ensemble Metaclassificatori.
Circuiti di memorizzazione elementari: i Flip Flop
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 4 Ordinamento:
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Risorse condivise e sovraccarichi nei sistemi in tempo reale E.Mumolo
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Gestione dei processi Un sistema operativo multitasking è in grado di gestire più processi Un processo corrisponde ad un programma in esecuzione. Un programma.
Modelli e Algoritmi della Logistica
II ESONERO Modelli di Sistemi Biologici II 11/06/2009h11 A.40 TEMA 1 1.Si consideri il modello minimo del glucosio (6) rappresentato dalle seguenti equazioni:
Corso di Modelli e Algoritmi della Logistica
Modelli e Algoritmi per la Logistica
Modelli e Algoritmi della Logistica
Appunti da J.Sloman, Il Mulino
Maurizio Patrignani seminario sullarticolo On the Single-Source Unsplittable Flow Problem di Yefim Dinitz Naveen Garg Michel X. Goemans (aprile 98)
rete di Petri: N = (T, P, Pre, Post)
Studente Claudia Puzzo
Modello dati ALBERO Albero: Albero: insieme di punti chiamati NODI e linee chiamate EDGES EDGE: linea che unisce due nodi distinti Radice (root): in una.
Modello dati ALBERO Albero: Albero: insieme di punti chiamati NODI e linee chiamate EDGES EDGE: linea che unisce due nodi distinti Radice (root): in una.
Sistemi Operativi SCHEDULING DELLA CPU.
Introduzione ai Sistemi Operativi
La Programmazione Ricorsiva
1 Y Modello di regressione semplice Supponiamo che una variabile Y sia funzione lineare di unaltra variabile X, con parametri incogniti 1 e 2 che vogliamo.
ARITMETICA BINARIA.
Addizionatori RC e CLA Università degli Studi di Salerno
Radix-Sort(A,d) // A[i] = cd...c2c1
Prof. Cerulli – Dott.ssa Gentili
Per valutare la complessità ammortizzata scomponiamo ogni Union: nelle due FindSet e nella Link che la costituiscono e valuteremo la complessità in funzione.
Terzo passo: lunghezza di una LCS LCS-Length(X, Y, m, n) for i = 0 to m c[i, 0] = 0 for j = 1 to n c[0, j] = 0 for j = 1 to n for i = 1 to m if x i ==
Schemi di gioco d’attacco, alzate e difesa
Prof. Cerulli – Dott.ssa Gentili
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 18 Ottobre.
28 ottobre Mergesort F. Bombi 28 ottobre 2003.
Tecnologie delle Costruzioni Aeronautiche 1 Esercitazione 3 © Goran Ivetic.
Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
delle operazioni con precedenze
3.2 Algoritmo di Moore per la minimizzazione dei lavori in ritardo
Benessere economico ed efficienza dei mercati:
MARCO GALLERI strategia organizzazione comunicazione marketing MARCO GALLERI strategia organizzazione comunicazione marketing Il Poggio Sassofortino.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 21 Agosto.
Teoria dei sistemi Autore: LUCA ORRU'.
controllo supervisore
Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Principali Algoritmi di Scheduling
Transcript della presentazione:

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

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

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

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

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< c2 c1= c2 riduce il completamento medio o la somma dei tempi di completamento min c S SPT: Shortest Process Time (first):

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

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

= ( 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

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

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

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

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)

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

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

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)

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

3.2 Algoritmo di Moore per la minimizzazione dei lavori in ritardo

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)

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

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

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

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à

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

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)

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

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)

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)

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

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

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)

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)

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:

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

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)

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

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

$ 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

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)