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

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

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

Operations Management

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

Ottimizzazione nella gestione dei progetti

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

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

Problema del trasporto

IL PROJECT MANAGEMENT COME FATTORE DI SUCCESSO, CULTURA E PROFESSIONE. incontro 18 set a parte

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

MASTER GESTIONE DEI SERVIZI PORTUALI

Le attività di project management 2

Ingegneria del Software

Corso di elettrotecnica Materiale didattico: i grafi

Diagrammi di Gantt & reticolare

Gestione dei Progetti ( )

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

Esercizi e complementi di Ottimizzazione nella Gestione dei Progetti

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa

Modelli dei Sistemi di Produzione Modelli e Algoritmi della Logistica

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013

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

Work Breakdown Structure Diagramma di Gantt PERT/CPM

IV. TEMPI E RISORSE: STRUMENTI DI PIANIFICAZIONE E CONTROLLO

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

Soluzioni degli esercizi di formulazione di PL{0, 1}

Progetto sito web Gigli Elisa

Tecniche reticolari di programmazione delle attività

Problemi di Flusso: Il modello del Trasporto

CORSO DI ECONOMIA E AMMINISTRAZIONE AZIENDALE ORGANIZZAZIONE E PERSONALE

Calcolo del percorso critico. Tiziano Villa, PMP CMC PMLAB 2012

Parte 3: Gestione dei progetti, Shop scheduling

1. Classificazione delle risorse

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

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

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

Introduzione al Project Management. GPO Zangoli Maria

Progettazione della mesostruttura: la specializzazione orizzontale (parte prima)

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

I.4 Rappresentazione dell informazione

LA PIANIFICAZIONE DEI PROGETTI

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 20 giugno 2014

Pianificazione e gestione di progetto. Adozione di tecniche e metodologie usate anche in settori diversi dalla progettazione sw

Risoluzione di problemi di programmazione lineare tramite generazione di colonne

PROBLEMI ALGORITMI E PROGRAMMAZIONE

Il BIM per la gestione della commessa. Ing. Antonio Ianniello

Corso di Calcolo Numerico

Possibile applicazione

Le attività di project management

ELEMENTI BASE DI PROGETTAZIONE

Esercizi per il corso di. Logistica I. a.a Daniela Favaretto. Dipartimento di Matematica Applicata Università Ca Foscari di Venezia

Il problema del commesso viaggiatore

11.4 Chiusura transitiva

Claudio Arbib Università di L Aquila. Ricerca Operativa. Reti di flusso

La formalizzazione di Mintzberg

Esecuzione concorrente di transazioni

Prof. Federico Butera Professore Ordinario, Università di Milano Bicocca

Metodi & Modelli per le Scelte Economiche

AUTOMA A STATI FINITI

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Prova in itinere di Metodi di Ottimizzazione AA 2007/2008: compito A

Esame di Ricerca Operativa del 16/06/2015

DIPARTIMENTO DI INGEGNERIA IMPIANTI INDUSTRIALI. Andrea Chiarini Andrea Chiarini 1

PERT e CPM Cenni storici

Cammini minimi fra tutte le coppie

Branch-and-bound per KNAPSACK

Analisi interazione domanda/offerta: modelli di assegnazione

Strumenti per il Project Management

Progettazione di Algoritmi

COORDINAMENTO E GESTIONE DI PROGETTI COMPLESSI

5.3 Metodo dei piani di taglio

B1 LA PROGETTAZIONE. PROGRAMMA: gruppo di progetti con un obiettivo comune.

Le caratteristiche dell impresa. Fabrizio Bava Dipartimento di Economia Aziendale Università degli Studi di Torino 1

IL METODO DEL SIMPLESSO

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013

Parte V: Rilassamento Lagrangiano

Modelli e Metodi per la Simulazione (MMS)

EUROPEAN PROJECT MANAGEMENT QUALIFICATION - epmq. Fundamentals. Syllabus 1.5

Algoritmi e Strutture Dati

Modelli matematici e Data Mining

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down

PIANIFICAZIONE E PROGRAMMAZIONE DEI LAVORI

I costi di produzione

Soluzione dei Problemi di Programmazione Lineare

Coverage. Visto che il coverage si basa su aree dell ambiente che vengono monitorate non è

RICERCA OPERATIVA. Tema d esame del 04/03/2008 (Simulazione)

LA GESTIONE PROFESSIONALE DELLE RELAZIONI DI RUOLO

CAPITOLO 3: STIMA DI RISORSE E DURATA DELLE ATTIVITÀ

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

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

ISIPM Base. Project Management epmq: Project Management Fundamentals (ISIPM Base)

Esame di Ricerca Operativa del 15/01/2015

Pianificazione e gestione dei progetti Tecniche reticolari e PERT

i completi l'esecuzione dell'algoritmo di programmazione dinamica per questo problema restituendo il valore ottimo e una soluzione ottima del problema

Appendice A: un esempio di scelta del mix ottimo di produzione in presenza di vincoli 19

30/09/2015. Corso di Project Management, Gestione OO.PP e Cantiere - C of. Renato G. Laganà IL PROJECT MANAGER L UTENTE. Prof. arch.

Problemi, istanze, soluzioni

Modelli di programmazione lineare. Il metodo grafico è basato su linearità della funzione obiettivo linearità dei vincoli

