INTRODUCTION TO LINEAR PROGRAMMING CONTENTS Introduction to Linear Programming Applications of Linear Programming Reference: Chapter 1 in BJS book.
Learning objectives Defining linear programs Understanding the main steps in modeling problems and assumptions of LPs Understanding modeling a problem through typical example problems Understanding the use of some modeling approaches Graphical approach to solve LPs Examining different types of LP wrt feasibility and boundedness
Linear Programming Problem Features of Linear programming problem: Decision Variables We maximize (or minimize) a linear function of decision variables, called objective function. The decision variables must satisfy a set of constraints. Decision variables have sign restrictions. Example: Maximize z = 3x1 + 2x2 subject to 2x1 + x2 100 x1 + x2 80 x1 40 x1, x2 0
A Typical Linear Programming Problem Linear Programming Formulation: Minimize c1x1 + c2x2 + c3x3 + …. + cnxn subject to a11x1 + a12x2 + a13x3 + …. + a1nxn b1 a21x1 + a22x2 + a23x3 + …. + a2nxn b2 : am1x1 + am2x2 + am3x3 + …. + amnxn bm x1, x2, x3 , …., xn 0 or, Minimize j=1, n cjxj j=1, n aijxj - xn+i = bi for all i = 1, …, m xj 0 for all j =1, …, n+m Linear Objective Linear Constraints; - Technology Uncontrolable variables/factors Decision (controlable) variables - Can take any real value - Restricted or unrestrited in sign Standard form representation
Matrix Notation Minimize cx subject to Ax = b x 0 where
Linear Programming Modeling and Examples Stages of an application: Problem formulation Finding facts, parameters, relations, controllable factors (decision varb.), uncontrollable factors, objective(s). Mathematical model Defining decision variables, writing constrains and objective mathematically, coding the model in a modeling software. Deriving a solution Direct solution, decompositon algorithms, search heuristics.
Model testing and analysis Debugging the model, checking the results with problem owner, sensitivity analysis on parameters of the model. Implementation Keep monitoring the results, change the formulation and model if needed over time.
An Example of a LP Giapetto’s woodcarving manufactures two types of wooden toys: soldiers and trains. How many of each type to produce? Constraints: 100 finishing hour per week available 80 carpentry hours per week available produce no more than 40 soldiers per week Objective: maximize profit? Minimize cost?
An Example of a LP (cont.) Linear Programming formulation: Maximize z = 3x1 + 2x2 (Obj. Func.) subject to 2x1 + x2 100 (Finishing constraint) x1 + x2 80 (Carpentry constraint) x1 40 (Bound on soldiers) x1 0 (Sign restriction) x2 0 (Sign restriction)
Assumptions of Linear Programming Proportionality Assumption Contribution of a variable is proportional to its value. Additivity Assumptions Contributions of variables both in the objective and in the constraints are independent of the values of the other variables. No interactions between the variables. Divisibility Assumption Decision variables can take fractional values. Certainty Assumption Each parameter is known with certainty.
Transportation Problem The Brazilian coffee company processes coffee beans into coffee at m plants. The production capacity at plant i is ai. The coffee is shipped every week to n warehouses in major cities for retail, distribution, and exporting. The demand at warehouse j is bj. The unit shipping cost from plant i to warehouse j is cij. It is desired to find the production-shipping pattern xij from plant i to warehouse j, i = 1, .. , m, j = 1, …, n, that minimizes the overall shipping cost. What is Xij? Produced? Shipped? Why not consider production and shipping together? Why not maximize profit?
Static Workforce Scheduling Number of full time employees required on different days of the week are given below. Each employee must work five consecutive days and then receive two days off. The schedule must meet the requirements by minimizing the total number of full time employees. Decision variable?
Multi-Period Financial Models Determine investment strategy for the next three years Money available for investment at time 0 = $100,000 Investment opportunities available : A, B, C, D & E No more than $75,000 in any invest Uninvested cash earns 8% interest Cash flow of these investments: Decision variables?
Cutting Stock Problem A manufacturer of metal sheets produces rolls of standard fixed width w and of standard length l. A large order is placed by a customer who needs sheets of width w and varying lengths. He needs bi sheets of length li, i = 1, …, m. The manufacturer would like to cut standard rolls in such a way as to satisfy the order and to minimize the waste. Since scrap pieces are useless to the manufacturer, the objective is to minimize the number of rolls needed to satisfy the order. Decision variable? Objective ?
Multi-Period Workforce Scheduling Requirement of skilled repair time (in hours) is given below. At the beginning of the period, 50 skilled technicians are available. Each technician is paid $2,000 and works up to 160 hrs per month. Each month 5% of the technicians leave. A new technician needs one month of training, is paid $1,000 per month, and requires 50 hours of supervision of a trained technician. Decision variable(s)? Objective?
Solution: Transportation Problem Decision Variables: xijp: amount of product p shipped from plant i to warehouse j Formulation: Minimize z = subject to <= ai, i = 1, … , m bj, j = 1, … , n xij 0, i = 1, … , m, j = 1, … , n
Solution: Static Workforce Scheduling LP Formulation: Min. z = x1+ x2 + x3 + x4 + x5 + x6 + x7 subject to x1 + x4 + x5 + x6 + x7 ³ 17 x1+ x2 + x5 + x6 + x7 ³ 13 x1+ x2 + x3 + x6 + x7 ³ 15 x1+ x2 + x3 + x4 + x7 ³ 19 x1+ x2 + x3 + x4 + x5 ³ 14 x2 + x3 + x4 + x5 + x6 ³ 16 x3 + x4 + x5 + x6 + x7 ³ 11 x1, x2, x3, x4, x5, x6, x7 ³ 0
Solution: Static Workforce Scheduling
Solution: Multi period Financial Model Decision Variables: A, B, C, D, E : Dollars invested in the investments A, B, C, D, and E St: Dollars invested in money market fund at time t (t = 0, 1, 2) Formulation: Maximize z = B + 1.9D + 1.5E + 1.08S2 subject to A + C + D + S0 = 100,000 0.5A + 1.2C + 1.08S0 = B + S1 A + 0.5B + 1.08S1 = E + S2 A £ 75,000 B £ 75,000 C £ 75,000 D £ 75,000 E £ 75,000 A, B, C, D, E, S0, S1, S2 ³ 0
Solution: Multi period Financial Model
Solution: Multiperiod Workforce Scheduling Decision Variables: xt: number of technicians trained in period t yt: number of experienced technicians in period t Formulation: Minimize z = 1000(x1 + x2 + x3 + x4 + x5) + 2000(y1 + y2 + y3 + y4 + y5) subject to 160y1 - 50 x1 ³ 6000 y1 = 50 160y2 - 50 x2 ³ 7000 0.95y1 + x1 = y2 160y3 - 50 x3 ³ 8000 0.95y2 + x2 = y3 160y4 - 50 x4 ³ 9500 0.95y3 + x3 = y4 160y5 - 50 x5 ³ 11000 0.95y4 + x4 = y5 xt, yt ³ 0, t = 1, 2, 3, … , 5
Cutting Stock Problem We want certain number of specific length pieces that must be cut out of standard length pieces. Given a standard sheet of length l, there are many ways of cutting it. Each such way is called a cutting pattern. The jth cutting pattern is characterized by the column vector aj, where the ith component, namely, aij, is a nonnegative integer denoting the number of sheets of length li in the jth pattern. Note that the vector aj represents a cutting pattern if and only if i=1,n aijli l for patter j where each aij is a nonnegative number. Example; let l=7 feet and we want to have pieces with lengths 2, 3, and 5. Possible patterns (2x1, 5x1), (2x3), (3x2), (2x2,3x1) Objective? Decision varb.?
Solution:Cutting Stock Problem (contd.) Formulation: xi: Number of sheets cut using patter j. There are n possible patterns, m different lengths to produce. Minimize j=1,n xi subject to j=1,n aij xj bi for each i = 1, …, m xj 0 j = 1, …, n xj integer j = 1, …, n
Solution:Cutting Stock Problem (contd.) Formulation: Let l = 7, and type 1, type 2 and type 3 sizes demanded are 2, 3, and 5 with b1=10, b2=4, b3=3. possible patterns: j 3 2 0 1 i 0 1 2 0 0 0 0 1 Min. z = x1+ x2 + x3 + x4 subject to 3x1+2 x2 + x4 10 x2 + 2x3 4 x4 3 xj integer j = 1, …, 4
For maximimization problems multiply objective Modeling issues Minimize/Maximize absolute value => For maximimization problems multiply objective with -1 and turn them into minimization problem
Modeling issues
Modeling issues X,Y >=0
Modeling issues
Modeling issues
Modeling issues Fixed charge problem: Cost function with a fixed part
Modeling issues
Modeling issues Decision variables
Modeling issues
Either-or constraints: Modeling issues Either-or constraints:
Modeling issues Decision variables
Modeling issues Constraints What M1 should we use?
Modeling issues
Modeling issues If-then constraints
Modelling issues
Modelling issues
Modelling issues 1 out of k constraints must hold n out of k constraints must hold
Modelling issues Reconsider the example on Gandhi clothing company with the following additional information; Current clothing supplier (supplier 1) can supply 160 sq-yard per week. Lets say that there are two additional suppliers; Supplier 2 can supply clothing minimum 100 and maximum 200 sq-yard per week and supplier 3 can supply between 150 and 300 sq-yard per week. That is supplier 2 and 3 require a minimum purchase in addition to a maximum. Company must work with only one supplier due to logistical reasons. How can we model the same problem with three supplier option?
Modelling issues
Modelling issues
Modelling issues
Modelling issues
Modelling issues
Modelling issues
Piecewise linear functions Modeling issues Piecewise linear functions f(x) b3 b1 b4 b2 x x= z(i)*bi+z(i+1)*b(i+1) where z(i)+z(i+1) = 1 i=0..3 f(x) = z(i)*f(bi)+z(i+1)*f(b(i+1)) where z(i)+z(i+1) = 1 i=0..3 Let y(i) = 1 if b(i) <= x <= b(i+1) y(i) = 0 otherwise 4 binary variables and 4+1 convex-combination variables (z).
Modeling issues Piecewise linear functions
Modelling issues
Modelling issues
Modelling issues
Modelling issues
Modelling issues
Modelling issues
Steps of the geometric solution Determine and draw the feasible region Draw the c vector Draw the iso cost lines (perpendicular to c vector) Find the last point(s) that iso-cost lines touch the feasible region, when we move towards direction of –c (in minimization). This point (or points) is the optimal solution.
Geometric Solution 4. Find the optimal point(s) 3. Draw the iso-cost lines Draw the feasible region 2. Draw vector c minimization; move towards –c maximization move towards c as long as (x1,x2) is in feasible region
Geometric Solution
Geometric Solution
Geometric Solution
Geometric Solution
Unique finite optimal solution
Alternative finite optimal solution
Unbounded optimal solution It is always the case that a corner point is among the optimal solution, if there is a finite optimal solution.
Empty feasible region