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

Documenti analoghi
Pianificazione dei progetti

Tecniche Reticolari. Problema: determinare l istante di inizio di ogni attività in modo che la durata complessiva del progetto sia minima

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

Introduzione al Project Scheduling

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

2.3.5 Pianificazione di progetti

Project Scheduling: CPM time analysis

Introduzione al Project Scheduling

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

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

2.3.4 Pianificazione di progetti

Il progetto e la gestione

A) Assumere un responsabile di vendita B) Stabilire il prezzo del prodotto C) Assumere gli agenti di vendita D) Istruire gli agenti di vendita E)

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

Teoria dei Grafi Parte I

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

TEORIA DEI GRAFI. Tecniche reticolari

Dipartimento di Ingegneria Meccanica Chimica e dei IMPIANTI MECCANICI. Esercitazione GESTIONE PROGETTI. Prof. Ing. Maria Teresa Pilloni

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

Ottimizzazione nella gestione dei progetti

Massimo Paolucci DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti

Processi di cost management - Programmazione multiperiodale

Parte 3: Gestione dei progetti, Shop scheduling

PROBLEMI SU GRAFO (combinatori)

Operations Management

Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST)

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

Attività Precedenze Tempo (gg) A - 5 B - 10 C A 3 D B 2 E B 4 F C, D 6 G F, E 3

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

Progetti di ricerca: cenni metodologici. Alessandro Tuccio Provincia Autonoma di Trento Servizio Università e ricerca scientifica

Ragionamento su reti di vincoli temporali

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Corso di RICERCA OPERATIVA 1 (Fischetti) Simulazione scritto del 31 Gennaio Tempo consentito: due ore. Cognome studente:... Nome:... Matr.:...

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

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

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

Introduzione ai diagrammi reticolari

Insegnamento di Gestione e Organizzazione dei Progetti A.A. 2008/9

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

2.2 Alberi di supporto di costo ottimo

Introduzione ai grafi. Introduzione ai grafi p. 1/2

La Gestione dei Progetti (Project Management): fasi, organizzazione, strumenti e tecniche

Introduzione ai grafi. Introduzione ai grafi p. 1/2

Algoritmi e Strutture Dati

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I

2.3.4 Pianificazione di progetti

Problema dell albero di cammini minimi (SPT, Shortest Path Tree) o problema dei cammini minimi :

Tecniche reticolari di programmazione delle attività

5.1 Metodo Branch and Bound

Problema del cammino minimo

Fondamenti teorici e programmazione

5.3 Metodo dei piani di taglio

1. Considerazioni generali

Programmazione Matematica: III.1 - Programmazione Lineare

Algoritmo basato su cancellazione di cicli

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

Diagrammi di Gantt & reticolare

Gestione della produzione e della supply chain Logistica distributiva

2.2 Alberi di supporto di costo ottimo

Flusso a Costo Minimo

Esercizi proposti nel Cap Soluzioni. Esercizio 14.1

Teoria dei Grafi Elementi di base della Teoria dei Grafi

Teoria della Complessità Computazionale

2.2 Alberi di supporto di costo ottimo

algoritmi e strutture di dati

Sviluppo e Gestione dei Progetti. docente: Prof. Filippo Ghiraldo f.ghiraldo@bep.co.it

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

Sviluppo e Gestione di Progetti

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

Progettazione di algoritmi. Reti di flusso (2)

IL PROCESSO TECNICO DI SCHEDULAZIONE: TEMPI E COSTI DI UN PROJECT LABORATORIO INTEGRATO DI COSTRUZIONE E PRODUZIONE LEZIONE 4

Grafi diretti. Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove. V è u n i n s i e m e d i nodi (o vertici);

PROVE D'ESAME 1994/95

Algoritmi e Strutture Dati. Capitolo 11 Grafi e visite di grafi

Problema di flusso massimo

Il Project management. Lo sviluppo di attività complesse in un ottica di progetto

GRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi!

Esempi. non. orientato. orientato

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

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

Makespan con set-up dipendenti dalla sequenza. 1/s jk /C max