COLLEGIO DEI PERITI AGRARI E DEI PERITI AGRARI LAUREATI DELLA PROVINCIA DI SALERNO

Organizzazione della produzione

Transcript:

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 insieme di applicazioni nell'ambito dei sistemi di produzione e di servizio. Un progetto è un iniziativa temporanea intrapresa per creare un prodotto o un servizio con caratteristiche di unicità * Un progetto è costituito da un insieme di attività elementari correlate. * PMI (Project Management Institute), un associazione che riunisce oggi circa 200.000 professionisti del project management.

Gestione di Progetti complessi Modelli di organizzazione aziendale Organizzazione funzionale L organizzazione aziendale classica è di tipo funzionale, con precise gerarchie ed esplicite relazioni di subordinazione tra i dipendenti e divisione in reparti: progettazione, produzione, ricerca e sviluppo, marketing etc. La forte strutturazione delle funzioni dà luogo a un ambiente estremamente stabile. Un organizzazione funzionale è efficace in un mercato relativamente stazionario, sia per tipologia che per volume di prodotti. La rigidità dell organizzazione è compensata dall efficienza con cui i processi aziendali possono essere condotti.

Gestione di Progetti complessi I principi che hanno ispirato l organizzazione funzionale sono oggi messi in discussione: Sfide poste dal rapidissimo tasso di innovazione delle tecnologie con processi continui di ri-segmentazione dei mercati su scala regionale e globale. Esigenza crescente dei clienti che richiedono sempre più soluzioni personalizzate e su misura. Nasce quindi la necessità di garantire rapide risposte alle richieste del cliente e di continui cambiamenti/aggiornamenti nella natura del servizio fornito.

Gestione di Progetti complessi Organizzazione orientata ai progetti Una risposta delle aziende è stato quella di proporre strutture organizzative (i project team) che nascono con lo scopo di compiere una missione specifica, che includono diversi soggetti, con competenze e funzioni diverse.

Gestione di Progetti complessi Organizzazione orientata ai progetti In una organizzazione orientata ai progetti gran parte delle risorse dell organizzazione sono impegnate su progetti I project manager (non necessariamente appartenenti all azienda) hanno ampia autonomia e autorità sui membri del proprio team. Anche in queste organizzazioni esistono le funzioni, ma i componenti in genere dipendono dai rispettivi project manager, o svolgono funzioni di supporto comuni ai vari progetti.

Gestione di Progetti complessi I processi di coordinamento che hanno luogo durante tutto lo svolgimento del progetto, e che costituiscono i compiti del team di progetto sono di tre tipi: Processi di Pianificazione Processi di Esecuzione Processi di Controllo

Gestione di Progetti complessi Pianificazione: vengono definiti i maggiori obiettivi del progetto, le attività elementari, le risorse richieste, il tipo di organizzazione da attuare e le persone che controlleranno e realizzeranno il progetto. (gestione rischi, costi, pianificazione temporale delle attività). Esecuzione: riguardano propriamente l esecuzione delle attività previste dal progetto. Fanno parte dei processi esecutivi anche i processi per il supporto che il team dà all esecuzione materiale del progetto: valutazione della qualità dell output del progetto; adozione di tecniche per migliorare lo spirito di gruppo ; circolazione delle informazioni all interno del team.

Gestione di Progetti complessi Controllo: monitoraggio di ogni attività al procedere del lavoro. Questo monitoraggio riguarda il tempo, la qualità ed il costo in accordo con il piano di realizzazione del progetto.

Gestione di Progetti complessi Pianificazione La pianificazione dell ambito del progetto: definizione in dettaglio di tutto ciò che deve far parte della missione del progetto suddivisione del progetto in un numero di attività elementari.

Gestione di Progetti complessi Pianificazione La pianificazione dell ambito del progetto: definizione in dettaglio di tutto ciò che deve far parte della missione del progetto suddivisione del progetto in un numero di attività elementari. Per individuare le attività si utilizza un procedimento top down il cui risultato è la Work Breakdown Structure (WBS ): Si parte dal livello più alto suddividendo il task complessivo in alcune macro-attività; ciascuna macro-attività viene esplosa in un certo numero di task componenti, i task sono esplosi in rispettivi sottocomponenti... e così via fino al livello di dettaglio desiderato.

Gestione di Progetti complessi Pianificazione Pianificazione della gestione dei rischi Il rischio è qualsiasi evento imprevisto che può avere un impatto sullo svolgimento del progetto. Il termine risk management indica tutto quello che riguarda le azioni intraprese per far fronte a possibili imprevisti nell andamento del progetto.

Gestione di Progetti complessi Pianificazione Pianificazione della gestione dei rischi Rischi tecnici: cambiamento rispetto a standard consolidati in corso d opera, come, ad es., prefissarsi obiettivi irrealistici. Rischi gestionali: adozione di procedure di management non ottimizzate. Ad es., adozione di schedule troppo vincolati o costosi, che non tengono in conto la limitatezza delle risorse disponibili. Rischi organizzativi: rischi che derivano dall ambiente organizzativo. Ad es., la possibilità di improvvise interruzioni nel finanziamento del progetto, conflitti con altri progetti aventi componenti del project team in comune. Rischi esterni: legati a fattori che non sono sotto il controllo del project team. Ad es., cambiamenti nella legislazione.

