Ence 627

20
Ence 627 Decision Analysis for Engineering Project Portfolio Selection: “Optimal Budgeting of Projects Under Uncertainty”

description

Ence 627. Decision Analysis for Engineering Project Portfolio Selection: “Optimal Budgeting of Projects Under Uncertainty” Javier Ordóñez. Overview. “Optimal Budgeting of Projects Under Uncertainty” 4 Projects to be allocated in 3 years Projects’ costs are uncertain - PowerPoint PPT Presentation

Transcript of Ence 627

Page 1: Ence 627

Ence 627Decision Analysis for Engineering

Project Portfolio Selection:

“Optimal Budgeting of Projects Under Uncertainty”

Javier Ordóñez

Page 2: Ence 627

Overview

“Optimal Budgeting of Projects Under Uncertainty”

4 Projects to be allocated in 3 years Projects’ costs are uncertain No more than 2 projects can be selected per year Initial budget is also uncertain The policy of the budget use says that as much

as the budget should be used (minimize residual)

Page 3: Ence 627

How do I decide what project to fund and when?

Stochastic Dynamic Programming: SDP is a framework for modeling optimization

problems that involve uncertainty. The goal is to find a policy which is feasible for all

(or almost all) the possible data instances and maximizes/minimizes the expectation of some function of the decision and the random variables.

SDP takes advantage of the fact that probability distributions are known or can be estimated.

Recourse: ability to take corrective action after a random event has taken place

Page 4: Ence 627

Data C( i, j )

C( i, 1 ) P( i , 1 ) C( i, 2 ) P( i , 2 ) C( i, 3 ) P( i , 3 )Project ( i ) Minimun Cost Probab Normal Cost Probab Maximum Cost Probab Expected Cost

1 3.5 0.33 3.8 0.33 4 0.33 3.802 3 0.3 3.4 0.4 3.8 0.3 3.403 2.6 0.2 2.8 0.6 3 0.2 2.804 2.9 0.3 3.3 0.55 3.4 0.15 3.20

Projects’ Cost

Project 1

0

0.1

0.2

0.3

0.4

3.4 3.5 3.6 3.7 3.8 3.9 4 4.1

$ mil

Pro

b

Project 2

0

0.2

0.4

0.6

3 3.2 3.4 3.6 3.8 4

$ mil

Pro

b

Project 3

0

0.20.4

0.6

0.8

2.4 2.6 2.8 3 3.2

$ mil

Pro

b

Project 4

0

0.2

0.4

0.6

2.8 3 3.2 3.4 3.6

$ mil

Pro

b

* Initial budget does not exceed $14 mil

Page 5: Ence 627

SDP elements

Stages

time: 1st ,2nd ,3rd year States

Budget left and project selected in a previous stage

Example: ( 10.1, 1, 0, 0, 0 )

ActionsProjects chosen in the period

Page 6: Ence 627

SDP general formulation

ft(i) minimum expected reward that can be earned during stages t, t+1…. ,end of the problem given that the state at the beginning of stage t is i

The minimum is taken over all actions a that are feasible when the state at the beginning of state t is i

P(j / i,a,t) is the probability that the next period state will be j, given that the current (stage t) state is i and action a is chosen.

The summation represents the expected reward from stage t+1 to the end of the problem

By choosing a to minimize the right hand side of eq. , we are choosing a to minimize the expected reward earned from stage t to the end of the problem

* In this case the expected reward is defined as the expected deviation of the total cost from the budget left, and this is what we want to minimize, we call it “residual”.

j

tat jftaijpaiif 1,,,t stage during reward Expectedmin

Page 7: Ence 627

Resources

Excel: data storage and interface Visual Basic & Excel Macros:

Iterations, calculations and generation of files used by MPL

Optimax object: Add-in that allows to connect Excel with MPL

MPL optimization software: using linear programming gives the optimal project selection to minimize the expect residual

Page 8: Ence 627

Calculations Generation of f3(x) = r3(x)

What This Means Add a strong statement that

summarizes how you feel or think about this topic

Summarize key points you want your audience to remember

Stage 3Action Expected residual

Budget left Project 1 Project 2 Project 3 Project 4 Projects Choosen Budget - E(Cost)8 1 0 0 0 4 2 4.78 0 1 0 0 4 1 4.78 0 0 1 0 2 1 4.68 0 0 0 1 2 1 4.68 1 1 0 0 4 3 4.78 1 0 1 0 4 2 4.78 1 0 0 1 3 2 4.68 0 1 1 0 4 1 4.78 0 1 0 1 3 1 4.68 0 0 1 1 2 1 4.68 1 1 1 0 4 4.88 1 1 0 1 3 5.18 1 0 1 1 2 4.68 0 1 1 1 1 4.2

