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 attività: A i A j A j può iniziare solo quando A i è terminata Problema: determinare l istante di inizio di ogni attività in modo che la durata complessiva del progetto sia minima Problemi facili (Polinomiali) (risorse infinite) C.P.M. Critical Path Method (durate delle attività deterministiche) P.E.R.T. Project Evaluation and Review Technique (durate delle attività non deterministiche) Estensioni: richieste di risorse scarse associate alle varie attività In generale problemi difficili (NP-completi)
Project Management Rappresentazioni Reticolari Progetto Grafo orientato aciclico (rete o network) archi = attività nodi = eventi attività fittizie = attività a durata nulla usate per descrivere precedenze Activity Network Esempio: A B,A C,C D,B E A B C E D A B C E D C E un attività non può essere interrotta un evento ha durata nulla nessun attività uscente da un evento X può essere iniziata prima che siano terminate tutte le attività entranti in X Convenzioni B non ci sono archi multipli A un solo evento inizio e un solo evento fine B A
Project Management Se il grafo è aciclico) è possibile numerare i nodi in modo che se arco (i,j) i < j k := 0; while k < n do k := k +; scegli un vertice v in cui non entra alcun arco; assegna a v il numero k; elimina tutti gli archi uscenti da v end while 4 8 Esiste una rappresentazione con attività sui nodi Precedence Network Le due rappresentazioni sono equivalenti
Project Management 4 Definizione del Network Per ogni attività bisogna stabilire: quali attività devono precederla quali attività devono seguirla Attenzione! Non introdurre precedenze indesiderate C F E Si vuole introdurre H E e H F H C F E NO! così si ha H C!!!!! H C F E H
Project Management Esempio A B,A C, B D,B E C D,C E,C F D G,E G,F G I A B C D E F G F Esempio A B,A C, B D,B F C F,F G,C E B.... D I A F G F C.... E
Project Management Critical Path Method Durata del progetto= lunghezza del cammino più lungo dal vertice inizio al vertice fine Longest Path Problem (LPP): NP-hard per grafi generici polinomiale se il grafo è aciclico Per ogni evento h si determina TMIN h istante minimo in cui l evento h può accadere TMAX h istante massimo in cui l evento h può accadere (per avere durata minima del progetto, 0,0 A B C 4 D E 4, C,4 E Diagramma di Gantt B A D 0 4
Project Management Calcolo di TMIN e TMAX for j := to n do TMIN j := 0; LIST := { inizio }; while LIST do estrai i da LIST; for each j : i j do TMIN j := max(tmin j,tmin i +d ij ); rimuovi la precedenza i j; if / h : h j then LIST := LIST {j} end for end while for j := to n do TMAX j := + ; LIST := { fine }; TMAX fine := TMIN fine ; while LIST do estrai j da LIST; for each i : i j do TMAX i := min(tmax i,tmax j d ij ); rimuovi la precedenza i j; if / l : i l then LIST := LIST {i} end for end while Activity Times i d ij j TMIN i TMAX j Early Start Time ES ij = TMIN i Late Start Time LS ij = TMAX j d ij
Project Management 8 TMIN h := max{tmin i +d ih,i h} TMAX h := min{tmax j d hj,h j},, 4 0,0, 4,, Evento critico (non ritardabile) h : TMIN h = TMAX h Attività critica TMIN i = TMAX i, TMIN j = TMAX j, (i j) : TMIN i = TMAX j d ij (ES ij = LS ij ) Cammio critico: cammino di attività critiche Slittamento (Slackness) di un attività S ij = LS ij ES ij = TMAX j d ij TMIN i
Project Management 9 Esempio 8 0 4 4 9 TMIN h 4 8 9 0 LIST 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,,4 0 0 0 0 0,4, 0 0 0 0 0 4, 0 0 0 0,, 0 0 4 0 0, 0 0 0 0,8 0 0 0 8,9 0 0 9 0 0 Il nodo fine non viene inserito nella lista!
Project Management 0 Esempio (continua) 4 8 9 4 TMAX h 4 8 9 0 LIST Il nodo inizio non viene nserito nella lista!
Project Management Esempio (continua) Eventi 4 8 9 0 TMIN h 0 0 TMAX h 0 0 4 Attività ES LS S (,) 0 (,) 0 0 0 (,4) 0 (,) (,8) 0 4 (,) 0 (4,) (4,) 8 (,8) (,8) 0 0 0 (,9) 0 (,9) 4 (8,0) 0 (9,0)
Project Management Esempio 4 Realizzazione di un nuovo prodotto (Z) Z si ottiene assemblando il prodotto X con il prodotto Y, realizzati in due differenti reparti Prima dell inizio produzione devono essere acquistate le materie prime e deve essere addestrato il personale addetto L addestramento è diverso per le linee di produzione dei prodotti X ed Y Prima dell assemblaggio i prodotti Y sono ispezionati I prodotti Z sono collaudati e successivamente stoccati in aree preventivamente predisposte La predisposizione delle aree per lo stoccaggio non può iniziare prima dell inizio della produzione dei prodotti di tipo Z Elenco delle attività Attività Durata (d ij ) A) acquisto materie prime 9 B) addestramento reparto X 0 C) addestramento reparto Y D) realizzazione prodotto X 8 E) realizzazione prodotto Y F) ispezione prodotto Y 4 G) assemblaggio H) collaudo prodotto Z I) predisposizione stocccaggio 8 L) stoccaggio
Project Management Attività Precedenti A) acquisto materie prime B) addestramento linea X C) addestramento linea Y D) produzione prodotto X A,B E) produzione prodotto Y A,C F) ispezione prodotto Y E G) assemblaggio D,F H) collaudo prodotto Z G I) predisposizione stocccaggio D,F L) stoccaggio H,I B,0 A,9 D,8 F,4 G, I,8 H, L, 8 9 C, 4 E, 0,0 B,0 0, D,8 A,9 9,9 0,0 F,4 G, I,8, H, L, 8 9 C, 4 E,,, 9,9,
Project Management 4 Esempio Si consideri il seguente progetto, suddiviso in 8 attività: Attività Durata (d ij ) Precedenze A 0 A {C,E,F} B B {D,E,F} C C G D D H E E G F 8 G H Si descriva il progetto mediante una rete CPM, limitando al massimo l introduzione di attività fittizie, e si determini: a) la durata minima complessiva del progetto; b) il cammino critico della rete; c) lo slittamento massimo associato a ciascuna atttività. La rete rappresentativa del progetto ed una numerazione ammissible degli eventi è riportata nella seguente figura A,0 C, E, G, B, 4 F,8 D, H,
Project Management Il risultato dell applicazione dell algoritmo CPM alla rete è illustrato nella figura seguente, in cui nei rettangoli riportati a fianco di ciascun evento sono indicati i relativi valori di TMIN i e di TMAX i. 0,0 A,0 0,0 C, E,, G, B, 4 0,0 F,8 8,8, D,, H, La durata complessiva del progetto è 8 unità di tempo. Gli archi critici sono indicati con tratto ingrossato. Nella seguente tabella sono infine riportati, per ciascuna attività i relativi valori degli activity times, Early Start Time, Late Start Time e Slittamento: Attività i j EST ij LST ij S ij A 0 0 0 B 0 C 0 D E 4 0 F 0 0 0 G H 8
Project Management Modello Matematico CPM t i = istante in cui si verifica l evento i mint n t j t i d ij i,j : i j t i 0, i =,...,n Programmazione Lineare Continua
Project Management C.P.M. Tempi-Costi In alcuni casi le durate delle attività si possono accorciare utilizzando maggiori risorse maggiori costi c A c N costi d A d N durate Costo unitario di accelerazione attività (ij) dn = durata Normale d A = durata Accelerata c N = costo Normale d A = costo Accelerato c ij = ca ij cn ij d N ij d A ij y ij = riduzione della durata attività (i,j) Costo attività (i,j) ridotta di y ij unità: c N ij +c ij y ij T = Termine fine progetto desiderata min i j c ij y ij t n T t j t i d N ij y ij i,j : i j y ij d N ij d A ij, i,j : i j t i 0, i =,...,n y jj 0, i,j
Project Management 8 P.E.R.T. Durate attività non deterministiche Si utilizza la funzione Beta per descrivere le durate a = stima ottimistica b = stima pessimistica b = stima più verossimile si pone: µ = (a+4m+b)/; σ = (b a) / a m µ b a m = µ b a µ m b
Project Management 9 Si applica la tecnica CPM con durata attività A i = valore medio (d i = µ i ) nell ipotesi(restrittiva) che le durate delle attività siano indipendenti vale il teorema del limite centrale La lunghezza di un cammino C è una variabile stocastica Normale N(µ,σ) con µ = µ i A i C σ i A i C σ = Nell ipotesi che la durata del progetto coincida con quella del cammino critico la probabilità che il progetto sia completato entro un tempo T è Pr(N(µ,σ) T) Attenzione! possono esserci cammini non critici con grande varianza per cui la probabilità di terminare oltre T è maggiore di quella del cammino critico
Project Management 0 A B C D E F G H Attività a m b µ σ A /9 B 4 /9 C /9 D 4 4 4/9 E 4 4 F 9 /9 G 4 /9 H /9 Attività ES LS A 0 0 B 0 C D 4 E 4 4 F 4 0 G 8 8 H Probabilità di finire in settimane: Pr(N(,8/9) ) = Pr N(0,) 8/9 = Pr(N(0,) 0.) = 0.