Solving LP Models Improving Search Special Form of Improving Search

Slides:



Advertisements
Similar presentations
Geometry and Theory of LP Standard (Inequality) Primal Problem: Dual Problem:
Advertisements

Lecture #3; Based on slides by Yinyu Ye
SIMPLEX METHOD FOR LP LP Model.
Chapter 5 The Simplex Method The most popular method for solving Linear Programming Problems We shall present it as an Algorithm.
Dr. Sana’a Wafa Al-Sayegh
Computational Methods for Management and Economics Carla Gomes Module 6a Introduction to Simplex (Textbook – Hillier and Lieberman)
Dragan Jovicic Harvinder Singh
Optimization of thermal processes2007/2008 Optimization of thermal processes Maciej Marek Czestochowa University of Technology Institute of Thermal Machinery.
Basic Feasible Solutions: Recap MS&E 211. WILL FOLLOW A CELEBRATED INTELLECTUAL TEACHING TRADITION.
Computational Methods for Management and Economics Carla Gomes Module 6b Simplex Pitfalls (Textbook – Hillier and Lieberman)
The Simplex Method: Standard Maximization Problems
Operation Research Chapter 3 Simplex Method.
CS38 Introduction to Algorithms Lecture 15 May 20, CS38 Lecture 15.
Linear Programming (LP)
The Simplex Method.
5.6 Maximization and Minimization with Mixed Problem Constraints
MIT and James Orlin © Chapter 3. The simplex algorithm Putting Linear Programs into standard form Introduction to Simplex Algorithm.
LINEAR PROGRAMMING SIMPLEX METHOD.
Chapter 19 Linear Programming McGraw-Hill/Irwin
Simplex method (algebraic interpretation)
Some Key Facts About Optimal Solutions (Section 14.1) 14.2–14.16
Duality Theory LI Xiaolei.
This presentation shows how the tableau method is used to solve a simple linear programming problem in two variables: Maximising subject to two  constraints.
Topic III The Simplex Method Setting up the Method Tabular Form Chapter(s): 4.
1 1 Slide © 2000 South-Western College Publishing/ITP Slides Prepared by JOHN LOUCKS.
Kerimcan OzcanMNGT 379 Operations Research1 Linear Programming: The Simplex Method Chapter 5.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
Public Policy Modeling Simplex Method Tuesday, October 13, 2015 Hun Myoung Park, Ph.D. Public Management & Policy Analysis Program Graduate School of International.
Chapter 7 Introduction to Linear Programming
Linear Programming McGraw-Hill/Irwin Copyright © 2012 by The McGraw-Hill Companies, Inc. All rights reserved.
Solving Linear Programming Problems: The Simplex Method
Linear Programming Revised Simplex Method, Duality of LP problems and Sensitivity analysis D Nagesh Kumar, IISc Optimization Methods: M3L5.
 Minimization Problem  First Approach  Introduce the basis variable  To solve minimization problem we simple reverse the rule that is we select the.
