36106 managerial decision modeling modeling with integer...

42
36106 Managerial Decision Modeling Modeling with Integer Variables – Part 2 Kipp Martin University of Chicago Booth School of Business October 2, 2017 1

Upload: dinhcong

Post on 13-Mar-2018

237 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

36106 Managerial Decision ModelingModeling with Integer Variables – Part 2

Kipp MartinUniversity of Chicago

Booth School of Business

October 2, 2017

1

Page 2: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Reading and Excel Files

Reading (Powell and Baker):

I Section 10.2

I Section 10.4

I Chapter 11, Sections 11.4 and 11.5

Files used in this lecture:

I allocationFC if.xlsx

I allocationFC if key.xlsx

I allocationFC int.xlsx

I allocationFC int key.xlsx

I supply chain trans.xlsx

I supply chain trans key.xlsx

I supply chain.xlsx

I supply chain if.xlsx

I supply chain key.xlsx

2

Page 3: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Lecture Outline

Modeling Fixed Costs

Supply Chain Management

Modeling Logical Conditions

Sensitivity Analysis

Conclusion

3

Page 4: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Learning Objectives

1. Understand the distinction between fixed and sunk costs.

2. Learn why IF statements cause problems when modeling fixedcosts.

3. Learn how to effectively model fixed costs in Excel.

4. Learn how to model supply chain management problems.

5. Learn how to model logical conditions.

4

Page 5: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Modeling Fixed Costs

In Powell and Baker see:

I Section 11.5

Motivation: recall the Shelby Shelving example.

I I only considered variable overhead in the objective function.

I I assumed the fixed costs were sunk costs.

How do we treat a fixed cost if it is not a sunk cost?

5

Page 6: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Modeling Fixed Costs

Consider the Veerman Furniture Company from Section 9.2. Wecan produce chairs, desks, and tables.

In our earlier model there were zero fixed costs.

New Key Assumptions:

I if we produce a nonzero quantity of chairs there is a fixed costof $3000

I if we produce a nonzero quantity of desks there is a fixed costof $3000

I if we produce a nonzero quantity of tables there is a fixed costof $3000

6

Page 7: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Modeling Fixed Costs

How do we model this?

First, use an Excel IF function.

For example,

IF(number chairs produced > 0, 3000, 0)

IF(number desks produced > 0, 3000, 0)

IF(number tables produced > 0, 3000, 0)

Then put this IF function into the profit calculation.

7

Page 8: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Modeling Fixed Costs

In the workbook allocationFC if.xlsx put the fixed costs intothe profit function and use Solver to find the optimal profit.

8

Page 9: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Modeling Fixed Costs

Important: since the IF function will contain an adjustable cellthe model is NOT linear!Select GRG Nonlinear in the Solver window.

9

Page 10: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Modeling Fixed Costs

The optimal Solver solution is:

I number chairs = 0

I number desks = 0

I number tables = 0

for a zero profit!

Argh! Can this be optimal?

Rerun the model with a starting solution of 50 chairs, 50 desks,and 50 tables. Now what is the profit?

10

Page 11: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Modeling Fixed Costs

Summary:

I When the model is given an initial solution of 0 desks, 0chairs, and 0 tables it produces an “optimal” solution of 0chairs, 0 desks, and 0 tables for a 0 profit.

I When the model is given an initial solution of 50 desks, 50chairs, and 50 tables it produces an “optimal” solution of 0chairs, 275 desks, and 100 tables for a $2,400 profit.

I The true optimal solution is to produce 0 chairs, 300 desks,and 0 tables for a $4,200 profit.

How did we find the optimal solution?

11

Page 12: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Modeling Fixed Costs

There is a serious problem when you try to use an IF function inExcel when the IF function references adjustable cells.

All is not lost, we can do a much better job with binary variables!

Introduce the following binary variables.

I YC = 1 if a nonzero quantity of chairs are produced, 0otherwise

I YD = 1 if a nonzero quantity of desks are produced, 0otherwise

I YT = 1 if a nonzero quantity of tables are produced, 0otherwise

12

Page 13: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Modeling Fixed Costs

Recall the production quantity variables:

I XC is the number of chairs produced (and there is a demandlimit of 360 chairs)

I XD is the number of desks produced (and there is a demandlimit of 300 desks)

I XT is the number of tables produced (and there is a demandlimit of 100 tables)