Gestione di Progetti complessi Pianificazione Pianificazione delle attività elementari Ad ogni attività di un progetto sono associati di norma: 1. la durata (deterministica o aleatoria); 2. le risorse necessarie alla sua esecuzione; 3. il costo; 4. le precedenze rispetto ad altre attività; 5. I vincoli temporali sulla data d inizio e di fine dell attività.

Gestione di Progetti complessi Pianificazione temporale delle attività elementari Riuscire a prevedere in modo accurato la durata di ogni attività di un progetto è un compito, in generale, difficile, a causa delle incertezze e degli imprevisti che si avranno durante l esecuzione del progetto.

Pianificazione Pianificazione dei costi Gestione di Progetti complessi Un aspetto cruciale del ruolo del project manager è quello di pianificare e tenere sotto controllo i costi del progetto Costi di realizzazione associati alle singole attività Costi iniziali: connessi all analisi delle richieste del committente e alla preparazione del piano preliminare Costi di gestione e controllo: relativi a definire il piano esecutivo, rivedere i requisiti, organizzare riunioni, scrivere report Costi di coordinamento: tempo dedicato alle varie attività di coordinamento (e.g. riunioni periodiche, missioni etc).

Gestione di Progetti complessi Nella Gestione di Progetti possono essere impiegate le cosiddette tecniche reticolari, che prevedono una rappresentazione del progetto su grafo orientato secondo due distinte modalità: attività sui nodi o attività sugli archi. Le tecniche reticolari si sono sviluppate a partire dal 1958 risultando particolarmente efficienti. Le più rilevanti sono: Program Evaluation and Review Technique (PERT) e Critical Path Method (CPM).

Gestione di Progetti complessi Il PERT (Project Evaluation and Review Technique) si utilizza quando l aleatorietà nella durata delle attività è elevata: si assume che le durate delle attività siano variabili aleatorie tra loro indipendenti (con varianze e valori attesi facilmente calcolabili). Il Critical Path Method (CPM) può invece essere impiegato quando l aleatorietà nella durata delle attività non è elevata.

Gestione di Progetti complessi il modello del Critical Path Method (CPM) Consideriamo il caso più semplice in cui: l aleatorietà nella durata delle attività non è elevata non esiste alcun vincolo legato alla disponibilità di risorse, e i vincoli di precedenza tra attività sono di tipo finish-start (cioè, un attività può iniziare se sono terminate le attività che la precedono). l obiettivo è minimizzare il tempo di completamento del progetto (noto come makespan).

Gestione di Progetti complessi Tecniche reticolari di modellazione: Activity-on-Arc (AoA): gli archi rappresentano le attività mentre i nodi esprimono i vincoli di precedenza. In particolare, i nodi corrispondono a eventi, quali il completamento di alcune attività (quelle corrispondenti ad archi entranti nel nodo) e l inizio di altre (quelle uscenti): l attività (i, j) non potrà iniziare prima che siano terminate le attività entranti nel nodo i, mentre nessuna attività uscente dal nodo j può iniziare prima che sia terminata (i,j) (e le altre attività entranti in j).

Gestione di Progetti complessi Tecniche reticolari di modellazione: Activity-on-Arc (AoA): gli archi rappresentano le attività mentre i nodi esprimono i vincoli di precedenza. In particolare, i nodi corrispondono a eventi, quali il completamento di alcune attività (quelle corrispondenti ad archi entranti nel nodo) e l inizio di altre (quelle uscenti): l attività (i, j) non potrà iniziare prima che siano terminate le attività entranti nel nodo i, mentre nessuna attività uscente dal nodo j può iniziare prima che sia terminata (i,j) (e le altre attività entranti in j). Activity-on-Node (AoN): i nodi rappresentano le attività, gli archi rappresentano le precedenze. Un arco da i a j indica che l attività j non può iniziare prima che i sia terminata.

Gestione di Progetti complessi: il modello del CPM con attività sugli archi Per modellare il problema di gestione di un progetto come un problema su grafo con attività sugli archi (AoA) è necessario: (identificare tutte le attività del progetto;) associare ad ogni attività un arco, i cui nodi estremi rappresentano l inizio ed il termine dell attività in questione; per ogni attività occorre conoscere le precedenze ossia quali attività devono essere completate prima di poter iniziare l attività in esame; modellare le precedenze attraverso archi (fittizi);

(segue) inserire un nodo fittizio (contrassegnato con 0,1 o s) che rappresenti l inizio del progetto; numerare tutti gli altri nodi in modo tale che se esiste un arco diretto dal nodo i al nodo j risulti i < j (numerazione topologica); inserire un nodo che rappresenti la fine del progetto; contrarre archi fittizi se ciò non crea precedenze inesistenti.

Gestione di Progetti complessi: il modello del CPM con attività sui nodi Rappresentazione con la tecnica attività sui nodi (AoN): i nodi modellano le attività del progetto; gli archi rappresentano le relazioni di precedenza tra le attività; gli unici nodi fittizi che può essere necessario aggiungere sono quelli di inizio e fine progetto. Concettualmente la rappresentazione AoN è in generale più semplice di quella AoA, soprattutto perché non c è bisogno di introdurre attività fittizie. La rappresentazione AoA è spesso più compatta, e questo può essere utile soprattutto ai fini della comunicazione interna del project team.