1 1 Slide © 2005 Thomson/South-Western Linear Programming: The Simplex Method n An Overview of the Simplex Method n Standard Form n Tableau Form n Setting.
Chapter 4 Linear Programming: The Simplex Method
Chapter 3 Linear Programming Methods
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., Table of Contents CD Chapter 14 (Solution Concepts for Linear Programming) Some Key Facts.
OR Chapter 8. General LP Problems Converting other forms to general LP problem : min c’x  - max (-c)’x   = by adding a nonnegative slack variable.
OR Chapter 7. The Revised Simplex Method  Recall Theorem 3.1, same basis  same dictionary Entire dictionary can be constructed as long as we.
An-Najah N. University Faculty of Engineering and Information Technology Department of Management Information systems Operations Research and Applications.
McGraw-Hill/Irwin Copyright © 2009 by The McGraw-Hill Companies, Inc. All Rights Reserved. Supplement 6 Linear Programming.
3 Components for a Spreadsheet Optimization Problem  There is one cell which can be identified as the Target or Set Cell, the single objective of the.
Simplex Method Simplex: a linear-programming algorithm that can solve problems having more than two decision variables. The simplex technique involves.
Part 3. Linear Programming 3.2 Algorithm. General Formulation Convex function Convex region.
Kerimcan OzcanMNGT 379 Operations Research1 Linear Programming Chapter 2.
IE 312 Review 1. The Process 2 Problem Model Conclusions Problem Formulation Analysis.
Linear Programming: Formulations, Geometry and Simplex Method Yi Zhang January 21 th, 2010.
OR  Now, we look for other basic feasible solutions which gives better objective values than the current solution. Such solutions can be examined.
Copyright © 2006 Brooks/Cole, a division of Thomson Learning, Inc. Linear Programming: An Algebraic Approach 4 The Simplex Method with Standard Maximization.
1 Simplex algorithm. 2 The Aim of Linear Programming A Linear Programming model seeks to maximize or minimize a linear function, subject to a set of linear.
Chapter 4 The Simplex Algorithm and Goal Programming
The Simplex Method. and Maximize Subject to From a geometric viewpoint : CPF solutions (Corner-Point Feasible) : Corner-point infeasible solutions 0.
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
Solving Linear Program by Simplex Method The Concept
Chap 10. Sensitivity Analysis
Perturbation method, lexicographic method
Chap 9. General LP problems: Duality and Infeasibility
ENGM 631 Optimization Ch. 4: Solving Linear Programs: The Simplex Method.
Chap 3. The simplex method
Chapter 3 The Simplex Method and Sensitivity Analysis
Part 3. Linear Programming
Solving Linear Programming Problems: Asst. Prof. Dr. Nergiz Kasımbeyli
Chapter 8. General LP Problems
Chapter 8. General LP Problems
Simplex method (algebraic interpretation)
Chapter 8. General LP Problems
Prepared by Po-Chuan on 2016/05/24
Chapter 2. Simplex method
Presentation transcript:

Solving LP Models Improving Search Special Form of Improving Search Unimodal Convex feasible region Should be successful! Special Form of Improving Search Simplex method (now) Interior point methods (later) Part 3 IE 312

Simple Example Top Brass Trophy Company Makes trophies for football wood base, engraved plaque, brass football on top $12 profit and uses 4’ of wood soccer wood base, engraved plaque, soccer ball on top $9 profit and uses 2’ of wood Current stock 1000 footballs, 1500 soccer balls, 1750 plaques, and 4800 feet of wood Part 3 IE 312

Formulation Part 3 IE 312

Graphical Solution Optimal Solution 2000 1500 1000 500 500 1000 1500 2000 Optimal Solution Part 3 IE 312

Feasible Solutions Feasible solution is a boundary point if at least one inequality constraint that can be strict is active interior point if no such constraints are active Extreme points of convex sets do not lie within the line segment of any other points in the set Part 3 IE 312

Example 2000 1500 1000 500 500 1000 1500 2000 Part 3 IE 312

Optimal Solutions Every optimal solution is a boundary point We can find an improving direction whenever we are at an interior point If optimum unique the it must be an extreme point of the feasible region If optimal solution exist, an optimal extreme point exists Part 3 IE 312

LP Standard Form Easier if we agree on exactly what a LP should look like Standard form only equality main constraints only nonnegative variables variables appear at most once in left-hand-side and objective function all constants appear on right hand side Part 3 IE 312

Converting to Standard Inequality constraints Add nonnegative, zero-cost slack variables Add in  inequalities Subtract in  inequalities Variables not nonnegative nonpositive - substitute with negatives unrestrictive sign (URS) - substitute difference of two nonnegative variables Part 3 IE 312

Top Brass Model Part 3 IE 312

Why? Feasible directions Equality constraints Inequality constraints Check only if active Keep track of active constraints Equality constraints Always active Inequality constraints May or may not be active Prefer equality constraints! Part 3 IE 312

Standard Notation Part 3 IE 312

LP Standard Form In standard notation In matrix notation Part 3 IE 312

Write in Matrix Form Part 3 IE 312

Extreme Points Know that an extreme point optimum exists Will search trough extreme points An extreme point is define by a set of constraints that are active simultaneously Part 3 IE 312

Improving Search Move from one extreme point to a neighboring extreme point Extreme points are adjacent if they are defined by sets of active constraints that differ by only one element An edge is a line segment determined by a set of active constraints Part 3 IE 312

Basic Solutions Extreme points are defined by set of active nonnegativity constraints A basic solution is a solution that is obtained by fixing enough variable to be equal to zero, so that the equality constraints have a unique solution Part 3 IE 312

Example Choose x1, x2, x3, x4 to be basic Part 3 IE 312

