23
1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

Embed Size (px)

Citation preview

Page 1: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

1

BA 555 Practical Business Analysis

Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis

Agenda

Page 2: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

2

Decision-making under Uncertainty

Decision-making under uncertainty entails the selection of a course of action when we do not know with certainty the results that each alternative action will yield.

This type of decision problems can be solved by statistical techniques along with good judgment and experience.

Example: buying stocks/mutual funds.

Page 3: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

3

Decision-making under Certainty

Decision-making under certainty entails the selection of a course of action when we know the results that each alternative action will yield.

This type of decision problems can be solved by linear/integer programming technique.

Example: A company produces two different auto parts A and B. Part A (B) requires 2 (2) hours of grinding and 2 (4) hours of finishing. The company has two grinders and three finishers, each of which works 40 hours per week. Each Part A (B) brings a profit of $3 ($4). How many items of each part should be manufactured per week?

Page 4: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

4

Steps in Quantifying and Solving a Decision Problem Under Certainty Formulate a mathematical model:

Define decision variables, State an objective, State the constraints.

Input the model to a LP/ILP solver, e.g., LINDO or EXCEL Solver.

Obtain computer printouts and perform sensitivity analysis.

Report optimal strategy.

Page 5: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

5

Example 6 Blending (p.66)

Ajax Fuels, Inc., is developing a new additive for airplane fuels. The additive is a mixture of three ingredients: A, B, and C. For proper performance, the total amount of additive (amount of A + amount of B + amount of C) must be at least 10 ounces per gallon of fuel. However, because of safety reasons, the amount of additive must not exceed 15 ounces per gallon of fuel. The mix or blend of the three ingredients is critical. At least 1 ounce of ingredient A must be used for every ounce of ingredient B. The amount of ingredient C must be greater than one-half the amount of ingredient A. If the costs per ounce for ingredients A, B, and C are $0.10, $0.03, and $0.09, respectively, find the minimum-cost mixture of A, B, and C for each gallon of airplane fuel.

Page 6: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

6

American Steel Company

Butte: supply grade A ore up to 1000 tons

Cheyenne: supply grade B ore up to 2000 tons

Pittsburgh: process up to700 tons of ore with a lowerprocessing cost.

Youngstown: process up to1500 tons of ore with a higherprocessing cost.

Mexico

Taiwan

Korea

Japan

High-grade steelA:B = 1:2

High-grade steelA:B = 1:2

Low-grade steelA:B = 1:3

Low-grade steelA:B = 1:3

Purchasing Blending Logistic

Material and shipping costs processing cost shipping cost

Page 7: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

7

Example 7 Staff Scheduling (p.67)

D. V.Xi = # of officers served in shift i

Shift 8 A.M. Noon 4 P.M. 8 P.M. Midnight 4 A.M.1 X1 X12 X2 X23 X3 X34 X4 X45 X5 X56 X6 X6

Time of Day 8 A.M. Noon 4 P.M. 8 P.M. Midnight 4 A.M.Req'd Officers 5 6 10 7 4 6

Page 8: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

8

Variation: Staff Scheduling

SHIFT M T W R F SA SU

1 X1 X1 X1 X1 X1

2 X2 X2 X2 X2 X2

3 X3 X3 X3 X3 X3

4 X4 X4 X4 X4 X4

5 X5 X5 X5 X5 X5

6 A B

Req’ 17 13 15 19 14 16 11

Different schedulesDifferent benefitsFull-time vs. part-timeEtc.

Page 9: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

9

Staff Scheduling at the USPS

Title: Staff scheduling at the United States postal service Source: Computers and Operations Research, Volume 30, Issue 5 (April 2003), pp. 745 – 771. Authors: Jonathan F. Bard, Canan Binici, and Anura H. deSilva Abstract

The purpose of this paper is to present a full-scale model of the tour scheduling problem as it arises in the United States Postal Service, and to examine several scenarios aimed at reducing the size of the workforce. The problem is formulated as a pure integer linear program and solved with CPLEX. The baseline model includes both full-time and part-time workers, as well as the principal constraints defined by the union contract. The scenarios include requirements for two days off in a row, variable daily start times, the use of part-time flexible workers, and a parametric analysis of full-time to part-time restrictions. The results indicate that problem instances of realistic size can be solved within 1 h, and that measurable savings can be achieved by departing from current practice.

Page 10: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

10

Example 9 Multi-period Financial Planning (p.69)

Cash Flow at Time Period #

Investment 0 1 2 3

A –1 0.5 1 0

B 0 –1 0.5 1

C –1 1.2 0 0

D –1 0 0 1.9

E 0 0 –1 1.5

Constraints: Balance cash inflow and cash outflow at all time periods.

Page 11: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

11

