Civil Engineering Systems Analysis Lecture XV. Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics

Similar documents
Civil Engineering Systems Analysis Lecture XIV. Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics

Optimization of Design. Lecturer:Dung-An Wang Lecture 8

Linear Programming. Linear programming provides methods for allocating limited resources among competing activities in an optimal way.

Introduction to Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Linear programming II João Carlos Lourenço

Some Advanced Topics in Linear Programming

Read: H&L chapters 1-6

AM 121: Intro to Optimization Models and Methods Fall 2017

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017

CSE 40/60236 Sam Bailey

Introduction to Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Part 4. Decomposition Algorithms Dantzig-Wolf Decomposition Algorithm

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Section Notes 4. Duality, Sensitivity, and the Dual Simplex Algorithm. Applied Math / Engineering Sciences 121. Week of October 8, 2018

Advanced Operations Research Techniques IE316. Quiz 2 Review. Dr. Ted Ralphs

16.410/413 Principles of Autonomy and Decision Making

Fundamentals of Operations Research. Prof. G. Srinivasan. Department of Management Studies. Indian Institute of Technology Madras.

Introduction. Linear because it requires linear functions. Programming as synonymous of planning.

Chapter 4: The Mechanics of the Simplex Method

5.4 Pure Minimal Cost Flow

Linear Programming. Revised Simplex Method, Duality of LP problems and Sensitivity analysis

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

CSC 8301 Design & Analysis of Algorithms: Linear Programming

VARIANTS OF THE SIMPLEX METHOD

Tuesday, April 10. The Network Simplex Method for Solving the Minimum Cost Flow Problem

4.1 The original problem and the optimal tableau

CASE STUDY. fourteen. Animating The Simplex Method. case study OVERVIEW. Application Overview and Model Development.

Chapter 3: Towards the Simplex Method for Efficient Solution of Linear Programs

Generalized Network Flow Programming

Linear Programming Problems

Solutions for Operations Research Final Exam

Lecture 9: Linear Programming

3 INTEGER LINEAR PROGRAMMING

The Simplex Algorithm. Chapter 5. Decision Procedures. An Algorithmic Point of View. Revision 1.0

Marginal and Sensitivity Analyses

Primal Simplex Algorithm for the Pure Minimal Cost Flow Problem

Math 414 Lecture 30. The greedy algorithm provides the initial transportation matrix.

The Simplex Algorithm

ORF 307: Lecture 14. Linear Programming: Chapter 14: Network Flows: Algorithms

MATLAB Solution of Linear Programming Problems

Linear Optimization. Andongwisye John. November 17, Linkoping University. Andongwisye John (Linkoping University) November 17, / 25

4.1 Graphical solution of a linear program and standard form

ISE203 Optimization 1 Linear Models. Dr. Arslan Örnek Chapter 4 Solving LP problems: The Simplex Method SIMPLEX

5. DUAL LP, SOLUTION INTERPRETATION, AND POST-OPTIMALITY

Unit.9 Integer Programming

Name: THE SIMPLEX METHOD: STANDARD MAXIMIZATION PROBLEMS

TRANSPORTATION AND ASSIGNMENT PROBLEMS

Linear Programming. Course review MS-E2140. v. 1.1

Chapter II. Linear Programming

BCN Decision and Risk Analysis. Syed M. Ahmed, Ph.D.

Linear Programming Terminology

Other Algorithms for Linear Programming Chapter 7

Using the Simplex Method to Solve Linear Programming Maximization Problems J. Reeb and S. Leavengood

Artificial Intelligence

Controlling Air Pollution. A quick review. Reclaiming Solid Wastes. Chapter 4 The Simplex Method. Solving the Bake Sale problem. How to move?

Fundamentals of Operations Research. Prof. G. Srinivasan. Department of Management Studies. Indian Institute of Technology, Madras. Lecture No.

Module 10. Network Simplex Method:

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini

COLUMN GENERATION IN LINEAR PROGRAMMING

THE simplex algorithm [1] has been popularly used

New Directions in Linear Programming

Introduction to Operations Research