7.9 1 0 0 0 4 2 4.67.9 0 1 0 0 4 1 4.67.9 0 0 1 0 2 1 4.5

. . . . . . . .

. . . . . . . .0 1 0 0 1 00 0 1 1 0 00 0 1 0 1 00 0 0 1 1 00 1 1 1 0 00 1 1 0 1 00 1 0 1 1 00 0 1 1 1 0

STATE

Page 9: Ence 627

Generation of r2(x)

Stage 2Action Expected

Budget left Project 1 Project 2 Project 3 Project 4 Projects Choosen Budget - E(Cost) Project 1 Project 2 Project 3 Project 410 1 0 0 0 4 2 6.7 1 1 0 110 0 1 0 0 4 1 6.7 1 1 0 110 0 0 1 0 2 1 6.6 1 1 1 010 0 0 0 1 2 1 6.6 1 1 0 110 1 1 0 0 4 3 6.7 1 1 1 110 1 0 1 0 4 2 6.7 1 1 1 110 1 0 0 1 3 2 6.6 1 1 1 110 0 1 1 0 4 1 6.7 1 1 1 110 0 1 0 1 3 1 6.6 1 1 1 110 0 0 1 1 2 1 6.6 1 1 1 1

9.9 1 0 0 0 4 2 6.6 1 1 0 19.9 0 1 0 0 4 1 6.6 1 1 0 19.9 0 0 1 0 2 1 6.5 1 1 1 0

. . . . . . . .

. . . . . . . .0 1 1 0 0 0 1 1 0 0

0 1 0 1 0 0 1 0 1 0

0 1 0 0 1 0 1 0 0 10 0 1 1 0 0 0 1 1 00 0 1 0 1 0 0 1 0 10 0 0 1 1 0 0 0 1 1

STATE State after selection

Page 10: Ence 627

Generation of r3(x)

Stage 1#Projects Action Expected

Budget left Project 1 Project 2 Project 3 Project 4 allowed Projects Choosen Budget - E(Cost) Project 1 Project 2 Project 3 Project 414 0 0 0 0 1 1 10.2 1 0 0 014 0 0 0 0 2 2 1 10.6 1 1 0 0

13.9 0 0 0 0 1 1 10.1 1 0 0 013.9 0 0 0 0 2 2 1 10.5 1 1 0 013.8 0 0 0 0 1 1 10 1 0 0 013.8 0 0 0 0 2 2 1 10.4 1 1 0 013.7 0 0 0 0 1 1 9.9 1 0 0 013.7 0 0 0 0 2 2 1 10.3 1 1 0 013.6 0 0 0 0 1 1 9.8 1 0 0 013.6 0 0 0 0 2 2 1 10.2 1 1 0 0

. . . . . . . . . . . .

. . . . . . . . . . . .0.2 0 0 0 0 1 0.2 0 0 0 00.2 0 0 0 0 2 0.2 0 0 0 00.1 0 0 0 0 1 0.1 0 0 0 00.1 0 0 0 0 2 0.1 0 0 0 0

0 0 0 0 0 1 0 0 0 0 00 0 0 0 0 2 0 0 0 0 0

State after selectionSTATE

Page 11: Ence 627

Next Steps

Applying SDP formulation:

for t =3f3(x) = r3(x)

for t = 1 ,2 ttttat aifarif 1min

Recursive relationship

Residual for stage t if action a is taken

Residual from other stages

Page 12: Ence 627

Calculation example

Stage: 2

State i:

Possible a: {(10,9.9,….0),1,0,0,0}

For each a r2(a2)

Budget left Project 1 Project 2 Project 3 Project 410 1 0 0 0

STATE

Action ExpectedBudget left Project 1 Project 2 Project 3 Project 4 Projects Choosen Budget - E(Cost) Project 1 Project 2 Project 3 Project 4

10 1 0 0 0 4 2 6.7 1 1 0 19.9 1 0 0 0 4 2 6.6 1 1 0 19.8 1 0 0 0 4 2 6.5 1 1 0 19.7 1 0 0 0 4 2 6.4 1 1 0 19.6 1 0 0 0 4 2 6.3 1 1 0 19.5 1 0 0 0 4 2 6.2 1 1 0 19.4 1 0 0 0 4 2 6.1 1 1 0 19.3 1 0 0 0 4 2 6 1 1 0 1

. . . . . . . . . . . .

. . . . . . . . . . . .0.7 1 0 0 0 0.7 1 0 0 00.6 1 0 0 0 0.6 1 0 0 00.5 1 0 0 0 0.5 1 0 0 00.4 1 0 0 0 0.4 1 0 0 00.3 1 0 0 0 0.3 1 0 0 00.2 1 0 0 0 0.2 1 0 0 00.1 1 0 0 0 0.1 1 0 0 0