Un problema di Gestione di un progetto Descrizione del problema Un azienda vuole lanciare un nuovo prodotto sul mercato. Per il lancio del prodotto sono necessarie una serie di attività preliminari di preparazione, ed un attività di produzione che consiste nell assemblaggio di due diversi componenti. Dati In tabella sono riportate le attività che devono essere eseguite per lanciare il nuovo prodotto sul mercato. Attività Predecessori Durata (giorni) A (Formazione Operai) - 6 B (Acquisizione Materie Prime) - 9 C (Produzione componente 1) A, B 8 D (Produzione componente 2) A, B 7 E (Controllo componente 2) D 10 F (Produzione prodotto finito) C, E 12 Obiettivo Determinare uno schedule delle attività in modo tale che il progetto abbia durata minima.

Grafo delle attività (attività sugli archi) 1 A, 6 3 0 2 B, 9 4 Attività fittizie di durata nulla Attività Predecessori Durata (giorni) A (Formazione Operai) - 6 B (Acquisizione Materie Prime) - 9 C (Produzione componente 1) A, B 8 D (Produzione componente 2) A, B 7 E (Controllo componente 2) D 10 F (Produzione prodotto finito) C, E 12

Grafo delle attività (attività sugli archi) 1 A, 6 3 5 C, 8 6 0 2 B, 9 4 7 D, 7 8 A (Formazione Operai) - 6 B (Acquisizione Materie Prime) - 9 C (Produzione componente 1) A, B 8 D (Produzione componente 2) A, B 7 E (Controllo componente 2) D 10 F (Produzione prodotto finito) C, E 12

Grafo delle attività (attività sugli archi) 1 A, 6 3 5 C, 8 6 0 2 B, 9 4 7 D, 7 8 Attività fittizie di durata nulla A (Formazione Operai) - 6 B (Acquisizione Materie Prime) - 9 C (Produzione componente 1) A, B 8 D (Produzione componente 2) A, B 7 E (Controllo componente 2) D 10 F (Produzione prodotto finito) C, E 12

Grafo delle attività (attività sugli archi) 0 1 2 A, 6 B, 9 3 C, 8 D, 7 5 4 Contrazione delle attività fittizie A (Formazione Operai) - 6 B (Acquisizione Materie Prime) - 9 C (Produzione componente 1) A, B 8 D (Produzione componente 2) A, B 7 E (Controllo componente 2) D 10 F (Produzione prodotto finito) C, E 12

Grafo delle attività (attività sugli archi) 0 1 2 A, 6 B, 9 3 C, 8 D, 7 5 4 E, 10 6 F, 12 7 8 Attività fittizie di durata nulla A (Formazione Operai) - 6 B (Acquisizione Materie Prime) - 9 C (Produzione componente 1) A, B 8 D (Produzione componente 2) A, B 7 E (Controllo componente 2) D 10 F (Produzione prodotto finito) C, E 12

Grafo delle attività (attività sugli archi) 0 1 2 A, 6 B, 9 3 C, 8 D, 7 5 4 F, 12 E, 10 6 Contrazione delle attività fittizie A (Formazione Operai) - 6 B (Acquisizione Materie Prime) - 9 C (Produzione componente 1) A, B 8 D (Produzione componente 2) A, B 7 E (Controllo componente 2) D 10 F (Produzione prodotto finito) C, E 12

Grafo delle attività (attività sugli archi) 0 1 2 A, 6 B, 9 3 C, 8 D, 7 5 4 F, 12 E, 10 6 I nodi sono numerati in modo topologico.

Grafo delle attività (attività sugli archi) 0 1 2 A, 6 B, 9 3 C, 8 D, 7 5 4 F, 12 E, 10 6 Un attività è detta critica se l aumento della durata dell attività crea un aumento della durata complessiva del progetto Un cammino critico è un cammino dal nodo iniziale al nodo finale composto solo da attività critiche. Le attività critiche rappresentano il collo di bottiglia del progetto.

Calcolo del tempo di completamento minimo del progetto 0 1 2 A, 6 B, 9 3 C, 8 D, 7 5 4 F, 12 E, 10 6 Il tempo di completamento minimo del progetto (makespan) è pari al minimo valore della differenza tra l istante (di fine) associato al nodo finale che rappresenta la conclusione del progetto e l istante (di inizio) associato al nodo iniziale E possibile mostrare che il tempo minimo di esecuzione di un progetto corrisponde al cammino di lunghezza massima dal nodo iniziale al nodo finale Un cammino di lunghezza massima è ovviamente un cammino critico

Grafo delle attività (attività sui nodi) A, 6 1 0 precedenze 2 B, 9 Nodi 1 2 3 4 5 6 Attività Predecessori Durata (giorni) A (Formazione Operai) - 6 B (Acquisizione Materie Prime) - 9 C (Produzione componente 1) A, B 8 D (Produzione componente 2) A, B 7 E (Controllo componente 2) D 10 F (Produzione prodotto finito) C, E 12

Grafo delle attività (attività sui nodi) A, 6 1 C, 8 0 3 2 B, 9 precedenze Nodi 1 2 3 4 5 6 Attività Predecessori Durata (giorni) A (Formazione Operai) - 6 B (Acquisizione Materie Prime) - 9 C (Produzione componente 1) A, B 8 D (Produzione componente 2) A, B 7 E (Controllo componente 2) D 10 F (Produzione prodotto finito) C, E 12

