1. Classificazione delle risorse
|
|
|
- Aurora Meloni
- 10 anni fa
- Visualizzazioni
Transcript
1 1. Classificazione delle risorse Classificazione delle risorse in base alla disponibilità. - Risorse rinnovabili Sono risorse utilizzate per l esecuzione di una attività per tutta la sua durata, ma sono rese nuovamente disponibili non appena l attività è terminata. Sono pertanto risorse per le quali si hanno vincoli sull uso complessivo ad ogni istante della durata del progetto. Esempi: personale, macchine, flusso di denaro, potenza, flusso di carburante. - Risorse non rinnovabili Sono risorse per le quali il vincolo sulla disponibilità coinvolge solo il consumo totale per l intera durata del progetto. Si tratta quindi di risorse disponibili e consumate sulla base dell intero progetto. Esempi: denaro limitato nel budget, energia, carburante. - Risorse doppiamente vincolate Sono risorse simultaneamente vincolate sia in termini di uso complessivo ad ogni istante che in termini di consumo totale per l intero progetto. 1
2 2. Considerazioni preliminari il CPM e il PERT sono tecniche basate sull ipotesi che le risorse addizionali non esistono (o sono illimitate) pertanto non sono tecniche idonee a risolvere problemi di project scheduling con vincoli sulle risorse. In generale, quando si ha a che fare con vincoli sulle risorse i problemi di project scheduling sono NP-hard in senso forte. Sono una generalizzazione dei problemi di job-shop. Pertanto il primo passo da fare nell analisi di tali problemi è quello di sviluppare un efficiente modello teorico che ne rappresenti le caratteristiche di base attraverso opportune strutture matematiche relativamente semplici che permettano di poter effettuare delle analisi teoriche (come: rappresentazione della spazio delle soluzioni, rilassamenti, criteri di dominanza, ecc.) e che siano adatte al disegno di algoritmi di risoluzione sia euristici che esatti. Ciò può essere ottenuto attraverso modelli basati su grafi non orientati nel caso di attività indipendenti (cioè senza vincoli di precedenza), o su grafi orientati rappresentanti insiemi parzialmente ordinati nel caso di attività con vincoli di precendenza. 2
3 3. Definizioni parametri Faremo riferimento da ora in poi a problemi di project scheduling con solo risorse rinnovabili (limitate). Siano: Parametri o T = {T 1,, T n } l insieme di n attività (task) che devono essere eseguite senza interruzione o p = (p 1,, p n ) il vettore delle durate dei task o R 0 T T un ordinamento parziale definito su T che descrive le relazioni (vincoli) di precedenza (diretta e indiretta) sui task di tipo finish-to-start; o R = {R 1,, R s } un insieme di s risorse rinnovabili con: r ih rappresentante le unità di risorsa R h utilizzate dal task T i durante ogni istante in cui è in esecuzione; Q h rappresentante la quantità massima (in unità di risorsa) di risorsa R h disponibile in ogni istante o D limite sulla durata del progetto Variabili o (s 1,, s n ) vettore degli istanti di inizio delle attività. Tale vettore è completamente specificato dalla schedula S = (s 1 (S),, s n (S)) delle attività del progetto. 3
4 4. Considerazioni introduttive Due task T i, T j che possono essere eseguiti contemporaneamente (perchè non vincolati da relazione di precedenza) richiedono complessivamente r ih + r jh unità di risorsa R h se vengono eseguiti simultaneamente. Pertanto il vincolo sulle risorse limitate potrebbe imporre di sequenziare (cioè aggiungere relazioni di precedenza) attività che utilizzano la stessa risorsa, provocando quindi un incremento del tempo di completamento di qualche attività che può comportare un aumento della durata del progetto. Viceversa, eseguendo contemporaneamente delle attività per ridurre la durata del progetto si può produrre un incremento dell uso delle risorse. Siccome i task devono essere eseguiti senza interruzione, ogni possibile misura di prestazione di una determinata scelta sull esecuzione delle attività di un progetto (soluzione) dipende dalla schedula S = (s 1 (S),, s n (S)) delle attività, cioè solo dagli istanti di partenza s i. 4
5 4. Considerazioni introduttive (continua) La prestazione di una schedula S è di solito espressa attraverso due differenti tipi di misure che esprimono rispettivamente gli aspetti temporali e gli aspetti legati alle risorse. Aspetti temporali Si fa riferimento al tempo di completamento C i (S) della generica attività T i per la schedula S. C i (S) = s i (S) + p i Volendo ancora rappresentare la prestazione di una schedula S secondo un unico indice di prestazione temporale si ricorre di solito ad una funzione regolare τ(c 1 (S),, C n (S)). Cioè una funzione non decrescente τ : tempi di completamento C i n 1 dei τ(c 1 (S),, C n (S)) rappresenta il costo di esecuzione della schedula S. Ad esempio. τ(c 1 (S),, C n (S)) = max [C i (S)] = C max (S) è la durata del progetto (o makespan della schedula). 5
6 4. Considerazioni introduttive (continua) Aspetti legati all uso delle risorse Data una schedula S si fa riferimento all ammontare massimo r h max (S) di risorsa R h (per h = 1,, s) utilizzata durante i vari istanti in cui il progetto è in corso r h max (S) = max {Σ {i: si (S) < θ s i (S) + p i } r ih θ = 1, 2,, T}. Analogamente, volendo rappresentare la prestazione di una schedula S, secondo un unico indice di prestazione sull uso delle risorse utilizzate, si fa ricorso ad una funzione non decrescente κ : s 1 κ(r 1 max (S),, r s max (S)), rappresentante il costo delle risorse di S. Ad esempio: κ(r 1 max (S),, r s max (S)) = Σ s h=1 K h r h max (S) dove K h è il costo per unità di risorsa R h. 6
7 4. Due principali problemi Resource Constrained Proj. Sched. Problem (RCPSP) (o problema delle risorse limitate) Dato un ordinamento parziale R 0 sulle attività T e un limite Q h sulla disponibiltà della risorsa R h, determinare la schedula di progetto S * che minimizza il costo di esecuzione τ(c 1 (S),, C n (S)) tra tutte le schedule ammissibili S S, cioè per le quali r max h (S) Q h, h=1,, s, e che rispetta l ordinamento parziale R 0. Resource Availability Cost Problem (RACP) (o problema del tempo limitato) Dato un ordinamento parziale R 0 sulle attività T e un limite Q h sulla disponibiltà della risorsa R h, determinare la schedula di progetto S * che minimizza il costo di delle risorse κ(r max 1 (S),, r max s (S)) tra tutte le schedule ammissibili S S, cioè per le quali C max (S) D e che rispetta l ordinamento parziale R 0. 7
8 5.1. RCPSP(C max ): Formulazione Consideriamo RCPSP con l obiettivo di minimizzare il tempo di completamento del progetto RCPSP(C max ). Senza perdita di generalità supponiamo che T 1 sia l unico task (eventualmente fittizio) a non avere predecessori e T n sia l unico task (eventualmente fittizio) a non avere successori, e sia G 0 = (T, R 0 ) il grafo di progetto con attività sui nodi. Formulazione concettuale s.t. C n * = p n + min s n s j s i p j, (T i, T j ) R 0 s 1 = 0 Ti S t r ih Q h, h = 1,, s; t = 1,, T dove S t = {T i T: s i < t s i + p i } è l insieme delle attività in esecuzione nel periodo unitario t (cioè nell intervallo [t 1, t]) e T è un UB di C * n. Non è una formulazione agevole perché S t dipende dalla soluzione stessa. 8
9 5.1. RCPSP(C max ): Formulazione (continua) Formulazione di Pritsker et al. (1969) Consideriamo la variabile binaria x it, con x it = 1 se T i inizia al tempo t e x it = 0 altrimenti. Ovviamente t può essere ristretto ai tempi ammissibili di inizio per T i, cioè t {ES i, LS i }, determinabili con le ricorsioni in avanti e indietro, assumendo LF n = T con T = UB sulla durata minima del progetto (es., UB = Ti T p i ). s.t. LS i t = ES LS t = ES i i n i= 1 x p LS n + min t n x nt t = ES = 1, i 1,..., n it = t x i r it LS j t = ES min{ t 1, LS } x t x ih iq q= max{ t p, ES } i i j i jt = Q h p, j n, ( Ti, Tj ) R0 h = 1,..., s; t = 1,..., T x it { 0,1}, i = 1,..., n; t = ESi,..., LSi N.B.: Le attività T i in esecuzione nel periodo unitario t sono quelle i cui s i cadono nell intervallo [t p i, t 1] (oltre ovviamente a appartenere all intervallo [ES i, LS i ]). Quindi T i è in esecuzione nel periodo unitario t se max{t p i, ES i } s i min{t 1, LS i }. (1) (2) (3) (4) (5) 9
10 5.2. RCPSP(C max ): Lower bound LB basato sul cammino critico Si ignorano i vincoli (4) sulla limitatezza delle risorse, riconducendo il problema al caso con risorse illimitate. Lower bound: LB1 1 ipotesi: risorse tutte in quantità illimitata. Esempio LB1 = l π lunghezza del cammino critico π del grafo G 0 = (T, R 0 ) delle precedenze. 4 task T = {T 1, T 2, T 3, } con durate p = (7, 6, 2, 5) con relazioni di precedenza: T 1 < T 2, ; T 2 < T 3. Risorse R 1, R 2, di quantità Q 1 = 3 e Q 2 = 3. Siano r i1 = (3, 2, 0, 2) e r i2 = (2, 0, 1, 2) le quantità di R 1, R 2 utilizzate dai task T i. T 1 (7) {3,2} (6) T 2 {2,0} (2) T 3 {0,1} T 5 G 0 (p i ) {r i1, r i2 } LB1 = 15 {2,2} (5) 10
11 5.2. RCPSP(C max ): Lower bound LB basato sulla sequenza critica (Stinson et al., 1978) Miglioramento del LB precedente. Si determina un cammino critico π ipotizzando di rilassare il vincolo (4) sulla limitatezza delle risorse. Sia l π la sua lunghezza (n.b.: LB1 = l π ). Sia T π l insieme della attività del cammino critico. Per ciascuna attività T i T\T π si valuta la (massima) durata di tempo l i p i in cui T i nell intervallo [ES i, LF i ] può essere eseguita (senza interruzione) in parallelo alle attività del cammino critico π. Per eseguire le attività T π {T i } occorre un tempo pari a l π + (p i l i ) che pertanto costituisce la lunghezza della sequenza critica formata da tali attività. Il massimo tra le lunghezze delle sequenze critiche ottenute per ogni attività T i T\T π è un valido LB Lower bound: LBs LBs = l π + max Ti T \T π {p i l i }. 11
12 5.2. RCPSP(C max ): Lower bound Esempio 4 task T = {T 1, T 2, T 3, } con durate p = (7, 6, 2, 5) con relazioni di precedenza: T 1 < T 2, ; T 2 < T 3. Risorse R 1, R 2, di quantità Q 1 = 3 e Q 2 = 3. Siano r i1 = (3, 2, 0, 2) e r i2 = (2, 0, 1, 2) le quantità di R 1, R 2 utilizzate dai task T i. [0, 7] T 1 (7) {3,2} (6) {2,2} T 2 {2,0} [7, 13] [7, 15] (5) (2) T 3 {0,1} [13, 15] T 5 [15, 15] G 0 Q 1 = 3; Q 2 = 3 (p i ) {r i1, r i2 } [ES i, LF i ] l π = 15 Per l unica attività T\T π si ha che l 4 = 2 p 4 = 5. Quindi LBs = l π + max Ti T \T π {p i l i } = 15 + (5 2) =
13 5.3. RCPSP(C max ): Euristiche con regole di priorità LB basato sulle risorse L attività T i richiede un ammontare totale di risorsa R h pari r ih p i. Pertanto Ti r T ih p i è la quantità totale di risorsa R h richiesta durante il progetto. In ogni periodo unitario di tempo la risorsa R h è disponibile in quantità pari a Q h. È quindi necessario almeno un tempo pari a ( Ti T r ih p i )/Q h per eseguire tutte le attività. Dovendo valere ciò per ogni risorsa R h (per h = 1,, s) si ha: Lower bound: LBr LBr = max h { ( Ti T r ih p i )/Q h } 13
14 5.2. RCPSP(C max ): Lower bound Esempio 4 task T = {T 1, T 2, T 3, } con durate p = (7, 6, 2, 5) con relazioni di precedenza: T 1 < T 2, ; T 2 < T 3. Risorse R 1, R 2, di quantità Q 1 = 3 e Q 2 = 3. Siano r i1 = (3, 2, 0, 2) e r i2 = (2, 0, 1, 2) le quantità di R 1, R 2 utilizzate dai task T i. i p i r i1 ; r i2 r i1 p i r i2 p i 1 7 3; ; ; ; i ( i r ih p i )/Q h Quindi LBr = max h { ( Ti T r ih p i )/Q h } = max{15; 10} =
15 5.3. RCPSP(C max ): Euristiche con regole di priorità Sono euristiche costruttive che si basano su: i. schema di scheduling ii. regola di priorità Lo schema di scheduling definisce il modo con cui la schedula ammissibile è costruita, estendendo una schedula parziale. Tipicamente gli schemi di scheduling sono di due tipi: a) schema di scheduling seriale b) schema di scheduling parallelo La regola di priorità, definita dalla coppia (v, extremum), definisce l ordine di priorità nella schedulazione delle attività; permette di scegliere una o più attività da un insieme detto di decisione. 15
16 5.3. RCPSP(C max ): Euristiche con regole di priorità Schema di scheduling seriale Partendo dalla schedula vuota, si aggiungono sequenzialmente le attività alla schedula parziale. È un algoritmo iterativo che ad ogni iterazione seleziona un attività (in base alla regola di priorità impiegata) non schedulata e la aggiunge alla corrente schedula parziale. All iterazione k si considera una partizione delle attività T in 3 sottoinsiemi: o C k (complete set) contenente le attività già schedulate e che quindi appartengono alla schedula parziale o D k (decision set) contenente le attività non schedulate i cui predecessori diretti sono in C k o R k (remaining set) contenente le rimanenti attività 16
17 5.3. RCPSP(C max ): Euristiche con regole di priorità Schema di scheduling seriale All iterazione k: 1. Si seleziona un attività T i D k a priorità più elevata e la si schedula all'istante di tempo minimo ammissibile, rispetto alle precedenze e alle risorse usate dalla schedula parziale; 2. Si rimuove T i da D k e si aggiunge a C k ; 3. Tutte le attività di R k le cui attività predecessori (diretti) sono state schedulate vengono rimosse da R k e aggiunte a D k. L algoritmo termina quando tutte le attività sono in C k. Al passo 1 la selezione avviene tenendo conto del valore di priorità v i assegnato al task T i. In particolare si seleziona T i* tale che: v i* = extremum Ti D k {v i } È garantito che la schedula generata è ammissibile. La schedula generata è attiva. In caso di assenza di vincoli sulla limitatezza delle risorse la schedula fornita è ottima. 17
18 5.3. RCPSP(C max ): Euristiche con regole di priorità Le regole di priorità possono essere classificate in: o regole basate sul tempo; o regole basate sulle precedenze; o regole basate sulle risorse. Esempi di regole basate sul tempo: o Shortest Proc. Time o Latest Start Time o Latest Finish Time (SPT) (p i, min) (LST) (LS i, min) (LFT) (LF i, min) Esempi di regole basate sulle precedenze: o Most Immediate Succ. o Most Total Succ. (MIS) ( S i, max) (MTS) ( S i, max) Esempi di regole basate sulle risorse: o Great Resource Demand (GRD) (p i h r ih ), max) o Relative Resource Usage (RRU) ( h r ih /Q h, max) 18
19 5.3. RCPSP(C max ): Euristiche con regole di priorità Esempio (1) (5) T 1 [2] [1] (0) (1) (0) (p i ) T 0 [0] T 2 [2] T 6 [0] T i [r i1 ] (2) (4) R = {R 1 } Q 1 = 4 T 3 [3] T 5 [3] Si assume di aver assegnato le seguenti priorità v, con extremum = min. Τ i T 0 T 1 T 2 T 3 T 5 T 6 ν i L applicazione dell algoritmo seriale produce la seguente schedula. Q 1 = R 1 T 3 T 1 T 2 T 5 C max = t Si noti che LBr = ( )/4 = 7 (LB1 = 6; LBs = 7 scegliendo (T 0, T 3, T 5, T 6 ) come percorso critico), pertanto la schedula è ottima. 19
20 5.4. RCPSP(C max ): Approccio su grafo Consideriamo RCPSP con l obiettivo di minimizzare il tempo di completamento del progetto RCPSP(C max ). Consideriamo il grafo di progetto con attività sui nodi G 0 = (T, R 0 ) (aggiungendo eventualmente due dummy task: T 0 che precede tutti i task e T n+1 che sussegue tutti i task). G 0 è il grafo delle precedenze. Esempio 4 task T = {T 1, T 2, T 3, } con durate p = (7, 6, 2, 5) con relazioni di precedenza: T 1 < T 2, ; T 2 < T 3. Risorse R 1, R 2, di quantità Q 1 = 3 e Q 2 = 3. Siano r i1 = (3, 2, 0, 2) e r i2 = (2, 0, 1, 2) le quantità di R 1, R 2 utilizzate dai task T i. T 1 (7) {3,2} (6) T 2 {2,0} (2) T 3 {0,1} T 5 G 0 (p i ) {r i1, r i2 } {2,2} (5) Grafo di progetto G 0 20
21 5.4. RCPSP(C max ): Approccio su grafo (continua) T 1 (7) {3,2} (6) T 2 {2,0} (2) T 3 {0,1} T 5 G 0t (p i ) {r i1, r i2 } {2,2} (5) Chiusura transitiva G 0t del grafo di progetto Teorema 1 La durata minima del progetto, supponendo le risorse illimitate, è pari al peso ω p (G 0t ) della massima clique del grafo di progetto chiuso transitivamente G 0t con vertici di peso p i. Corollario La lunghezza l π del cammino critico π sul grafo delle precedenze G 0 = (T, R 0 ) è pari a ω p (G 0t ) LB1 = l π = ω p (G 0t ) ω p (G 0t ) = 15 T 1 (7) {3,2} (6) T 2 {2,0} (2) T 3 {0,1} T 5 G 0t (p i ) {r i1, r i2 } {2,2} (5) 21
22 5.4. RCPSP(C max ): Approccio su grafo (continua) Teorema 2 L ammontare massimo r max h di risorsa R h utilizzata durante i vari istanti di vita del progetto è pari al peso α rh (G 0t ) del massimo insieme indipendente del grafo di progetto chiuso transitivamente G 0t con vertici di peso r ih. α r1 (G 0t ) = 4 α r2 (G 0t ) = 3 T 1 (7) {3,2} (6) T 2 {2,0} (2) T 3 {0,1} T 5 G 0t (p i ) {r i1, r i2 } {2,2} (5) Una soluzione ammissibile è rappresentata dal grafo diretto aciclico G + = (T, R) ottenuto da G 0 aggiungendo archi (cioè precedenze, R 0 R) in modo che per la sua chiusura transitiva G + t si ha: α rh (G t + ) = r h max Q h, h = 1,, s 22
23 5.4. RCPSP(C max ): Approccio su grafo (continua) Chiamiamo G + grafo esteso ammissibile di G 0. T 1 (7) {3,2} (6) T 2 {2,0} (2) T 3 {0,1} T 5 G + (p i ) {r i1, r i2 } {2,2} (5) π c l πc = 18 la sua chiusura transitiva è G + t e α rh (G + t ) = Q h, h. α α r2 (G + r1 (G + t ) = 3 t ) = 3 T 1 (7) {3,2} (6) T 2 {2,0} (2) T 3 {0,1} T 5 G t + (p i ) {r i1, r i2 } ω p (G t + ) = 18 {2,2} (5) La durata minima del progetto associato alla soluzione G + grafo esteso ammissibile di G 0 è pari: o al peso ω p (G + + t ) della massima clique del grafo G t chiusura transitiva di G + con vertici di peso p i. ovvero o alla lunghezza l πc (G + ) del cammino critico π c (cioè di lunghezza massima) di G +. 23
24 5.4. RCPSP(C max ): Approccio su grafo (continua) Dato il grafo diretto aciclico G + = (T, R) insieme al vettore delle durate p dei task, si definisce Definizione Earliest start schedule ES G +[p] indotta da G + e p la schedula con i seguenti starting time per i task: t j (ES G +[p]) = 0 se T j non ha predecessori in G + max {Ti : (T i, T j ) R} [t i (ES G +[p]) + p i ] altrimenti ES G +[p] è una schedula semi-attiva poiché nessun task può essere completato prima senza violare la relazione R. Si tratta della miglior schedula associata a G +. Il suo makespan C max (ES G +[p]) è pari alla lunghezza l πc (G + ) del cammino critico π c (cioè di lunghezza massima) di G +. Q 2 =3 R 2 Q 1 =3 T 1 T 3 C max (ES G +[p]) = 18 R 1 T t 24
25 5.4. RCPSP(C max ): Approccio su grafo (continua) Pertanto risolvere il problema RCPSP(C max ) corrisponde a determinare un grafo (esteso) G * che estende il grafo delle precedenze G 0, aggiungendo a questo archi orientati, tale che: o l estensione sia ammissibile: il grafo esteso G * sia aciclico e per la sua chiusura transitiva G t * si ha: α rh (G t * ) = r h max Q h, h = 1,, s o la lunghezza l πc (G * ) del cammino critico π c (di lunghezza massima) del grafo esteso G * sia minima. Un tale grafo esteso G * è ottimo e la earliest start schedule ES G *[p] indotta è una schedula ottima per RCPSP(C max ). Il makespan C * max della schedula ottima ES G *[p] associata è pari alla lunghezza l πc (G * ) del cammino critico π c di G *. 25
26 5.4. RCPSP(C max ): Approccio su grafo (continua) L approccio su grafo descritto per l RCPSP(C max ) in pratica estende quello per il job shop scheduling Jm C max, estendendo il concetto di grafo disgiuntivo. Definizione Il grafo disgiuntivo dei conflitti è il grafo C 0 = (T, A[G 0t ] E 0 ), dove G 0t è la ch. trans. di G 0 e T i e T j non possono essere (T i, T j ) E 0 <==> eseguiti simultaneaneamente per mancanza di risorse T 1 (7) {3,2} (6) T 2 {2,0} (2) T 3 {0,1} T 5 C 0 (p i ) {r i1, r i2 } {2,2} (5) C 0 si ottiene dalla chiusura transitiva G 0t di G 0 e aggiungendo gli archi non orientati E 0, dove (T i, T j ) E 0 se esiste una risorsa R h per cui r ih + r ih > Q h. Una soluzione ammissibile è rappresentata dal grafo diretto aciclico G + = (T, A[G 0t ] E 0 A + ) ottenuto da C 0 orientando gli archi indiretti E 0 e eventualmente aggiungendo archi in modo che per la sua chiusura transitiva G + t si ha: α rh (G t + ) = r h max Q h, h = 1,, s 26
27 5.5. RCPSP(C max ): Altri lower bound Lower bound: LB2 Un valido LB è pari al tempo richiesto per sequenziare task mutuamente in conflitto. o task mutuamente in conflitto sono clique del grafo dei conflitti o per eseguire task mutuamente in conflitto occorre un tempo pari alla somma delle loro durate LB2 = peso ω p (C 0 ) della clique di peso massimo del grafo dei conflitti C 0. {3,2} (6) {2,0} (2) T 1 T 2 T 3 (7) {0,1} C 0 Q 1 = 3; Q 2 = 3 (p i ) {r i1, r i2 } {2,2} (5) T 5 LB2 = 18 ω p (C 0 )=18 Teorema LB2 LB1 27
28 5.5. RCPSP(C max ): Altri lower bound (continua) Lower bound: LB3 3 ipotesi: risorse tutte tranne una in quant. illimit. LB3 = LB1 + max h (δ h ), dove δ h è il minimo tempo addizionale necessario per sequenziare i task che fanno uso della risorsa R h, tale che r h max Q h. N.B.: E ovvio che LB3 LB1, mentre nulla si può dire in generale tra LBs, LB2 e LB3. Calcolo di δ h Per ogni task T i richiedente R h, siano definiti il suo earliest start time ES i e il suo latest finish time LF i nell ipotesi 1. Il tempo addizionale richiesto dal task T i è pari alla sua tardiness rispetto a LF i mentre è ovvio che il task non può iniziare prima di ES i. Quindi il tempo addizionale necessario per sequenziare i task richiedenti R h, è pari alla massima tardiness dei task. 28
29 5.5. RCPSP(C max ): Altri lower bound (continua) Pertanto il minimo tempo addizionale necessario δ h è pari al minimo valore possibile per la massima tardiness. Il task T i può essere modellato come un job i con release date r i = ES i e due date d i = LF i e richiedente r ih macchine contemporaneamente. Inoltre tra i job sono date delle precedenze (quelle di R 0 ) e il numero delle macchine (parallele identiche) a disposizione è m = Q h. Determinare δ h equivale quindi a risolvere il problema Pm r i, size, prec L max, cioè un problema di scheduling con m macchine parallele identiche, con release date, due date e precedenze, in cui ciascun job i richiede simultaneamente r ih macchine e l obiettivo è minimizzare la lateness massima. Sia L * max il valore ottimo, si ha che δ h = max [0, L * max]. 29
30 5.5. RCPSP(C max ): Altri lower bound (continua) Esempio 4 task T = {T 1, T 2, T 3, } con durate p = (7, 6, 2, 5) con relazioni di precedenza: T 1 < T 2, ; T 2 < T 3. Risorse R 1, R 2, di quantità Q 1 = 3 e Q 2 = 3. Siano r i1 = (3, 2, 0, 2) e r i2 = (2, 0, 1, 2) le quantità di R 1, R 2 utilizzate dai task T i. R 2 R 1 [0, 7] [7, 13] [13, 15] [ES i, LF i ] T 1 T 2 T 3 G (p i ) 0 (7) (6) (2) {r i1, r i2 } {3,2} {2,0} {0,1} {2,2} (5) [7, 15] T 5 [15, 15] LB1 = 15 {3,2} (6) {2,0} (2) T 1 T 2 T 3 (7) {0,1} C 0 (p i ) {r i1, r i2 } {2,2} (5) T 5 LB2 = 18 ω p (C 0 )=18 30
31 5.5. RCPSP(C max ): Altri lower bound (continua) Calcolo di δ 1 : risorsa R 1 : r i1 = (3, 2, 0, 2), Q 1 = 3 Risolviamo la seguente istanza di P3 r i, size, prec L max task T 1 T 2 p i r i d i con T 1 < T 2,. La schedula ottima è t 1 = 0, t 2 = 7, t 4 = 13 con L * max= 3. Pertanto δ 1 = 3. Calcolo di δ 2 : risorsa R 2 : r i2 = (2, 0, 1, 2), Q 2 = 3 Risolviamo la seguente istanza di P3 r i, size, prec L max task T 1 T 3 p i r i d i con T 1 < T 3,. La schedula ottima è t 1 = 0, t 3 = 13, t 4 = 7 con L * max= 0. Pertanto δ 2 = 0. Pertanto, LB3 = LB1 + max(δ 1, δ 2 ) = = 18 31
32 5.6. RCPSP(C max ): Euristica shift. bottl. Euristica shifting bottleneck E una procedura iterativa (analoga a quella per il job-shop) che consta di s iterazioni. Ad ogni iterazione viene individuata la risorsa che costituisce il bottleneck del progetto, e determinata la miglior schedula dei task che ne fanno uso. Tale schedula definisce ulteriori precedenze tra i task T, che si traducono nella definizione di archi aggiuntivi a G 0. Indichiamo con R l insieme delle s risorse. Ad una generica iterazione, indichiamo con R 0 il sottoinsieme delle risorse per le quali è stata specificata la schedula dei task che ne fanno uso. Pertanto nella generica iterazione il primo passo da fare è individuare la risorsa bottleneck in R\R 0. 32
33 5.6. RCPSP(C max ): Euristica shift. bottl. (continua) Per determinare la risorsa bottleneck, si individua quale risorsa in R\R 0 è causa del maggior accumulo di ritardo a causa del sequenziamento dei task che ne fanno uso. Sia G + (R 0 ) il grafo orientato (aciclico) ottenuto da G 0 aggiungendo gli archi rappresentanti le nuove precedenze dovute alla schedulazione dei task che impiegano le risorse R 0. La lunghezza del cammino critico di G + (R 0 ) è pertanto il makespan C max (R 0 ) della schedula ottima supponendo di rilassare i vincoli sulle altre risorse R\R 0. La risorsa bottleneck è quella k per cui C max (R 0 {R k }) = C max (R 0 ) + δ k è massimo tra tutte le risorse R h, h = 1,, s, dove δ h è il minimo tempo addizionale necessario per schedulare i task che impiegano la risorsa R h. Calcolo di δ h : Per ogni task T i, siano r i il suo earliest start time ES i e d i il suo latest finish time LF i calcolato su G + (R 0 ), noto C max (R 0 ). 33
34 5.6. RCPSP(C max ): Euristica shift. bottl. (continua) Determinare δ h equivale a risolvere il problema Pm r i, size, prec L max, cioè un problema di scheduling con m macchine parallele, con release date, due date e precedenze, in cui ciascun task T i richiede simultaneamente r ih macchine e l obiettivo è minimizzare la lateness massima; δ h = max [0, L * max]. In particolare, le release date sono gli ES i e le due date sono i LF i, le precedenze sono quelle degli archi di G + (R 0 ) e m = Q h. Determinata la risorsa bottleneck R k, i task vengono schedulati su di essa secondo la schedula ottenuta risolvendo il problema ausiliario Pm r i, size, prec L max. Questo consiste nel considerare le nuove precedenze dovute alla schedulazione dei task che usano la risorsa R k, ovvero definire il nuovo grafo aggiunto G + (R 0 {R k }) ottenuto aggiungendo i relativi archi a G + (R 0 ). Prima di terminare la generica iterazione si può eventualmente riottimizzare localmente la soluzione parziale ottenuta sequenziando le risorse R 0 {R k }. 34
35 5.6. RCPSP(C max ): Euristica shift. bottl. (continua) Riconsideriamo il precedente. Esempio 4 task T = {T 1, T 2, T 3, } con durate p = (7, 6, 2, 5) con relazioni di precedenza: T 1 < T 2, ; T 2 < T 3. Risorse R 1, R 2, di quantità Q 1 = 3 e Q 2 = 3. Siano r i1 = (3, 2, 0, 2) e r i2 = (2, 0, 1, 2) le quantità di R 1, R 2 utilizzate dai task T i. R 2 R 1 [0, 7] [7, 13] [13, 15] [ES i, LF i ] T 1 T 2 T 3 G (p i ) 0 (7) (6) (2) {r i1, r i2 } {3,2} {2,0} {0,1} {2,2} (5) [7, 15] T 5 [15, 15] LB1 = 15 LB2 = 18 LB3 = 18 35
36 5.6. RCPSP(C max ): Euristica shift. bottl. (continua) Applichiamo l euristica shifting bottleneck. Iniz.: R 0 è vuoto. Iter. 1: C max (R 0 ) = 15 pari alla lunghezza del cammino critico di G + (R 0 ) = G 0. Determiniamo la risorsa bottleneck Risorsa R 1 : r i1 = (3, 2, 0, 2), Q 1 = 3 Risolviamo la seguente istanza di P3 r i, size, prec L max task T 1 T 2 p i r i d i con T 1 < T 2,. Schedula ottima: t 1 = 0, t 2 = 7, t 4 = 13 con L * max = 3. Risorsa R 2 : r i2 = (2, 0, 1, 2), Q 2 = 3 Risolviamo la seguente istanza di P3 r i, size, prec L max task T 1 T 3 p i r i d i con T 1 < T 3,. Schedula ottima: t 1 = 0, t 3 = 13, t 4 = 7 con L * max = 0. 36
37 5.6. RCPSP(C max ): Euristica shift. bottl. (continua) La risorsa candidata è R 1 (L * max = 3). Sia R 0 = {R 1 }. Scheduliamo i task che usano la risorsa R 1 secondo t 1 = 0, t 2 = 7, t 4 = 13, che definisce le nuove precedenze (archi) T 2 <. Si ha: R 2 [0, 7] [7, 13] [13, 18] [ES i, LF i ] T 1 T 2 T 3 G + (R (p i ) 0 ) (7) (6) (2) {r i1, r i2 } {2,0} {0,1} {3,2} {2,2} (5) [13, 18] T 5 [18, 18] C max (R 0 ) = 18 Iter. 2: C max (R 0 ) = 18 pari alla lunghezza del cammino critico di G + (R 0 ) = G 0. Rimane solo da schedulare rispetto alla risorsa R 2 (che quindi sarà la risorsa bottleneck). Risorsa R 2 : r i2 = (2, 0, 1, 2), Q 2 = 3 Risolviamo la seguente istanza di P3 r i, size, prec L max task T 1 T 3 p i r i d i con T 1 < T 3,. Schedula ottima: t 1 = 0, t 3 = 13, t 4 = 13 con L * max = 0. 37
38 5.6. RCPSP(C max ): Euristica shift. bottl. (continua) Si noti che nessuna nuova precedenza è definita da tale soluzione. Pertanto alla fine della seconda iterazione il grafo esteso G + ({R 1, R 2 }) coincide con il grafo G + ({R 1 }) ottenuto alla fine della iterazione precedente. Nel caso specifico infatti il grafo esteso G + ({R 1 }) al termine della iterazione 1 è già ammissibile. Infatti abbiamo quantità sufficiente per la risorsa R 2. Si noti che α r2 (G t + ({R 1 })) r 2 = 3. Infine, il grafo esteso è anche ottimo, pertanto G * = G + ({R 1, R 2 }), perchè C max ({R 1, R 2 }) = LB2 =18. 38
39 5.6. RCPSP(C max ): Euristica shift. bottl. (continua) Ridisegnamo G * = G + (R). [0, 7] [7, 13] [13, 18] [ES i, LF i ] T 1 T 2 T 3 G * (p i ) (7) (6) (2) {2,0} {0,1} {3,2} {r i1, r i2 } {2,2} (5) [13, 18] T 5 [18, 18] C max (ES G *[p]) = 18 A partire da G * ES G *[p]. = G + (R) si ottiene la seguente Q 2 =3 R 2 Q 1 =3 T 1 T 3 C * max=18 R 1 T t Concludiamo notando che nel caso in cui le risorse rinnovabili siano tutte disponibili per una unità i task che ne fanno uso sono mutuamente in conflitto e tali conflitti possono essere rappresentati con archi disgiuntivi aggiunti a G 0 come nel job-shop. 39
1. Considerazioni generali
1. Considerazioni generali Modelli di shop scheduling In molti ambienti produttivi l esecuzione di un job richiede l esecuzione non simultanea di un certo numero di operazioni su macchine dedicate. Ogni
CPM - PERT CPM - PERT. Rappresentazione di un progetto. Gestione di un progetto. Critical Path Method Project Evaluation and Review Technique
CPM - PERT CPM - PERT CPM e PERT sono metodologie per la gestione di progetti composti da più attività in cui esistano relazioni di precedenza. Critical Path Method Project Evaluation and Review Technique
Schedulazione di attività in presenza di attività interrompibili
Schedulazione di attività in presenza di attività interrompibili Maria Silvia Pini Resp. accademico: Prof.ssa Francesca Rossi Università di Padova Attività FSE DGR 1102/2010 La gestione dell informazione
Ottimizzazione Multi Obiettivo
Ottimizzazione Multi Obiettivo 1 Ottimizzazione Multi Obiettivo I problemi affrontati fino ad ora erano caratterizzati da una unica (e ben definita) funzione obiettivo. I problemi di ottimizzazione reali
Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni
Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni CARLO MANNINO Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica
Parte 3: Gestione dei progetti, Shop scheduling
Parte : Gestione dei progetti, Shop scheduling Rappresentazione reticolare di un progetto Insieme di attività {,...,n} p i durata (nota e deterministica dell attività i) relazione di precedenza fra attività:
Approcci esatti per il job shop
Approcci esatti per il job shop Riferimenti lezione: Carlier, J. (1982) The one-machine sequencing problem, European Journal of Operational Research, Vol. 11, No. 1, pp. 42-47 Carlier, J. & Pinson, E.
Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza
Il problema di flusso di costo minimo (MCF) Dati : grafo orientato G = ( N, A ) i N, deficit del nodo i : b i (i, j) A u ij, capacità superiore (max quantità di flusso che può transitare) c ij, costo di
1) Descrivere dettagliatamente a quale problema di scheduling corrisponde il problema.
Un veicolo viene utilizzato da una società di trasporti per trasportare beni a partire da un unico deposito verso prefissate località di destinazione. Si supponga che occorre trasportare singolarmente
Esercizi di Programmazione del progetto
Esercizi di Programmazione del progetto 1. Un progetto è costituito da tre attività tra loro non legate da vincoli di precedenza. Rappresentarlo con un reticolo americano ed europeo. L attività a dura
Organizzazione della produzione
Scheduling Organizzazione della produzione PROOTTO che cosa chi ORGNIZZZIONE PROCESSO come FLUSSO I PROUZIONE COORINMENTO PINIFICZIONE SCHEULING quando Pianificazione della produzione: schedulazione di
Schedulazione delle attività di un progetto in presenza di multi-calendari
Schedulazione delle attività di un progetto in presenza di multi-calendari Maria Silvia Pini Resp. accademico: Prof.ssa Francesca Rossi Università di Padova Attività FSE DGR 1102/2010 La gestione dell
1. PRIME PROPRIETÀ 2
RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,
Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione
Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione presentato in questo file trova la seq. a costo minimo per
Sistemi Organizzativi
Sistemi Organizzativi Lezione 12/12/2004 Introduzione al corso e definizioni di base Informazioni generali Pre-requisiti: lassi di complessità Metodi enumerativi: - programmazione dinamica - branch-and-bound
Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo
Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo L. De Giovanni G. Zambelli 1 Problema del flusso a costo minimo Il problema del flusso a costo minimo é definito
SVM. Veronica Piccialli. Roma 11 gennaio 2010. Università degli Studi di Roma Tor Vergata 1 / 14
SVM Veronica Piccialli Roma 11 gennaio 2010 Università degli Studi di Roma Tor Vergata 1 / 14 SVM Le Support Vector Machines (SVM) sono una classe di macchine di che derivano da concetti riguardanti la
Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di flusso
Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di flusso Flusso di costo minimo È dato un grafo direzionato G = (N, A). Ad ogni arco (i, j) A è associato il costo c ij
Principi di Schedulazione in tempo reale
Principi di Schedulazione in tempo reale 1 Task in tempo reale Un task t i è una sequenza di processi in tempo reale τ ik ciascuno caratterizzato da q un tempo d arrivo r ik (r=release time, oppure a=arrival
Massimo Paolucci ([email protected]) DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti
Project Management Massimo Paolucci ([email protected]) DIST Università di Genova Project Management 2 Metodi per supportare le decisioni relative alla gestione di progetti esempi sono progetti nell
b i 1,1,1 1,1,1 0,1,2 0,3,4
V o Appello // RICERCA OPERATIVA - Corso A (a.a. 9/) Nome Cognome: Corso di Laurea: L C6 LS LM Matricola: ) Si consideri il problema di flusso di costo minimo in figura. Si verifichi se il flusso ammissibile
Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
risulta (x) = 1 se x < 0.
Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente
Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani
Ricerca Operativa Esercizi sul metodo del simplesso Luigi De Giovanni, Laura Brentegani 1 1) Risolvere il seguente problema di programmazione lineare. ma + + 3 s.t. 2 + + 2 + 2 + 3 5 2 + 2 + 6,, 0 Soluzione.
Tecniche Reticolari. Problema: determinare l istante di inizio di ogni attività in modo che la durata complessiva del progetto sia minima
Project Management Tecniche Reticolari Metodologie per risolvere problemi di pianificazione di progetti Progetto insieme di attività A i di durata d i, (=,...,n) insieme di relazioni di precedenza tra
Le tecniche di scheduling (1)
Le tecniche di scheduling (1) Sono la base di tutto il processo di pianificazione, e fornisco al management gli elementi per decidere come utilizzare le risorse per raggiungere gli obiettivi di costo e
Traccia di soluzione dell esercizio del 25/1/2005
Traccia di soluzione dell esercizio del 25/1/2005 1 Casi d uso I casi d uso sono in Figura 1. Ci sono solo due attori: il Capo officina e il generico Meccanico. Figura 1: Diagramma dei casi d uso. 2 Modello
Il Metodo Branch and Bound
Il Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa [email protected] http://www.di.unipi.it/~galli 4 Novembre 2014 Ricerca Operativa 2 Laurea Magistrale in Ingegneria Gestionale
Problema del trasporto
p. 1/1 Problema del trasporto Supponiamo di avere m depositi in cui è immagazzinato un prodotto e n negozi che richiedono tale prodotto. Nel deposito i è immagazzinata la quantità a i di prodotto. Nel
APPLICAZIONI DELLA RICERCA OPERATIVA
Università degli Studi della Calabria Laurea in Informatica A.A. 2004/2005 Appunti di supporto didattico al corso di APPLICAZIONI DELLA RICERCA OPERATIVA Indice 1 Introduzione alla teoria dello Scheduling
MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010
elementi di teoria dei grafi anno acc. 2009/2010 Grafi semplici Un grafo semplice G è una coppia ordinata (V(G), L(G)), ove V(G) è un insieme finito e non vuoto di elementi detti vertici o nodi di G, mentre
execute reject delay
Scheduler Lo scheduler stabilisce l ordine di esecuzione delle operazioni. Le azioni che svolge sono: execute: l operazione può essere eseguita immediatamente, per cui viene passata al data manager reject:
Schedulazione delle attività di un progetto in presenza di multi-calendari e di vincoli sulle risorse
Schedulazione delle attività di un progetto in presenza di multi-calendari e di vincoli sulle risorse Maria Silvia Pini Resp. accademico: Prof.ssa Francesca Rossi Università di Padova Attività FSE DGR
VC-dimension: Esempio
VC-dimension: Esempio Quale è la VC-dimension di. y b = 0 f() = 1 f() = 1 iperpiano 20? VC-dimension: Esempio Quale è la VC-dimension di? banale. Vediamo cosa succede con 2 punti: 21 VC-dimension: Esempio
2. Leggi finanziarie di capitalizzazione
2. Leggi finanziarie di capitalizzazione Si chiama legge finanziaria di capitalizzazione una funzione atta a definire il montante M(t accumulato al tempo generico t da un capitale C: M(t = F(C, t C t M
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell
A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.
Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio
Luigi Piroddi [email protected]
Automazione industriale dispense del corso 10. Reti di Petri: analisi strutturale Luigi Piroddi [email protected] Analisi strutturale Un alternativa all analisi esaustiva basata sul grafo di raggiungibilità,
TSP con eliminazione di sottocicli
TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 3 5 7-8 9 57
Esercizi di Gestione della Produzione Industriale. Tabella 1: tempi di lavorazione di un set di job.
Esercizio 1: schedulazione con il modello di Johnson...2 Soluzione dell esercizio 1 (schedulazione con il modello di Johnson)...2 Esercizio 2: schedulazione con il modello di Hodgson...3 Soluzione dell
TSP con eliminazione di sottocicli
TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 7-8 9 7 9-8 79
Produzione e forza lavoro
Produzione e forza lavoro Testo Un azienda produce i modelli I, II e III di un certo prodotto a partire dai materiali grezzi A e B, di cui sono disponibili 4000 e 6000 unità, rispettivamente. In particolare,
Dimensionamento dei lotti di produzione: il caso con variabilità nota
Dimensionamento dei lotti di produzione: il caso con variabilità nota A. Agnetis In questi appunti studieremo alcuni modelli per il problema del lot sizing, vale a dire il problema di programmare la dimensione
RICERCA OPERATIVA GRUPPO B prova scritta del 22 marzo 2007
RICERCA OPERATIVA GRUPPO B prova scritta del 22 marzo 2007 Rispondere alle seguenti domande marcando a penna la lettera corrispondente alla risposta ritenuta corretta (una sola tra quelle riportate). Se
STRUTTURE NON LINEARI
PR1 Lezione 13: STRUTTURE NON LINEARI Michele Nappi [email protected] www.dmi.unisa.it/people/nappi Per la realizzazione della presentazione è stato utilizzato in parte materiale didattico prodotto da Oronzo
Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.
Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell
1. Considerazioni preliminari
1. Considerazioni preliminari Uno dei principali aspetti decisionali della gestione logistica è decidere dove localizzare nuove facility, come impianti, magazzini, rivenditori. Ad esempio, consideriamo
Seconda Prova di Ricerca Operativa. Cognome Nome Numero Matricola A 1/12 A 2/12
A / A / Seconda Prova di Ricerca Operativa Cognome Nome Numero Matricola Nota: LA RISOLUZIONE CORRETTA DEGLI ESERCIZI CONTRADDISTINTI DA UN ASTERISCO È CONDIZIONE NECESSARIA PER IL RAGGIUNGIMENTO DELLA
Pro e contro delle RNA
Pro e contro delle RNA Pro: - flessibilità: le RNA sono approssimatori universali; - aggiornabilità sequenziale: la stima dei pesi della rete può essere aggiornata man mano che arriva nuova informazione;
Dimensione di uno Spazio vettoriale
Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione
Ottimizazione vincolata
Ottimizazione vincolata Ricordiamo alcuni risultati provati nella scheda sulla Teoria di Dini per una funzione F : R N+M R M di classe C 1 con (x 0, y 0 ) F 1 (a), a = (a 1,, a M ), punto in cui vale l
4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0
Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice
CAPITOLO 6 La programmazione operativa (operations scheduling)
CAPITOLO 6 La programmazione operativa (operations scheduling) Contenuti Le funzioni della PO Gli obiettivi della PO Il job loading Il metodo dell assegnazione Il job sequencing Regole e tecniche di priorità
Alcuni Preliminari. Prodotto Cartesiano
Alcuni Preliminari Prodotto Cartesiano Dati due insiemi A e B, si definisce il loro prodotto cartesiano A x B come l insieme di tutte le coppie ordinate (a,b) con a! A e b! B. Es: dati A= {a,b,c} e B={,2,3}
Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati
Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza
Modelli di Programmazione Lineare e Programmazione Lineare Intera
Modelli di Programmazione Lineare e Programmazione Lineare Intera 1 Azienda Dolciaria Un azienda di cioccolatini deve pianificare la produzione per i prossimi m mesi. In ogni mese l azienda ha a disposizione
1 Giochi a due, con informazione perfetta e somma zero
1 Giochi a due, con informazione perfetta e somma zero Nel gioco del Nim, se semplificato all estremo, ci sono due giocatori I, II e una pila di 6 pedine identiche In ogni turno di gioco I rimuove una
Introduzione alla teoria dello scheduling
1. Generalità I problemi di scheduling riguardano l allocazione di risorse limitate ad attività nel tempo. In generale il processo di decisione associato richiede la determinazione dell ordine in cui l
Corso Sistemi Informativi Aziendali, Tecnologie dell Informazione applicate ai processi aziendali. Sistemi informativi aziendali
Corso Sistemi Informativi Aziendali,. Sistemi informativi aziendali di Simone Cavalli ([email protected]) Bergamo, Febbraio - Marzo 2009 Produzione (cenni) Pagina 2 Produzione La produzione, in termini
Lezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
10. Insiemi non misurabili secondo Lebesgue.
10. Insiemi non misurabili secondo Lebesgue. Lo scopo principale di questo capitolo è quello di far vedere che esistono sottoinsiemi di R h che non sono misurabili secondo Lebesgue. La costruzione di insiemi
1. Sia dato un poliedro. Dire quali delle seguenti affermazioni sono corrette.
. Sia dato un poliedro. (a) Un vettore x R n è un vertice di P se soddisfa alla seguenti condizioni: x P e comunque presi due punti distinti x, x 2 P tali che x x e x x 2 si ha x = ( β)x + βx 2 con β [0,
Modelli per la gestione delle scorte
Modelli per la gestione delle scorte Claudio Arbib Università di L Aquila Seconda Parte Sommario Sui problemi di gestione aperiodica equazioni di stato Funzioni di costo Un modello convesso formulazione
Capitolo 2. Operazione di limite
Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A
Il concetto di valore medio in generale
Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo
2) Codici univocamente decifrabili e codici a prefisso.
Argomenti della Lezione ) Codici di sorgente 2) Codici univocamente decifrabili e codici a prefisso. 3) Disuguaglianza di Kraft 4) Primo Teorema di Shannon 5) Codifica di Huffman Codifica di sorgente Il
Ingegneria del Software MINR. Giuseppe Santucci. 04 B - Esercitazione sui diagrammi Pert e Gantt. Gradi di libertà
Ingegneria del Software MINR Giuseppe Santucci 4 - sercitazione sui diagrammi Pert e Gantt 4 xpertgantt. Gradi di libertà I. I. I.a I.b I.c I.4 4 xpertgantt. Obbiettivo dell esercitazione Stabilire le
1 Applicazioni Lineari tra Spazi Vettoriali
1 Applicazioni Lineari tra Spazi Vettoriali Definizione 1 (Applicazioni lineari) Si chiama applicazione lineare una applicazione tra uno spazio vettoriale ed uno spazio vettoriale sul campo tale che "!$%!
Algoritmi e strutture dati. Codici di Huffman
Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per
Esercizi per il corso di Algoritmi e Strutture Dati
1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi
Intelligenza Artificiale
Intelligenza Artificiale Esercizi e Domande di Esame Tecniche di Ricerca e Pianificazione Esercizi Griglia Si consideri un ambiente costituito da una griglia n n in cui si muove un agente che può spostarsi
COORDINAMENTO E GESTIONE DI PROGETTI COMPLESSI
COORDINAMENTO E GESTIONE DI PROGETTI COMPLESSI 1. - Formulazione del problema Supponiamo di dover organizzare e gestire un progetto complesso, quale puó essere la costruzione di un edificio, oppure la
Ricerca Operativa (Compito A) Appello del 18/06/2013 Andrea Scozzari
Ricerca Operativa (Compito A) Appello del 18/06/2013 Andrea Scozzari Esercizio n.1 Un azienda intende incrementare il proprio organico per ricoprire alcuni compiti scoperti. I dati relativi ai compiti
ELEMENTI DI DEMOGRAFIA
ELEMENTI DI DEMOGRAFIA 2. Caratteristiche strutturali della popolazione Posa Donato k [email protected] Maggio Sabrina k [email protected] UNIVERSITÀ DEL SALENTO DIP.TO DI SCIENZE
Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10. Lecture 22: 1 Giugno 2010. Meccanismi Randomizzati
Strumenti della Teoria dei Giochi per l Informatica AA 2009/10 Lecture 22: 1 Giugno 2010 Meccanismi Randomizzati Docente Vincenzo Auletta Note redatte da: Davide Armidoro Abstract In questa lezione descriveremo
Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base
Scheduling Sistemi Operativi e Distribuiti A.A. 2-25 Bellettini - Maggiorini Concetti di base Il massimo utilizzo della CPU si ottiene mediante la multiprogrammazione Ogni processo si alterna su due fasi
Capitolo 5: Ottimizzazione Discreta. E. Amaldi DEI, Politecnico di Milano
Capitolo 5: Ottimizzazione Discreta E. Amaldi DEI, Politecnico di Milano 5.1 Modelli di PLI, formulazioni equivalenti ed ideali Il modello matematico di un problema di Ottimizzazione Discreta è molto spesso
mese 1 2 3 4 5 richiesta 6000 7000 8000 9500 11000
1.7 Servizi informatici. Un negozio di servizi informatici stima la richiesta di ore di manutenzione/consulenza per i prossimi cinque mesi: mese 1 2 3 4 5 richiesta 6000 7000 8000 9500 11000 All inizio
Fondamenti e didattica di Matematica Finanziaria
Fondamenti e didattica di Matematica Finanziaria Silvana Stefani Piazza dell Ateneo Nuovo 1-20126 MILANO U6-368 [email protected] 1 Unità 9 Contenuti della lezione Operazioni finanziarie, criterio
Analisi e diagramma di Pareto
Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo
Corrispondenze e funzioni
Corrispondenze e funzioni L attività fondamentale della mente umana consiste nello stabilire corrispondenze e relazioni tra oggetti; è anche per questo motivo che il concetto di corrispondenza è uno dei
LE FUNZIONI A DUE VARIABILI
Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre
Ottimizzazione nella gestione dei progetti
Ottimizzazione nella gestione dei progetti Capitolo 2: Reti di attività CARLO MANNINO Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica Definizioni di ase Il Progetto è costituito
Esercizi e complementi di Ottimizzazione nella Gestione dei Progetti
Esercizi e complementi di Ottimizzazione nella Gestione dei Progetti Marco Pranzo 16 Aprile 009 1 Organizzazione concerto rock I promotori di un evento rock devono svolgere le attività (Tabella 1) per
2 Formulazione dello shortest path come problema di flusso
Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10 Lecture 20: 28 Maggio 2010 Cycle Monotonicity Docente: Vincenzo Auletta Note redatte da: Annibale Panichella Abstract In questa lezione
Scheduling. Scheduling 14/12/2003 1/7
Scheduling In un computer multiprogrammato più processi competono per l'uso della CPU. La parte di sistema operativo che decide quale processo mandare in esecuzione è lo scheduler. Batch OS: scheduling
Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole -
Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole - - richiami preliminari sulle proprietà strutturali - Abbiamo visto che alcune caratteristiche dei sistemi dinamici (DES compresi) non
Progettaz. e sviluppo Data Base
Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo
APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)
ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) Un insieme è una collezione di oggetti. Il concetto di insieme è un concetto primitivo. Deve esistere un criterio chiaro, preciso, non ambiguo, inequivocabile,
SCHEDULING SCHEDULING
Corso di Laurea Triennale in INGEGNERIA GESTIONALE Anno Accademico 2012/13 Prof. Davide GIGLIO 1 INDICE Esempio Introduttivo Generalità sui problemi di scheduling SINGLE MACHINE SPT (shortest processing
Corso di Matematica per la Chimica
Dott.ssa Maria Carmela De Bonis a.a. 203-4 I sistemi lineari Generalità sui sistemi lineari Molti problemi dell ingegneria, della fisica, della chimica, dell informatica e dell economia, si modellizzano
e-dva - eni-depth Velocity Analysis
Lo scopo dell Analisi di Velocità di Migrazione (MVA) è quello di ottenere un modello della velocità nel sottosuolo che abbia dei tempi di riflessione compatibili con quelli osservati nei dati. Ciò significa
Reti sequenziali sincrone
Reti sequenziali sincrone Un approccio strutturato (7.1-7.3, 7.5-7.6) Modelli di reti sincrone Analisi di reti sincrone Descrizioni e sintesi di reti sequenziali sincrone Sintesi con flip-flop D, DE, T
Corso di Informatica
Corso di Informatica Modulo T3 3-Schedulazione 1 Prerequisiti Concetto di media Concetto di varianza 2 1 Introduzione Come sappiamo, l assegnazione della CPU ai processi viene gestita dal nucleo, attraverso
FUNZIONI ELEMENTARI - ESERCIZI SVOLTI
FUNZIONI ELEMENTARI - ESERCIZI SVOLTI 1) Determinare il dominio delle seguenti funzioni di variabile reale: (a) f(x) = x 4 (c) f(x) = 4 x x + (b) f(x) = log( x + x) (d) f(x) = 1 4 x 5 x + 6 ) Data la funzione
3 GRAFICI DI FUNZIONI
3 GRAFICI DI FUNZIONI Particolari sottoinsiemi di R che noi studieremo sono i grafici di funzioni. Il grafico di una funzione f (se non è specificato il dominio di definizione) è dato da {(x, y) : x dom
