Project Scheduling: CPM time analysis

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Project Scheduling: CPM time analysis"

Transcript

1 1. Intoduzione Una volta costruita la rete di progetto AOA (attività sugli archi) G = (N, A) è possibile fare una prima analisi del progetto a partire dalla conoscenza delle durate (tempi di esecuzione) t ij di ogni attività (i, j). Le durate t ij possono essere note con certezza come nel CPM oppure essere stocastiche e rappresentabili mediante variabili aleatorie come nel PERT. In ogni caso, in tutti i progetti esiste un insieme di attività che sono particolarmente importanti nella determinazione del tempo di completamento del progetto nel senso che un qualsiasi ritardo nel completamento di una di esse si ripercuote integralmente sul tempo di esecuzione complessivo. Queste attività sono le cosiddette attività critiche di un progetto 1

2 2. Percorso critico Sia T il tempo minimo di esecuzione di un progetto in corrispondenza a certi prefissati valori {t ij } dei tempi di esecuzione delle singole attività. Definizione 1: Attività critica Un attività (i, j) si dice critica se sostituendo t ij con t ij + Δt il minimo di tempo di esecuzione del progetto diventa T + Δt. Definizione 2: Evento critico Un evento i si dice critico se posticipando di Δt il suo verificarsi rispetto al minimo istante in cui può accadere il minimo tempo di esecuzione del progetto diventa T + Δt. Definizione 3: Percorso critico Data una rete rappresentativa di un progetto si dice percorso critico qualsiasi cammino dal nodo iniziale al nodo finale in cui tutti gli archi siano rappresentativi di attività critiche. Un percorso critico è formato da soli nodi (eventi) critici, ma la condizione è solo necessaria. 2

3 3. Tempi di raggiungimento Per determinare il percorso critico di un progetto occorre introdurre altre due definizioni: Definizione 4: Tempo minimo di raggiungimento Si definisce tempo minimo di raggiungimento t i di un evento i il minimo istante di tempo entro cui possono essere completate tutte le attività che precedono l evento i. Definizione 5: Tempo massimo di raggiungimento Si definisce tempo massimo di raggiungimento T i di un evento i il massimo istante di tempo entro cui almeno un attività che segue l evento i deve cominciare, pena un aumento del tempo minimo di esecuzione del progetto. Osservazione Il tempo minimo T di esecuzione di un progetto coincide col tempo minimo di raggiungimento dell evento finale f; risulta perciò che T = t f. 3

4 3. Tempi di raggiungimento (continua) Calcolo di t i e T i (i) Supponiamo noti i tempi t k di tutti gli eventi k predecessori dell evento i. k i La generica attività (k, i) che precede l evento i può essere completata al più presto all istante t k + t ki. Pertanto, per definizione, t i t k + t ki. Poiché in particolare t i è il minimo istante di tempo entro cui tutte le attività (k, i) possono essere completate, allora si ha t i = max {k : (k, i) A } {t k + t ki }, cioè t i è pari al massimo tra i minimi tempi di completamento delle attività precedenti l evento i. 4

5 3. Tempi di raggiungimento (continua) (ii) Supponiamo ora noti i tempi T k di tutti gli eventi k successori dell evento i. i k La generica attività (i, k) che segue l evento i deve essere completata entro l istante T k (pena un aumento del tempo minimo di esecuzione del progetto), e quindi deve avere inizio entro l istante T k t ik. Pertanto, per definizione, T i T k t ik. Poiché in particolare T i è il massimo istante di tempo entro cui almeno un attività (i, k) che segue l evento i deve iniziare (pena un aumento del tempo minimo di esecuzione del progetto), allora si ha: T i = min {k : (i, k) A } {T k t ik }, cioè T i è pari al minimo tra i massimi istanti di inizio delle attività successive all evento i (compatibilmente con la minima durata del progetto). 5

6 3. Tempi di raggiungimento (continua) Algoritmo di calcolo Le precedenti definizioni consentono di formalizzare subito un algoritmo in due fasi. Sia A l insieme degli archi del grafo di progetto. (i) Fase di calcolo in avanti t 0 := 0. for i := 1 to f do t i := max {k : (k, i) A } {t k + t ki } (ii) Fase di calcolo all indietro T f := t f. for i := f 1 downto 0 do T i := min {k : (i, k) A } {T k t ik } Complessità delle due fasi O(m), dove m è il numero di archi della rete di progetto. Esempio Attività: A, B, C, D, E, F, G Durate: 2, 5, 3, 7, 4, 4, 8 Precedenze: A < B; A < C; B < D; C < E; F < E; A < G [t i, T i ] [7, 7] (5) 2 D [0, 0] B (7) A G (8) (2) [2, 2] C (4) (3) 3 E F (4) [5, 10] [14, 14] 6

7 4. Tempi minimi e massimi di inizio e completamento di un attività Definizione 6: Tempo minimo di inizio di un attività Si definisce tempo minimo di inizio ES ij di un attività (i, j) il minimo tempo entro cui questa può iniziare: ES ij = t i. Definizione 7: Tempo minimo di completamento di un attività Si definisce tempo minimo di completamento (fine) EF ij di un attività (i, j) il minimo tempo entro cui questa può terminare: EF ij = ES ij + t ij = t i + t ij. Definizione 8: Tempo massimo di completamento di un attività Si definisce tempo massimo di completamento LF ij di un attività (i, j) il massimo tempo entro cui questa deve essere completata (pena un aumento del tempo minimo di esecuzione del progetto): LF ij = T j. Definizione 9: Tempo massimo di inizio di un attività Si definisce tempo massimo di inizio LS ij di un attività (i, j) il massimo tempo entro cui questa deve iniziare (pena un aumento del tempo minimo di esecuzione del progetto): LS ij = LF ij t ij = T j t ij. 7

8 5. Tempi di slittamento Definizione 10: Slittamento di un evento Il tempo di slittamento F i (o margine di tempo) dell evento i è il massimo ritardo possibile sulla sua occorrenza senza alterare il tempo minimo di completamento del progetto: F i = T i t i. Definizione 11: Evento critico L evento i per cui F i = T i t i = 0 è critico. Definizione 12: Slittamento totale di un attività Il tempo di slittamento totale TF ij (o margine di tempo) dell attività (i, j) è il massimo ritardo possibile sul suo inizio (completamento) senza alterare il tempo minimo di completamento del progetto: TF ij = LS ij ES ij = (T j t ij ) t i = = LF ij EF ij = T j (t i + t ij ). Definizione 13: Attività critica L attività (i, j) per cui TF ij = 0 è critica. 8

9 5. Tempi di slittamento (continua) Definizione 14: Slittamento libero di un attività Il tempo di slittamento libero FF ij dell attività (i, j) è il massimo ritardo possibile sul suo completamento senza alterare il tempo minimo di inizio delle attività successive: FF ij = min k {ES jk } EF ij = t j (t i + t ij ). Definizione 15: Slittamento di sicurezza di un attività Il tempo di slittamento di sicurezza SF ij (o margine di tempo di sicurezza) dell attività (i, j) è il massimo ritardo possibile sul suo inizio supponendo che tutte le attività precedenti terminino al più tardi possibile: SF ij = LS ij max k {LF ki } = (T j t ij ) T i. 9

