Sei sulla pagina 1di 27

Capitolo 7

1 - Tecniche di programmazione reticolare


I primi metodi grafici utilizzati per la programmazione ed il controllo del lavoro erano
basati sugli studi di organizzazione scientifica (Taylor, Gantt) condotti all'inizio del
secolo in corso, e consistevano nella suddivisione del lavoro in una serie di attività, A1,
A2, A3,....... AN, rappresentate da segmenti (di lunghezza proporzionale alla durata delle
stesse attività) paralleli all'asse dei tempi.

A1
A2

A3

An

tempi
fig. 1
I diagrammi di Gantt risultarono subito preziosi per il lavoro di programmazione ed
ancora oggi vengono utilizzati per i progetti più semplici in virtù della chiarezza della
loro rappresentazione.
Nondimeno per essi risultano evidenti alcuni limiti:
1) Non riescono ad evidenziare le interdipendenze tra le molte attività in cui é
decomponibile un progetto di spiccata complessità e dimensione.
2) Richiedono sempre la rappresentazione in scala.
3) Non si prestano a prevedere attendibilmente l'esito di un lavoro complesso a
seguito di modifiche parziali introdotte in corso di attuazione.
4) Non riescono a suggerire efficacemente possibili varianti per migliorare il piano e
l'utilizzazione delle risorse da esso chiamate in causa.
Per ovviare a questi limiti nell'ultimo decennio sono stati estesamente applicati i sistemi
di programmazione reticolare (SPR) dei quali il Pert è uno dei più noti ed affermati.
Capitolo 7 - Tecniche di programmazione reticolari pag. 141

La tecnica Pert (Program Evaluation Review Tecnique tecnica di valutazione e


controllo dei programmi) fu messa a punto nel 1958 presso l'ufficio progetti speciali
della Marina degli Stati Uniti in occasione del complesso lavoro di progettazione e
costruzione di sottomarini atomici armati con i missili balistici Polaris.
Si trattava allora di realizzare un'opera di considerevole impegno controllando e
coordinando le attività di 200 impresari, 9000 appaltatori e di svariate agenzie
governative sparse sul territorio americano.
L'impiego del Pert valse a consentire un controllo oltremodo efficiente del programma,
ad individuare tempestivamente i problemi potenziali ed a prevenire i ritardi, con che il
progetto fu condotto a termine con due anni di anticipo.
Questo risultato, a dir poco sensazionale è stato all'origine dell'affermazione del Pert
(mantenuto segreto fino al 1960) la cui utilizzazione mostrò in seguito la possibilità di
conseguire un risparmio medio di tempi e di costi (anche superiore al 20 %), rispetto a
quanto preventivato in base alle tecniche tradizionali.

2.1 - Fondamenti operativi;


Nella tecnica Pert qualsiasi progetto complesso è riguardato come insieme di Attività
che occorre compiere nel rispetto di un determinato ordinamento sequenziale.
Esempio:
Avviamento e produzione di un nuovo modello di macchina:
Attività fondamentali:
- Definizione dei requisiti tecnici ed estetici
- Esecuzione calcoli strutturali
- Esecuzione dei disegni costruttivi del prototipo
- Lavorazione delle parti componenti (officina sperimentale)
- Montaggio dei sottogruppi e dei gruppi
- Esecuzione dei collaudi
- Etc.....
Un'attività Pert è un'operazione del progetto che richiede impegno di tempo e di mezzi,
cui pertanto può associarsi una durata opportunamente stimata.
Ogni attività ha un inizio ed un termine, con che risultano individuati e da essa correlati
due momenti, di basilare importanza nel Pert, definiti Eventi.
Nell'esempio introdotto si evidenziano subito i seguenti eventi fondamentali:
Capitolo 7 - Tecniche di programmazione reticolari pag. 142

- Avere definito il prodotto


- Avere completato i calcoli
- Avere completato i disegni
- Avere costruito le parti componenti
- Avere a disposizione le parti acquistate
- Avere montato il prototipo
- Avere collaudato il prototipo.
Il progetto viene quindi schematizzato con un reticolo, più o meno complesso,
assimilabile ad un "percorso a tappe" nel quale la singola attività risulta delimitata da un
evento iniziale i e da un evento finale j.
Gli eventi, a differenza delle attività, non richiedono impegno di mezzi e di tempo, ma
costituiscono un risultato da acquisire attraverso le attività che ad esso conducono.
Pertanto mentre ad ogni attività è associabile una durata, ad ogni evento è associabile
una data.
Nell'immagine grafica del progetto gli eventi vengono rappresentati da cerchi e le attività
da segmenti orientati (frecce) la cui lunghezza non è in alcun modo legata alla durata, la
cui direzione (peraltro arbitraria) è quella della retta passante per i nodi-eventi i e j,
mentre il verso è quello che conduce da i a j.

i (i,j)

fig. 2

2.2 - Logica della rete;


Per la corretta costruzione del reticolo Pert è necessario rispettare opportune regole (per
lo più imposte dai sistemi di elaborazione elettronica dei dati):
1) Tra un evento i ed un evento j può svilupparsi una sola attività.
2) Tutte le frecce che confluiscono in un evento visualizzano attività tutte precedenti a
quelle le cui frecce fuoriescono dallo stesso cerchio.
3) Il cammino orientato che si sviluppa attraverso il reticolo non deve mai condurre due
volte allo stesso nodo (cioè non hanno significato i circuiti - loop).
Capitolo 7 - Tecniche di programmazione reticolari pag. 143