Department of Mathematics Oleg Burdakov of 30 October Consider the following linear programming problem (LP):

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

5 The Theory of the Simplex Method

Solving Linear Programs Using the Simplex Method (Manual)

Graphs and Network Flows IE411. Lecture 20. Dr. Ted Ralphs

Linear Programming MT 4.0

Econ 172A - Slides from Lecture 8

How to Solve a Standard Maximization Problem Using the Simplex Method and the Rowops Program

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.

SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING BINARY LINEAR PROGRAMMING

Discuss mainly the standard inequality case: max. Maximize Profit given limited resources. each constraint associated to a resource

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Linear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization?

CSE 460. Today we will look at" Classes of Optimization Problems" Linear Programming" The Simplex Algorithm"

SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING BINARY LINEAR PROGRAMMING

The Ascendance of the Dual Simplex Method: A Geometric View

Linear Programming with Bounds

Mid-term Exam of Operations Research

I will illustrate the concepts using the example below.

Part 1. The Review of Linear Programming The Revised Simplex Method

Lecture notes on Transportation and Assignment Problem (BBE (H) QTM paper of Delhi University)

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize.

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

The Affine Scaling Method

An iteration of the simplex method (a pivot )

The Simplex Algorithm

A PRIMAL-DUAL EXTERIOR POINT ALGORITHM FOR LINEAR PROGRAMMING PROBLEMS

Ahigh school curriculum in Algebra 2 contains both solving systems of linear equations,

The MIP-Solving-Framework SCIP

Discrete Optimization. Lecture Notes 2

AMS : Combinatorial Optimization Homework Problems - Week V

CS675: Convex and Combinatorial Optimization Spring 2018 The Simplex Algorithm. Instructor: Shaddin Dughmi

MATHEMATICS II: COLLECTION OF EXERCISES AND PROBLEMS

Gurobi Guidelines for Numerical Issues February 2017

CSc 545 Lecture topic: The Criss-Cross method of Linear Programming

George B. Dantzig Mukund N. Thapa. Linear Programming. 1: Introduction. With 87 Illustrations. Springer

Transcription:

Civil Engineering Systems Analysis Lecture XV Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics

Today s Learning Objectives Sensitivity Analysis Dual Simplex Method 2

Sensitivity Analysis Why do we need sensitivity analysis The parameters we use are not exact.. They are estimated.. So we need to understand which are the most important parameters, so that we can try to evaluate them carefully i.e. IDENTIFY SENSITIVE PARAMETERS Also, we would like to know the range of the parameters within which the solution we obtained will remain optimal i.e. RANGE OF THE PARAMETERS Two kinds: (1) range of parameters that ensures the solution is optimal and (2) range of parameters that ensures the solution has to change It will be extremely time consuming if we had to run everything again So, we use insights from our earlier attempts at solving the simplex to conduct sensitivity analysis 3

Sensitivity Analysis We know the kind of algebraic manipulations we do to get our optimal solution 1 c B B 1 A c c B B 1 Z 0 B 1 A B 1 x x s = c BB 1 b B 1 b We do this for every iteration to arrive at optimal solution Now some parameters in the problem have changed c -> c, b -> b and A-> A What we can still do is use the B -1 we have from above and see what the solution will look like with new parameters I reapply my solution method for the optimal table Z 1 c B B 1 A c c B B 1 x = c BB 1 b 0 B 1 A B 1 x B 1 b s 4