Where is the Basic Solution? 2000 1500 1000 500 500 1000 1500 2000 Part 3 IE 312

Example Compute the basic solution for x1 and x2 basis: Solve Part 3 IE 312

Existence of Basis Solutions Remember linear algebra? A basis solution exists if and only if the columns of corresponding equality constraint form a basis (in other words, a largest possible linearly independent collection) Part 3 IE 312

Checking The determinant of a square matrix D is A matrix is singular if its determinant = 0 and otherwise nonsingular Need to check that the matrix is nonsingular Part 3 IE 312

Example Check whether basic solutions exist for Part 3 IE 312

Basic Feasible Solutions A basic feasible solution to a LP is a basic solution that satisfies all the nonnegativity contraints The basic feasible solutions correspond exactly to the extreme points of the feasible region Part 3 IE 312

Example Problem Suppose we have x3, x4, x5 as slack variables in the following LP: Lets plot the original problem, compute the basic solutions and check feasibility Part 3 IE 312

Solution Algorithm Simplex Algorithm Standard display: Variant of improving search Standard display: Part 3 IE 312

Simplex Algorithm Starting point Direction A basic feasible solution (extreme point) Direction Follow an edge to adjacent extreme point: Increase one nonbasic variable Compute changes needed to preserve equality constraints One direction for each nonbasic variable Part 3 IE 312

Top Brass Example Basic variables Initial solution Part 3 IE 312

Looking in All Directions … Can increase either one of those Must adjust these! Part 3 IE 312

So Many Choices ... Want to try to improve the objective The reduced cost of a nonbasic variable: Want Defines improving direction Part 3 IE 312

Top Brass Example Improving x1 gives Improving x2 gives Both directions are improving directions! Part 3 IE 312

Where and How Far? Any improving direction will do If no component is negative  Improve forever - unbounded! Otherwise, compute the minimum ratio Part 3 IE 312

Computing Minimum Ratio Part 3 IE 312

Moving to New Solution Part 3 IE 312

Updating Basis New basic variable New nonbasic variable(s) Nonbasic variable generating direction New nonbasic variable(s) Basic variables fixing the step size Part 3 IE 312

What Did We Do? 2000 1500 1000 500 500 1000 1500 2000 Part 3 IE 312

Where Will We Go? Optimum in three steps! Why is this guaranteed? 2000 1500 1000 500 500 1000 1500 2000 Optimum in three steps! Why is this guaranteed? Part 3 IE 312

Simplex Algorithm (Simple) Step 0: Initialization. Choose starting feasible basis, construct basic solution x(0), and set t=0 Step 1: Simplex Directions. Construct directions Dx associated with increasing each nonbasic variable xj and compute the reduced cost cj =c ·Dx. Step 2: Optimality. If no direction is improving, then stop; otherwise choose any direction Dx(t+1) corresponding to some basic variable xp. Step 3: Step Size. If no limit on move in direction Dx(t+1) then stop; otherwise choose variable xr such that Step 4: New Point and Basis. Compute the new solution and replace xr in the basis with xp. Let t = t+1 and go to Step 1. Part 3 IE 312

Stopping The algorithm stop when one of two criteria is met: In Step 2 if no improving direction exists, which implies local optimum, which implied global optimum In Step 3 if no limit on improvement, which implies problem is unbounded Part 3 IE 312

Optimization Software Spreadsheet (e.g, MS Excel with What’s Best!) Optimizers (e.g., LINDO) Combination Modeling Language Solvers Either together (e.g., LINGO) or separate (e.g., GAMS with CPLEX) LINDO and LINGO are in Room 0010 (OR Lab) Also on disk with your book Part 3 IE 312

LINDO The main software that I’ll ask you to use is called LINDO Solves linear programs (LP), integer programs (IP), and quadratic programs (QP) We will look at many of its more advanced features later on, but as of yet we haven’t learned many of the concepts that we need Part 3 IE 312

Example Part 3 IE 312

LINDO Program Part 3 IE 312 MAX 12 x1 + 9 x2 ST x1 + x2 = 1000 END Part 3 IE 312

Part 3 IE 312

Part 3 IE 312

Output LP OPTIMUM FOUND AT STEP 4 OBJECTIVE FUNCTION VALUE 1) 12000.00 1) 12000.00 VARIABLE VALUE REDUCED COST X1 1000.000000 0.000000 X2 0.000000 3.000000 X4 1500.000000 0.000000 X5 750.000000 0.000000 X6 800.000000 0.000000 X3 0.000000 0.000000 Part 3 IE 312