4) Gli eventi, disposti in progressione logica sul reticolo, devono essere contrassegnati
da numeri crescenti da sinistra a destra e in senso verticale ascendente o discendente.
Un numero, impegnato per individuare un evento, non può essere utilizzato altrove.
Non è necessario che i numeri siano consecutivi e che l'evento iniziale sia
contrassegnato dalla cifra (1).
Il rispetto delle regole precedenti assicurano che ogni attività sia identificata da una ben
definita coppia di numeri e che il numero associato all'evento terminale j di una
qualsiasi attività sia maggiore di quello associato all'evento iniziale i della medesima.
N.B. Accade spesso che in un nodo concorrono più frecce.

11 16 19

13

fig. 3

Nella fig. 3 si vede ad esempio che nel nodo s = 16 hanno termine le attività (9-16),
(11-16) e (13-16).
Il nodo 16 è in tal caso l'immagine del momento terminale di ciascuna delle tre attività
indicate, ma l'evento 16 non può dirsi compiuto (e cioè non può avere inizio l'attività
(16-19)) fino a che non sono state completate tutte le tre attività di cui sopra.
Regola fondamentale:
Un evento non può dirsi verificato se non risultano ultimate tutte le attività che
conducono ad esso.
Il temine di una attività è condizione necessaria ma non sufficiente per l'inizio di una
attività successiva.
Capitolo 7 - Tecniche di programmazione reticolari pag. 144

2.3 - Il Metodo statistico del Pert.


Nel formulare il piano di attuazione di un progetto è indispensabile procedere ad una
valutazione dei tempi necessari allo svolgimento delle varie attività (durate) e,
conseguentemente, ad una stima delle date associabili ai singoli eventi.
Per la previsione dei tempi viene applicato il metodo statistico di Malcom che facilita
non soltanto i calcoli di programmazione ma anche quelli di probabilità di attuazione
del progetto completo e dei suoi eventi strategici.
Il metodo prevede l'effettuazione di tre stime di durata per ogni attività, rispettivamente
definite:
- Tempo ottimistico, to - è il tempo minimo di svolgimento dell'attività considerata, al
quale è assegnabile la probabilità dell'1 %
- Tempo verosimile, tm - è la stima sulla quale concorderebbe la maggioranza delle
persone all'uopo interpellate.
- Tempo pessimistico, tp - è il tempo più lungo assegnabile all'attività portando in conto
cause di ritardo di natura non straordinaria, rappresenta una misura per eccesso
fondata sulla considerazione di rischi remoti ancorché non eccezionali. Così come
per to anche a tp è assegnabile la probabilità dell'1%.
Le tre valutazioni to, tm, tp sono riferite alla stessa disponibilità di risorse produttive e
rispondono alla distribuzione di probabilità "Beta"(fig. 4) nella quale il valore modale
corrisponde al tempo tm.

AA
AA te AAAAA
AAAAA
t0 tm M tp
fig. 4
Distribuzione di probabilità Beta
Capitolo 7 - Tecniche di programmazione reticolari pag. 145

Il valore medio M della distribuzione nell'intervallo (to, tp), è:

M=
(t 0 + tp ) (1)
2

ed il valore più probabile te è la media ponderata del tempo verosimile tm e del valore
medio M con rapporto di pesi 2 : 1; risulta cioè:

2t m + M
te = (2)
3

Pertanto, sostituendo ad M la sua espressione (1) si ottiene:

t 0 + 4t m + t p
te = (3)
6