Now how do we link the Y and X variables?

13

Page 14: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Modeling Fixed Costs

The new profit function is

15XC + 24XD + 18XT − 3000YC − 3000YD − 3000YT

and we add the fixed-cost constraints

I XC ≤ 360YC

I XD ≤ 300YD

I XT ≤ 100YT

14

Page 15: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Modeling Fixed Costs

Key Idea: Consider, for example, the chairs fixed-cost constraint.

XC ≤ 360YC

If XC > 0 this forces YC = 1 since YC can only take the values 0or 1. This accomplishes two things.

1. When YC = 1 we incur the fixed cost of $3000 in the profitfunction.

2. When YC = 1 the constraint XC ≤ 360YC becomes XC ≤ 360and we cannot produce more than 360 chairs.

Is XC = 0 and YC = 1 feasible? Would Solver do this?

15

Page 16: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Modeling Fixed Costs

Open the workbook allocationFC int.xlsx and implement thenew profit function and constraints. Implement the fixed costconstraints in the range B16:D16.

16

Page 17: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Modeling Fixed Costs

Here is the Solver model. Note that we have selected Simplex LP.

17

Page 18: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Modeling Fixed Costs

Here is the optimal solution. See the Key Excel spreadsheet.

18

Page 19: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Modeling Fixed Costs

Note: Under options make sure you set the IntegerOptimality(%) to zero.

19

Page 20: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Supply Chain Management

We now develop a typical supply chain management model.

These models can result in very large savings.

The Procter & Gamble company used a model similar to what wedevelop next and reduced the number of North American plants byalmost 20 percent, saving over $200 million in pretax costs peryear.

See http://pubsonline.informs.org/doi/abs/10.1287/

inte.27.1.128?journalCode=inte

20

Page 21: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Supply Chain Management

In Powell and Baker see

I Section 10.2

I Section 10.4

I Section 11.5

In this model we add together:

Transportation Problem + Fixed Cost Problem

We have:

I Demand constraints

I Supply constraints

I Fixed cost constraints (to capture the cost of opening the newwarehouses)

21

Page 22: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Supply Chain Management

First, just consider a transportation problem. See Section 10.2 ofPowell and Baker. See Workbook supply chain trans.xlsx.

Basic Idea: Supply the distribution centers from warehouses.Meet the distribution demand without exceeding warehousecapacity. Do so at minimum cost.

22

Page 23: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Supply Chain Management

Model Formulation:

Parameters: (stochastic or deterministic?)

I Cij = the marginal transportation cost for shipping a unitfrom warehouse i to distribution center j

I Dj = the demand at distribution center j

I Si = the supply at warehouse i

Variable Definition:

Xij = number of units shipped from warehouse i to distributioncenter j

23

Page 24: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Supply Chain Management

Model Formulation:

What is the interpretation of X34 = 5000?

What is the interpretation of X48 = 7000?

We want to minimize shipping costs.

min 47X12 + 32X13 + · · ·+ 32X6,10

In Excel the shipping costs are

SUMPRODUCT(shipping costs,shippingVars)

24

Page 25: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Supply Chain Management

Supply Constraints: One for each warehouse.

10∑j=1

Xij ≤ Si , i = 1, . . . , 6

Sample Test Question: write out the San Antonio supplyconstraint.

Demand Constraints: One for each distribution center.

6∑i=1

Xij = Dj , j = 1, . . . , 10

Sample Test Question: write out the Boise demand constraint.

25

Page 26: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Supply Chain Management

Build a Solver model.

26

Page 27: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Supply Chain Management

The optimal solution value is $230,850.00.

27

Page 28: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Supply Chain Management

Realistic Modification: The fixed cost problem. If a warehouseis open, a fixed cost of operating the warehouse is charged. Thiscost is 0 if the warehouse is not open.

Hence we have: IF(OPEN, Fixed Cost, 0)

However, we do not know before solving the model whichwarehouses are open.

Indeed, we want the model to determine which warehouses toopen!

Therefore, whether or not a warehouse should be open is a decisionvariable.

28

Page 29: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Supply Chain Management

First, open the workbook supply chain if.xlsx and solve themodel using IF functions. The optimal value is $975,850. It takessome time to solve.

29

Page 30: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Supply Chain Management

Now model without the IF functions. Use binary variables.

Variable Definition:

Yi = 1 if warehouse i is open, 0 if not.

Additional Parameters:

Fi = the fixed cost of operating warehouse i

What is the interpretation of Y3 = 1?

In Excel the fixed costs are:

SUMPRODUCT(fixed costs,warehouseVars)

30

Page 31: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Supply Chain Management

Supply/Forcing Constraints:

Consider, for example, San Antonio (index 6). Here is the fixedcost/supply constraint

X61 + X62 + X63 + · · ·+ X6,10 ≤ 10000 ∗ Y6

This replaces our IF statement.

If there are any products sent from the San Antonio warehouse, i.e.X61 > 0, or X62 > 0, etc., then Y6 = 1 or the constraint is notsatisfied.

Sample Test Question: write out the Denver supply constraint.

31

Page 32: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Supply Chain Management

The algebraic model:

min6∑

i=1

10∑j=1

CijXij +6∑

i=1

FiYi

6∑i=1

Xij = Dj , j = 1, . . . , 10

10∑j=1

Xij ≤ SiYi , i = 1, . . . , 6

Xij ≥ 0

Yi ∈ {0, 1}

32

Page 33: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Supply Chain Management – Solver Model

33

Page 34: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Supply Chain Management – Solver Model

How much money do we save by using integer variables instead ofthe IF function for our model?

34

Page 35: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Modeling Logical Conditions

See Section 11.4 of the Powell and Baker text. As we have seen,binary variables are good for modeling logical conditions.

Example 1: Consider the Marr Corporation capital budgeting.

In capital budgeting, projects can be “linked.” For example,assume that if project 4 is undertaken (X4 = 1) then project 5must be undertaken (X5 = 1). This is represented as

X4 ≤ X5

Example 2: Consider Marr Corporation again. Assume that, inaddition to the condition in Example 1, if project 5 is undertaken(X5 = 1), then project 4 must be undertaken (X4 = 1). This isrepresented as

X4 = X5

35

Page 36: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Modeling Logical Conditions

Assume in the following examples Xi = 1 if project i is selected, 0otherwise.

Example 3: If project 3 is accepted, project 4 is rejected.

X4 ≤ 1− X3

Example 4: At most three of the projects 1 through 5 can beaccepted.

X1 + X2 + X3 + X4 + X5 ≤ 3

36

Page 37: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Modeling Logical Conditions

Assume in the following examples Xi = 1 if project i is selected, 0otherwise.

Example 5: Exactly one of the first three projects must beaccepted.

X1 + X2 + X3 = 1

Sample Test Question: If project 1 is accepted, then at least oneof projects 2, 3, or 4 must be accepted.

37

Page 38: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Modeling Logical Conditions

Example 6 (Minimum Batch Size): Let X represent the numberof units of a product produced.

Model the following condition:

If the production level is strictly greater than 0, then at least 100units must be produced.

Define Y = 1 if there is nonzero production and Y = 0 if 0 unitsare produced.

Assume the value of X will never exceed 500.

Add the constraints:

X ≤ 500 ∗ YX ≥ 100 ∗ Y

38

Page 39: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Sensitivity Analysis

Bottom Line: There is no such thing as a dual price for integerprogramming. Consider the following example which we first solveas a linear program:

max 40X1 + 60X2 + 70X3 + 160X4

Subject To:

16X1 + 35X2 + 45X3 + 85X4 ≤ 100

X1,X2,X3,X4 ≤ 1 and nonnegative

The optimal solution is X1 = 1, X2 = 0, X3 = 0, and X4 = 84/85for a solution value of $198.1176.

The dual price is 160*(1/85).

39

Page 40: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Sensitivity Analysis

Now assume that the variables must be binary.

Optimal solution X1 = 1, X2 = 1, X3 = 1, and X4 = 0 for asolution value of $170.

What is an extra penny worth?

What is an extra 10 cents worth?

What is an extra dollar worth?

40

Page 41: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

Sensitivity Analysis

Solver does not provide sensitivity information when solving integerprograms.

41

Page 42: 36106 Managerial Decision Modeling Modeling with Integer ...faculty.chicagobooth.edu/.../36106/lectureNotes/integerProg_Part2.pdf · C can only take the values 0 or 1. ... 36106 Managerial

When to Use Integer/Binary Variables

I Model go, no-go decisions

I Model fixed costs

I Model logical conditions

I When rounding can be expensive

42