Grafo delle attività (attività sui nodi) A, 6 1 C, 8 0 3 2 B, 9 D, 7 4 Nodi 1 2 3 4 5 6 Attività Predecessori Durata (giorni) A (Formazione Operai) - 6 B (Acquisizione Materie Prime) - 9 C (Produzione componente 1) A, B 8 D (Produzione componente 2) A, B 7 E (Controllo componente 2) D 10 F (Produzione prodotto finito) C, E 12

Grafo delle attività (attività sui nodi) A, 6 1 C, 8 0 3 2 B, 9 D, 7 4 E, 10 5 Nodi 1 2 3 4 5 6 Attività Predecessori Durata (giorni) A (Formazione Operai) - 6 B (Acquisizione Materie Prime) - 9 C (Produzione componente 1) A, B 8 D (Produzione componente 2) A, B 7 E (Controllo componente 2) D 10 F (Produzione prodotto finito) C, E 12

Grafo delle attività (attività sui nodi) A, 6 1 C, 8 0 2 B, 9 3 D, 7 4 E, 10 5 F, 12 6 Nodi 1 2 3 4 5 6 Attività Predecessori Durata (giorni) A (Formazione Operai) - 6 B (Acquisizione Materie Prime) - 9 C (Produzione componente 1) A, B 8 D (Produzione componente 2) A, B 7 E (Controllo componente 2) D 10 F (Produzione prodotto finito) C, E 12

Grafo delle attività (attività sui nodi) A, 6 1 C, 8 0 2 B, 9 3 D, 7 4 E, 10 5 F, 12 6 I nodi sono numerati in modo topologico.

Grafo delle attività (attività sui nodi) A, 6 1 C, 8 0 2 B, 9 3 D, 7 4 E, 10 5 F, 12 6 Il tempo di completamento minimo del progetto (makespan) è pari al minimo valore della differenza tra l istante di inizio dell attività conclusiva, più la durata di tale attività, e l istante di inizio dell attività iniziale (siano tali attività fittizie o reali) Un attività è detta critica se l aumento della durata dell attività crea un aumento della durata complessiva del progetto E possibile mostrare che il tempo minimo di esecuzione di un progetto corrisponde al cammino di lunghezza massima (o critico) dal nodo iniziale al nodo finale

Calcolo del cammino critico e delle attività critiche: Una formulazione di PL Grafo delle attività sugli archi (AoA) Definizione delle variabili: h i istante di tempo associato al nodo i del grafo delle attività (pari al tempo in cui tutte le attività con nodo di fine i possono terminare, o, equivalentemente, pari al tempo in cui tutte le attività con nodo di inizio i possono iniziare) Vincoli sulla durata delle attività: Dati l attività a, l arco (i,j) ad essa associato e la relativa durata c ij si ha: h h + j i c ij

Funzione obiettivo: minh f h 0 Lower bound sulle variabili: h i 0

Calcolo del cammino critico e delle attività critiche: Una formulazione di PL (attività sugli archi) minh 6 h 0 h 1 h 0 h 2 h 0 h 3 h 1 + 6 h 3 h 2 + 9 h 5 h 3 + 8 h 4 h 3 + 7 0 1 2 A, 6 B, 9 3 C, 8 D, 7 5 4 F, 12 E, 10 6 h 5 h 4 +10 h 6 h 5 +12 h i 0 i = 0,...,6

Calcolo del cammino critico e delle attività critiche: Una formulazione di PL Grafo delle attività sui nodi (AoN) Definizione delle variabili: s i istante di inizio dell attività associata al nodo i del grafo delle attività Vincoli sulla durata delle attività: Per ogni arco (precedenza) (i,j) sul grafo delle attività si ha: s i + d i s j

Funzione obiettivo: mins f (+d f ) s 0 Lower bound sulle variabili: s i 0

Calcolo del cammino critico e delle attività critiche: Una formulazione di PL Grafo delle attività sui nodi (AoN) 0 A, 6 1 2 B, 9 C, 8 3 D, 7 4 E, 10 5 F, 12 6 mins 6 (+12) s 0 s 0 + 0 s 1 s 0 + 0 s 2 s 1 + 6 s 3 s 1 + 6 s 4 s 2 + 9 s 3 s 2 + 9 s 4 s 3 + 8 s 6 s 4 + 7 s 5 s 5 +10 s 6 s i 0 i = 1,...,6

Calcolo del cammino critico e delle attività critiche: Il problema duale della formulazione di PL per il grafo con attività sui nodi Formulazione di PL per il grafo G=(V,A), V =n, con attività sui nodi, nodo iniziale 1 e nodo finale f=n: mins f s 1 = s n s 1 s j s i d i (i, j) A s i 0 i V Osservazione: I vincoli di non negatività possono essere eliminati. Se infatti esiste una soluzione ottima s* in cui K è il valore della variabile più negativa si può sempre considerare una nuova soluzione ottima: s =s*+k, con s i =s* i +K per ogni attività i. Infatti, si ha: s i 0 e s n s 1 =s* n -s 1 *