Il tempo più probabile te si ottiene dunque introducendo nella (2) le tre stime di durata
a suo tempo definite.
Nella distribuzione considerata, il valore te si incontra sulle ascisse ad un terzo
dell'intervallo (tm, M) e rappresenta il tempo a cui corrisponde probabilità 0,50 (50%)
(l'area della superficie sottesa dalla curva risulta da esso divisa in due parti uguali).
Tuttavia te non è, da solo, adatto ad illustrare completamente una previsione di durata.
Si può ad esempio osservare che per entrambe le terne di valori

{(t '
0 = 1; t m
'
= 5; t p' = 33 )} e {(t '
0 = 3; t m
'
= 8; t p' = 19 )}
la (2) conduce a calcolare te = 9, mentre è evidente che l'intervallo di incertezza (tp -
to) è ben diverso nei due casi.
Per consentire dunque un miglior giudizio sulla previsione, al valore te si affianca
quello della varianza:

 tp − t0 
2

σ =2
te  (4)
 6 
Capitolo 7 - Tecniche di programmazione reticolari pag. 146

pari al quadrato della deviazione- tipo (standard) σ te .


Nei calcoli di programmazione si considereranno in definitiva i tempi te mentre
attraverso la varianza si fornirà un indice di incertezza sulla stima delle durate; ciò che è
tanto più importante quanto più il progetto presenti carattere di novità.

2.4 - Procedura operativa;


Una volta individuati gli eventi e le attività attraverso cui si articolerà il progetto, si
procederà al calcolo delle durate te e, mediante queste, potrà stimarsi la data ti per la
quale è lecito attendere il generico evento i.
Si consideri infatti per semplicità il reticolo di fig. 5.

(16)

4
8 2
(6) (8)
6 2
1 2 3 6 (18)

4 5
5

(12)
fig. 5

Attività te
(1,2) 6
(2,3) 2
(3,4) 8
(3,5) 4
(4,6) 2
(5,6) 5
Capitolo 7 - Tecniche di programmazione reticolari pag. 147

Se all'evento (1) si fa corrispondere il tempo zero (T1 = 0), si ha per gli eventi
successivi:
T 2 = T1 + 6 = 6
T 3 = T2 + 2 = 8
T4 = T3 + 8 = 16
T5 = T3 + 4 = 12
occorre qui osservare che il nodo 6 è il punto di confluenza di due distinti cammini: (1 -
2 - 3 - 4 - 6) e (1 - 2 - 3 - 5 - 6) e che l'evento a tale nodo corrispondente potrà dirsi
verificato quando tutte le attività a monte siano ultimate.
Pertanto a T6 dovrà attribuirsi il valore fornito dal percorso lungo il quale si misura il
maggior tempo cumulato (1 - 2 - 3 - 4 - 6);

T6 = T4 + te (4,6) = 18

Regola generale: la data tk associabile all'evento k è fornita dal massimo dei tempi fino
a k cumulati percorrendo tutti i cammini che nel reticolato Pert conducono a k a
partire dall'evento iniziale.
Nel semplice reticolo sopra esaminato, per il solo evento 6 si presenta la necessità di
istituire un confronto di tempo, essendo unico il cammino che conduce ad ogni altro
nodo a partire dall'evento iniziale.
Percorso Critico:
si consideri ora il reticolo di figura 6.

1 2
T1 = 0

3 3 T5 = 6
1 3 5
L5 = 6

1 1

fig. 6
Capitolo 7 - Tecniche di programmazione reticolari pag. 148

per quanto detto sarà T5 = 6 il tempo che prevedibilmente dovrà trascorrere affinché si
verifichi l'evento 5.
Indicando d'ora in poi con L i il tempo limite entro il quale, a partire dall'inizio del
progetto, si richiede che il generico evento i risulti verificato, posto L5 = T5 = 6; si vede
che

L2 = 4; L3 = 3; L4 = 5.

I tempi limite L i associati ai nodi del reticolo Pert si calcolano con procedura inversa
rispetto a quella utilizzata per il calcolo di Ti.
Difatti si fisserà la scadenza imposta per l'evento finale f del progetto e si percorrerà a
ritroso ogni cammino fino all'evento iniziale, sottraendo ogni volta dalla data limite Lj,
trovata per l'evento j, la durata te (i,j) prevista per l'attività compresa per i nodi i e j.
Si è visto che per stimare la data T i occorre istituire un confronto di tempi quando nel
nodo i confluiscono più attività e che in tal caso T i è il maggiore dei tempi cumulati
lungo i vari percorsi che conducono ad i; parimenti, quando i è origine di più attività,
nel calcolo di Li, percorrendo a ritroso il reticolo si perverrebbe a più di un valore per la
data limite associata all'evento i.
Si consideri infatti il reticolo di figura 7.
(4)

2
4
2

1 T4 = 11
1
4
L 4 = 11
3
6

(5)

fig. 7
Capitolo 7 - Tecniche di programmazione reticolari pag. 149

In caso si è posto L4 = T4 = 11; per l'evento 2 seguendo il cammino (4-2) si trova L'2
= L4 - t(2,4) = 9 mentre seguendo il cammino (4 - 3 - 2) si trova L"2=L4 - t(3,4) -
t(2,3) = L3 - t(2,3) = 4.
E' immediato comprendere che dei due valori L'2, L"2 andrà scelto il minore trattandosi
di una scadenza.
Regola generale: la data limite Li esprime il tempo massimo entro il quale, a partire
dall'inizio del progetto deve verificarsi l'evento i affinché, nel rispetto delle previsioni
di durata delle attività, possa anche rispettarsi la data limite imposta all'evento finale
F del progetto.
Il limite L i è il valore minimo tra le date calcolabili per i percorrendo a ritroso tutti i
cammini che conducono ad i a partire dall'evento finale del reticolo Pert.
La differenza
si = L i - T i (5)

si definisce scorrimento (o slittamento) dell'evento i è può essere positivo, negativo o


nullo. Nella terminologia Pert vengono definiti critici gli eventi del reticolo che
presentano gli scorrimenti minori e cioè quelli maggiormente suscettibili di causare
ritardi sui tempi di attuazione dell'intero progetto. Così, tra i vari percorsi lungo i quali,
a partire dal nodo iniziale, si può giungere a quello finale, si definisce critico il percorso
su cui sono situati gli eventi dotati di scorrimento più piccolo.
Si consideri ad esempio il reticolo di figura 8:

2
2 5

5 3

2 9 L6 = 13
1 3 6

(0) (13)
6 7

(6)

fig. 8
Capitolo 7 - Tecniche di programmazione reticolari pag. 150

i Ti Li si
1 0 0 0
2 5 8 3
3 2 4 2
4 6 6 0
5 7 10 3
6 13 13 0

Per giungere all'evento finale 6 a partire dal nodo 1 esistono tre cammini:

(1,2,5,6); (1,3,6); (1,4,6).

E' chiaro che tra questi risulterà critico il percorso (1,4,6).


Si è osservato a suo tempo che la data T i prevedibile per l'evento i, è fornita dal
maggiore dei tempi cumulati sui vari percorsi che conducono ad i.
Parimenti si è ricordato che la data limite L i è la minima di quelle calcolabili
percorrendo a ritroso il reticolo fino ad i.
E' evidente allora che il percorso (critico) su cui si incontreranno gli scorrimenti più
piccoli è quello che nel maggior tempo cumulato conduce all'evento finale (via più
lunga).
Per introdurre il concetto di scorrimento s i imponiamo per semplicità l'eguaglianza Lf
= Tf tra la data limite e la data prevista dell'evento finale.
In virtù di tale assunzione gli eventi critici risultano caratterizzati da scorrimento nullo.
Si supponga ora che il progetto in esame abbia dato luogo al reticolo di figura 9, e sia
L8 = 21 la scadenza che grava sull'evento 8.
Capitolo 7 - Tecniche di programmazione reticolari pag. 151

2
4 13
2
7
5 1
3
6

1 5 8

2 T8 = 24
2 1 9
L8 = 21
4
3 9
6

fig. 9

i Ti Li si
1 0 3 -3
2 5 2 -3
3 2 7 5
4 7 5 -2
5 11 8 -3
6 20 17 -3
7 22 20 -2
8 24 21 -3

Il percorso critico risulta individuato dai nodi: (1 - 2 - 5 - 6 - 8), dotati in questo caso da
scorrimento negativo.
Il percorso critico non è necessariamente unico: in un reticolo Pert possono risultare
critici anche tutti i cammini che dall'evento iniziale portano a quello finale.

Slittamento delle attività;


Così come si è definito la scorrimento s i per l'evento generico i, può anche definirsi
quello s(i,j) dell'attività compresa fra i nodi i e j.
Si osservi ad esempio il reticolo di figura 10;
Capitolo 7 - Tecniche di programmazione reticolari pag. 152

2 1
1 2 5
4
(0)
3 2 6
1
6 L6 = 15

4
3 4

fig. 10

i Ti Li si
1 0 0 0
2 2 2 0
3 5 5 0
4 9 9 0
5 10 11 1
6 15 15 0

Se esaminiamo l'attività (2,5) vediamo che essa può avere inizio alla data T2 = 2 e
riuscire completata al tempo T2 + t(2,5) = 3. Poiché tuttavia risulta L5 = 11, l'attività
(2,5) avendo inizio t2 = 2, può anche compiersi in un tempo t* = 9. Si ha cioè per la
(2,5) uno scorrimento (margine di tolleranza) s(2,5) = 8.
In generale per l'attività (i,j) lo scorrimento si calcola con la formula:

s( i, j) = L j − [ Ti + t e (i, j) ] (6)

E' facile verificare che le attività disposte sul percorso critico presentino slittamenti
eguali a quelli degli eventi critici.

2.5 - Attività fittizie;


Accade spesso che due eventi di un progetto risultino in stretta connessione logica e
cronologica senza che tra essi sia compresa una attività effettiva, atta a richiedere
pertanto l'impiego di mezzi e di tempo.
Capitolo 7 - Tecniche di programmazione reticolari pag. 153

In altri termini può accadere che un evento j non possa compiersi se immediatamente a
monte non risulti compiuto un evento i, pur in assenza di una ben definita attività (i,j).
Esempio:
Attività fondamentali per il progetto "Fornitura in opera di una Macchina Speciale":
- Stesura contratto
- Progettazione e disegno
- Costruzione gruppo A
- Costruzione gruppo B
- Costruzione gruppo C
- Montaggio (A+ B + C)
- Collaudo
- Imballaggio
- Trasporto
- Installazione.

Nel reticolo (fig. 11) compare inoltre l'attività (3,8) di preparazione, imballaggio, che
può iniziarsi subito dopo il completamento dei disegni.

4 8

1 2 3 5 7 9 10 11

Fig.11
Capitolo 7 - Tecniche di programmazione reticolari pag. 154

Indicando con la freccia (5,7) l'attività "montaggio gruppi" verremmo a significare che
al termine dell'attività (3,5) "costruzione gruppo C" potrebbe avere luogo il suddetto
montaggio.
Il nodo 5 invece, visto come evento iniziale dell'attività (5,7) richiede anche l'avvenuto
completamento dell'attività (3,4) e (3,6), rispettivamente di "costruzione gruppo A" e
"costruzione gruppo B".
Per evidenziare questa propedeuticità si introducono le frecce a tratto discontinuo (4,5)
e (6,5) cui corrispondono le attività fittizie "avere gruppo A" e "avere gruppo B", attività
che per loro natura non richiedono impegno di mezzi e di tempi.
Un'attività fittizia evidenzia dunque l'esistenza di una dipendenza logica fra due eventi.
Conviene al riguardo osservare che, un tal tipo di attività, pur non prevedendo una
durata concorre a definire la data associabile all'evento che da essa è logicamente
condizionato.
Si consideri ad esempio il reticolo di fig. 12:

3 2
(0) 1

1
0
4
2 L4 = 5
2

fig. 12

Al nodo 3 si perviene mediante l'attività effettiva (1,3) per cui dovrebbe essere T3 = T1
+ te (1,3) = 2; tuttavia l'esistenza dell'attività fittizia (2,3) conduce a considerare il
cammino (1 - 2 - 3) in luogo di quello diretto
(1 - 3), sicché dovrà assumersi in pratica :

T 3 = T 1 + t e ( 1, 2 ) + t e ( 2, 3 ) = 3
Capitolo 7 - Tecniche di programmazione reticolari pag. 155

Parimenti posto che nella stessa maglia risulti L4 = 5, per l'evento 2 si dovrà
considerare:

L 2 = L 4 − t e ( 3, 4 ) − t e ( 2, 3 ) = 3

L'attività fittizia influenza quindi anche la data limite dell'evento. da cui trae virtualmente
origine.
Poiché inoltre risulta s i = (L i - Ti), l'introduzione di attività fittizie può in definitiva
influenzare lo stesso percorso critico.

2.6 - Probabilità di rispettare i vincoli di scadenza;


La durata te (i,j) e lo scorrimento s i generici sono parametri fondati su stime
preventive. Le durate e gli scorrimenti reali si differenziano tuttavia abitualmente da
quelli attesi; gli scarti al riguardo tollerabili dipendono dalle esigenze del progetto.
Si ha pertanto interesse a definire la probabilità di pervenire all'evento finale o ad altro
evento strategico entro una certa data (ad esempio in presenza di gravose penalità sui
ritardi).
All'uopo è possibile avvalersi della tavola di probabilità per distribuzione normale (tab.
9) calcolando per l'evento i in oggetto il fattore di probabilità:

zi =
(Li − Ti ) (7)
∑ σ 2te

che è il rapporto fra la scorrimento s i e la radice quadrata della somma delle varianze
sulle durate di tutte le attività coinvolte nel calcolo di Ti.
Sulla tavola di probabilità sopra richiamata, in corrispondenza di z i si legge la
probabilità che l'evento si compia nel rispetto della scadenza Li.
La procedura è fondata sul teorema del limite centrale di Lapunov; senza fermarci sui
fondamenti teorici di questa ci limiteremo semplicemente a far notare che la probabilità
di rispettare Li è chiaramente una funzione crescente dello scorrimento.
La tavola mostra in quale misura nel campo dei valori positivi di z i (cioé L i > Ti) la
probabiltà si accresce con tale parametro; mentre per z i < 0 (Li < Ti) la stessa
probabiltà è tanto più bassa quanto più alto è il valore assoluto di zi.
Capitolo 7 - Tecniche di programmazione reticolari pag. 156

Nell'esempio di figura 13 si vuole adesso calcolare la probabilità di rispettare il vincolo


L4 = 15.

(0) 7
6
13
1 4 5 L5 = 28
3 7

fig. 13

(i,j) t0 tm tp te σ 2te i Ti Li si zi
(1,2) 2 5 14 6 4,0 1 0 -1 -1
(1,3) 4 8 18 9 5,4 2 6 8 2
(2,4) 5 7 9 7 0,4 3 9 8 -1
(3,4) 3 6 15 7 4,0 4 16 15 -1 0,325
(4,5) 6 13 20 13 5,4 5 29 28 -1