La stime dei tempi di progetto

Il tempo. Il tempo è denaro. tecniche reticolari per la programmazione dei tempi -PERT - Benjamin Franklin. Program Evaluation and Review Technique

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

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

Grafi: ordinamento topologico

Problema del Job Shop

Esercizi sull'ottimizzazione combinatoria

DIPARTIMENTO DI INGEGNERIA IMPIANTI INDUSTRIALI. Andrea Chiarini Andrea Chiarini 1

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

CASE STUDY 2. Fabbricazione dell acciaio. Un problema di pianificazione: Minimizzazione dei costi di carica del forno. Dati. Formulazione del problema

Modelli dei Sistemi di Produzione Modelli e Algoritmi della Logistica

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente

Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi D1_2 V3.

Problemi di Ottimizzazione

Il tempo è denaro Benjamin Franklin

Transcript:

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 di attività A i aventi durata d i ( i=1,,n ) insieme di relazioni di precedenza tra attività: Es. A i = scavo fondamenta,, A j = costruzione struttura A i p A j A j non può iniz. prima del termine di A i Problema: determinare l istante di inizio di ogni attività in modo che la durata totale del progetto (makespan) sia minima PRO.2

Tecniche PERT-CPM Se risorse infinite probl. facile (polinomiale) CPM = Critical Path Method (durate deterministiche) PERT = Program Evaluation and Review Technique (durate aleatorie) Stesse basi concettuali Esistono numerose varianti (gen. NP): richiesta di risorse (scarse) associate alle attività durate dipendenti dall assegnazione di risorsa PRO.3

Rappresentazione del progetto Paradigma Activity on Arcs (AOA), Activity Network: Progetto un grafo orientato pesato aciclico (rete): archi A h = (v i, v j ) rappresentano attività non interrompibili vertici rappresentano fine o inizio di attività pesi d(v i, v j ) sono la durata dell attività (v i, v j ) il grafo rappresenta relazioni di precedenza: A i p A j evento finale di A i evento iniziale di A j cammino contenente A i prima di A j PRO.4

attività fittizie archi di durata nulla usati per imporre relazioni di precedenza Es. { A, B, C, D, E } B D A p D A p E B p D C p E A C E PRO.5

Activity Network: assunzioni un attività non può essere interrotta un evento ha durata nulla nessuna attività uscente da un evento v i può essere iniziata prima che siano terminate tutte le attività entranti in v i il grafo deve essere aciclico: C A B A p B, B p C, C p A impossibile!!! PRO.6

Esempio costruzione rete (1) Progetto: { A, B, C, D, E } A p B, A p C, C p D, B p E, C p E B E A C D PRO.7

Esempio Progetto: { A, B, C, D, E } A p B, A p C, C p D, B p E, C p E A B E C D PRO.8

Precedence Network Rappresentazione alternativa: Paradigma Activity on Nodes (AON), Precedence Network: vertici A i = v i rappresentano attività pesi d(v i ) sono la durata dell attività v i archi (v i, v j ) relazioni di precedenza le due rappresentazioni sono equivalenti PRO.9

Precedence Network: Esempio Progetto: { A, B, C, D, E } A p B, A p C, C p D, B p E B E A C D PRO.1

Activity Network: convenzioni (1) Il grafo non può contenere archi multipli B B A A PRO.11

Activity Network: convenzioni (2) Il grafo deve avere un solo vertice iniziale (semigrado entrante nullo) B D A C E PRO.12

Activity Network: convenzioni (3) Il grafo deve avere un solo vertice finale (semigrado uscente nullo) B D A C E PRO.13

Numerazione dei vertici I vertici devono essere numerati in modo che: arco (v i, v j ) A, si abbia i < j Sempre possibile il grafo è aciclico Algoritmo: cerca un vertice senza archi entranti etichetta il vertice con il prossimo indice rimuovi gli archi uscenti PRO.14