10 6. Percorso critico Definizione 16: Percorso e catena Un percorso è una catena (sequenza) di attività che conduce dall inizio alla fine del progetto, cioè un cammino dal nodo origine 0 al nodo finale f della rete di progetto. Ricordiamo che (vedi Def. 3): Un percorso è critico se tutte le attività che lo compongono sono critiche. Proprietà conseguenti (i) In un progetto esiste almeno un percorso critico (ii) Il percorso critico è una catena di lunghezza massima. (iii) Un percorso critico è formato da soli nodi critici, ma la condizione è solo necessaria. 10

11 7. Lunghezza catena Definizione 17: Lunghezza di una catena Si definisce lunghezza l α di una generica catena C α dal nodo iniziale al nodo finale la grandezza l α = Σ (i, j) Cα t ij Se C 1,, C α,, C p sono tutte le catene dal nodo iniziale al nodo finale le cui corrispondenti lunghezze sono l 1,, l α,, l p, il tempo minimo di completamento T del progetto è ovviamente dato da: T = max 1 α p l α Esempio [t i, T i ] [7, 7] (5) 2 D [0, 0] B (7) A G (8) 0 1 (2) [2, 2] C (4) (3) 3 E F (4) [5, 10] 4 [14, 14] i j Attività critica i Evento critico 11

12 8. Percorsi sottocritici Nell analisi della tempistica delle attività di un progetto può essere utile individuare i percorsi sottocritici Questi possono essere individuati nel modo seguente (i) Si selezionano le attività del progetto raggruppandole in funzione del loro tempo di slittamento. (ii) Si ordinano i gruppi di attività in ordine crescente di tempo di slittamento. (iii) Il primo gruppo comprende il percorso-(i) critico-(i), mentre i gruppi successivi comprendono i percorsi sottocritici in ordine crescente di distanza dalla criticità. Osservazione La fase di scheduling di un progetto con risorse illimitate (PS, prec C max ) corrisponde al modello di scheduling su macchine P prec C max, in cui cioè un insieme di job soggetti a vincoli di precedenza devono essere processati su un numero illimitato di macchine parallele con l obiettivo di minimizzare il massimo tempo di completamento dei job. 12

13 9. Formulazione come problema di PL Determinare il tempo minimo di completamento T del progetto equivale a risolvere un problema di cammino massimo nella rete aciclica G = (N, A) rappresentante il progetto con attività sugli archi. Data la rete aciclica G = (N, A) e detto t i il tempo di raggiungimento minimo del nodo i, il problema consiste nel risolvere il seguente problema di PL min t f t 0 t j t i t ij (N i, N j ) A t i 0 N i N Posto π i = t i, riscriviamo il problema come min π 0 π f π i π j t ij (N i, N j ) A π i 0 N i N Il problema duale è max Σ (Ni, N j ) A t ij x ij 1 i = 0 Σ {j: (Ni, N j ) A} x ij Σ {j: (Nj, N i ) A} x ji = 0 i = 1,, f 1 1 i = f x ij 0 (N i, N j ) A che è la formulazione del problema di cammino massimo (su una rete aciclica). 13

14 10. Dipendenza slittamenti dal grafo di progetto Ricordiamo che: TF ij = T j (t i + t ij ); FF ij = t j (t i + t ij ); SF ij = (T j t ij ) T i [t i ; T j ] [0; 0] [5; 5] [11; 11] 0 1 [t i ; T j ] 3 4 A (5) C (1) D (6) B (6) 2 [11; 11] [17; 17] [0; 0] [5; 5] [11; 11] [17; 17] A (5) B (6) D (6) C (1) 2 [6; 11] [t i ; T j ] [0; 0] [5; 5] [11; 11] [17; 17] A (5) B (6) D (6) 2 [5; 10] C (1) 3 [6; 11] attività TF FF SF A B C D attività TF FF SF A B C D attività TF FF SF A B C D I valori degli slittamenti liberi FF e di sicurezza SF delle attività dipendono dalla rappresentazione con grafo con attività sugli archi usato. Solo gli slittamenti totali TF sono invarianti rispetto alla rappresentazione. 14

15 10. Dipendenza slittamenti dal grafo di progetto I responsabili di tale difetto sono i: nodi out-dummy: solo archi fittizi uscenti nodi in-dummy: solo archi fittizi entranti Facendo riferimento alle sole attività non-fittizie, ridefiniamo i tempi di raggiungimento minimo e massimo degli eventi, rispettivamente come: Sia t' i il minimo tempo entro cui almeno un attività che segue l evento i può cominciare. Sia T' i il massimo tempo entro cui tutte le attività che precedono l evento i devono essere completate (pena un aumento del tempo minimo di esecuzione del progetto). E quindi per un attività (i, j) (non-fittizia) si ha: ES ij = t' i ; LS ij = T' j t ij ; EF ij = t' i + t ij ; LF ij = T' j 15

16 10. Dipendenza slittamenti dal grafo di progetto L algoritmo di calcolo di tali tempi è il seguente: Algoritmo di calcolo Fase di calcolo in avanti t' 0 := t 0 := 0. for i := 1 to f do t' i := t i := max {k : (k, i) A } {t k + t ki } Fase di calcolo all indietro T' f := T f := t f. for i := f 1 downto 0 do T' i := T i := min {k : (i, k) A } {T k t ik } if i is out-dummy then t' i = min {k : (i, k) A } {t' k } Fase di calcolo in avanti for i := 1 to f do if i is in-dummy then T' i = max {k : (k, i) A } {T' k } Complessità delle tre fasi O(m), dove m è il numero di archi della rete di progetto. Osservazioni: Per i non-dummy t' i = t i e T' i = T i. Per i out-dummy t' i t i e T' i = T i. Per i in-dummy t' i = t i e T' i T i. Quindi, slittamenti totali di attività (non-fittizie) sono invarianti rispetto alla rappresentazione. 16