Si calcola:

1
z4 = − ≅ −0, 325
5, 4 + 4, 0

e sulla tavola di probabilità si può leggere 0,374, cioè una probabilità circa pari al 37,4
% di rispettare il vincolo L4 = 15.

Esempio: Calcolare la probabilità di completare il progetto di cui al reticolo di fig. 14


entro 26 settimane.
Capitolo 7 - Tecniche di programmazione reticolari pag. 157

6
2 5

10 9 7
3

5 11
1 4 6 L6 = 26
4 2
14
3

fig. 14

(i,j) te t0 tm tp σ 2te i Ti Li si zi
(1,2) 10 5 9 19 5,4 1 0 -3 -3
(1,4) 5 2 5 8 1,0 2 10 7 -3
(1,3) 4 1 3 11 2,7 3 4 8 4
(2,4) 3 1 2 9 1,8 4 13 10 -3
(2,5) 6 2 6 10 1,8 5 22 19 -3
(3,4) 2 1 2 3 0,1 6 29 26 -3 - 0,91
(3,6) 14 7 13 25 9,0
(4,5) 9 2 10 12 2,7
(4,6) 11 8 10 18 2,7
(5,6) 7 4 7 10 1,0

3 3
z6 = − ≅− = −0, 91
5, 4 + 1, 8 + 2,7 + 1, 0 3, 3

sulla tabella 10 per z = - 0,91 si legge la probabilità di 0,1814 (18 %).


Capitolo 7 - Tecniche di programmazione reticolari pag. 158

Tab 9. Tavola di probabilità di distribuzione normale.


Z 0 1 2 3 4 5 6 7 8 9
0,0 ,5000 ,5040 ,5080 ,5120 ,5160 ,5199 ,5239 ,5279 ,5319 ,5359
0,1 ,5398 ,5438 ,5478 ,5517 ,5557 ,5596 ,5636 ,5675 ,5714 ,5735
0,2 ,5793 ,5832 ,5871 ,5910 ,5948 ,5987 ,6026 ,6064 ,6103 ,6141
0,3 ,6171 ,6217 ,6225 ,6293 ,6331 ,6368 ,6406 ,6443 ,6480 ,6517
0,4 ,6554 ,6591 ,6628 ,6664 ,6700 ,6736 ,6772 ,6808 ,6844 ,6879
0,5 ,6915 ,6950 ,6985 ,7019 ,7054 ,7088 ,7123 ,7157 ,7190 ,7224
0,6 ,7257 ,7291 ,7324 ,7357 ,7389 ,7422 ,7454 ,7486 ,7517 ,7549
0,7 ,7580 ,7611 ,7642 ,7673 ,7703 ,7734 ,7764 ,7794 ,7823 ,7852
0,8 ,7881 ,7910 ,7939 ,7967 ,7995 ,8023 ,8051 ,8078 ,8106 ,8133
0,9 ,8159 ,8186 ,8212 ,8238 ,8264 ,8289 ,8315 ,8340 ,8365 ,8389
1,0 ,8413 ,8438 ,8461 ,8485 ,8508 ,8531 ,8554 ,8577 ,8599 ,8621
1,1 ,8643 ,8665 ,8686 ,8708 ,8729 ,8749 ,8770 ,8790 ,8810 ,8830
1,2 ,8849 ,,8869 ,8888 ,8907 ,8925 ,8944 ,8962 ,8980 ,8997 ,9014
1,3 ,9032 ,9049 ,9065 ,9082 ,9098 ,9114 ,9130 ,9146 ,9162 ,9177
1,4 ,9192 ,9207 ,9222 ,9236 ,9250 ,9264 ,9278 ,9292 ,9305 ,9318
1,5 ,9331 ,9344 ,9357 ,9369 ,9382 ,9394 ,9406 ,9417 ,9429 ,9440
1,6 ,9452 ,9463 ,9473 ,9484 ,9495 9503 ,9515 ,9525 ,9535 ,9544
1,7 ,9554 ,9563 ,9572 ,9581 ,9590 ,9599 ,9608 ,9614 ,9624 ,9632
1,8 ,9640 ,9648 ,9656 ,9663 ,9671 ,9678 ,9685 ,9692 ,9699 ,9706
1,9 ,9712 ,9719 ,9725 ,9732 ,9738 ,9744 ,9750 ,9755 ,9761 ,9767
2,0 ,9772 ,9777 ,9783 ,9788 ,9793 ,9798 ,9803 ,9807 ,9812 ,9816
2,1 ,9821 ,9825 ,9830 ,9834 ,9838 ,9842 ,9846 ,9850 ,9853 ,9857
2,2 ,9861 ,9864 ,9867 ,9871 ,9874 ,9877 ,9880 ,9884 ,9887 ,9889
2,3 ,9892 ,9895 ,9898 ,9900 ,9903 ,9906 ,9908 ,9911 ,9913 ,9915
2,4 ,9918 ,9920 ,9922 ,9924 ,9926 ,9928 ,9930 ,9932 ,9934 ,9936
2,5 ,9937 ,9939 ,9941 ,9942 ,9944 ,9946 ,9947 ,9949 ,9950 ,9952
2,6 ,9953 ,9954 ,9956 ,9957 ,9958 ,9959 ,9960 ,9962 ,9963 ,9964
2,7 ,9965 ,9966 ,9967 ,9968 ,9969 ,9970 ,9971 ,9971 ,9972 ,9973
2,8 ,9974 ,9975 ,9975 ,9976 ,9977 ,9978 ,9978 ,9979 ,9980 ,9980
2,9 ,9981 ,9981 ,9982 ,9983 ,9983 ,9984 ,9984 ,9985 ,9985 ,9986
3,0 ,9986 ,9986 ,9987 ,9987 ,9988 ,9988 ,9988 ,9989 ,9989 ,9989
Capitolo 7 - Tecniche di programmazione reticolari pag. 159