Output (cont.) ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 12.000000 2) 0.000000 12.000000 3) 0.000000 0.000000 4) 0.000000 0.000000 5) 0.000000 0.000000 6) 1000.000000 0.000000 7) 0.000000 0.000000 8) 0.000000 0.000000 9) 1500.000000 0.000000 10) 750.000000 0.000000 11) 800.000000 0.000000 NO. ITERATIONS= 4 Part 3 IE 312

LINDO: Basic Syntax Objective Function Syntax: Start all models with MAX or MIN Variable Names: Limited to 8 characters Constraint Name: Terminated with a parenthesis Recognized Operators (+, -, >, <, =) Order of Precedence: Parentheses not recognized Part 3 IE 312

Syntax (cont.) Adding Comment: Start with an exclamation mark Splitting lines in a model: Permitted in LINDO Case Sensitivity: LINDO has none Right-hand Side Syntax: Only constant values Left-hand Side Syntax: Only variables and their coefficients Part 3 IE 312

Why Modeling Language? More to learn! More ‘complicated’ to use than LINDO (at least at first glance) Advantages Natural representations Similar to mathematical notation Can enter many terms simultaneously Much faster and easier to read Part 3 IE 312

Why Solvers? Best commercial software has modeling language and solvers separated Advantages: Select solver that is best for your application Learn one modeling language use any solver Buy 3rd party solvers or write your own! Part 3 IE 312

Example Problem Part 3 IE 312

Problem Formulation Part 3 IE 312

LINDO Solution max 1.60 x1 + 1.40 x2 + 1.90 x3 + 1.20 x4 st end Part 3 IE 312

LINGO Solution Capacity constraint @SUM(REGIONS(I): CASES(I)) <=1200; Minimum/maximum cases @FOR(REGIONS(I): CASES(I) <= UBOUND; CASES(I) >= LBOUND); Part 3 IE 312

LINGO Solution Objective function MAX = @SUM(REGIONS(I): PROFIT*CASES(I)); We also need to define REGIONS, CASES, etc, and type in the data. Part 3 IE 312

LINGO Solution Defining sets SETS: REGIONS / NE SE MW W/: LBOUND, UBOUND, PROFIT, CASES; ENDSETS Part 3 IE 312

LINGO Solution Enter the data DATA: LBOUND = 310 245 255 190; UBOUND = 434 343 357 266; PROFIT = 1.6 1.4 1.9 1.2; ENDDATA Part 3 IE 312

Sensitivity Analysis Basic Question: How does our solution change as the input parameters change? The objective function? More/less profit or cost The optimal values of decision variables? Make different decisions! Why? Only have estimates of input parameters May want to change input parameters Part 3 IE 312

What We Know Qualitative Answers for All Problems Quantitative Answers for Linear Programs (LP) Dual program Same input parameters Decision variables give sensitivities Dual prices Easy to set up Theory is somewhat complicated Part 3 IE 312

Back to Example Problem Part 3 IE 312

LINDO Formulation max 1.60 x1 + 1.40 x2 + 1.90 x3 + 1.20 x4 st end Part 3 IE 312

LINDO Solution (second half) ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 1.600000 3) 98.000000 0.000000 4) 26.000000 0.000000 5) 0.000000 -0.200000 6) 98.000000 0.000000 7) 102.000000 0.000000 8) 0.000000 0.300000 9) 0.000000 -0.400000 10) 266.000000 0.000000 Part 3 IE 312

Dual Prices The Dual is Automatically Formed Report dual prices Also in LINGO Also in (all) other optimization software Report dual prices Gives us sensitivities to RHS parameter Know how much objective function will change When will the optimal solution change? Need to select that we want sensitivity analysis Part 3 IE 312

LINDO Sensitivity Analysis (part) RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X1 1.600000 0.300000 0.200000 X2 1.400000 0.200000 INFINITY X3 1.900000 INFINITY 0.300000 X4 1.200000 0.400000 INFINITY X5 0.000000 0.000000 INFINITY Part 3 IE 312

Interpretation As long as prices for the NE region are between $1.4 and $1.9, we want to sell the same quantity to each region, etc. Part 3 IE 312