17 10. Dipendenza slittamenti dal grafo di progetto Ricalcolando gli slittamenti secondo i nuovi tempi sui nodi: TF ij = T' j (t' i + t ij ); FF ij = t' j (t' i + t ij ); SF ij = (T' j t ij ) T' i [t' i ; T' j ] [0; 0] [5; 5] [11; 11] 0 1 [t' i ; T' j ] 3 4 A (5) C (1) D (6) B (6) 2 [11; 11] [17; 17] [0; 0] [5; 5] [11; 11] [17; 17] A (5) B (6) D (6) C (1) 2 [11; 11] [t' i ; T' j ] [0; 0] [5; 5] [11; 11] [17; 17] A (5) B (6) D (6) 2 [5; 5] C (1) 3 [11; 11] attività TF FF SF A B C D attività TF FF SF A B C D attività TF FF SF A B C D Come si può notare in tal modo anche gli slittamenti liberi FF e di sicurezza SF delle attività sono invarianti rispetto alla rappresentazione con grafo con attività sugli archi usato. 17

18 11. Reti AON: Calcolo tempi minimi e massimi d inizio e completamento delle attività Indichiamo da qui in avanti con T 1,, T n, le n attività del progetto. Senza perdita di generalità, siano T 0 e T n+1 due dummy task: T 0 precede tutti i task e T n+1 sussegue tutti i task. Indichiamo con: p i : durata dell attività T i ; P i : insieme predecessori diretti dell attività T i ; S i : insieme successori diretti dell attività T i. I valori di: ES i : (earliest start time), min. istante d inizio di T i LF i : (latest finish time), max. istante di fine di T i EF i : (earliest finish time), min. istante di fine di T i LS i : (latest start time), max. istante d inizio di T i Si calcolano con procedure forward e backward procedura forward ES 0 := EF 0 := 0; For i := 1 to n+1 do ES i := max [EF j T j P i ], EF i := ES i + p i. detto T = EF n+1 = ES n+1. procedura backward LF n+1 := LS n+1 := T; For i := n down-to 0 do LF i := min [LS j T j S i ], LS i := LF i p i. 18

19 12. Analisi temporale con precedenze generalizzate Le relazioni temporali considerate finora tra un attività T i e una attività T j sono di precedenza stretta: T i < T j T j non può iniziare prima del completamento di T i Si tratta di precedenze tipo finish-to-start (FS) con time lag nullo. Esistono in generale relazioni di precedenza di tipo: - start-to-start (SS) - start-to-finish (SF) - finish-to-start (FS) - finish-to-finish (FF) Inoltre tra l inizio (fine) di T i e inizio (fine) di T j in genere vanno osservati dei time-lag (attese) minimi o massimi. Siano s i e f i, risp., gli istanti di inizio e di fine di T i. Relazioni precedenze generalizzate (GPR). Tipologie di GPR con time-lag minimo δ: - start-to-start (SS ij min (δ)): s i + δ s j - start-to-finish (SF ij min (δ)): s i + δ f j - finish-to-start (FS ij min (δ)): f i + δ s j - finish-to-finish (FF ij min (δ)): f i + δ f j Tipologie di GPR con time-lag massimo δ: - start-to-start (SS ij max (δ)): s j s i + δ - start-to-finish (SF ij max (δ)): f j s i + δ - finish-to-start (FS ij max (δ)): s j f i + δ - finish-to-finish (FF ij max (δ)): f j f i + δ 19

20 12. Analisi temporale con precedenze generalizzate Introduciamo i time-lag normalizzati l ij (l ji ) con i seguenti valori in base al tipo di precedenza generalizzata: Per le GPR con time-lag minimo δ: - SS ij min (δ): s i + δ s j s i + l ij s j, cioè SS ij min (l ij ) con l ij = δ - SF ij min (δ): s i + δ f j s i + l ij s j, cioè SS ij min (l ij ) con l ij = δ p j - FS ij min (δ): f i + δ s j s i + l ij s j, cioè SS ij min (l ij ) con l ij = p i + δ - FF ij min (δ)): f i + δ f j s i + l ij s j, cioè SS ij min (l ij ) con l ij = p i p j + δ Per le GPR con time-lag massimo δ: - SS ij max (δ): s j s i + δ s j + l ji s i, cioè SS ji min (l ji ) con l ji = δ - SF ij max (δ): f j s i + δ s j + l ji s i, cioè SS ji min (l ji ) con l ji = p j δ - FS ij max (δ): s j f i + δ s j + l ji s i, cioè SS ji min (l ji ) con l ji = p i δ - FF ij max (δ): f j f i + δ s j + l ji s i, cioè SS ji min (l ji ) con l ji = p j p i δ N.B.: SS max ij (δ) SS min ji ( δ); FS max ij (δ) SF min ji ( δ); SF max ij (δ) FS min ji ( δ); FF max ij (δ) FF min ji ( δ); I time lag normalizzati permettono di esprimere i vincoli di precedenza generalizzati nelle forme s i + l ij s j oppure s j + l ji s i T i p i T j p j T i T j p i p j s i δ = l ij s j t s i δ = l ji s j t 20

21 12. Analisi temporale con precedenze generalizzate Tra T i e T j possono coesistere diverse GPR: se s i + l 1 ij s j e s i + l 2 ij s j s i + max{l 1 ij, l 2 ij} s j se s j + l 1 ji s i e s j + l 2 ji s i s j + max{l 1 ji, l 2 ji} s i Quindi la finestra temporale di s j rispetto a s i è: s j [s i + l ij, s i l ji ], con l ij = max{l 1 ij, l 2 ij} e l ji = max{l 1 ji, l 2 ji}. Occorre costruire una rete di progetto in grado di rappresentare le GPR e effettuare l analisi dei tempi ricercando il-(i) cammino-(i) critico-(i). La rete AON si presta meglio a questo scopo. Tipologie di GPR con time-lag minimo δ: - start-to-start (SS ij min (δ)): s i + δ s j T i SS ij min (δ) T j l ij = δ T i T j - start-to-finish (SF ij min (δ)): s i + (δ p j ) s j T i SF ij min (δ) T j l ij = δ p j T i T j 21

22 12. Analisi temporale con precedenze generalizzate - finish-to-start (FS ij min (δ)): s i + (δ + p i ) s j T i FS ij min (δ) T j l ij = δ + p i T i T j - finish-to-finish (FF ij min (δ)): s i + (δ + p i p j ) s j T i FF ij min (δ) T j l ij = δ + p i p j T i T j Tipologie di GPR con time-lag massimo δ: - start-to-start (SS ij max (δ)): s j + ( δ) s i T i SS ij max (δ) T j l ji = δ T i T j - start-to-finish (SF ij max (δ)): s j + (p j δ) s i T i SF ij max (δ) T j l ji = p j δ T i T j - finish-to-start (FS ij max (δ)): s j + ( p i δ) s i T i FS ij max (δ) T j l ji = p i δ T i T j - finish-to-finish (FF ij max (δ)): s j + (p j p i δ) s i T i FF ij max (δ) T j l ji = p j p i δ T i T j 22

23 12. Analisi temporale con precedenze generalizzate Esempio (0) SS min (2) 12 (0) T 1 T 2 SF 23 min (9) (7) T 3 FF 24 max (8) SS min 35 (4) (4) T 5 FS min 56 (0) 0 T 6 SS 24 min (4) T 4 (4) FF 45 min (3) rete AON con vincoli GPR (0) (2) 0 T 1 T (7) T 3 T 4 (4) (4) 6 T 5 rete normalizzata G = (T, A) con vincoli GPR (0) T 6 23

24 12. Analisi temporale con precedenze generalizzate La rete normalizzata G = (T, A) può contenere cicli. Cammini e cicli hanno lunghezza pari alla somma dei time lag normalizzati associati agli archi che vi appartengono. Affinché la rete normalizzata rappresenti correttamente le GPR occorre che nella rete: a) Le attività sorgente T 1 e pozzo T n siano fittizie; b) Esista un cammino da T 1 a T i di lunghezza 0; c) Esista un cammino da T i a T n di lunghezza p i. La a) è garantita aggiungendo eventualmente T 1 e/o T n come attività fittizie. La b) è garantita aggiungendo eventualmente la precedenza SS 1i min (0). La c) è garantita aggiungendo eventualmente la precedenza SS in min (p i ) (corrispondente a FS in min (0) nella rete AON con vincoli GPR). 24