Procedure NUMBER begin aggiungi a G i vertici fittizi v e v n+1 e gli archi relativi; B := A; k := ; while k n+1 do { Γ - e Γ + sono relativi al grafo (V,B) } scegli vertice v V : Γ - (v) = ; attribuisci a v il numero k; B := B \{(v, v i ) : v i Γ + (v) }; k := k+1; end end. PRO.15

Esempio v 3 B D v 4 v 8 A v v 1 v 2 v 9 v 5 C E v 6 v 7 PRO.16

Definizione della rete Per ogni attività bisogna stabilire: quali attività devono precederla quali attività devono seguirla P = { A,B,C,D,E,F,G } A p B, A p C, B p D, B p E, C p D, C p E, C p F, D p G, E p G, F p G pred succ A - B, C B A D, E C A D, E, F D B, C G E B, C G F C G G D,E,F - PRO.17

Esempio costruzione rete (1) P = { A,B,C,D,E,F,G } A p B, A p C, B p D, B p E, C p D, C p E, C p F, D p G, E p G, F p G B D A E G C F PRO.18

Esempio costruzione rete (2) A p B, A p C, B p D, B p E, C p D, C p E, C p F, D p G, E p G, F p G B D A E G C F PRO.19

Esempio costruzione rete (3) A p B, A p C, B p D, B p E, C p D, C p E, C p F, D p G, E p G, F p G B D A E G C F PRO.2

Esempio costruzione rete (4) A p B, A p C, B p D, B p E, C p D, C p E, C p F, D p G, E p G, F p G B D A E G C F PRO.21

Esempio costruzione rete (5) A p B, A p C, B p D, B p E, C p D, C p E, C p F, D p G, E p G, F p G D A B E C F G PRO.22

Esempio costruzione rete (6) A p B, A p C, B p D, B p E, C p D, C p E, C p F, D p G, E p G, F p G v 1 A v 2 B P A, B, C, D, E, F, G v 4 { } D E v 5 v 8 v C v 3 F v 6 G v 7 PRO.23

Critical Path Method Cammino: sequenza di attività non sovrapponibili Makespan lunghezza di ogni cammino da v a v n+1 D,7 v 4 v 8 A,7 v v 1 v 2 v 9 v 3 B,5 v 5 C,8 E,4 v 6 v 7 PRO.24

Critical Path Method (2) Makespan = lunghezza del cammino più lungo (LPP) dall evento iniziale al finale LPP : algoritmo polinomiale per grafici Per aciclici ogni evento v k, k =,, n+1 si determina: TMIN k = istante minimo in cui v k può accadere TMAX k = istante massimo in cui v k può accadere senza ritardare l istante di completamento del progetto (=TMIN n+1 ) PRO.25

Calcolo di TMIN TMIN k = istante minimo in cui v k può accadere dipende dagli eventi e le attività che lo precedono 5 v i 5 v j 7 TMIN := ; for k := 1 to n+1 do TMIN k := max i:(vi, v k ) A { TMIN i + d(v i, v k ) }; v k 7 PRO.26

Calcolo di TMAX TMAX k = istante massimo in cui v k può accadere senza ritardare il completamento del progetto dipende dagli eventi e le attività che lo seguono 5 5 v k v i 1 7 7 v j 14 TMAX n+1 := TMIN n+1 ; for k := n downto do TMAX k := min i:(vk, v i ) A { TMAX i - d(v k, v i ) }; PRO.27

Procedure CPM begin TMIN := ; for k := 1 to n+1 do TMIN k := max i:(vi, v k ) A { TMIN i + d(v i, v k ) }; TMAX n+1 := TMIN n+1 ; for k := n downto do TMAX k := min i:(vk, v i ) A { TMAX i - d(v k, v i ) }; end. PRO.28

Esempio procedure CPM begin TMIN := ; for k := 1 to n+1 do TMIN k := max i:(vi, v k ) A { TMIN i + d(v i, v k ) }; TMAX n+1 := TMIN n+1 ; for k := n downto do TMAX k := min i:(vk, v i ) A { TMAX i - d(v k, v i ) }; end. v 3 B,5 D,7 v 4 v 8 A,7 v v 1 v 2 v 9 v 5 C,8 E,4 v 6 v 7 PRO.29