0 1 0 0 0 0 1 0 0 0

STATE State after selection

Page 13: Ence 627

Get f3(i-a2)

Stage 3Action Expected

Budget left Project 1 Project 2 Project 3 Project 4 Projects Choosen Budget - E(Cost)6.7 1 1 0 1 3 3.86.6 1 1 0 1 3 3.76.5 1 1 0 1 3 3.66.4 1 1 0 1 3 3.56.3 1 1 0 1 3 3.46.2 1 1 0 1 3 3.36.1 1 1 0 1 3 3.2

6 1 1 0 1 3 3.1. . . . . . . .. . . . . . . .

0.7 1 0 0 0 0.70.6 1 0 0 0 0.60.5 1 0 0 0 0.50.4 1 0 0 0 0.40.3 1 0 0 0 0.30.2 1 0 0 0 0.20.1 1 0 0 0 0.1

0 1 0 0 0 0

STATE

Page 14: Ence 627

Applying formulation 23222 min10 aifarf a

r2(a2) f3(1-a2) f2(a2)

6.7 3.8 10.56.6 3.7 10.36.5 3.6 10.16.4 3.5 9.96.3 3.4 9.76.2 3.3 9.56.1 3.2 9.3

6 3.1 9.1. . .. . .

Mina = f2(10)

Page 15: Ence 627

ResultsExample: budget available=$14 mil

Stage 1#Projects

Budget left Project 1 Project 2 Project 3 Project 4 allowed E ( r ) Projects Choosen14 0 0 0 0 1 6.8 114 0 0 0 0 2 6.9 1

13.9 0 0 0 0 1 6.7 113.9 0 0 0 0 2 6.8 113.8 0 0 0 0 1 6.6 113.8 0 0 0 0 2 6.7 113.7 0 0 0 0 1 6.5 113.7 0 0 0 0 2 6.6 113.6 0 0 0 0 1 6.4 113.6 0 0 0 0 2 6.5 113.5 0 0 0 0 1 6.3 113.5 0 0 0 0 2 6.4 113.4 0 0 0 0 1 6.2 113.4 0 0 0 0 2 6.2 3 2

. . . . . . . .

. . . . . . . .0.3 0 0 0 0 10.3 0 0 0 0 20.2 0 0 0 0 10.2 0 0 0 0 20.1 0 0 0 0 10.1 0 0 0 0 2

0 0 0 0 0 10 0 0 0 0 2

STATE

Page 16: Ence 627

ResultsActual cost of project 1 = $4.1 mill

Budget left = $9.9 mill

State: (9.9,1,0,0,0)Stage 2

projectsBudget left Project 1 Project 2 Project 3 Project 4 f(2) chosen

10 1 0 0 0 3.3 4 3 10 0 1 0 0 2.9 4 3 10 0 0 1 0 2.8 110 0 0 0 1 2.8 110 1 1 0 0 3.9 410 1 0 1 0 3.4 210 1 0 0 1 3.7 210 0 1 1 0 3 110 0 1 0 1 3.3 110 0 0 1 1 2.8 1

9.9 1 0 0 0 3.2 4 3 9.9 0 1 0 0 2.9 4 3 9.9 0 0 1 0 2.7 19.9 0 0 0 1 2.7 1

. . . . . . .

. . . . . . .0.1 0 1 1 0 0.10.1 0 1 0 1 0.10.1 0 0 1 1 0.1

STATE

Page 17: Ence 627

Stage 3Action Expected

Budget left Project 1 Project 2 Project 3 Project 4 Projects Choosen Budget - E(Cost)3.7 0 1 1 1 3.43.6 1 0 0 0 2 0.43.6 0 1 0 0 4 0.43.6 0 0 1 0 2 0.43.6 0 0 0 1 2 0.43.6 1 1 0 0 4 0.43.6 1 0 1 0 2 0.43.6 1 0 0 1 2 0.43.6 0 1 1 0 4 0.43.6 0 1 0 1 3 0.73.6 0 0 1 1 2 0.43.6 1 1 1 0 4 0.43.6 1 1 0 1 3 0.73.6 1 0 1 1 2 0.43.6 0 1 1 1 3.63.5 1 0 0 0 4 0.3

STATE

ResultsActual cost of project 1 = $ 4.1 mill

Actual cost of project 3 = $ 3 mill

Actual cost of project 4 = $ 3.3 mill

Total = $ 10.4 mill

Budget left = $3.6 mill

State: (3.6,1,0,1,1)

Page 18: Ence 627

Model statistics

Possible states: 2426

Iterations for possible scenarios:

around 300’000,000

Time to run the program 1h15

Page 19: Ence 627

Future work

Increase the number of projects

Multi-objective optimization: cost & resources

Improve program functionality

Page 20: Ence 627

Questions?