Pri gradbenem podjetju razmišljajo, da bi se prijavili na razpis za prenovo avtocestnega viadukta. Identificirali so pet nalog:
naloge <- c('A', 'B', 'C', 'D', 'E')
tmin <- setNames(c(3, 2, 3, 1, 2), naloge) # najkrajše trajanje
tnaj <- setNames(c(4, 2, 5, 3, 3), naloge) # najbolj verjetno trajanje
tmax <- setNames(c(5, 2, 6, 5, 5), naloge) # najdaljše trajanje
pogoji <- setNames(c('', 'A' ,'B', 'A', 'BD'), naloge)
Če bodo izbrani za izvedbo del, si obetajo zaslužek v višini 250.000€. Če del ne bodo končali v roku 11 tednov, bodo morali plačati pogodbeno kazen v višini 500.000€.
Ocenimo povprečna trajanja in variance za vsako opravilo.
tpovp <- (tmin + 4*tnaj + tmax)/6 # povprečno trajanje
tvar <- ((tmax - tmin)/6)^2 # varianca
data.frame(tmin, tnaj, tmax, pogoji, tpovp, tvar)
tmin | tnaj | tmax | pogoji | tpovp | tvar | |
---|---|---|---|---|---|---|
A | 3 | 4 | 5 | 4.000000 | 0.1111111 | |
B | 2 | 2 | 2 | A | 2.000000 | 0.0000000 |
C | 3 | 5 | 6 | B | 4.833333 | 0.2500000 |
D | 1 | 3 | 5 | A | 3.000000 | 0.4444444 |
E | 2 | 3 | 5 | BD | 3.166667 | 0.2500000 |
Z iskanjem najdaljše poti v grafu, uteženem s povprečnimi trajanji, identificiramo povprečno kritično pot ABC
. Izračunajmo povprečno dolžino in standardni odklon trajanja povprečne kritične poti.
krit <- c('A', 'B', 'C')
tkrit <- sum(tpovp[krit]) # povprečna dolžina
dkrit <- sqrt(sum(tvar[krit])) # standardni odklon
c(tkrit, dkrit)
S pomočjo standardne normalne porazdelitve ocenimo verjetnost, da bo projekt pravočasno končan.
p <- pnorm((11 - tkrit) / dkrit)
p
Izračunajmo še pričakovani zaslužek..
250000 - (1-p) * 500000