1 5. Linear Programming 1.Introduction to Constrained Optimization –Three elements: objective, constraints, decisions –General formulation –Terminology 2.Linear Programming –Properties of LP –Solving LP problems using Solver –Sensitivity analysis: constraints and shadow prices, objective function coefficients
2 Portfolio Management A portfolio manager wants to structure a portfolio from several investments: A, B, C, D Decisions: Objective: Constraints: If is more important –Objective: –Constraints:
3 Constrained Optimization Constrained Optimization: find decisions that Maximize (or minimize): objective function Subject to: constraints (limitations on resources) Applications –Portfolio management-- Distribution –Location planning -- Production planning –Production scheduling-- Workforce planning –Many others Example: Produce and ship 100 products from 20 plants to 50 DCs around the world, to minimize costs. Constraints? Decisions? Objective?
5 Terminology Decision variables - things we can control Objective function - performance measure Feasible region - The region in which the decision variables satisfy all of the constraints (choice set) Feasible solution - A solution that satisfies all constraints (lies within the feasible region). Optimal solution - the feasible solution that achieves the best (max or min) value for the objective function. Optimal objective function value - The value of the objective function at the optimal solution.
6 Linear Programs An important tractable special case –Very easy for the computer to solve a large scale problem –Wide applications Linear objective function and constraints The feasible region will be a convex polyhedron –Convex: No holes or indentations –Polyhedron: flat sides Optimal solution will always be at a corner – ignore infinite feasible points on sides and interior points
7 Product Mix Problem $16.00$6.00 Marginal Profit 121.52M2 2042M1 Available Machine Hours BA Products Machines hours Maximize Subject to:
8 We must tell Excel’s Solver that: Decision variables are in C3:D3 (Changing Cells) Objective function is in F4 (Target Cell) Constraints are F6:F7 (hours used) E6:E7 (hours available) LP in Excel: Formulation (LP_MILP.xls) It is a Linear Model with Non-Negative decision variables (under Options) In Excel Spreadsheet: For given values of the decision variables in C3:D3, calculate the objective value: F4 = SUMPRODUCT(C4:D4, C3:D3) calculate the LHS of the constraints: F6 = SUMPRODUCT(C6:D6, $C$3:$D$3) F7 = SUMPRODUCT(C7:D7, $C$3:$D$3)
9 LP in Excel: Instructions for Solver (LP_MILP.xls) Solver Options: Select “Linear Model” & “Non-Negative” Go to Tools and find Solver
10 What is the solution? ProdA =, ProdB = Profit = How much machine time? Mach1 =, Mach2 = Unused machine time? Mach1 =, Mach2 = Answer Report: The Solution (LP_MILP.xls) Max 6X A + 16X B s.t. 2X A + 4X B 20 2X A + 1.5X B 12 X A 0, X B 0
11 Reduced Cost Why would we lose $2 to produce 1 unit of ProdA ( Reduced Cost )? Allowable Increase (a) How much must the profit margin of ProdA increase before we will produce it ( Allowable Increase )? Allowable Increase (b) What if the profit margin of ProdA increases by more than $2 ( Allowable Increase )? Sensitivity Report: Sensitivity Analysis of Objective Function
12 Sensitivity Report: Sensitivity Analysis of Objective Function If you change an Objective Coefficient within its Allowable Increase/Decrease, the “Final Values of the Variables” do not change (i.e. the same corner is optimal) Outside that range, the “Final Values” change (i.e., new optimal solution).
13 The shadow price is the rate of change of objective function per unit increase of the RHS (constraint limit). If 2 hours of Mach 1 time were unavailable (i.e. 20 decreases to 18), how much would the objective function change? Why is the Shadow Price = zero for Mach 2? Sensitivity Report: Sensitivity Analysis of Constraints Within the Allowable Increase/Decrease for the RHS, the “Shadow Price” is constant. Outside that range, the “Shadow Price” changes
14 Takeaways 1.Introduction to Constrained Optimization –Three elements: objective (max or min), constraints ( ≤, ≥, =), decision variables –Formulation 2.Linear Programming: linear constraints and objective function –Properties of LP: optimal solution at a corner –Solving LP problems using Solver Answer: optimal objective value, decisions, binding/nonbinding constraints Sensitivity analysis: –Objective function coefficients: reduced cost, allowable increase/decrease (when zero, multiple solutions) –Constraints: shadow prices (if 0, non-bottleneck), allowable increase/decrease on RHS of constraints
15 1 2 3 4 5 6 7 8 9 10 11 12 2X A + 4X B = 20 (Machine 1) 2X A + 1.5X B = 12 (Machine 2) XAXA XBXB Graph 1: Solution See Output 1: Solution Which constraints are “binding” the optimal solution?
16 1 2 3 4 5 6 7 8 9 10 11 12 2X A + 4X B = 20 (Machine 1) 2X A + 1.5X B = 12 (Machine 2) 6X A + 16X B = 16 6X A + 16X B = 80 XAXA XBXB Solution See Output 1: Solution Which constraints are “binding” the optimal solution? 6X A + 16X B = 32
17 1 2 3 4 5 6 7 8 9 10 11 12 2X A + 1.5X B = 12 (Machine 2) 6X A + 16X B = 80 XAXA XBXB 2X A + 4X B = 20 (Machine 1) How many optimal solutions are there in this case? Changing One of the Objective Function Coefficient Allowable Increase = 2 for Objective Coefficient of Product A Let’s add 2 to the objective coefficient of X A : 8X A + 16X B = 80
18 1 2 3 4 5 6 7 8 9 10 11 12 2X A + 1.5X B = 12 (Machine 2) Now Try: 10X A + 16X B = 80 6X A + 16X B = 80 Changing the Objective Function Coefficient More than the Allowable Increase or Decrease Allowable Increase = 2 for Objective Coefficient of Product A 2X A + 4X B = 20 (Machine 1) New Solution: ( ) XAXA XBXB
19 1 2 3 4 5 6 7 8 9 10 11 12 2X A + 1.5X B = 12 (Machine 2) Changing the LHS of a Constraint Machine 1 Constraint has: Constraint R.H. Side = 20, Allowable Increase = 12, Allowable Decrease = 20 2X A + 4X B = 20 Now lets try 2X A + 4X B = 16 Do the decision variables change? Does the objective function change? XAXA XBXB