Calcolo del cammino critico e delle attività critiche: Il problema duale della formulazione di PL per il grafo con attività sui nodi Formulazione di PL per il grafo G=(V,A), V =n, con attività sui nodi, nodo iniziale 1 e nodo finale f=n: mins f s 1 = s n s 1 s j s i d i (i, j) A s i 0 i V Osservazione: I vincoli di non negatività possono essere eliminati. Se infatti esiste una soluzione ottima s* in cui K è il valore della variabile più negativa si può sempre considerare una nuova soluzione ottima: s =s*+k, con s i =s* i +K per ogni attività i. Infatti, si ha: s i 0 e s n s 1 =s* n -s 1 * La formulazione quindi diventa: mins n s 1 s j s i d i (i, j) A

Calcolo del cammino critico e delle attività critiche: Il problema duale della formulazione di PL per il grafo con attività sui nodi Formulazione di PL per il grafo con attività sui nodi: mins n s 1 s j s i d i (i, j) A Problema duale: Osservazione: Il problema duale ha tante variabili (non negative) quanti sono i vincoli (gli archi). I vincoli del duale sono tutti di uguaglianza perché le variabili del primale non sono vincolate in segno, e pari alle variabili del primale (i nodi). I termini noti dei vincoli del duale sono i coefficienti di costo delle variabili del primale.

Calcolo del cammino critico e delle attività critiche: Il problema duale della formulazione di PL per il grafo con attività sui nodi Formulazione di PL per il grafo con attività sui nodi: mins n s 1 s j s i d i (i, j) A x ij Problema duale: Osservazione: Il problema duale ha tante variabili (non negative) quanti sono i vincoli (gli archi). I vincoli del duale sono tutti di uguaglianza perché le variabili del primale non sono vincolate in segno, e pari alle variabili del primale (i nodi). I termini noti dei vincoli del duale sono i coefficienti di costo delle variabili del primale.

Calcolo del cammino critico e delle attività critiche: Il problema duale della formulazione di PL per il grafo con attività sui nodi Formulazione di PL per il grafo con attività sui nodi: mins n s 1 s j s i d i (i, j) A Il problema duale è quindi: max d i x ij (i,j ) A x hi x ih (h,i ) δ (i ) (i,h) δ + (i ) x 1j = 1 (1,j ) δ + (1) x hn = 1 (h,n) δ (n) x ij 0 (i, j) A = 0 i V \ {1,n}

Calcolo del cammino critico e delle attività critiche: Il problema duale della formulazione di PL per il grafo con attività sui nodi Formulazione di PL per il grafo con attività sui nodi: mins n s 1 s j s i d i (i, j) A Il problema duale è quindi: max d i x ij = l ij x ij (i,j ) A (i,j ) A x hi x ih (h,i ) δ (i ) (i,h) δ + (i ) x 1j = 1 (1,j ) δ + (1) x hn = 1 (h,n) δ (n) = 0 i V \ {1,n}

Calcolo del cammino critico e delle attività critiche: Il problema duale della formulazione di PL per il grafo con attività sui nodi Il problema duale è quindi: max l ij x ij (i,j ) A x hi x ih (h,i ) δ (i ) (i,h) δ + (i ) x 1j = 1 (1,j ) δ + (1) x hn = 1 (h,n) δ (n) = 0 i V \ {1,n} Osservazione: Il problema duale corrisponde al problema di trovare il cammino di lunghezza massina dal nodo 1 al nodo finale f=n sul grafo delle attività G=(V,A) Il tempo di completamento minimo del progetto (makespan) è dato quindi dalla lunghezza del cammino massimo (cioè critico) dal nodo 1 al nodo n su G

Calcolo del cammino critico e delle attività critiche: Un algoritmo combinatorio Dato il grafo delle attività sui nodi G=(V,A), sia: EST i (Earliest Start Time) il tempo minimo prima del quale l attività associata al nodo i non può iniziare (tempo minimo entro cui possono essere completate tutte le attività precedenti il nodo i). EFT i (Earliest Finish Time) il tempo minimo di fine dell attività associata al nodo i Si ha: EST i + d i = EFT i Il tempo minimo di esecuzione di un progetto t min coincide col tempo minimo di raggiungimento del nodo finale f; risulta perciò che EST f +d f =EFT f = t min.

Calcolo del cammino critico e delle attività critiche: Un algoritmo combinatorio Procediamo ora al calcolo dei tempi EST i per un dato nodo i. Siano noti i tempi EST k di tutti i predecessori k di i. k i La generica attività i può iniziare al più presto al tempo EFT k = EST k + d k. Poiché per definizione EST i è il tempo minimo entro cui tutte le attività k che precedono i possono terminare, allora: EST i = max (k, i) δ-(i) {EST k + d k }= max (k, i) δ-(i) {EFT k }

Calcolo del cammino critico e delle attività critiche: Un algoritmo combinatorio Dato il grafo delle attività sui nodi G=(V,E), sia: LST i (Latest Start Time) tempo massimo di inizio dell attività associata al nodo i oltre il quale si ha un ritardo rispetto alla durata minima del progetto LFT i (Latest Finish Time) tempo massimo di fine dell attività associata al nodo i oltre il quale si ha un ritardo rispetto alla durata minima del progetto Si ha: LST i + d i = LFT i Il tempo minimo di esecuzione di un progetto t min coincide col tempo minimo di raggiungimento del nodo finale f; risulta perciò che LFT f = t min.