25 12. Analisi temporale con precedenze generalizzate Calcolo dei tempi Data la rete normalizzata G = (T, A), il problema della determinazione della schedula di progetto a durata minima può esser formulato come: s.t. min s n s i + l ij s j, s 1 = 0 (T i, T j ) A dove s n e s 1 sono l inizio dell attività fittizie di inizio e fine progetto, rispettivamente. Risolvendo tale problema si ottengono le ES i = s i. La ricerca della durata minima del progetto equivale a determinare la lunghezza del cammino più lungo dal nodo sorgente al pozzo sulla rete (percorso critico). La presenza eventuale di cicli nella rete normalizzata non consente l applicazione delle procedure forward e backward per il calcolo degli ES i e LF i delle attività T i. Il problema è NP-hard in generale, ma polinomiale se la rete è senza cicli di lunghezza positiva. 25

26 12. Analisi temporale con precedenze generalizzate La rete normalizzata non deve contenere cicli di lunghezza positiva. Infatti la presenza di un ciclo di lunghezza l significa: T i1 l s i1 s i1 + l Nel caso in cui fosse l > 0, si avrebbe la contraddizione che T i1 può iniziare al più presto l periodi unitari dopo il suo stesso inizio Ad un analogo assurdo si giunge sommando i vincoli relativi agli archi del ciclo (T i1, T i2, T i3,, T ic-1, T i1 ): s i1 + l i1 i 2 s i2 s i2 + l i2 i 3 s i s ic-1 + l ic-1 i 1 s i1 l i1 i 2 + l i2 i 3 + l ic-1 i 1 = l 0 ma per ipotesi l è positivo! N.B.: Nel caso in cui esistesse un ciclo di lunghezza positiva nella rete normalizzata ci troveremmo di fronte a una incongruenza nella definizione del progetto (delle precedenze generalizzate), si sarebbero cioè presi impegni impossibili. 26

27 12. Analisi temporale con precedenze generalizzate Si può utilizzare il seguente algoritmo di Ford-Bellman (1958) per il calcolo del cammino di lunghezza massima in una rete con archi di lunghezza l ij non vincolata in segno e priva di cicli di lunghezza positiva Input: G = (T, A) Output: s e prec Poni s 1 := 0; s i := ; prec i = NULL, i = 2,, n. Ordina gli archi {a 1,, a m } Repeat for k := 1 to m if a k = (T i, T j ) è tale che s j < s i + l ij s j = s i + l ij prec j = T i end end until (nessuna s i è stata modificata or sono state eseguite n iterazioni) L algoritmo esegue al più n iterazioni e ad ogni iterazione esamina tutti gli archi della rete. Quindi la sua complessità è O(n m). Se anche all n-sima iterazione c è stato un aggiornamento di almeno una delle s i allora la rete contiene un ciclo di lunghezza positiva. 27

28 12. Analisi temporale con precedenze generalizzate Con tale algoritmo si ottengono le ES i = s i. Per il calcolo delle LS i, occorre calcolare la lunghezza λ i del cammino critico dal nodo T i al nodo pozzo T n. Infatti: LS i = LS n λ i, con LS n = ES n. Per il calcolo dei λ i possiamo applicare nuovamente l algoritmo di Ford-Bellman a ritroso, cioè partendo dal pozzo e visitando gli archi al contrario. Input: G = (T, A) Output: λ e succ Poni λ n := 0; λ i := ; succ i = NULL, i = 1,, n 1. Ordina gli archi {a 1,, a m } Repeat for k := 1 to m if a k = (T i, T j ) è tale che λ i < λ j + l ij λ i = λ j + l ij succ i = T j end end until (nessun λ i è stato modificato or sono state eseguite n iterazioni) 28

29 12. Analisi temporale con precedenze generalizzate Esempio (pag. 23) Ripartiamo dalla rete normalizzata (7) T 3 2 (0) (2) a 4 2 a 5 0 (4) T 1 T 2 6 T 5 a 1 4 a 3 a 4 T 4 (4) rete normalizzata G = (T, A) con vincoli GPR a a 7 (0) T 6 Algoritmo Ford-Bellman T i s i : Iter. 0 s i : Iter. 1 s i : Iter L algoritmo si arresta alla fine della seconda iterazione. 29

30 12. Analisi temporale con precedenze generalizzate Esempio (pag. 23) (0) (2) 0 T 1 T 2 a a 3 a 4 a 2 (7) T 3 6 T 5 T 4 (4) (4) rete normalizzata G = (T, A) con vincoli GPR a 5 a (continua) 4 a 7 (0) T 6 Algoritmo Ford-Bellman a ritroso T i λ i : Iter. 0 λ i : Iter. 1 λ i : Iter L algoritmo si arresta alla fine della seconda iterazione. 30

31 12. Analisi temporale con precedenze generalizzate Esempio (pag. 23) (continua) Quindi, per il progetto con GPR la cui rete AON è: (7) SF min 23 (9) T 3 SS min 35 (4) (0) SS min (2) 12 (0) (4) FF T 1 T max 24 (8) FS min 56 (0) 0 2 T 5 T 6 SS 24 min (4) T 4 (4) FF 45 min (3) rete AON con vincoli GPR Il progetto ha durata minima pari a ES 6 = 11. La tabella riporta i tempi inizio e fine minimi e massimi delle attività: T i ES i LS i EF i LF i Tutte le attività tranne T 3 hanno slittamento nullo; T 3 ha TF 3 = LS 3 ES 3 = LF 3 EF 3 = 1. N.B.: I concetti di cammino critico e attività critica devono essere rivisti nel caso di progetti con GPR. 31

La Gestione dei Progetti. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena

La Gestione dei Progetti. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena La Gestione dei Progetti Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Gestione di Progetti complessi Il termine progetto fa riferimento ad un vasto

Dettagli

La Gestione dei Progetti. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena

La Gestione dei Progetti. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena La Gestione dei Progetti Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Gestione di Progetti complessi Il termine progetto fa riferimento ad un vasto

Dettagli

Introduzione al Project Scheduling

Introduzione al Project Scheduling Da qui in avanti, faremo riferimento alla gestione della tempistica di un progetto e in particolare al processo di determinazione della schedula di progetto. Supporremo pertanto di aver effettuato il processo

Dettagli

1) Disegnare la rete di progetto con le attività sugli archi, e la rete di progetto con le attività sui nodi.

1) Disegnare la rete di progetto con le attività sugli archi, e la rete di progetto con le attività sui nodi. Un progetto di ricerca e sviluppo di una società si compone di 12 (principali) attività con precedenze, durate normali b ij (in giorni), costi diretti c ij (in dollari) delle attività alla loro durata

Dettagli

Ottimizzazione nella Gestione dei Progetti - Esercitazione 1: calcolo degli schedule ottimi

Ottimizzazione nella Gestione dei Progetti - Esercitazione 1: calcolo degli schedule ottimi Università degli Studi di Roma La Sapienza Ottimizzazione nella Gestione dei Progetti - Esercitazione : calcolo degli schedule ottimi di FABIO D ANDREAGIOVANNI Dipartimento di Informatica e Sistemistica

