Linear Programming Topics General optimization model LP model and assumptions Manufacturing example Characteristics of solutions Sensitivity analysis Excel add-ins
Deterministic OR Models Most of the deterministic OR models can be formulated as mathematical programs. "Program" in this context, has to do with a “plan” and not a computer program. Mathematical Program Maximize / Minimize z = f (x1,x2,…,xn) { } £ Subject to gi(x1,x2,…,xn) ³ bi , i =1,…,m = xj ≥ 0, j = 1,…,n
Model Components • xj are called decision variables. These are things that you control { } £ • gi(x1,x2,…,xn) ³ bi are called structural = (or functional or technological) constraints • xj ≥ 0 are nonnegativity constraints • f (x1,x2,…,xn) is the objective function
Feasibility and Optimality ( ) x 1 . • A feasible solution x = . satisfies all the . x n constraints (both structural and nonnegativity) • The objective function ranks the feasible solutions; call them x1, x2, . . . , xk. The optimal solution is the best among these. For a minimization objective, we have z* = min{ f (x1), f (x2), . . . , f (xk) }.
Linear Programming A linear program is a special case of a mathematical program where f(x) and g1(x) ,…, gm(x) are linear functions Linear Program: Maximize/Minimize z = c1x1 + c2x2 + • • • + cnxn { } £ Subject to ai1x1 + ai2x2 + • • • + ainxn ³ bi i = 1,…,m , = xj uj, j = 1,…,n xj ³ 0, j = 1,…,n
LP Model Components x = decision vector = "activity levels" xj uj are called simple bound constraints x = decision vector = "activity levels" aij , cj , bi , uj are all known data goal is to find x = (x1,x2,…,xn)T (the symbol “ T ” means)
Linear Programming Assumptions ( i) proportionality (ii) additivity linearity (iii) divisibility (iv) certainty
Explanation of LP Assumptions (i) activity j’s contribution to objective function is cjxj and usage in constraint i is aijxj both are proportional to the level of activity j (volume discounts, set-up charges, and nonlinear efficiencies are potential sources of violation) no “cross terms” such as x1x5 may not appear in the objective or constraints. 1 (ii) 2
Explanation of LP Assumptions (iii) Fractional values for decision variables are permitted (iv) Data elements aij , cj , bi , uj are known with certainty Nonlinear or integer programming models should be used when some subset of assumptions (i), (ii) and (iii) are not satisfied. Stochastic models should be used when a problem has significant uncertainties in the data that must be explicitly taken into account [a relaxation of assumption (iv)].
Product Structure for Manufacturing Example
Data for Manufacturing Example Machine data Product data
Machine Availability: 2400 min/wk Data Summary P Q R Selling price/unit 90 100 70 Raw Material cost/unit 45 40 20 Maximum sales 100 40 60 Minutes/unit on A 20 10 10 B 12 28 16 C 15 6 16 D 10 15 Machine Availability: 2400 min/wk Structural coefficients Operating Expenses = $6,000/wk (fixed cost) Decision Variables xP = # of units of product P to produce per week xQ = # of units of product Q to produce per week xR = # of units of product R to produce per week
LP Formulation xP 0, xQ 0, xR 0 Are we done? max z = 45 xP + 60 xQ + 50 xR – 6000 Objective Function 20 xP + 10 xQ + 10 xR £ s.t. 2400 Structural 12 xP + 28 xQ + 16 xR £ 2400 constraints 15 xP + 6 xQ + 16 xR £ 2400 10 xP + 15 xQ + 0 xR £ 2400 xP 100, xQ 40, xR 60 demand xP 0, xQ 0, xR 0 Are we done? nonnegativity Are the LP assumptions valid for this problem? Optimal solution x * P = 81.82, Q = 16.36, R = 60
Discussion of Results for Manufacturing Example Optimal objective value is $7,664 but when we subtract the weekly operating expenses of $6,000 we obtain a weekly profit of $1,664. Machines A & B are being used at maximum level and are bottlenecks. There is slack production capacity in Machines C & D. How would we solve model using Excel Add-ins ?
Solution to Manufacturing Example
Characteristics of Solutions to LPs A Graphical Solution Procedure (LPs with 2 decision variables can be solved/viewed this way.) 1. Plot each constraint as an equation and then decide which side of the line is feasible (if it’s an inequality). 2. Find the feasible region. 3. Plot two iso-profit (or iso-cost) lines. 4. Imagine sliding the iso-profit line in the improving direction. The “last point touched” as the iso-profit line leaves the feasible region region is optimal.
Two-Dimensional Machine Scheduling Problem -- let xR = 60 max z = 45 xP + 60 xQ + 3000 Objective Function 20 xP + 10 xQ £ s.t. 1800 Structural 12 xP + 28 xQ £ 1440 constraints 15 xP + 6 xQ £ 2040 10 xP + 15 xQ £ 2400 xP 100, xQ 40 demand xP 0, xQ 0 nonnegativity
Feasible Region for Manufacturing Example
Iso-Profit Lines and Optimal Solution for Example
Possible Outcomes of an LP 1. Unique Optimal Solution 2. Multiple optimal solutions : Max 3x1 + 3x2 s.t. x1+ x2 £ 1 x1, x2 ³ 0 3. Infeasible : feasible region is empty; e.g., if the constraints include x1+ x2 £ 6 and x1+ x2 7 4. Unbounded : Max 15x1+ 7x2 (no finite optimal solution) s.t. x1 + x2 ³ 1 x1, x2 ³ 0 Note: multiple optimal solutions occur in many practical (real-world) LPs.
Example with Multiple Optimal Solutions
Bounded Objective Function with Unbound Feasible Region
Inconsistent constraint system Constraint system allowing only nonpositive values for x1 and x2
Sensitivity Analysis Shadow Price on Constraint i Amount object function changes with unit increase in RHS, all other coefficients held constant Objective Function Coefficient Ranging Allowable increase & decrease for which current optimal solution is valid RHS Ranging Allowable increase & decrease for which shadow prices remain valid
Solution to Manufacturing Example
Sensitivity Analysis with Add-ins
What You Should Know About Linear Programming What the components of a problem are. How to formulate a problem. What the assumptions are underlying an LP. How to find a solution to a 2-dimensional problem graphically. Possible solutions. How to solve an LP with the Excel add-in.