Example Max Z=22X A +28X B 8X A +10X B +Y1 =3400 2X A +3X B +Y2 =960 X A,X B,Y1,Y2 0 Now lets say we changed X B parameter to 26 The idea is to generate the above table with the new values We are changing only the c vector, so which row will be affected? Only the Z row -1 c B B = 22 28 3/4 5/2 1/2 2 = [5/2 1 ] 26] =[22 28] [22 26] = [0 2] c B B -1 b = [5/2 1 ] 3400 960 = 9460 Not optimal Basic Z X A X B Y1 Y2 RHS c B B -1 A-c = [5/2 1 ] 8 2 10 -[22 3 Z 1 2 0 5/2 1 9460 Update the basic column and continue 5 Basic Z X A X B Y1 Y2 RHS Z 1 0 0 5/2 1 9460 X A 0 1 0 3/4-5/2 150 X B 0 0 1-1/2 2 220 X A 0 1 0 3/4-5/2 150 X B 0 0 1-1/2 2 220

Example Now lets also change 3400 to 3000; b = 3000 960 What else will change? The RHs column c B B -1 b = [5/2 1 ] 3000 960 = 8460 3/4 5/2 B -1 b = 3000 960 = 150 420 1/2 2 Clearly infeasible How can we make this feasible? Basic Z X A X B Y1 Y2 RHS Z 1 0 2 5/2 1 8460 X A 0 1 0 3/4-5/2-150 X B 0 0 1-1/2 2 420 6

How do we address ive RHS? Some concepts: Max Z=22X A +28X B 8X A +10X B +u1=3400 2X A +3X B + u2 = 960 Dual Min 3400y1+960y2 8y1 + 2y2 -v1 = 22 10y1 + 3y2 - v2= 28 Primal Dual Z=W Basic Solution Feasible Basic solution Feasible (0,0, 3400, 960) Yes 0 (0, 0, -22, -28) No (0, 320, 200, 0) Yes 8960 (0,28/3, -10/3, 0 ) No (425, 0,0,110) Yes 9350 (11/4, 0, 0, -1/2) No (150,220, 0, 0) Yes 9460 (5/2, 1, 0, 0) Yes (0, 340, 0, -60) No 9520 (14/5, 0, 2/5,0) Yes (480, 0, -440, 0) No 10560 (0, 11, 0, 5) Yes 7

Basic Solutions in a graph X B (0,340) (0,320) (150,220) (425,0) (480,0) 8

Dual simplex method What can we say from the Table There is only one solution that is feasible to both primal and dual For others each basic solution is feasible only for one problem For primal (Max) Solutions that are < optimal are called sub-optimal solutions while those solutions that are > than optimal are called super-optimal solutions For Dual (Min) Solutions that are > optimal are called sub-optimal solutions while those solutions that are < than optimal are called super-optimal solutions 9

Primal Dual Z=W Basic Solution Feasible Basic solution Feasible (0,0, 3400, 960) Yes 0 (0, 0, -22, -28) No (0, 320, 200, 0) Yes 8960 (0,28/3, -10/3, 0 ) No (425, 0,0,110) Yes 9350 (11/4, 0, 0, -1/2) No (150,220, 0, 0) Yes 9460 (5/2, 1, 0, 0) Yes (0, 340, 0, -60) No 9520 (14/5, 0, 2/5,0) Yes (480, 0, -440, 0) No 10560 (0, 11, 0, 5) Yes The yellow highlighted solutions represent suboptimal for primal and dual The red highlighted solutions represent superoptimal for primal and dual The green row represents the optimal for primal and dual 10

Relationship Summarized in these two figures 11

Dual Simplex Method An approach to solving simplex employing dual concepts is labelled as the Dual simplex method Operations are very similar to simplex method It is a mirror image of the simplex method In the simplex method we maintain primal feasibility and arrive at the optimal (we violate dual feasibility in every step except optimal) In the dual simplex we maintain dual feasibility and arrive at the optimal i.e. we violate primal feasibility in every iteration except the final iteration Only change is related to how we choose entering variables and leaving variables Moreover, there is no restriction that RHS has to be positive So allows us to convert equations to 12

Dual Simplex Method Step 1: Convert all equations to, then add slack variables as needed. Then identify the basis elements such that Zrow elements are 0 Step 2: Check if all the basic variables are nonnegative, if so, we reached optimality Step 3: Determine the leaving basic variable: Select the negative basic variable that has the largest absolute value 13

Dual Simplex Method Step 4: Determine the entering basic variable: Select the nonbasic variable whose coefficient in Zrow reaches zero first as an increasing multiple of the equation containing the leaving basic variable is added to Zrow. This selection is made by checking the nonbasic variables with negative coefficients in that equation (the one containing the leaving basic variable) and selecting the one with the smallest absolute value of the ratio of the Zrow coefficient to the coefficient in that equation Step 5: Determine the new basic solution: Starting from the current set of equations, solve for the basic variables in terms of the nonbasic variables by Gaussian elimination. When we set the nonbasic variables equal to zero, each basic variable (and Z) equals the new right-hand side of the one equation in which it appears (with a coefficient of +1). Return to Step 2 14

Example Dual Simplex Method Min 3400y1+960y2 8y1 + 2y2 22 10y1 + 3y2 28 y1, y2 0 Write this as Max and convert to Max -3400y1-960y2-8y1-2y2-22 -10y1-3y2-28 Basic Z Y1 Y2 V1 V2 Solution Z -1 3400 960 0 0 0 V1 0-8 -2 1 0-22 V2 0-10 -3 0 1-28 15

Example Basic Z Y1 Y2 V1 V2 Solution Z -1 3400 960 0 0 0 V1 0-8 -2 1 0-22 V2 0-10 -3 0 1-28 Leaving variable referred to as pivot row Entering variable computed only for ive coefficients in pivot row: Min((3400/10), 960/3) = Y2 entering column Once we know the leaving and entering variables we can employ usual gauss-jordan steps to convert the simplex table for the new basis [v1, y2] 16

Example Basic Z Y1 Y2 V1 V2 Solution Z -1 200 0 0 320-8960 V1 0-4/3 0 1-2/3-10/3 Y2 0 10/3 1 0-1/3 28/3 Leaving variable referred to as pivot row Entering variable for ive coefficients in pivot row: Min((200/4/3), 320/2/3) = Y1 entering column Now the new basis is [Y1, Y2]; update the table accordingly 17

Example Basic Z Y1 Y2 V1 V2 Solution Z -1 0 0 150 220-9460 Y1 0 1 0-3/4 1/2 5/2 Y2 0 0 1 5/2-1/3 1 All RHS elements positive so optimal solution The tables are similar to what we had for the simplex approach (the dual and primal solns are identical) 18

Dual simplex solution Basic Z Y1 Y2 V1 V2 Solution Z 1 3400 960 0 0 0 V1 0 8 2 1 0-22 V2 0 10 3 0 1-28 Basic Z Y1 Y2 V1 V2 Solution Z 1 200 0 0 320 8960 V1 0-4/3 0 1-2/3-10/3 Y2 0 10/3 1 0-1/3 28/3 Basic Z Y1 Y2 V1 V2 Solution Z 1 0 0 150 220 9460 Y1 0 1 0-3/4 1/2 5/2 Y2 0 0 1 5/2-1/3 1 19

Simplex solution example Basic Z X A X B Y1 Y2 Solution Z 1-22 -28 0 0 0 Y1 0 8 10 1 0 3400 Y2 0 2 3 0 1 960 Basic Z X A X B Y1 Y2 Solution Z 1-10/3 0 0 28/3 8960 Y1 0 4/3 0 1-10/3 200 X B 0 2/3 1 0 1/3 320 Basic Z X A X B Y1 Y2 Solution Z 1 0 0 5/2 1 9460 X A 0 1 0 3/4-5/2 150 X B 0 0 1-1/2 2 220 20

Simplex and Dual Simplex Differences In simplex we determine the entering variable followed by leaving variable in Dual Simplex we reverse the steps by determining the leaving variable first and then the entering variable In simplex minimum ratio requires that for the entering variable column the leaving variable candidates should be strictly positive in Dual Simplex, the entering variable candidates should be strictly negative Similarities Gauss-Jordan operations are same Minimum ratio once computed is employed in the same way 21

Other Remarks Dual Simplex is an effective tool to solve minimization problems It is also very useful for sensitivity analysis because we can handle negative RHS [Remember we started the dual simplex method as a detour to solving sensitivity analysis] If you noticed, we solved a minimization problem with constraints without artificial variables -> so quicker because we don t have to push out artificial variable to have a good start point The artificial variable problem in the midterm could have been solved with the dual simplex method. Try that for practice. 22

Problem Minimize 12x1+15x2+32x3+26x4+57x5 Subject to 2x1+3x2+6x3+4x4+8x5 9 3x1+4x2+8x3+6x4+12x5 12 Max Z = (12x1+15x2+32x3+26x4+57x5) -(2x1+3x2+6x3+4x4+8x5) -9 -(3x1+4x2+8x3+6x4+12x5) -12 => -(2x1+3x2+6x3+4x4+8x5) +u1 = -9 -(3x1+4x2+8x3+6x4+12x5) + u2 = -12 Write the simplex table and solve it! 23

Solution Basis Z x1 x2 x3 x4 x5 u1 u2 RHS Z -1 12 15 32 26 57 0 0 0 u1 0-2 -3-6 -4-8 1 0-9 u2 0-3 -4-8 -6-12 1 1-12 Leaving variable u2 (highest negative) Check for entering variable Ratio terms x1-12/3, x2 15/4, x3 32/8, x4-26/6, x5 57/12 x2 enters New basis u1, x2 24

Solution Basis Z x1 x2 x3 x4 x5 u1 u2 RHS Z -1 3/4 0 2 7/2 12 15/4 15/4-45 u1 0 1/4 0 0 1/2 1 1/4-3/4 0 x2 0 3/4 1 2 3/2 3-1/4-1/4 3 No leaving variable Optimal! Easier than having to add artificial variables! 25

Back to Sensitivity Analysis Now that we know how to handle the negative RHS we can undertake any form of sensitivity analysis Lets summarize the general procedure for doing sensitivity analysis Step 1: Revision of model: Make the desired change or changes in the model to be investigated next. Step 2: Revision of final tableau using Z 1 c B B 1 A c c B B 1 x 0 B 1 A B 1 x s = c BB 1 b B 1 b Step 3: Conversion to proper form from Gaussian elimination: Convert this tableau to the proper form for identifying and evaluating the current basic solution by applying (as necessary) Gaussian elimination. 26

Back to Sensitivity Analysis Step 4: Feasibility test: Test this solution for feasibility by checking whether all its basic variable values in the right-side column of the tableau still are nonnegative. Step 5: Optimality test: Test this solution for optimality (if feasible) by checking whether all its nonbasic variable coefficients in row 0 of the tableau still are nonnegative. Step 6: Reoptimization: If this solution fails either test, the new optimal solution can be obtained (if desired) by using the current tableau as the initial simplex tableau (and making any necessary conversions) for the simplex method or dual simplex method. 27

Specific cases We have the general procedure to undertake sensitivity analysis However, we can enhance the process based on what parameters are being considered Case 1: Only b Case 2: Changes to coefficients of non-basic variables or Introduction of a new variable Case 3: changes to coefficients of basic variable Case 4: introduction of new constraint 28

Case 1: changes in b If only b parameters change Only RHS will change So two possibilities We will have a feasible soln (which also will be optimal no change to zrow) We will have a infeasible solution (which can be reoptimized based on dual simplex method) 29

Case 2a: changes in the coefficients of a non-basic variable Lets say the coefficients corresponding to the j th element have changed (in c vector and the A j ) What will change in the optimal table? The column corresponding to the j th element: (1) Zrow element c B B -1 A j -c j, (2) coefficient of xj in rows 1 through m is B -1 A j If Zrow element is negative then we have to reoptimize else nothing needed (even no need to compute B -1 A j ) Please remember if we are to only check the optimality we can use dual! But to reoptimize we need the sensitivity analysis approach 30

Case 2b: introduction of a new variable Lets say after we have solved for optimality we might realize we have not considered a variable in the model Any easy solution to address this? We can treat it exactly in a similar way as the Case 2a. We can do this by pretending the values of coefficients for the variable were 0 in the optimal table and now they have changed to whatever we want to introduce So same approach will allow us to address this 31

References Hillier F.S and G. J. Lieberman. Introduction to Operations Research, Ninth Edition, McGraw- Hill, 2010 32