Tab. 10. Tavola di probabilità di distribuzione normale.


Z 0 1 2 3 4 5 6 7 8 9
- 3,0 ,0013 ,0013 ,0012 ,0012 ,0011 ,0011 ,0011 ,0010 ,0010 ,0010
- 2,9 ,0018 ,0018 ,0017 ,0016 ,0016 ,0015 ,0015 ,0014 ,0014 ,0013
- 2,8 ,0025 ,0024 ,0024 ,0023 ,0022 ,0021 ,0021 ,0020 ,0019 ,0019
- 2,7 ,0034 ,0033 ,0032 ,0031 ,0030 ,0029 ,0028 ,0028 ,0027 ,0026
- 2,6 ,0046 ,0045 ,0043 ,0042 ,0041 ,0040 ,0039 ,0037 ,0036 ,0035
- 2,5 ,0062 ,0060 ,0058 ,0057 ,0055 ,0053 ,0052 ,0050 ,0049 ,0047
- 2,4 ,0081 ,0079 ,0077 ,0075 ,0073 ,0071 ,0069 ,0067 ,0065 ,0053
- 2,3 ,0107 ,0104 ,0101 ,0099 ,0096 ,0093 ,0091 ,0088 ,0086 ,0084
- 2,2 ,0139 ,0135 ,0132 ,0128 ,0125 ,0122 ,0119 ,0116 ,0113 ,0110
- 2,1 ,0178 ,0174 ,0170 ,0165 ,0161 ,0157 ,0153 ,0150 ,0146 ,0142
- 2,0 ,0227 ,0222 ,0216 ,0211 ,0206 ,0201 ,0197 ,0192 ,0187 ,0183
- 1,9 ,0287 ,0280 ,0274 ,0268 ,0261 ,0255 ,0250 ,0244 ,0238 ,0233
- 1,8 ,0359 ,0351 ,0343 ,0334 ,0328 ,0321 ,0314 ,0307 ,0300 ,0293
- 1,7 ,0445 ,0436 ,0427 ,0418 ,0409 ,0400 ,0392 ,0383 ,0374 ,0367
- 1,6 ,0548 ,0537 ,0526 ,0515 ,0505 ,0494 ,0484 ,0474 ,0464 ,0455
- 1,5 ,0668 ,0655 ,0642 ,0630 ,0617 ,0605 ,0593 ,0582 ,0570 ,0559
- 1,4 ,0807 ,0792 ,0778 ,0763 ,0749 ,0735 ,0721 ,0707 ,0694 ,0681
- 1,3 ,0968 ,0951 ,0934 ,0917 ,0901 ,0885 ,0869 ,0853 ,0837 ,0822
- 1,2 ,1115 ,1131 ,1112 ,1093 ,1075 ,1056 ,1038 ,1020 ,1003 ,0985
- 1,1 ,1357 ,1335 ,1314 ,1292 ,1271 ,1251 ,1230 ,1210 ,1190 ,1170
- 1,0 ,1587 ,1562 ,1539 ,1515 ,1492 ,1469 ,1446 ,1423 ,1401 ,1379
- 0,9 ,1841 ,1814 ,1788 ,1762 ,1736 ,1711 ,1685 ,1660 ,1635 ,1611
- 0,8 ,2119 ,2090 ,2061 ,2033 ,2005 ,1977 ,1949 ,1922 ,1894 ,1867
- 0,7 ,2420 ,2389 ,2358 ,2327 ,2297 ,2266 ,2236 ,2206 ,2177 ,2148
- 0,6 ,2743 ,2709 ,2676 ,2643 ,2611 ,2578 ,2546 ,2514 ,2483 ,2451
- 0,5 ,3085 ,3050 ,3015 ,2981 ,2946 ,2912 ,2877 ,2843 ,2810 ,2776
- 0,4 ,3446 ,3409 ,3372 ,3336 ,3300 ,3264 ,3228 ,3192 ,3156 ,3121
- 0,3 ,3821 ,3783 ,3745 ,3707 ,3669 ,3632 ,3594 ,3557 ,3520 ,3483
- 0,2 ,4207 ,4168 ,4129 ,4090 ,4052 ,4013 ,3974 ,3936 ,3897 ,3859
- 0,1 ,4602 ,4562 ,4522 ,4483 ,4443 ,4404 ,4364 ,4325 ,4286 ,4247
0 ,5000 ,4960 ,4920 ,4880 ,4840 ,4801 ,4761 ,4721 ,4681 ,4641
Capitolo 7 - Tecniche di programmazione reticolari pag. 160