Dedication / Cash Flow Matching

Dedication or cash flow matching is a technique used to fund known liabilities in the future. The intent is to form a portfolio of assets such that cash inflows will exactly offset the cash outflows of the liabilities.

Year 2008 2009 2010 2011 2012 2013 2014 2015 Liability 12,000 18,000 20,000 20,000 16,000 15,000 12,000 10,000

Bond1 Bond2 Bond3 Bond4 Bond5 Bond6 Bond7 Bond8 Bond9 Bond10 Price 102 99 101 98 98 104 100 101 102 94 Coupon 5 3.5 5 3.5 4 9 6 8 9 7 Maturity 2008 2009 2009 2010 2011 2012 2012 2013 2014 2015

Page 12: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

12

Integer LP: Example (p.75) An airline owns an aging fleet of Boeing 727 airplanes. It is considering a major

purchase of up to 17 new Boeing 757 and 767 jets. The decision must take into account numerous cost and capability factors, including the following:

the airline can finance up to $400 million in purchases; each Boeing 757 will cost $35 million, while each Boeing 767 will cost $22

million; at least one-third of the planes purchased should be the longer-ranged 757; the annual maintenance budget is to be no more than $8 million; the annual maintenance cost is estimated to be $800,000 for a 757, and

$500,000 for a 767; and each 757 can carry 125,000 passengers per year, while each 767 can fly 81,000

passengers annually. Formulate this problem as an integer programming problem to maximize the

annual passenger-carrying capacity.

! Decision variables: ! B5 = # of Boeing 757 purchased ! B6 = # of Boeing 767 purchased MAX 125000 B5 + 81000 B6 SUBJECT TO 35 B5 + 22 B6 <= 400 2 B5 - B6 >= 0 0.8 B5 + 0.5 B6 <= 8 B5 + B6 <= 17 END GIN 2

! Decision variables: ! B5 = # of Boeing 757 purchased ! B6 = # of Boeing 767 purchased MAX 125000 B5 + 81000 B6 SUBJECT TO 35 B5 + 22 B6 <= 400 2 B5 - B6 >= 0 0.8 B5 + 0.5 B6 <= 8 B5 + B6 <= 17 END GIN 2

Page 13: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

13

Integer LP: Example 11 (p.75)

Estimated Capital Requirements ($) Project Present Value ($) Year 1 Year 2 Year 3 Year 4

Plant Expansion 90,000 15,000 20,000 20,000 15,000 Warehouse Expansion 40,000 10,000 15,000 20,000 5,000 New Machinery 10,000 10,000 0 0 4,000 New Product Research 37,000 15,000 10,000 10,000 10,000 Available Capital funds 40,000 50,000 40,000 35,000 Let decision variables: X1 = 1 if the plant expansion project is accepted; 0, if rejected, X2 = 1 if the warehouse expansion project is accepted; 0, if rejected, X3 = 1 if the new machinery project is accepted; 0, if rejected, X4 = 1 if the new product research project is accepted; 0, if rejected.

Estimated Capital Requirements ($) Project Present Value ($) Year 1 Year 2 Year 3 Year 4

Plant Expansion 90,000 15,000 20,000 20,000 15,000 Warehouse Expansion 40,000 10,000 15,000 20,000 5,000 New Machinery 10,000 10,000 0 0 4,000 New Product Research 37,000 15,000 10,000 10,000 10,000 Available Capital funds 40,000 50,000 40,000 35,000 Let decision variables: X1 = 1 if the plant expansion project is accepted; 0, if rejected, X2 = 1 if the warehouse expansion project is accepted; 0, if rejected, X3 = 1 if the new machinery project is accepted; 0, if rejected, X4 = 1 if the new product research project is accepted; 0, if rejected.

BINARY decision variables

Page 14: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

14

Common Types of Logical Constraints (p.76) Mutual Exclusion: either A or B, but not both, can be

implemented. write down a constraint to express the restriction that, due to limited

budget, either “New Machinery” project or “New Product Research” project can be implemented, but not both.

Conditional: if B is implemented, then A must be implemented also. write down a constraint to express the restriction that if the plant is

expanded, the warehouse must also be expanded. Corequisite: if B is implemented, then A must be implemented

also, and vice versa. write down a constraint to express the restriction that if the plant is

expanded, then “New Machinery” project must be carried out and vice versa.

k out of n: at most/least k out of n alternatives can be implemented. at most 3 projects have to be implemented next year. at least 2 projects have to be implemented next year.

Page 15: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

15

Binary Decision Variables: Example 12 (p.76) Kilroy Manufacturing is establishing plants in six cities (cities 1-

6). The company must decide in which of these cities to procure space for storing inventory. The company wants to ensure that at least one inventory site is within 150 miles of each plant. The distance required to drive between the cities are shown in the table below:

Formulate an ILP model to determine how many inventory sites must be built, and where they should be located.

TO FROM City 1 City 2 City 3 City 4 City 5 City 6 City 1 0 100 200 300 300 200 City 2 100 0 250 350 200 100 City 3 200 250 0 150 300 200 City 4 300 350 150 0 150 250 City 5 300 200 300 150 0 140 City 6 200 100 200 250 140 0

Page 16: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

16

Binary Decision Variables (Example 12, p.76)

! Decision Variables ! Xj = 1 if an inventory site is built in City j. MIN X1 + X2 + X3 + X4 + X5 + X6 SUBJECT TO X1 + X2 >= 1 X1 + X2 + X6 >= 1 X3 + X4 >= 1 X3 + X4 + X5 >= 1 X4 + X5 + X6 >= 1 X2 + X5 + X6 >= 1 END INT 6

Page 17: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

17

Sensitivity Analysis (p.70)

How will a change in a coefficient of the objective function affect the optimal solutions?

How will a change in the right-hand-side value for a constraint affect the optimal solution?

MAX 3 A + 4 B SUBJECT TO 2) 2 A + 2 B <= 80 3) 2 A + 4 B <= 120 END

Page 18: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

18

Glossary (p.77)

SLACK: A variable added to the left-hand side of a less-than-or-equal-to () constraint to convert the constraint into an equality. The value of this variable can usually be interpreted as the amount of unused resource.

SURPLUS: A variable subtracted from the left-hand side of a greater-than-or-equal-to () constraint to convert the constraint into an equality. The value of this variable can usually be interpreted as the amount over and above some required minimum level.

BINDING/NON-BINDING: A constraint is binding if it is satisfied as a strict equality in the optimal solution; otherwise, it is nonbinding. If a constraint is binding, its corresponding slack/surplus variable equals to 0.

Page 19: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

19

Slack/Surplus/Binding/Non-Binding (p.70)

OBJECTIVE FUNCTION VALUE 1) 140.0000 VARIABLE VALUE REDUCED COST A 20.000000 .000000 B 20.000000 .000000 ROW SLACK OR SURPLUS DUAL PRICES 2) .000000 1.000000 3) .000000 .500000

MAX 3 A + 4 B SUBJECT TO 2) 2 A + 2 B <= 80 3) 2 A + 4 B <= 120 END

Page 20: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

20

Sensitivity Analysis (p.70)

How will a change in a coefficient of the objective function affect the optimal solutions?

How will a change in the right-hand-side value for a constraint affect the optimal solution?

MAX 3 A + 4 B SUBJECT TO 2) 2 A + 2 B <= 80 3) 2 A + 4 B <= 120 END

Page 21: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

21

Range of Optimality (p.70)

The range of values over which an objective function coefficient may vary without causing any change in the values of the decision variables in the optimal solution.

OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE A 3.000000 1.000000 1.000000 B 4.000000 2.000000 1.000000

MAX 3 A + 4 B SUBJECT TO 2) 2 A + 2 B <= 80 3) 2 A + 4 B <= 120 END

Page 22: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

22

Range of Feasibility (p.70)

The range of values over which an objective function coefficient may vary without causing any change in the values of the decision variables in the optimal solution.

MAX 3 A + 4 B SUBJECT TO 2) 2 A + 2 B <= 80 3) 2 A + 4 B <= 120 END

RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE 2 80.000000 40.000000 20.000000 3 120.000000 40.000000 40.000000

OBJECTIVE FUNCTION VALUE 1) 140.0000 VARIABLE VALUE REDUCED COST A 20.000000 .000000 B 20.000000 .000000 ROW SLACK OR SURPLUS DUAL PRICES 2) .000000 1.000000 3) .000000 .500000

OBJECTIVE FUNCTION VALUE 1) 140.0000 VARIABLE VALUE REDUCED COST A 20.000000 .000000 B 20.000000 .000000 ROW SLACK OR SURPLUS DUAL PRICES 2) .000000 1.000000 3) .000000 .500000

Page 23: 1 BA 555 Practical Business Analysis Linear Programming (LP) Examples Integer Linear Programming Sensitivity Analysis Agenda

23

Reduced Cost (p.70)

The amount by which an objective function coefficient would have to improve (increase for a maximization problem, decrease for a minimization problem), before it would be possible for the corresponding variable to assume a positive value in the optimal solution.

OBJECTIVE FUNCTION VALUE 1) 140.0000 VARIABLE VALUE REDUCED COST A 20.000000 .000000 B 20.000000 .000000 ROW SLACK OR SURPLUS DUAL PRICES 2) .000000 1.000000 3) .000000 .500000