P.E.R.T.
Program Evaluation and Review Tecnique
Andrea Prevete, 2016
L’ELENCO DELLE ATTIVITA’
ATTIVITA’ D V
A Organizzazione team nuovo prodotto 2 -
B Assunzione/distacco venditori 5 A
C Formazione venditori 7 B
D Scelta agenzia pubblicità 2 A
E Definizione campagna pubblicità 1 D
F Realizzazione campagna pubblicitaria 5 E G Studio nome, etichetta, forma bottiglia, etc 1 - H Organizzazione processo imbott ed etichettatura 4 G I Imbottigliamento ed etichettatura 6 H, L
L Ordine dell’olio ai frantoi 11 -
M Individuazione dei distributori 3 A
N Contratti con i distributori 9 C, M
O Spedizione ai distributori 2 I, N
Supponiamo che una certa azienda di prodotti alimentari abbia necessità di arricchire – nel più breve tempo
possibile - la propria offerta con un nuovo prodotto, per esempio un olio d’oliva.
I manager dell’azienda si mettono al lavoro e stilano la tabella riportata di lato: è un elenco di tutte le attività
necessarie perché il nuovo prodotto sia disponibile per la vendita. Per ogni
attività è indicata la durata presunta
(colonna D) e sono riportati gli eventuali
vincoli di precedenza (colonna V). Per
esempio l’attività C non può iniziare
prima che sia terminata B.
Il passo successivo consiste nel costruire il grafo del progetto. Ogni attività sarà rappresentata da un arco orientato che congiungerà due nodi. Il nodo origine (o sorgente) di un arco sarà inteso come l’evento inizio-attività. Il nodo destinazione (o bersaglio, target) avrà come significato l’evento fine- attività. I nodi saranno etichettati con interi positivi a partire dal nodo
iniziale 0. La numerazione dei nodi avverrà così che per ogni percorso (o path) del grafo N
i-> .. -> N
jsi avrà N
i<N
j.
Cominciamo: colleghiamo al nodo 0 gli archi A, G, L – corrispondenti ad attività che non hanno vincoli e quindi possono tutte essere avviate in
parallelo. Quindi scorriamo l’elenco delle attività inserendo via via nel grafo quelle che hanno come precondizione un’ attività già presente nel grafo
stesso. Si noti l’inserimento dei nodi con etichette numeriche crescenti.
IL GRAFO
0
A(2)
G(1)
L(11)
1
B(5) 2 C(7)
D(2) 3 E(1)
4 F(5)
5 H(4)
M(3)
IL GRAFO
0
A(2) G(1)
L(11)
1 B(5) 2 C(7)
PASSO ZERO:
Inserimento archi A, G, L – corrispondenti ad attività senza vincoli di precedenza
PASSI UNO e DUE:
Inserimento arco B e poi arco C
PASSI da TRE a SETTE:
Inserimento, nell’ordine, degli archi D, E, F, H, M
0
A(2) G(1)
L(11) 1
B(5) 2 C(7)
D(2) 3 E(1)
4 F(5)
5 H(4)
M(3)
6 I(6)
7 N(9)
8 O(2)
IL GRAFO
PASSI OTTO e NOVE:
In elenco restano attività con 2 vincoli. I richiede H ed L che sono già nel grafo. Facciamo confluire gli archi nell’unico nodo 6 che sarà l’origine di I. La stessa cosa
facciamo per N che richiede C ed M.
PASSO DIECI:
L’inserimento del grafo di I ed N rende possibile inserire anche O che richiedeva come precondizioni
proprio queste attività.
0
A(2)
G(1)
L(11) 1
B(5) 2 C(7)
D(2) 3 E(1)
4 F(5)
5 H(4)
M(3)
6
I(6)
7 N(9)
8 O(2)
9
ULTIMO PASSO:
Non ci sono più attività in tabella!
Quindi riuniamo tutti gli archi ancora
aperti in un nodo finale che segnerà
l’evento fine- progetto.
IL GRAFO
0
A(2)
G(1)
L(11) 1
B(5) 2 C(7)
D(2) 3 E(1)
4 F(5)
5 H(4)
M(3)
6
I(6)
7 N(9)
8 O(2)
9 [0]
[0]
[0]
[0]
[0]
[0]
[0]
[0]
[0]
[0]
TEMPI «AL PIU’ PRESTO»
Etichettiamo adesso tutti i nodi del grafo con degli interi che rappresenteranno i cosiddetti tempi «al più presto». Per ogni nodo il tempo «al più presto» indicherà quando potranno essere avviate, il prima
possibile, le azioni che hanno quel nodo come sorgente. Poniamo inizialmente pari a 0 tutti i «tempi al più
presto».
0
A(2)
G(1)
L(11) 1
B(5) 2 C(7)
D(2) 3 E(1)
4 F(5)
5 H(4)
M(3)
6
I(6)
7 N(9)
8 O(2)
9 [0]
[2]
[1]
[11]
[0]
[0]
[0]
[4]
[5]
[7]
Quindi a partire dal nodo 0 e proseguendo fino a quello di etichetta 8 operiamo come segue:
• Per ogni arco uscente dal nodo consideriamo la durata dell’attività ad esso corrispondente;
sommiamo questa durata al «tempo al più presto» del nodo sorgente; quindi calcoliamo il nuovo valore del «tempo al più presto» del nodo destinazione come max fra il vecchio valore e la somma appena calcolata.
In figura come appare il grafo dopo aver applicato l’algoritmo per i nodi 0 ed 1.
TEMPI «AL PIU’ PRESTO»
0
A(2) G(1)
L(11) 1
B(5) 2 C(7)
D(2) 3 E(1)
4 F(5)
5 H(4)
M(3)
6 I(6)
7 N(9)
8 O(2)
9 [0]
[2]
[1]
[11]
[0]
[0]
[0]
[4]
[14]
[7]
TEMPI «AL PIU’ PRESTO»
L’elaborazione del nodo 2 mostra chiaramente la potenza dell’ algoritmo.
Infatti, l’azione che da esso si avvia, C, ha durata 7 che sommata al tempo
«al più presto» 7 del nodo stesso dà 14.
Quindi il nodo
destinazione, che aveva già ricevuto come valore del «tempo al più presto»
5 deve essere aggiornato
al nuovo valore 14.
0
A(2)
G(1)
L(11) 1
B(5) 2 C(7)
D(2) 3 E(1)
4 F(5)
5 H(4)
M(3)
6
I(6)
7 N(9)
8 O(2)
9 [0]
[2]
[1]
[11]
[23]
[25]
[5]
[4]
[14]
[7]
La figura mostra l’aspetto finale del grafo dopo l’elaborazione di tutti i nodi. Emerge già una conclusione importante. Se tutte le attività rispettano rigorosamente i
tempi previsti è fissata anche la conclusione «al più presto» dell’intero progetto.
TEMPI «AL PIU’ PRESTO»
La figura mostra l’aspetto finale del grafo dopo l’elaborazione di tutti i nodi. Emerge già una conclusione importante. Se tutte le attività rispettano rigorosamente i
tempi previsti è fissata anche la conclusione «al più presto» dell’intero progetto.
Etichettiamo adesso ogni nodo del grafo con un secondo intero che rappresenterà il cosiddetto tempo «al più tardi». Il tempo
«al più tardi» indicherà quando potranno essere avviate, il più tardi possibile, le azioni che hanno quel nodo come
sorgente. Fissiamo inizialmente questo tempo pari a 25 per tutti i nodi. Per l’ultimo nodo, 9, questa scelta ha un significato preciso.
TEMPI «AL PIU’ TARDI»
Vogliamo cioè che la durata complessiva «al più tardi» del progetto abbia lo stesso valore di quella «al più presto». In altre parole, che non ci siano ritardi!
Adesso applichiamo un procedura iterativa simile alla precedente. Cioè, per ogni nodo a partire dall’ultimo e fino al penultimo (cioè quello di etichetta 1), operiamo come segue:
• Consideriamo tutti gli archi che confluiscono nel nodo, sottraiamo la durata delle attività al tempo
«al più tardi» del nodo e fissiamo il nuovo tempo al più tardi dei rispettivi nodi di partenza
prendendo il min fra il vecchio valore ed il risultato delle sottrazioni suddette.
0
A(2)
G(1)
L(11) 1
B(5) 2 C(7)
D(2) 3 E(1)
4 F(5)
5 H(4)
M(3)
6
I(6)
7 N(9)
8 O(2)
9 [0;0]
[2;2]
[1; 13]
[11;17]
[23; 23]
[25;25]
[5;20]
[4;19]
[14;14]
[7;7]
La figura mostra l’aspetto finale del grafo dopo l’elaborazione di tutti i nodi. Per alcuni di essi il tempo «al più presto» coincide con quello «al più tardi»: in altre parole per questi nodi non c’è flessibilità, se si vuole che l’intero progetto non subisca ritardi!
TEMPI «AL PIU’ TARDI»
PERCORSO CRITICO
Se evidenziamo nel grafo i nodi in cui i «tempi al più presto» coincidono con quelli «al più tardi» e gli archi che li collegano otteniamo un percorso detto «critico». Per quanto
detto prima questo percorso identifica una specie di «spina dorsale del progetto», cioè la sequenza delle attività «critiche» che non devono subire ritardi nell’esecuzione se si
vuole che l’intero progetto sia eseguito nei tempi minimi previsti.
PATH CRITICO:
A -> B -> C -> N-> O
MARGINE LIBERO E TOTALE
ATTIVITA’ ML MT
A Organizzazione team nuovo prodotto 0 0
B Assunzione/distacco venditori 0 0
C Formazione venditori 0 0
D Scelta agenzia pubblicità 0 15
E Definizione campagna pubblicità 0 15
F Realizzazione campagna pubblicitaria 15 15 G Studio nome, etichetta, forma bottiglia, etc 0 12 H Organizzazione processo imbott ed etichettatura 6 12
I Imbottigliamento ed etichettatura 6 6
L Ordine dell’olio ai frantoi 0 6
M Individuazione dei distributori 9 9
N Contratti con i distributori 0 0
O Spedizione ai distributori 0 0
Siamo ora pronti per introdurre due concetti fondamentali relativi alle singole attività del progetto: il margine libero ed il margine totale.
Il margine libero, ML (calcolato sottraendo al tempo «al più presto» del nodo destinazione il tempo «al più presto» del nodo origine e la durata dell’attività) valuta di quanto un’attività può ritardare la conclusione senza che l’avvio di nessun’ altra attività seguente ne risenta.
Il margine totale, MT(calcolato sottraendo al tempo «al più tardi» del nodo destinazione il tempo «al più presto» del nodo origine e la durata dell’attività) valuta di quanto un’attività può ritardare la conclusione col solo vincolo che la durata dell’intero progetto non ne risenta.