ENGINEERING OPTIMIZATION Methods and Applications A. Ravindran, K. M. Ragsdell, G. V. Reklaitis Book Review Page 1 Chapter 4: Linear Programming Part 1: Abu (Sayeem) Reaz Part 2: Rui (Richard) Wang Review Session June 25, 2010 Page 2 Finding the optimum of any given world – how cool is that?! Page 3 Outline of Part 1 • Formulations • Graphical Solutions • Standard Form • Computer Solutions • Sensitivity Analysis • Applications • Duality Theory Page 4 Outline of Part 1 • Formulations • Graphical Solutions • Standard Form • Computer Solutions • Sensitivity Analysis • Applications • Duality Theory Page 5 What is an LP? An LP has • An objective to find the best value for a system • A set of design variables that represents the system • A list of requirements that draws constraints the design variables The constraints of the system can be expressed as linear equations or inequalities and the objective function is a linear function of the design variables Page 6 Types Linear Program (LP): all variables are real Integer Linear Program (ILP): all variables are integer Mixed Integer Linear Program (MILP): variables are a mix of integer and real number Binary Linear Program (BLP): all variables are binary Page 7 Formulation Formulation is the construction of LP models of real problems: • To identify the design/decision variables • Express the constraints of the problem as linear equations or inequalities • Write the objective function to be maximized or minimized as a linear function Page 8 The Wisdom of Linear Programming “Model building is not a science; it is primarily an art that is developed mainly by experience” Page 9 Example 4.1 Two grades of inspectors for a quality control inspection • At least 1800 pieces to be inspected per 8-hr day • Grade 1 inspectors: 25 inspections/hour, accuracy = 98%, wage=$4/hour • Grade 2 inspectors: 15 inspections/hour, accuracy= 95%, wage=$3/hour • Penalty=$2/error • Position for 8 “Grade 1” and 10 “Grade 2” inspectors Let’s get experienced!! Page 10 Final Formulation for Example 4.1 Page 11 Example 4.2 Page 12 Nonlinearity “During each period, up to 50,000 MWh of electricity can be sold at $20.00/MWh, and excess power above 50,000 MWh can only be sold for $14.00/MW” Piecewise Linear in the regions (0, 50000) and (50000, ∞) Page 13 Let’s Formulate PH1 Power sold at $20/MWh MWh PL1 Power sold at $14/MWh MWh XA1 Water supplied to power plant A KAF XB1 Water supplied to power plant B KAF SA1 Spill water drained from reservoir A KAF SB1 Spill water drained from reservoir B KAF EA1 Reservoir A level at the end of period 1 KAF EB1 Reservoir B level at the end of period 1 KAF Plant/Reservoir A Plant/Reservoir B Conversion Rate per kilo-acre-foot (KAF) 400 MWh 200 MWh Capacity of Power Plants 60,000 MWh/Period 35,000 MWh/Period Capacity of Reservoir 2000 1500 Period 1 200 40 Period 2 130 15 Minimum Allowable Level 1200 800 Level at the beginning of period 1 1900 850 Predicted Flow Page 14 Final Formulation for Example 4.2 Page 15 Outline of Part 1 • Formulations • Graphical Solutions • Standard Form • Computer Solutions • Sensitivity Analysis • Applications • Duality Theory Page 16 Definitions • Feasible Solution: all possible values of decision variables that satisfy the constraints • Feasible Region: the set of all feasible solutions • Optimal Solution: The best feasible solution • Optimal Value: The value of the objective function corresponding to an optimal solution Page 17 Graphical Solution: Example 4.3 • A straight line if the value of Z is fixed a priori • Changing the value of Z another straight line parallel to itself • Search optimal solution value of Z such that the line passes though one or more points in the feasible region Page 18 Graphical Solution: Example 4.4 • All points on line BC are optimal solutions Page 19 Realizations • Unique Optimal Solution: only one optimal value (Example 4.1) • Alternative/Multiple Optimal Solution: more than one feasible solution (Example 4.2) • Unbounded Optimum: it is possible to find better feasible solutions improving the objective values continuously (e.g., Example 2 without ) Property: If there exists an optimum solution to a linear programming problem, then at least one of the corner points of the feasible region will always qualify to be an optimal solution! Page 20 Outline of Part 1 • Formulations • Graphical Solutions • Standard Form • Computer Solutions • Sensitivity Analysis • Applications • Duality Theory Page 21 Standard Form (Equation Form) Page 22 Standard Form (Matrix Form) (A is the coefficient matrix, x is the decision vector, b is the requirement vector, and c is the profit (cost) vector) Page 23 Handling Inequalities Slack Using Equalities Surplus Using Bounds Page 24 Unrestricted Variables In some situations, it may become necessary to introduce a variable that can assume both positive and negative values! Page 25 Conversion: Example 4.5 Page 26 Conversion: Example 4.5 Page 27 Recap Page 28 Outline of Part 1 • Formulations • Graphical Solutions • Standard Form • Computer Solutions • Sensitivity Analysis • Applications • Duality Theory Page 29 Computer Codes • For small/simple LPs: • Microsoft Excel • For High-End LP: • OSL from IBM • ILOG CPLEX • OB1 in XMP Software • Modeling Language: • GAMS (General Algebraic Modeling System) • AMPL (A Mathematical Programming Language) • Internet • http: / /www.ece.northwestern.edu/otc Page 30 Outline of Part 1 • Formulations • Graphical Solutions • Standard Form • Computer Solutions • Sensitivity Analysis • Applications • Duality Theory Page 31 Sensitivity Analysis • Variation in the values of the data coefficients changes the LP problem, which may in turn affect the optimal solution. • The study of how the optimal solution will change with changes in the input (data) coefficients is known as sensitivity analysis or post-optimality analysis. • Why? • Some parameters may be controllable better optimal value • Data coefficients from statistical estimation identify the one that effects the objective value most obtain better estimates Page 32 Example 4.9 Product 1 Product 2 Product 3 Unit profit 10 6 4 Material Needed 10 lb 4 lb 5 lb Admin Hr 2 hr 2 hr 6 hr 100 hr of labor, 600 lb of material, and 300hr of administration per day Page 33 Solution A. Felt, ‘‘LINDO: API: Software Review,’’ OR/MS Today, vol. 29, pp. 58–60, Dec. 2002. Page 34 Outline of Part 1 • Formulations • Graphical Solutions • Standard Form • Computer Solutions • Sensitivity Analysis • Applications • Duality Theory Page 35 Applications of LP For any optimization problem in linear form with feasible solution time! Page 36 Outline of Part 1 • Formulations • Graphical Solutions • Standard Form • Computer Solutions • Sensitivity Analysis • Applications • Duality Theory (Additional Topic) Page 37 Duality of LP Every linear programming problem has an associated linear program called its dual such that a solution to the original linear program also gives a solution to its dual Solve one, get one free!! Page 38 Find a Dual: Example 4.10 Reversed Constraint constants Objective coefficients Columns into constraints and constraints into columns Page 39 Find a Dual: Example 4.10 Page 40 Some Tricks • “Binarization” • If • OR • AND • Finding Range • Finding the value of a variable http://networks.cs.ucdavis.edu/ppt/group_meeting_22may2009.pdf Page 41 Binarization • x is positive real, z is binary, M is a large number • For a single variable x z M z x*M • For a set of variable z x i i M z xi * M i Page 42 If • Both x and y are binary • If two variables share the same value x y • If y = 0, then x = 0 • If y = 1, then x = 1 • If they may have different values x y • If y = 1, then x = 1 • Otherwise x can take either 1 or 0 Page 43 OR • A, x, y, and z are binary x yz A M A x yz • M is a large number • If any of x,y,z are 1 then A is 1 • If all of x,y,z are 0 then A is 0 Page 44 AND • x, y, and z are binary zx zy z x y 1 • If any of x,y are 0 then z is 0 • If all of x,y are 1 then z is 1 Page 45 Range • x and y are integers, z is binary • We want to find out if x falls within a range defined by y • If x >= y, z is true x y 1 z M • If x <= y, z is true y x 1 z M Page 46 Finding a Value • A,B,C are binary • If x = y, Cy is true x y 1 A M y x 1 B M Cy A B x takes the value of y if both the ranges are true Page 47 Thank You! Now Part 2 begins…. Page 48