Calcolo del cammino critico e delle attività critiche: Un algoritmo combinatorio Supponiamo di conoscere i tempi LST k dei successori del nodo i i k Affinché l attività associata al nodo k inizi entro LST k è necessario in particolare che l attività i non termini dopo l istante LST k pertanto LST i + d i = LFT i LST k. Perché questa condizione sia valida per tutti i successori di i deve essere: LFT i = min (i, k) δ+(i) { LST k }

Calcolo del cammino critico e delle attività critiche: Un algoritmo combinatorio Sia i una generica attività, siano EST i, LST i e d i il tempo minimo e massimo di inizio e la durata di i, rispettivamente. Il tempo di cui può essere ritardata l attività i rispetto a EST i, senza alterare il tempo di completamento del progetto è: TF i = LST i - EST i = = LST i + d i - (EST i + d i )= LFT i EFT i detto Total Flow o Tempo di Slittamento. Tutte le attività per cui risulta TF i = 0 sono ovviamente critiche, dato che un aumento del loro tempo di esecuzione porta ad un aumento complessivo del progetto.

Calcolo del cammino critico e delle attività critiche: Un algoritmo combinatorio Il tempo di slittamento è realmente calcolabile solo se nello schedule nessuno dei predecessori di i terminano dopo EST i, e nessuno dei successori di i inizia prima di LFT i. Il Free Float FF i dell attività i è la quantità di tempo di cui può essere ritardata la fine dell attività i indipendentemente dalla schedulazione dei successori: FF i = min (i, k) δ+(i) { EST k } - EFT i

Calcolo del cammino critico e delle attività critiche: Un algoritmo combinatorio In alternativa, il Safety Float SF i dell attività i misura di quanto l inizio dell attività i può essere ritardato indipendentemente dalla schedulazione dei predecessori: SF i = LST i - max (k, i) δ-(i) { LFT k } Tutte le attività per cui risulta FF i = 0 e SF i = 0 sono critiche.

Calcolo del cammino critico e delle attività critiche: Un algoritmo combinatorio Le precedenti definizioni consentono di formalizzare subito un algoritmo per il calcolo di EST/EFT e LST/LFT su un grafo delle attività con i nodi numerati in modo topologico: Fase di calcolo in avanti 1. i = 0; EST i = 0. 2. i = i + 1. 3. Calcola EST i = max (k,i) δ-(i) {EST k + d k }. 4. prec i =arg max (k,i) δ-(i) {EST k + d k } 5. Poni EFT i = EST i +d i. 5. Se i < f torna al passo 2. 7. Se i = f l algoritmo termina.

Calcolo del cammino critico e delle attività critiche: Un algoritmo combinatorio Le precedenti definizioni consentono di formalizzare subito un algoritmo per il calcolo di EST/EFT e LST/LFT su un grafo delle attività con i nodi numerati in modo topologico: Fase di calcolo all indietro 8. i = f; LST f = EST f ; LFT f = EFT f. 9. i = i - 1. 10. Calcola LFT i = min (i,k) δ+(i) {LST k }. 11. succ i = arg min (i,k) δ+(i) {LST k }. 12. LST i = LFT i - d i. 13. Se i > 0 torna al passo 9. 14. Se i = 0 l algoritmo termina.

Calcolo del cammino critico e delle attività critiche: Un algoritmo combinatorio Le precedenti definizioni consentono di formalizzare subito un algoritmo per il calcolo di EST/EFT e LST/LFT su un grafo delle attività con i nodi numerati in modo topologico: Fase di calcolo in avanti 1. i = 0; EST i = 0. 2. i = i + 1. 3. Calcola EST i = max (k,i) δ-(i) {EST k + d k }. 4. prec i =arg max (k,i) δ-(i) {EST k + d k } 5. Poni EFT i = EST i +d i. 5. Se i < f torna al passo 2. 7. Se i = f l algoritmo termina. Fase di calcolo all indietro 8. i = f; LST f = EST f ; LFT f = EFT f. 9. i = i - 1. 10. Calcola LFT i = min (i,k) δ+(i) {LST k }. 11. succ i = arg min (i,k) δ+(i) {LST k }. 12. LST i = LFT i - d i. 13. Se i > 0 torna al passo 8. 14. Se i = 0 l algoritmo termina.

0 Calcolo del cammino critico e delle attività critiche: Un algoritmo combinatorio A, 6 1 C, 8 3 F, 12 6 2 B, 9 D, 7 4 E, 10 5 Fase in avanti: EST 0 =0, EFT 0 =0 EST 1 =0, EFT 1 =6,prec 1 =0 EST 2 =0, EFT 2 =9, prec 2 =0 EST 3 =max{est 1 +6, EST 2 +9}=9, EFT 3 =9+8=17, prec 3 =2 EST 4 = max{est 1 +6, EST 2 +9}=9, EFT 4 =9+7=16, prec 4 =2 EST 5 = EST 4 +7=16, EFT 5 =16+10= 26, prec 5 =4 EST 6 = max{est 3 +8, EST 5 +10}=EST 5 +10=26, EFT 6 =26+12=38, prec 6 =5