Inizializzazione TMIN procedure CPM begin TMIN := ; for k := 1 to n+1 do TMIN k := max i:(vi, v k ) A { TMIN i + d(v i, v k ) }; TMAX n+1 := TMIN n+1 ; for k := n downto do TMAX k := min i:(vk, v i ) A { TMAX i - d(v k, v i ) }; end. v 3 B,5 D,7 v 4 v 8 A,7 v v 1 v 2 v 9 v 5 C,8 E,4 v 6 v 7 PRO.3

Calcolo dei TMIN procedure CPM begin TMIN := ; for k := 1 to n+1 do TMIN k := max i:(vi, v k ) A { TMIN i + d(v i, v k ) }; TMAX n+1 := TMIN n+1 ; for k := n downto do TMAX k := min i:(vk, v i ) A { TMAX i - d(v k, v i ) }; end. 7 14 B,5 D,7 v 3 v 4 v 8 14 A,7 v v 1 v 2 7 v 9 v 5 C,8 E,4 v 6 v 7 8 12 PRO.31

Inizializzazione TMAX procedure CPM begin TMIN := ; for k := 1 to n+1 do TMIN k := max i:(vi, v k ) A { TMIN i + d(v i, v k ) }; TMAX n+1 := TMIN n+1 ; for k := n downto do TMAX k := min i:(vk, v i ) A { TMAX i - d(v k, v i ) }; end. 7 14 B,5 D,7 v 3 v 4 v 8 14 A,7 v v 1 v 2 7 v 9 v 5 C,8 E,4 v 6 v 7 14 8 12 PRO.32

Calcolo dei TMAX procedure CPM begin TMIN := ; for k := 1 to n+1 do TMIN k := max i:(vi, v k ) A { TMIN i + d(v i, v k ) }; TMAX n+1 := TMIN n+1 ; for k := n downto do TMAX k := min i:(vk, v i ) A { TMAX i - d(v k, v i ) }; end. 2 7 7 14 14 B,5 D,7 v 3 v 4 v 8 14 A,7 v v 1 v 2 7 7 v 9 v 5 C,8 E,4 v 6 v 7 14 2 8 1 12 14 PRO.33

Informazioni caratteristiche v i v j d ij Attività A h = (v i, v j ) = A ij Early Start Time: EST (A h )= TMIN i Late Start Time: LST (A h ) = TMAX j - d(v i, v j ) Float (slittamento): S (A h ) = LST (A h )-EST (A h ) Attività critica = A h : LST (A h )= EST (A h ) Cammino critico = cammino da v a v n+1 formato da sole attività critiche PRO.34

Informazioni caratteristiche Att. v i v j EST(v i, v j ) LST(v i, v j ) S(v i, v j ) A 1 2 B 3 4 2 2 C 5 6 2 2 D 4 8 7 7 E 6 7 8 1 2 Attività critiche 2 7 7 14 14 B,5 D,7 v 3 v 4 v 8 Cammino critico: { v, v 1, v 2, v 4, v 8, v 9 } 14 A,7 v v 1 v 2 7 7 v 9 v 5 C,8 E,4 v 6 v 7 14 2 8 1 12 14 PRO.35

Diagramma di Gantt La soluzione può essere rappresentata con il diagramma di Gantt C E B A D 1 2 3 4 5 6 7 8 9 1 11 12 13 14 PRO.36

Soluzione del problema B A C D E v 3 B,5 D,7 v 4 v 8 A,7 v v 1 v 2 v 9 v 5 C,8 E,4 v 6 v 7 2 7 7 14 14 B,5 D,7 v 3 v 4 v 8 14 14 A,7 v v 1 v 2 7 7 v 9 v 5 C,8 2 8 1 E,4 v 6 v 7 12 14 Att. i j EST(v i, v j ) LST(v i, v j ) S(v i, v j ) A 1 2 B 3 4 2 2 C 5 6 2 2 D 4 8 7 7 E 6 7 8 1 2 B A C E 1 2 3 4 5 6 7 8 9 1 11 12 13 14 D Grafo Numeraz. vertici Makespan Informaz. Gantt PRO.37