Dettagli

Operations Management

Operations Management La schedulazione dei progetti Estratto da Operations Management Modelli e metodi per la logistica II Edizione Autore: Giuseppe Bruno Edizioni Scientifiche Italiane I problemi di scheduling 21 6.8 - LA

Dettagli

Introduzione al Project Scheduling

Introduzione al Project Scheduling Da qui in avanti, faremo riferimento alla fase di gestione della tempistica di un progetto. Supporremo pertanto di aver effettuato il processo di pianificazione del contenuto del progetto e tramite lo

Dettagli

La Gestione dei Progetti. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena

La Gestione dei Progetti. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena La Gestione dei Progetti Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Relazioni di precedenze generalizzate Le relazioni di precedenza viste fino ad

Dettagli

Processi di cost management - Programmazione multiperiodale

Processi di cost management - Programmazione multiperiodale Processi di cost management - Programmazione multiperiodale Queste slide (scrte da Carlo Mannino) riguardano il problema di gestione delle attivà di un progetto allorché i costi di esecuzione sono legati

Dettagli

2.3.5 Pianificazione di progetti

2.3.5 Pianificazione di progetti ..5 Pianificazione di progetti Un progetto è costituito da un insieme di attività i, con i =,..., m, ciascuna di durata d i stima Tra alcune coppie di attività esistono relazioni di precedenza del tipo

Dettagli

2.3.4 Pianificazione di progetti

2.3.4 Pianificazione di progetti .. Pianificazione di progetti Un progetto è costituito da un insieme di attività i, con i =,..., m, ciascuna di durata d i. stima Tra alcune coppie di attività esistono relazioni di precedenza del tipo

Dettagli

Pianificazione dei progetti. Alberto Caprara DEIS - Università di Bologna

Pianificazione dei progetti. Alberto Caprara DEIS - Università di Bologna Pianificazione dei progetti Alberto Caprara DEIS - Università di Bologna acaprara@deis.unibo.it Tecniche reticolari Metodologie per la risoluzione di problemi di pianificazione di progetti Progetto: insieme

Dettagli

Problema del Job Shop