7.7 - Aggiornamento del programma;


Il programma formulato per il progetto deve essere via via aggiornato in base alle
risultanze emergenti in via di attuazione. E' in particolare accertarsi che la probabilità di
rispettare determinate scadenze contrattuali, calcolate in via preliminare, non subisca
sensibili modificazioni a seguito del mancato rispetto dei tempi preventivati.
Si supponga ad esempio di aver calcolato inizialmente per l'evento finale F il fattore z f
= 0,31 e quindi di aver valutato la probabilità di 0,62 di rispettare il vincolo in scadenza
Lf (cfr. tab. 9).
In base ai risultati di svolgimento delle prime attività in programma, alle date T
preventivate saranno via via sostituite le date τ, attraverso le quali verrà a modificarsi lo
scorrimento si degli eventi non ancora raggiunti e quindi i fattori di probabilità zi.
Tornando all'esempio considerato potrà accadere che, dopo le prime due settimane di
lavoro, risulti zf = 0,21, avendosi allora la probabilità del 58% di rispettare Lf.
Se dopo altre due settimane risultasse zf = - 0,1, la stessa probabilità risulterebbe
inferiore al 50 % (pari in particolare al 46 %); in tali condizioni occorrerebbe prendere
provvedimenti per ricondurre il progetto al rispetto della probabilità di completamento
minima assunta come riferimento.
In questo, per l'appunto, il Pert si configura come tecnica di revisione e controllo
(Review Technique); infatti dopo aver compilato il programma, identificato gli eventi
critici, valutato la probabilità di conseguire i voluti obbiettivi, si potrà con esso
controllare il riflesso dei risultati reali sul prosieguo del progetto ed assumere
tempestivi provvedimenti per ricondurre il programma al rispetto degli impegni (e,
comunque, per limitare il danno potenziale).
A tale scopo, noto che sia il percorso critico, saranno anche individuate le attività per le
quali sussistono sufficienti margini di sicurezza e dalle quali è relativamente lecito
distogliere attenzione e risorse di lavoro per concentrarle nelle attività (critiche) cui
fondamentalmente è legata la possibilità di rispettare i vincoli temporali imposti dal
programma.
Capitolo 7 - Tecniche di programmazione reticolari pag. 161

Si consideri, ad esempio, il reticolo di fig. 15 nel quale il percorso critico è: (1- 3 - 4 -


5).

2
2 4

1 1 4 6
T1 = 0 L5 = 15
6 5
1 3 5

fig 15

Per le attività non critiche si calcolano i seguenti scorrimenti:

s( 1, 2 ) = L 2 − T 1 − t ( 1, 2 ) = 4 − 0 − 1 = 3

s( 2, 3 ) = L 3 − T 2 − t ( 2, 3 ) = 5 − 1 − 1 = 3

s( 2, 4 ) = L 4 − T 2 − t ( 2, 4 ) = 9 − 1 − 2 = 6

s( 3, 5 ) = L 5 − T 3 − t ( 3, 5 ) = 15 − 6 − 5 = 4

si supponga a tal punto di potere distribuire le risorse di lavoro in modo da assegnare


alle attività le durate:
- t(1,2) = 2,5
- t(1,3) = 5,5
- t(2,3) = 1,5
- t(2,4) = 4,0
- t(3,4) = 2,0
- t(3,5) = 7,5
- t(4,5) = 5,0

riportate anche in fig. 16


Capitolo 7 - Tecniche di programmazione reticolari pag. 162

T2 = 2,5 T4 = 7
L2 = 6 L4 = 10
4
2 4

2,5 1,5 2 5
T1 = 0
L1 = 2,5
5 7,5 T5 = 12,5
1 3 5 L5 = 15
T3 = 5
L3 = 7,5

fig 16

Si hanno quindi le nuove date limiti:

- L5 = 15
- L4 = 10
- L3 = 7,5
- L2 = 6,0
- L1 = 2,5

gli scorrimenti risultano tutti positivi, è aumenta la probabilità di rispettare il vincolo


finale (L5 = 15) e (si badi bene) è mutato il percorso critico, essendo adesso i nodi (1,
3, 5) quello dotati di scorrimento più piccolo. Quest'ultima circostanza evidenzia il fatto
che il percorso critico preliminarmente individuato non deve essere ritenuto
necessariamente definitivo: nel corso dell'attuazione del progetto, i ritardi registratisi ed
i provvedimenti assunti rendono assai spesso critici attività ed eventi che inizialmente
non sarebbero apparsi tali.
Capitolo 7 - Tecniche di programmazione reticolari pag. 163

3 - Metodo CPM (Critical Path Method).