Example An insurance company is introducing two new product lines: special risk insurance and mortgages. The expected profit is $5 per unit on special risk insurance and $2 per unit on mortgages. Management wishes to establish a sales target for the new product lines to maximize the expected profit. The work requirements are as follows: Part 3 IE 312

LINDO Formulation max 5 x1 + 2 x2 st 3 x1 + 2 x2 <= 2400 end Part 3 IE 312

Graphical Solution Part 3 IE 312 800 700 600 500 400 300 200 100 100 200 300 400 500 600 700 800 800 700 600 500 400 300 200 100 Part 3 IE 312

Solution VARIABLE VALUE REDUCED COST X1 600.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 1.000000 3) 500.000000 0.000000 4) 0.000000 1.000000 5) 600.000000 0.000000 6) 300.000000 0.000000 Part 3 IE 312

Sensitivity Analysis RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X1 5.000000 INFINITY 2.000000 X2 2.000000 1.333333 2.000000 RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE 2 2400.000000 1000.000000 600.000000 3 800.000000 INFINITY 500.000000 4 1200.000000 400.000000 666.666687 5 0.000000 600.000000 INFINITY 6 0.000000 300.000000 INFINITY Part 3 IE 312

New Decisions! Optimum Moves! Part 3 IE 312 800 700 600 500 400 300 100 200 300 400 500 600 700 800 800 700 600 500 400 300 200 100 Optimum Moves! Part 3 IE 312

What-If ? Solve New Problem max 5 x1 + 2 x2 st 3 x1 + 2 x2 <= 2400 x2 <= 290 2 x1 <= 1200 x1 >=0 x2 >=0 end Part 3 IE 312

New Solution VARIABLE VALUE REDUCED COST X1 600.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2) 20.000000 0.000000 3) 0.000000 2.000000 4) 0.000000 2.500000 5) 600.000000 0.000000 6) 290.000000 0.000000 Part 3 IE 312

Interior Point Methods Simplex always stays on the boundary Can take short cuts across the interior Interior point methods More effort in each move More improvement in each move Much faster for large problems Part 3 IE 312

Simple Example Frannie’s Firewood sells up to 3 cords of firewood to two customers One will pay $90 per half-cord Other will pay $150 per full cord Part 3 IE 312

Graphical Solution 1 2 3 4 5 6 4 3 2 1 Part 3 IE 312

Improving Directions Which direction improves the objective function the most? The gradient Direction: Part 3 IE 312

Most Improving Direction? Part 3 IE 312

Back to Example 1 2 3 4 5 6 4 3 2 1 Part 3 IE 312

Maintaining Feasibility At the initial point all directions are feasible because it is an interior point At the new point we have to make sure that a direction Dx at x(1) satisfies Interior point algorithms begin inside and move through the interior, reaching the boundary only at an optimal solution Part 3 IE 312

Valid Interior Point Search? 2000 1500 1000 500 500 1000 1500 2000 Part 3 IE 312

Valid Interior Point Search? 2000 1500 1000 500 500 1000 1500 2000 Part 3 IE 312

Valid Interior Point Search? 2000 1500 1000 500 500 1000 1500 2000 Part 3 IE 312

LP Standard Form For Simplex used the form In Frannie’s Firewood Part 3 IE 312

Benefits of Standard Form? In Simplex: Made easy to check which variables are basic, non-basic, etc. Needed to know which solutions are on boundary Here quite similar: Know which are not on boundary Check that nonnegativity constraints are strict! A feasible solution to standard LP is interior point if every component is strictly positive Part 3 IE 312

Interior Points? Part 3 IE 312

Projections Must satisfy main equality constraints Want direction Dx that satisfies this equation and is as nearly d as possible The projection of a vector d onto a system of equalities is the vector that satisfies the constraints and minimizes the total squared difference between the components Part 3 IE 312

Obtaining Projection The projection of d onto ADx=0 is where is the projection matrix. Part 3 IE 312

Example: Frannie’s Firewood Part 3 IE 312

Example The cost vector is c=(90 150 0) Part 3 IE 312

Improvement The projection matrix is design to make an improving direction feasible with minimum changes Is it still an improving direction? Yes! The projection Dx=Pc of c onto Ax=b is an improving direction at every x Part 3 IE 312

Sample Exercise Determine the direction d of most rapid improvement Project it onto the main equality constraints to get Dx Verify that the move direction Dx is feasible Verify that the move direction Dx is improving Part 3 IE 312