Problema del Job Shop Problema del Job Shop Job Shop n job, m macchine iascun job j è composto da una sequenza di task (t j (),,t j (r j )) ogni task t j (k) deve essere eseguito su una specifica macchina i = m j (k) (richiedendo

Dettagli

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di

Dettagli

Problema di flusso massimo

Problema di flusso massimo p. 1/5 Problema di flusso massimo Si consideri una rete, ovvero un grafo orientato G = (V,A). Attraverso tale rete si fa viaggiare quello che chiameremo genericamente un flusso di "prodotto". A seconda

Dettagli

1. Considerazioni generali

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

Dettagli

Problema del Job Shop

Problema del Job Shop Problema del Job hop Job hop n ob, m macchine iascun ob è composto da una sequenza di task (t (1),,t (r )) ogni task t (k) deve essere eseguito su una specifica macchina i = m (k) (richiedendo un tempo

Dettagli

Esame di Ricerca Operativa del 07/06/2019

Esame di Ricerca Operativa del 07/06/2019 Esame di Ricerca Operativa del 0/0/09 (Cognome) (Nome) (Numero di Matricola) Esercizio. (a) Risolvere il seguente problema di programmazione lineare applicando l algoritmo del simplesso duale: min y y

Dettagli

Gestione della produzione e della supply chain Logistica distributiva

Gestione della produzione e della supply chain Logistica distributiva Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Convergenza dell algoritmo Se non

Dettagli

età (anni) manutenzione (keuro) ricavato (keuro)

età (anni) manutenzione (keuro) ricavato (keuro) .6 Cammini minimi. Determinare i cammini minimi dal nodo 0 a tutti gli altri nodi del seguente grafo, mediante l algoritmo di Dijkstra e, se applicabile, anche mediante quello di Programmazione Dinamica.

Dettagli

Richiami di Teoria dei Grafi. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena

Richiami di Teoria dei Grafi. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Richiami di Teoria dei Grafi Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Teoria dei grafi La Teoria dei Grafi costituisce, al pari della Programmazione Matematica, un corpo

Dettagli

Flusso a Costo Minimo

Flusso a Costo Minimo Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Flusso a Costo Minimo Docente: Renato Bruni bruni@dis.uniroma.it Corso di: Ottimizzazione Combinatoria Dal

Dettagli

Possibile applicazione

Possibile applicazione p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) diffusione di messaggi segreti memorizzazione

Dettagli

Project Scheduling: PERT. Il PERT ha potenzialità superiori rispetto a quelle di un semplice mezzo per la pianificazione ed il controllo.

Project Scheduling: PERT. Il PERT ha potenzialità superiori rispetto a quelle di un semplice mezzo per la pianificazione ed il controllo. 1. Introduzione Project Scheduling: PERT Il PERT è una tecnica introdotta per la pianificazione ed il controllo di progetti in cui le durate t ij delle singole attività sono delle variabili aleatorie.

Dettagli

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di

Dettagli

Esame di Ricerca Operativa del 19/07/19. Esercizio 1. (a) Risolvere mediante il metodo del simplesso il seguente problema di programmazione lineare:

Esame di Ricerca Operativa del 19/07/19. Esercizio 1. (a) Risolvere mediante il metodo del simplesso il seguente problema di programmazione lineare: Esame di Ricerca Operativa del /0/ (Cognome) (Nome) (Numero di Matricola) Esercizio. (a) Risolvere mediante il metodo del simplesso il seguente problema di programmazione lineare: max x +x x + x x x x

Dettagli

Algoritmo basato su cancellazione di cicli

Algoritmo basato su cancellazione di cicli Algoritmo basato su cancellazione di cicli Dato un flusso ammissibile iniziale, si costruisce una sequenza di flussi ammissibili di costo decrescente. Ciascun flusso è ottenuto dal precedente flusso ammissibile

Dettagli

Figura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli.

Figura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli. ESERCIZIO 1 Sia dato il grafo orientato in Figura 1. Si consideri il problema di flusso a 1 2 4 Figura 1: costo minimo su tale grafo con b 1 = 4 b 2 = 2 b = b 4 = e c 12 = 2 c 1 = 4 c 14 = 1 c 2 = 1 c

Dettagli

Gestione della produzione e della supply chain Logistica distributiva. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena

Gestione della produzione e della supply chain Logistica distributiva. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Un algoritmo per il flusso a costo minimo: il simplesso

Dettagli

Quinto appello 27/6/ = 4. B b B = 2 b N = 4

Quinto appello 27/6/ = 4. B b B = 2 b N = 4 Quinto appello // RICERCA OPERATIVA (a.a. /) Nome: Cognome: Matricola: ) Si risolva il problema di PL dato applicando l algoritmo del Simplesso Duale, per via algebrica, a partire dalla base B {, }. Per

Dettagli

Esercizi proposti nel Cap Soluzioni. Esercizio 14.1

Esercizi proposti nel Cap Soluzioni. Esercizio 14.1 M. CARAMIA, S. GIORDANI, F. GUERRIERO, R. MUSMANNO, D. PACCIARELLI RICERCA OPERATIVA Isedi Esercizi proposti nel Cap. 14 - Soluzioni Esercizio 14.1 Al fine di utilizzare l algoritmo più efficiente, verifichiamo

Dettagli

Formulazioni. Consideriamo il seguente problema di Knapsack 0-1. max (5x x 2. ) st 3x x 2. < 6 x {0,1} 2

Formulazioni. Consideriamo il seguente problema di Knapsack 0-1. max (5x x 2. ) st 3x x 2. < 6 x {0,1} 2 Formulazioni Consideriamo il seguente problema di Knapsack 0-1 max (5x 1 + 2x 2 ) st 3x 1 + 4x 2 < 6 x {0,1} 2 Insiemi ammissibili F = {(0, 0), (0, 1), (1, 0)} Rappresentiamo sul piano gli insiemi ammissibili.

Dettagli

Esame di Ricerca Operativa del 20/02/18

Esame di Ricerca Operativa del 20/02/18 Esame di Ricerca Operativa del //8 (Cognome) (Nome) (Numero di Matricola) Esercizio. (a) Risolvere mediante l algoritmo del simplesso duale il seguente problema di programmazione lineare: min x x +x x

Dettagli

Gestione dei Progetti di Innovazione. C.d.L. INGEGNERIA INFORMATICA AUTOMATICA ELETTRONICA delle TELECOMUNICAZIONI. Corso di

Gestione dei Progetti di Innovazione. C.d.L. INGEGNERIA INFORMATICA AUTOMATICA ELETTRONICA delle TELECOMUNICAZIONI. Corso di C.d.L. INGEGNERIA INFORMATICA AUTOMATICA ELETTRONICA delle TELECOMUNICAZIONI Corso di 0/06/007 - Lez 9 - Mod. Ing. D. Aprile CPM/PERT a fasi CPM (Critical Path Method) deterministico PERT (Program Evaluation

Dettagli

Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33

Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33 Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33 Ottimizzazione su grafi:massimo flusso (parte 1) p. 2/33 Reti di flusso Una rete di flusso è una

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione

Dettagli

3.3 Problemi di PLI facili

3.3 Problemi di PLI facili 3.3 Problemi di PLI facili Consideriamo un generico problema di PLI espresso in forma standard min{c t x : Ax = b, x Z n +} (1) dove A Z m n con n m, e b Z m. Supponiamo che A sia di rango pieno. Sia P

Dettagli

Parte IV: Matrici totalmente unimodulari

Parte IV: Matrici totalmente unimodulari Parte IV: Matrici totalmente unimodulari Formulazioni Consideriamo il seguente problema di Knapsack 0-1 max (5x 1 + 2x 2 ) st 3x 1 + 4x 2 < 6 x {0,1} 2 Insiemi ammissibili F = {(0, 0), (0, 1), (1, 0)}

Dettagli

5.1 Metodo Branch and Bound

5.1 Metodo Branch and Bound 5. Metodo Branch and Bound Consideriamo un generico problema di ottimizzazione min{ c(x) : x X } Idea: Ricondurre la risoluzione di un problema difficile a quella di sottoproblemi più semplici effettuando

Dettagli

Esame di Ricerca Operativa del 11/1/19

Esame di Ricerca Operativa del 11/1/19 Esame di Ricerca Operativa del // (Cognome) (Nome) (Numero di Matricola) Esercizio. (a) Risolvere il seguente problema di programmazione lineare, determinandone il problema duale ed applicando l algoritmo

Dettagli

Linea di 4 macchine con buffer

Linea di 4 macchine con buffer La soluzione del 2JSP è la generalizzazione di quella data da Aker per 2 lavori J i di m operazioni in serie da eseguire su una linea con buffer intermedi: ciascuno di lunghezza temporale t i sulla macchina

Dettagli

Organizzazione della produzione

Organizzazione della produzione Scheduling Organizzazione della produzione PRODOTTO che cosa chi ORGANIZZAZIONE PROCESSO come FLUSSO DI PRODUZIONE COORDINAMENTO PIANIFICAZIONE SCHEDULING quando Pianificazione della produzione: schedulazione

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione

Dettagli

Esame di Ricerca Operativa del 11/02/2015

Esame di Ricerca Operativa del 11/02/2015 Esame di Ricerca Operativa del /0/0 (Cognome) (Nome) (Matricola) Esercizio. Un azienda produce tipi di TV (, 0, 0 e pollici) ed è divisa in stabilimenti (A e B). L azienda dispone di 0 operai in A e 0

Dettagli

Esercizio 1. Variabili decisionali:

Esercizio 1. Variabili decisionali: Esercizio 1 Si noti che i costi sono dati per tonnellata, mentre molti vincoli riguardano il numero di navi. Si introducono pertanto DUE tipi di variabili, uno relativo al numero di tonnellate per tipo

Dettagli

RICERCA OPERATIVA (a.a. 2018/19)

RICERCA OPERATIVA (a.a. 2018/19) Secondo appello //9 RICERCA OPERATIVA (a.a. 8/9) Nome: Cognome: Matricola: ) Si consideri il seguente problema di PL: min y + y y y y y = y + y y = y, y, y, y Si verifichi se la soluzione ȳ =,,, sia ottima

Dettagli

CPM - PERT CPM - PERT. Rappresentazione di un progetto. Gestione di un progetto. Critical Path Method Project Evaluation and Review Technique

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

Dettagli

Pianificazione dei progetti

Pianificazione dei progetti 1/11/ Pianificazione dei progetti aniele Vigo..I.S. - Università di ologna dvigo@deis.unibo.it Rev. 1.2, 1/ Tecniche reticolari Metodologie per la risoluzione di problemi di pianificazione di progetti

Dettagli

Tecniche reticolari di programmazione delle attività

Tecniche reticolari di programmazione delle attività apitolo 14 Tecniche reticolari di programmazione delle attività I progetti di grandi dimensioni sono costituiti da più attività, che devono essere tutte completate affinché il progetto di cui fanno parte

Dettagli

Macchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4

Macchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4 Macchine parallele M 1 J 1 J 2 LAVORI M 2 J 3 J 4 M 3 Macchine parallele Scheduling su macchine parallele scorrelate R C max Descrizione del problema n lavori devono essere processati da m macchine diverse

Dettagli

PROBLEMA DEI CAMMINI MINIMI [CORMEN ET AL. CAP. 24] Il costo di cammino minimo da un vertice u ad un vertice v è definito nel seguente modo:

PROBLEMA DEI CAMMINI MINIMI [CORMEN ET AL. CAP. 24] Il costo di cammino minimo da un vertice u ad un vertice v è definito nel seguente modo: PROBLEMA DEI CAMMINI MINIMI [CORMEN ET AL. CAP. 24] Sia G = (V,E) un grafo orientato ai cui archi è associato un costo W(u,v). Il costo di un cammino p = (v 1,v 2,...,v k ) è la somma dei costi degli archi

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) protocolli reti IP memorizzazione compatta di

Dettagli

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Dettagli

Esame di Ricerca Operativa del 22/01/18

Esame di Ricerca Operativa del 22/01/18 Esame di Ricerca Operativa del /0/8 (Cognome) (Nome) (Numero di Matricola) Esercizio. Un azienda informatica produce tre tipi di processori P, P, P nelle sedi S, S, S. La capacitá di produzione settimanale

Dettagli

Esame di Ricerca Operativa del 22/01/18

Esame di Ricerca Operativa del 22/01/18 Esame di Ricerca Operativa del /0/8 (Cognome) (Nome) (Numero di Matricola) Esercizio. Un azienda informatica produce tre tipi di processori P, P, P nelle sedi S, S, S. La capacitá di produzione settimanale

Dettagli

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound.

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound. Ricerca Operativa A.A. 2007/2008 17. Esercitazione di laboratorio: Branch and Bound. Luigi De Giovanni - Ricerca Operativa - 17. Esercitazione di laboratorio: Branch and Bound 17.1. Luigi De Giovanni -

Dettagli

Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti

Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti Project Management Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova Project Management 2 Metodi per supportare le decisioni relative alla gestione di progetti esempi sono progetti nell

Dettagli

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound.

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound. Ricerca Operativa A.A. 2007/2008 17. Esercitazione di laboratorio: Branch and Bound. Luigi De Giovanni - Ricerca Operativa - 17. Esercitazione di laboratorio: Branch and Bound 17.1 . Luigi De Giovanni

Dettagli

Algoritmi e Strutture di Dati (3 a Ed.) Algoritmo dei tre indiani. Alan Bertossi, Alberto Montresor

Algoritmi e Strutture di Dati (3 a Ed.) Algoritmo dei tre indiani. Alan Bertossi, Alberto Montresor Algoritmi e Strutture di Dati ( a Ed.) Algoritmo dei tre indiani Alan Bertossi, Alberto Montresor Vediamo a grandi linee un algoritmo proposto da Kumar, Malhotra e Maheswari (978) come raffinamento di

Dettagli

Grafi e reti di flusso

Grafi e reti di flusso Grafi e reti di flusso Molti problemi di ottimizzazione sono caratterizzati da una struttura di grafo: in molti casi questa struttura emerge in modo naturale, in altri nasce dal particolare modo in cui

Dettagli

Esame di Ricerca Operativa del 13/06/17. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 13/06/17. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del /0/ (Cognome) (Nome) (Numero di Matricola) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: min y y + y + y + y y + y y +y +y

Dettagli

1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44;

1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44; 1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44; c 24 = 15; c 25 = 12; c 34 = 32; c 35 = 55; c 45 = 24 Si calcoli l ottimo duale (formulazione

Dettagli

1 TEORIA DELLE RETI 1. 1 Teoria delle reti. 1.1 Grafi

1 TEORIA DELLE RETI 1. 1 Teoria delle reti. 1.1 Grafi 1 TEORIA DELLE RETI 1 1 Teoria delle reti 1.1 Grafi Intuitivamente un grafo è un insieme finito di punti (nodi o vertici) ed un insieme di frecce (archi) che uniscono coppie di punti Il verso della freccia

Dettagli

RICERCA OPERATIVA (a.a. 2014/15) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2014/15) Nome: Cognome: Matricola: 7 o Appello /9/ RICERCA OPERATIVA (a.a. /) Nome: Cognome: Matricola: ) Si consideri il seguente problema di PL max x x x x x x + x 6 x e la corrispondente soluzione x = [,. Utilizzando il teorema degli

Dettagli

Ragionamento su reti di vincoli temporali

Ragionamento su reti di vincoli temporali UNIVERSITA DEGLI STUDI DI BRESCIA FACOLTA DI INGEGNERIA ELETTRONICA Ragionamento su reti di vincoli temporali NICOLA FERRARI - NICOLA MOROTTI Rappresentazione info. temporale L informazione temporale qualitativa

Dettagli

Esercitazione 6 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016

Esercitazione 6 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Esercitazione 6 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Tong Liu April 14, 2016 Elementi Fondamentali Rappresentazione n = V numero di vertici (nodi) m = E numero di archi Matrice di adiacenza:

Dettagli

Esame di Ricerca Operativa del 19/02/2019. Esercizio 1. Risolvere il seguente problema di programmazione lineare applicando l algoritmo del simplesso:

Esame di Ricerca Operativa del 19/02/2019. Esercizio 1. Risolvere il seguente problema di programmazione lineare applicando l algoritmo del simplesso: Esame di Ricerca Operativa del 9/0/09 (Cognome) (Nome) (Numero di Matricola) Esercizio. Risolvere il seguente problema di programmazione lineare applicando l algoritmo del simplesso: max x x x 0 x + x

Dettagli

Algoritmi e Strutture Dati. Capitolo 13 Cammini minimi: Algoritmo di Bellman e Ford

Algoritmi e Strutture Dati. Capitolo 13 Cammini minimi: Algoritmo di Bellman e Ford Algoritmi e Strutture Dati Capitolo 13 Cammini minimi: Algoritmo di Bellman e Ford Cammini minimi in grafi: una trilogia Cammini minimi in grafi: Episodio II: cammini minimi a singola sorgente (per grafi

Dettagli

Esame di Ricerca Operativa del 16/06/2015

Esame di Ricerca Operativa del 16/06/2015 Esame di Ricerca Operativa del 1/0/01 (Cognome) (Nome) (Matricola) Esercizio 1. Una ditta produce vernici in tre diversi stabilimenti (Pisa, Cascina, Empoli) e le vende a tre imprese edili (A, B, C). Il

Dettagli

Esame di Ricerca Operativa del 14/09/18

Esame di Ricerca Operativa del 14/09/18 Esame di Ricerca Operativa del /9/ (Cognome) (Nome) (Numero di Matricola) Esercizio. (a) Risolvere mediante l algoritmo del simplesso duale il seguente problema di programmazione lineare: Iterazione {,}

Dettagli

RICERCA OPERATIVA (a.a. 2017/18) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2017/18) Nome: Cognome: Matricola: Sesto appello 7/7/8 RICERCA OPERATIVA (a.a. 7/8) Nome: Cognome: Matricola: ) Si risolva il seguente problema di PL applicando l algoritmo del Simplesso Duale, per via algebrica, a partire dalla base B