0 Calcolo del cammino critico e delle attività critiche: Un algoritmo combinatorio A, 6 1 C, 8 3 F, 12 6 2 B, 9 Fase all indietro: D, 7 4 E, 10 5 LFT 6 = EFT 6 = 38 LFT 5 =LFT 6-12=38-12=26, LST 5 =LFT 5-10=16, succ 5 =6 LFT 4 =LFT 5-10=26-10=16, LST 4 =LFT 4-7=9, succ 4 =5 LFT 3 =LFT 6-12=38-12=26, LST 3 =LFT 3-8=18, succ 3 =6 LFT 2 = min{lft 3-8, LFT 4-7}=LFT 4-7=9, LST 2 =LFT 2-9=0, succ 2 =4 LFT 1 = min{lft 3-8, LFT 4-7}=LFT 4-7=9, LST 1 =LFT 1-6=3, succ 1 =4 LFT 0 = min{lft 1-6, LFT 2-9}=LFT 2-9=0, LST 1 =0, succ 0 =2

0 Calcolo del cammino critico e delle attività critiche: Un algoritmo combinatorio A, 6 1 C, 8 3 F, 12 6 2 B, 9 Fase in avanti: D, 7 4 E, 10 5 Fase all indietro: EST 0 = 0, EFT 0 =0 EST 1 = 0, EFT 1 =6 EST 2 = 0, EFT 2 =9 EST 3 = 9, EFT 3 =17 EST 4 = 9, EFT 4 =16 EST 5 = 16, EFT 5 =26 EST 6 = 26, EFT 6 =38 LFT 6 = EFT 6 = 38, LST 6 = 26 LFT 5 = 26, LST 5 = 16 LFT 4 = 16, LST 4 = 9 LFT 3 = 26, LST 3 = 18 LFT 2 = 9, LST 2 = 0 LFT 1 = 9, LST 1 = 3 LFT 0 = 0, LST 0 = 0

0 Calcolo del cammino critico e delle attività critiche: Un algoritmo combinatorio A, 6 1 C, 8 3 F, 12 6 2 B, 9 Fase in avanti: D, 7 4 E, 10 5 Fase all indietro: Attività critiche: EST 0 = 0, EFT 0 =0 EST 1 = 0, EFT 1 =6 EST 2 = 0, EFT 2 =9 EST 3 = 9, EFT 3 =17 EST 4 = 9, EFT 4 =16 EST 5 = 16, EFT 5 =26 EST 6 = 26, EFT 6 =38 LFT 6 = EFT 6 = 38, LST 6 = 26 LFT 5 = 26, LST 5 = 16 LFT 4 = 16, LST 4 = 9 LFT 3 = 26, LST 3 = 18 LFT 2 = 9, LST 2 = 0 LFT 1 = 9, LST 1 = 3 LFT 0 = 0, LST 0 = 0 LST 0 - EST 0 = 0 LST 1 - EST 1 = 3 LST 2 - EST 2 = 0 LST 3 - EST 3 = 9 LST 4 - EST 4 = 0 LST 5 - EST 5 = 0 LST 6 - EST 6 = 0

0 Calcolo del cammino critico e delle attività critiche: Un algoritmo combinatorio A, 6 1 C, 8 3 F, 12 6 2 B, 9 Fase in avanti: D, 7 4 E, 10 5 Fase all indietro: Attività critiche: EST 0 = 0, EFT 0 =0 EST 1 = 0, EFT 1 =6 EST 2 = 0, EFT 2 =9 EST 3 = 9, EFT 3 =17 EST 4 = 9, EFT 4 =16 EST 5 = 16, EFT 5 =26 EST 6 = 26, EFT 6 =38 LFT 6 = EFT 6 = 38, LST 6 = 26 LFT 5 = 26, LST 5 = 16 LFT 4 = 16, LST 4 = 9 LFT 3 = 26, LST 3 = 18 LFT 2 = 9, LST 2 = 0 LFT 1 = 9, LST 1 = 3 LFT 0 = 0, LST 0 = 0 LFT 0 - EFT 0 = 0 LFT 1 - EFT 1 = 3 LFT 2 - EFT 2 = 0 LFT 3 - EFT 3 = 9 LFT 4 - EFT 4 = 0 LFT 5 - EFT 5 = 0 LFT 6 - EFT 6 = 0

Calcolo del cammino critico e delle attività critiche: Un algoritmo combinatorio Gantt dell Earliest Start Schedule: EST 0 = 0, EFT 0 =0 ; EST 1 = 0, EFT 1 =6 ; EST 2 = 0, EFT 2 =9 EST 3 = 9, EFT 3 =17 ; EST 4 = 9, EFT 4 =16 ; EST 5 = 16, EFT 5 =26 EST 6 = 26, EFT 6 =38 6 5 4 3 2 1 0 10 20 30 40

Calcolo del cammino critico e delle attività critiche: Un algoritmo combinatorio Gantt del Latest Start Schedule: LFT 6 = EFT 6 = 38, LST 6 = 26; LFT 5 = 26, LST 5 = 16; LFT 4 = 16, LST 4 = 9; LFT 3 = 26, LST 3 = 18; LFT 2 = 9, LST 2 = 0 LFT 1 = 9, LST 1 = 3; LFT 0 = 0, LST 0 = 0 6 5 4 3 2 1 0 10 20 30 40

Calcolo del cammino critico e delle attività critiche: Un algoritmo combinatorio Cammino critico sul grafo delle attività sugli archi: 0 1 2 A, 6 B, 9 3 C, 8 D, 7 5 4 F, 12 E, 10 6 Attività critiche e Cammino critico