Attraverso l'analisi delle relazioni esistenti fra il tempo necessario ed il costo da
sostenere per realizzare un determinato progetto, le tecniche reticolari costituiscono un
valido supporto per la ricerca tra la durata ed il costo globale del progetto stesso.
Il Pert è indubbiamente adatto per la gestione dei progetti di attività la cui durata è di
difficile valutazione e per le quali non riesce agevole stabilire in modo attendibile la
relazione tempo-costo (es. ricerche avanzate, progetti nuovi affetti da sensibile
incertezza, etc.).
Vi sono tuttavia progetti le cui basi di sviluppo non presentano spiccato carattere
aleatorio; sicché riesce possibile preventivarne il verosimile tempo di completamento
nonché la legge di variazione della durata al variare dell'impiego delle risorse all'uopo
necessarie.
Il metodo CPM, messo a punto da Walker e Kelley verso la fine degli anni cinquanta, è
uno strumento di pianificazione e controllo particolarmente adatto per tali casi.
Esso si è rivelato tra l'altro efficace nei seguenti settori di attività:
- costruzioni edili, stradali, aeroportuali
- grandi opere di manutenzione e revisione impianti industriali
- costruzioni prototipali di grande impegno
Tra i suoi vantaggi applicativi si ricorda:
1) facilità di comprensione della procedura anche per il personale non esperto.
2) chiara indicazione delle alternative possibili e dei legami esistenti tra le attività ed
i costi corrispondenti.
3) possibilità di valutare l'effettiva convenienza di accelerare lo svolgimento di
determinate attività.
4) possibilità di effettuare una stima attendibile del costo totale del progetto in
corrispondenza di diverse date di completamento, e quindi di scegliere la durata
ottimale.

Relazione fra durata e costo diretto di una attività.


Una generica attività atta a chiamare in causa risorse di lavoro quantitativamente
definite, avrà un tempo di svolgimento legato all'impegno quantitativo delle risorse
stesse.
Capitolo 7 - Tecniche di programmazione reticolari pag. 164

Se a titolo di semplice esempio facciamo riferimento a lavori di carattere strettamente


manuale, per i quali le risorse siano sostanzialmente espresse in ore-uomo, un'attività
che richieda 30 ore-uomo potrà essere svolta in trenta, quindici, dieci ore secondo che si
assegnino ad esse uno, due, tre addetti.
Per ogni attività si riesce in molti casi a stabilire tre possibili durate:
- Durata abituale (ta ): tempo di svolgimento dell'attività in assenza di
programmazione e controllo del lavoro (detta anche "tempo massimo al costo
maggiore del minimo").
- Durata normale (tn ): tempo di svolgimento dell'attività alle condizioni
economicamente più favorevoli (detta anche "tempo maggiore del minimo al costo
minimo").
- Durata limite (t l ): tempo tecnicamente irriducibile (tempo di svolgimento nelle
condizioni di massimo impegno e costo).
Nel caso generale, (fig 17) può assumersi una variazione pressoché continua della
durata e del costo dell'attività tra gli estremi ta - tl

L
CL C = C(t)

CN N

tL tN tA t
fig. 17
in tn il costo, per definizione, risulterà minimo (a sinistra di tn esso si incrementa per il
maggiore impiego di risorse, a destra di tn per impegno inefficiente delle stesse).
Tra le eccezioni alla relazione C = C(t) vanno ricordate:
Capitolo 7 - Tecniche di programmazione reticolari pag. 165

- Relazione orizzontale, cioè costo fisso delle risorse, indipendentemente dal tempo
(attività svolte da persone di concetto cui non è riconosciuta indennità per ore
straordinarie).
- Relazione discontinua, caso tipico di attività per le quali si conoscono soltanto valori
discreti di durata e costo (es. trasporti via terra, mare, aerea).
- Attività fittizia, ossia, come per il Pert, attività considerate al solo fine di istituire
determinate priorità, per le quali non sussiste l'impegno di tempo e di risorse.
Prescindendo da tali eccezioni, nel CPM si suppone per semplicità procedurale una
relazione lineare durata-costo, sostituendo una poligonale alla curva di fig. 17 o anche
approssimando l'arco di curva LN con la sua corda.
Tale approssimazione è giustificata dall'evidente snellimento dei calcoli e dalla finalità
del metodo, che si propone di individuare scelte ottimali e non di misurare con
esattezza il costo connesso con la singola scelta operata.
In base alla linearizzazione della legge C = C(t), il costo di accelerazione di una data
attività (ossia il costo che occorre sostenere per ridurre di una unità di tempo la durata
dell'attività in oggetto) risulta espressa da:

cL − cN
ca = (8)
tn − tL

Il criterio che si seguirà per ottimizzare la durata del progetto sarà quindi quello di
individuare le attività critiche (come nel Pert) e di accelerare, tra queste, le attività cui
competono i più bassi costi di accelerazione.
Fasi logiche della procedura CPM
1) Individuazione delle varie attività concorrenti nel progetto
2) Definizione dell'ordinamento sequenziale delle attività
3) Analisi della relazione costo-durata di ogni attività e linearizzazione.
4) Impostazione reticolare del programma (come nel Pert).
5) Attribuzione della durata normale tn ad ogni attività.
6) Identificazione del percorso critico (e quindi delle attività che determinano la
durata del progetto), calcolo della durata normale e del costo normale dell'intero
programma.
7) Progressiva riduzione della durata totale mediante riduzione di durata delle attività
critiche (col criterio del minimo costo di accelerazione).
Capitolo 7 - Tecniche di programmazione reticolari pag. 166

8) Calcolo del costo totale al variare della durata totale (portando in conto anche i
costi indiretti ed esterni).
9) Individuazione della durata del progetto cui compete il minimo costo totale.
10) Impiego dei risultati ottenuti nelle fasi 8 e 9 per effettuare le scelte più
convenienti in relazione agli obbiettivi perseguiti.