Dettagli

Teoria dei Grafi Parte I. Alberto Caprara DEIS - Università di Bologna

Teoria dei Grafi Parte I. Alberto Caprara DEIS - Università di Bologna Teoria dei Grafi Parte I Alberto Caprara DEIS - Università di Bologna acaprara@deis.unibo.it Teoria dei Grafi Paradigma di rappresentazione di problemi Grafo G : coppia (V,E) V = insieme di vertici E =

Dettagli

Esame di Ricerca Operativa del 06/02/17

Esame di Ricerca Operativa del 06/02/17 Esame di Ricerca Operativa del 0/0/ (Cognome) (Nome) (Numero d Matricola) Esercizio. Uno studente vuole definire un piano di studio settimanale per preparare gli esami A, B e C, massimizzando le ore (h)

Dettagli

Esercitazione 3. Osserviamo che, dato un grafo con pesi distinti, questo ammette un unico MST.

Esercitazione 3. Osserviamo che, dato un grafo con pesi distinti, questo ammette un unico MST. Esercitazione 3 Problema 6: Sia G = (V, E) un grafo con pesi distinti sugli archi ed e E un arco di G. Progettare un algoritmo lineare in grado di determinare se esiste un MST di G che contiene l arco

Dettagli

Esame di Ricerca Operativa del 06/02/17