Costruzione di una casa (1) AScavo fondamenta B Costruzione struttura CConnessione tubature D Tubi acqua e riscaldamento E Posa cavi F Pavimenti e scarichi G Muri interni H Tetto e grondaie I J Finiture interne Pittura esterna K Pulizia finale PRO.38

Costruzione di una casa (2) Attività Descrizione Durata (gg) Predecessori A Scavo fondamenta 4 - B Costruzione struttura 12 A C Connessione tubature 3 A D Tubi acqua e riscaldamento 6 B E Posa cavi 4 B F Pavimenti e scarichi 3 B,C G Muri interni 3 D H Tetto e grondaie 2 E,F I Finiture interne 5 G J Pittura esterna 3 H K Pulizia finale 1 I,J PRO.39

Costruzione di una casa (3) v 3 D,6 v 5 G,3 v 7 B,12 I,5 A,4 v 1 v 2 E,4 v 9 K,1 v 1 C,3 J,3 v 4 v 6 v F,3 H,2 v 11 v 8 PRO.4

Soluzione 16 16 22 22 25 25 D,6 G,3 v 3 v 5 v 7 B,12 A,4 v 1 v 2 4 4 E,4 3 3 I,5 31 31 K,1 v 9 v 1 C,3 J,3 16 v 4 22 v 6 F,3 H,2 2 25 22 v 8 27 PRO.41

Realizzazione prodotto Z Z si ottiene assemblando X ed Y realizzati in due reparti diversi prima dell inizio della produzione: acquisto materie prime addestramento del personale (diverso per X e Y) prima dell assemblaggio i prodotti Y sono ispezionati i prodotti Z sono collaudati e poi stoccati in aree preventivamente predisposte la predisposizione delle aree non puo precedere l inizio dell assemblaggio di Z PRO.42

Realizzazione prodotto Z (2) Attività Durata Pred. A) Acquisto materie prime 9 --- B) Addestramento rep. X 1 --- C) Addestramento rep. Y 5 --- D) Realizzazione parte X 8 A,B E) Realizzazione parte Y 7 A,C F) Ispezione parte Y 4 E G) Assemblaggio 6 D,F H) Collaudo prodotto 5 G I) Predisposizione stoccaggio 8 D,F L) Stoccaggio 2 H,I PRO.43

Realizzazione Prodotto Z (3) Attività Durata Pred. A) 9 --- B) 1 --- C) 5 --- D) 8 A,B E) 7 A,C F) 4 E G) 6 D,F H) 5 G I) 8 D,F L) 2 H,I B,1 v 3 A,9 v 1 v 2 D,8 F,4 v 6 G,6 I,5 v 7 v 8 H,5 C,5 L,2 v 4 E,7 v 5 v 9 PRO.44

Realizzazione Prodotto Z (4) 1 v 3 12 D,8 2 2 26 26 v 6 G,6 v 7 B,1 A,9 v 1 v 2 F,4 I,5 v 8 H,5 31 31 C,5 9 9 L,2 v 4 E,7 v 5 v 9 33 33 9 9 16 16 PRO.45

Modello matematico CPM t i = istante in cui si verifica l evento i min t n t j -t i d ij (v i,v j ) A t i i = 1,, n modello continuo PRO.46

CPM Tempi-Costi In alcuni casi la durata di una attività può essere diminuita utilizzando maggiori risorse maggiori risorse maggiori costi costo c A d N,c N d A,c A durata e costo Normali durata e costo Accelerati c N d A d N tempo PRO.47

Costo di accelerazione c A c N d A d N c ij = (c ija -c ijn ) (d ija -d ijn ) PRO.48

Modello CPM Tempi-Costi t i = istante in cui si verifica l evento i y ij = riduzione della durata dell attività (i,j) A T = durata desiderata del progetto min Σ (i,j) A ( c ijn + c ij y ij ) (v i,v j ) A t n T t j -t i d ijn -y ij (v i,v j ) A y ij d ijn -d A ij t i i = 1,, n PRO.49