Esame di Ricerca Operativa del 06/02/17 Esame di Ricerca Operativa del 0/0/7 (Cognome) (Nome) (Numero d Matricola) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max 7 x x x x x x x + x x x 0 x

Dettagli

Ottimizzazione nella gestione dei progetti

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

Dettagli

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015 1 Lunedí 20 Aprile 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Rilassamento di un problema Rilassare un problema di Programmazione Matematica vuol dire trascurare alcuni (tutti i)

Dettagli

Esame di Ricerca Operativa del 18/06/18

Esame di Ricerca Operativa del 18/06/18 Esame di Ricerca Operativa del 8/0/8 (Cognome) (Nome) (Numero di Matricola) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x x x +x x x x +x x x x + x

Dettagli

Project Scheduling: CPM least cost scheduling

Project Scheduling: CPM least cost scheduling 1. Introduzione Tempo e costo sono due degli aspetti più importanti in un progetto. Il CPM least cost scheduling è una tecnica che consente di considerare contemporaneamente questi due aspetti e risolvere

Dettagli

Macchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4

Macchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4 Macchine parallele M 1 J 1 J 2 LAVORI M 2 J 3 J 4 M 3 Macchine parallele Scheduling su macchine parallele scorrelate R C max Descrizione del problema n lavori devono essere processati da m macchine diverse

Dettagli

5.1 Metodo Branch and Bound

5.1 Metodo Branch and Bound 5. Metodo Branch and Bound Si consideri il problema min{ c(x) : x X } Idea: Ricondurre la risoluzione di un problema difficile a quella di sottoproblemi più semplici effettuando una partizione (ricorsiva)

Dettagli

RICERCA OPERATIVA (a.a. 2015/16) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2015/16) Nome: Cognome: Matricola: o Appello 8// RICERCA OPERATIVA (a.a. /) Nome: Cognome: Matricola: ) Si risolva il seguente problema di PL max x x x x x x + x x per via algebrica, mediante l algoritmo del Simplesso Primale a partire

Dettagli

Introduzione ai grafi

Introduzione ai grafi TFA A048 Anno Accademico 2012-13 Outline Cenni storici sui grafi Nozioni introduttive: cammini, connessione, alberi, cicli Cammini di costo minimo Origini storiche La nascita della teoria dei grafi risale

Dettagli

CASO 1) Pesi positivi ( diretto o indiretto) Algoritmo di Dijkstra

CASO 1) Pesi positivi ( diretto o indiretto) Algoritmo di Dijkstra 4) DISTANZE Problematiche Si suppone un grafo in cui ad ogni arco e' associato un peso (distanza). Il grafo puo' essere sia diretto che non diretto. Se non e' diretto ogni arco puo' essere pensato come

Dettagli

5.3 Metodo dei piani di taglio

5.3 Metodo dei piani di taglio 5.3 Metodo dei piani di taglio (PLI) min s.v. c T x Ax b x interi X Ipotesi: a ij, c j e b i interi Osservazione: La regione ammissibile di un PLI può essere descritta mediante dei vincoli più o meno stringenti

Dettagli

Certificati dei problemi in NP

Certificati dei problemi in NP Certificati dei problemi in NP La stringa y viene in genere denominata un certificato Un Certificato è una informazione ausiliaria che può essere utilizzata per verificare in tempo polinomiale nella dimensione

Dettagli

2.3.3 Cammini ottimi nei grafi senza circuiti

2.3.3 Cammini ottimi nei grafi senza circuiti .. Cammini ottimi nei grafi senza circuiti Sia un grafo G = (N, A) orientato senza circuiti e una funzione di costo che assegna un valore c ij R ad ogni arco (i, j) A circuito Proprietà I nodi di un grafo

Dettagli

Cammini Minimi. Algoritmo di Dijkstra. Cammino in un grafo

Cammini Minimi. Algoritmo di Dijkstra. Cammino in un grafo Cammini Minimi Algoritmo di Dijkstra Cammino in un grafo Dato un grafo G=(V,E), un Cammino (Percorso) in G è un insieme di vertici v 1, v 2,.., v k tali che (v i, v i+1 ) E v 1 v 2 v 3 v k In un grafo

Dettagli

Esame di Ricerca Operativa del 15/01/2015

Esame di Ricerca Operativa del 15/01/2015 Esame di Ricerca Operativa del 1/01/201 (Cognome) (Nome) (Matricola) Esercizio 1. Un azienda produce palloni da calcio e da basket che vende a 1 e 20 euro rispettivamente. L azienda compra ogni settimana

Dettagli

Esame di Ricerca Operativa del 15/01/2015

Esame di Ricerca Operativa del 15/01/2015 Esame di Ricerca Operativa del 1/01/01 (Cognome) (Nome) (Matricola) Esercizio 1. Un azienda produce palloni da basket e da calcio che vende rispettivamente a 1 e euro. L azienda compra ogni settimana 00

Dettagli

Cammini Minimi. Algoritmo di Dijkstra

Cammini Minimi. Algoritmo di Dijkstra Cammini Minimi Algoritmo di Dijkstra Cammino in un grafo Dato un grafo G=(V,E), un Cammino (Percorso) in G è un insieme di vertici v 1, v 2,.., v k tali che (v i, v i+1 ) E v 1 v 2 v 3 v k In un grafo

Dettagli

Esame di Ricerca Operativa del 28/06/2019. max 9 x 1 +8 x 2 6 x x x 1 +2 x x 1 +2 x x 1 3 x x 1 4 x 2 3

Esame di Ricerca Operativa del 28/06/2019. max 9 x 1 +8 x 2 6 x x x 1 +2 x x 1 +2 x x 1 3 x x 1 4 x 2 3 Esame di Ricerca Operativa del 8/0/09 (Cognome) (Nome) (Numero di Matricola) Esercizio. a) Risolvere il seguente problema di programmazione lineare mediante l algoritmo del simplesso: max 9 x +8 x x +0

Dettagli

Esame di Ricerca Operativa del 04/07/17

Esame di Ricerca Operativa del 04/07/17 Esame di Ricerca Operativa del 0/0/ (Cognome) (Nome) (Numero di Matricola) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: min y y + y + y + y + y +9 y y y

Dettagli

RICERCA OPERATIVA (a.a. 2008/09) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2008/09) Nome: Cognome: Matricola: o Appello /09/009 RICERCA OPERATIVA (a.a. 008/09) Nome: Cognome: Matricola: ) Si applichi l algoritmo di Kruskal per determinare un albero di copertura di costo minimo sul grafo in figura. Per ogni iterazione

Dettagli

Modelli su rete (Grafi)

Modelli su rete (Grafi) Modelli su rete (Grafi) Vari tipi di problemi possono essere rappresentati graficamente per mezzo di grafi o reti. Un tipico problema incontrato è il problema del trasporto. Vedremo ora la struttura di

Dettagli