65
Hillier and Lieberman Chapter 4

Hillier and Leiberman Chapter 4

Embed Size (px)

DESCRIPTION

Chapter 4

Citation preview

Page 1: Hillier and Leiberman Chapter 4

Hillier and Lieberman

Chapter 4

Page 2: Hillier and Leiberman Chapter 4

The Essence of the Simplex

It is an algebraic procedureWyndor glass exampleConstraint boundaries, figure 4.1

Page 3: Hillier and Leiberman Chapter 4

Wyndor Glass

Maximize Z = 3X1 + 5X2Subject to:

X1 ≤ 4 2X2 ≤ 12

3X1 + 2X2 ≤ 18

Page 4: Hillier and Leiberman Chapter 4

Figure 4.1

0, 6

4,0

4,3

2, 6

Corners: (0,0) (4,0) (4.3)(2,6) and (0,6)

Page 5: Hillier and Leiberman Chapter 4

Corner Point Feasible Solutions

Corner point feasible solutions (CPF solutions)occur at the intersections of the constraint boundaries, which are in the feasible region.

The problem has 2 decision variables, so eachcorner occurs at the intersection of two constraints.The dimension of the problem determines the number of constraints that intersect at each corner.If there are, for example, 5 decision variables thecorner points occur at the intersection of 5 constraints.

Page 6: Hillier and Leiberman Chapter 4

Adjacent feasible solutions

For any linear programming model with n decision variables, two CPF solutions are adjacent to each other if they share n-1 constraints. The two adjacent CPF solutionsare connected by a line segment that lieson the same shared constraint boundaries.Such a constraint boundary is referred to as an edge of the feasible region.

Page 7: Hillier and Leiberman Chapter 4

Figure 4.1

0, 6

4,0

4,3

2, 6

0,0

(0,0) and (0,6) adjacent(0,6) and (2,6) adjacent(2,6) and (4,3) adjacent(4,3) and (4,0) adjacent(4,0) and (0,0) adjacent

There are 5 edges. From each CPF solution, 2 edges emanate.

Each CPF solution has 2adjacent solutions.

Page 8: Hillier and Leiberman Chapter 4

Optimality test

If a CPF solution has no adjacent CPF

solution that is better (in terms of the value

of the objective function) then it must be

an optimal solution.

Page 9: Hillier and Leiberman Chapter 4

Solving the example

Initialization. Choose point (0,0) because it is convenient (no calculation needed to show it is feasible)

Optimality test: Conclude that (0,0) is not optimal because adjacent CPF solutions are better

Iteration 1: Move to a better CPF solution

Page 10: Hillier and Leiberman Chapter 4

Simplex Iteration

Consider the two edges that emanate from (0,0). Move up the X2 axis because X2 contributes more to the objective function of Z = 3X1 + 5X2.

Stop at the next constraint boundary, 2X2 = 12 (or X2 = 6). This is point (0,6). You can’t move further in this direction without leaving the feasible region.

Find the other adjacent CPF solution for this point (2,6) from the intersection of constraints.

Optimality test: (0,6) is not optimal because (2,6) is better.

Repeat steps. (2,6) is optimal solution.

Page 11: Hillier and Leiberman Chapter 4

Solution Concepts

Simplex focuses only on CPF solutions, a finite set.

It is an iterative procedure, meaning a fixed series of steps is repeated (an iteration) until a desired result is found.

When possible, the initial CPF solution is the origin because it is convenient. (Possible when all variables are non-negative.) If origin is infeasible, special procedures are needed, described in section 4.6 of this chapter.

Page 12: Hillier and Leiberman Chapter 4

Solution Concepts, Continued

At each iteration, we always choose an adjacent CPF solution. Steps take place along the edges of the feasible region.

To find the next CPF solution to test, the algorithm computes the rate of improvement in that direction. A positive rate of improvement implies that the adjacent CPF solution is better than the current one. So we test whether any of the edges have a positive rate of improvement.

Page 13: Hillier and Leiberman Chapter 4

Setting up the Simplex Method

We convert the inequalities to equalities by useof slack variables (and artificial variables forGE constraints).

Let X3 be a slack for the first constraint

X1 ≤ 4 becomes X1 + X3 = 4

With X3 ≥ 0

Page 14: Hillier and Leiberman Chapter 4

Wyndor Glass: Augmented Form

Maximize Z = 3X1 + 5X2Subject to:

X1 + X3 = 4 2X2 +X4 = 12

3X1 + 2X2 +X5 = 18

all X variables non-negative

Page 15: Hillier and Leiberman Chapter 4

Augmented Solution

The augmented solution contains values forthe decision variables AND values for theslacks. So if we augment the solution (3, 2)in this example by the values of the slacks weget (3, 2, 1, 8, 5).

A basic solution is an augmented corner-pointsolution.

Page 16: Hillier and Leiberman Chapter 4

Properties of a basic solution

Each variable is either basic or non-basic The number of basic variables equals the number of

functional constraints. The number of non-basic variables equals the total

number of variables minus the number of functional constraints.

The non-basic variables are set equal to zero. The values of the basic variables are found by solving

the simultaneous equation system. If the basic solution satisfies the non-negativity

consideration, it is called a basic feasible solution.

Page 17: Hillier and Leiberman Chapter 4

Example: BF Solution

X1 + X3 = 4 2X2 +X4 = 12

3X1 + 2X2 +X5 = 18

Set X1 and X4 = 0 (non-basic). From first constraint, X3 =4. From second constraint, X2 = 6. From third constraint, X5 =6.

(0, 6, 4, 0, 6)

Page 18: Hillier and Leiberman Chapter 4

Test for adjacent points

Two BF solutions are adjacent if all butone of their non-basic variables are the same.All but one of the basic variables would correspondin the two points, but perhaps with differentvalues.

Moving to an adjacent point means we swap onebasic variable for a non-basic one. One variableenters; the other leaves.

Page 19: Hillier and Leiberman Chapter 4

Algebra of the SimplexInitialization: X1 = 0 and X2 = 0

Yields: X3 = 4, X4 = 12, and X5 = 18BFS (0, 0, 4, 12, 18)

X1(0) + X3 = 4 2X2(0) + X4 =123X1(0) + 2X2(0) + X5 = 18Notice that the BFS can be read immediatelyfrom RHS. The simplex used a procedure(Gaussian elimination) to convert the equationsto the same convenient form with each iteration.

Page 20: Hillier and Leiberman Chapter 4

Geometric Algebraic

Choose (0,0) as initial CPF solution.

Optimality test: not optimal because moving along either edge increases Z.

Iteration 1, step 1: Move up the edge lying on the X2 axis.

Choose X1and X2 to be non-basic for initial BFS (0,0,4,12,18)

Not optimal because increasing either non-basic variable increases Z.

Iteration 1, step 1: Increase X2 while adjusting other variable values to satisfy the system of equations.

Page 21: Hillier and Leiberman Chapter 4

Geometric Algebraic

Iteration 1, step 2; Stop when the first new constraint boundary (X2=6) is reached.

Iteration 1, step 3: Find the intersection of the new pair of constraint boundaries: (0,6) is the new CPF solution.

Iteration 1, step 2: Stop when the first basic variable (X3, X4, or X5) drops to zero.

Iteration 1, step 3. With X2 now basic and X4 non-basic, solve the system of equations to find the new BFS (0,6,4,0,6)

Page 22: Hillier and Leiberman Chapter 4

Geometric Algebraic

Optimality test: Not optimal because moving along the edge from (0,6) to the right increases Z.

Iteration 2: Move along the edge to the right and stop when the new constraint boundary is reached.

Optimality test : (optimal)

Optimality test: Not optimal because increasing one non-basic variable (X1) increases Z.

Iteration 2: Increase X1, while adjusting other variables and stop when the first basic variable reaches 0.

Optimality test: (optimal)

Page 23: Hillier and Leiberman Chapter 4

Direction of Movement

Z = 3X1 + 5X2

If we increase X1 rate of improvement is 3.If we increase X2 rate of improvement is 5.Choose X2.

X2 is the entering basic variable for iteration 1.

Page 24: Hillier and Leiberman Chapter 4

Where to stopIncreasing X2 increases Z. We want to go asfar as possible without leaving the feasibleregion.

Check the constraints.X3 = 4 ≥ 0 No upper bound on X2X4 = 12 – 2X2 ≥ 0 X2 ≤ 6 to keep X4 non-negX5 = 18 – 2X2 ≥ 0 X2 ≤ 9 to keep X5 non-neg

Thus, X2 can be increased to 6, at which pointX4 drops to zero (non-basic). This is theminimum ratio test.

Page 25: Hillier and Leiberman Chapter 4

Minimum Ratio Test

The objective of the test is to determine whichcurrently basic variable will drop to zeroand become non-basic. We can rule out thebasic variable in any equation where the coefficient of the entering variable is zeroor negative since such a basic feasible variablewould not decrease as the entering variableincreases.

Page 26: Hillier and Leiberman Chapter 4

Our Pivot Using Matrix Algebra

We found the largest entry in the Objective row (greatest increase in Z).

The variable in that column was the entering variable.

We did the minimum ratio test by dividing the RHS entries by the positive entries in the column. The current basic variable is determined by this equation.

Page 27: Hillier and Leiberman Chapter 4

Solving for the new BFS

Step 3 of the iteration is finding the new BFS.

We know that X1=0, X2=6, and X4=0.We need to solve for X3 and X5.

Z – 3X1 – 5X2 = 0 X1 +X3 =4 2X2 + X4 = 12 3X1 +2X2 +X5 = 18

Current coefficients on X4 are (0,0,1,0). Wewant to make this the pattern of coefficients for X2.

Page 28: Hillier and Leiberman Chapter 4

Solving for new BF Solution, Continued

To get the desired pattern of coefficients forX2, we use matrix algebra. Multiple or divideby a non-zero constant. Add or subtract multiples of one equation from another.

The current coefficients on X2 are(-5,0,2,3) and we want them to be (0,0,1,0)

Page 29: Hillier and Leiberman Chapter 4

Transformed Equations

Z - 3X1 + 5/2X4 = 30 X1 +X3 = 4 X2 + ½ X4 = 6 3X1 - X4 + X5 = 6

Since X1 = 0 and X4 = 0, the equations inthis form give the BFS(0, 6, 4, 0, 6)

Page 30: Hillier and Leiberman Chapter 4

Optimality test for new BF solutionThe current objective function gives the value of Z in terms of only the currentnonbasic variables.

Z = 30 + 3X1 – 5/2 X4

If X1 increases, Z will increase. In iteration 2, we let X1 enter and find a variable to leave. Or minimum ratio testindicates X5 will leave. We repeat the algebraicmanipulations to reproduce the pattern of coefficientsfor X5 (0,0,0,1) as the new coefficients of X1.

Page 31: Hillier and Leiberman Chapter 4

Tabular form

We have done the tabular form alreadyIt provides a summary of important

informationThe simplex tableau is a compact display

of the system of equations

Page 32: Hillier and Leiberman Chapter 4

Simplex Tableau

Z X1 X2 X3 X4 X5 RHSobj 1 -3 -5 0 0 0 0r1 0 1 0 1 0 0 4r2 0 0 2 0 1 0 12r3 0 3 2 0 0 1 18

Optimality test: The current BFS is optimal ifevery coefficient in Obj row is non-negative. Otherwise pivot to obtain a new tableau.

Page 33: Hillier and Leiberman Chapter 4

PivotsZ X1 X2 X3 X4 X5 RHS ratio

obj 1 -3 -5 0 0 0 0r1 0 1 0 1 0 0 4 **r2 0 0 2 0 1 0 12 6r3 0 3 2 0 0 1 18 9

Z X1 X2 X3 X4 X5 RHSobj 1 -3 0 0 2.5 0 30r1 0 1 0 1 0 0 4 4r2 0 0 1 0 0.5 0 6 **r3 0 3 0 0 -1 1 6 2

Z X1 X2 X3 X4 X5 RHSobj 1 0 0 0 1.5 1 36r1 0 0 0 1 1/3 -1/3 4r2 0 0 1 0 0.5 0 6r3 0 1 0 0 -1/3 1/3 6

Page 34: Hillier and Leiberman Chapter 4

Section 4.5 Tie Breaking

Tie for entering variable: If two variables are tied for largest negative value in obj row, pick one arbitrarily. No problems should result.

Tie for leaving basic variable (degeneracy). This is a tie for the minimum ratio. Whichever variable is picked to leave, the other variable will also be driven to zero in the pivot. Problems may ensue.

Page 35: Hillier and Leiberman Chapter 4

Degeneracy

If one of the degenerate basic variables (basicvariables with a value of zero) retains its zerovalue until it is chosen at a subsequent iterationto be the leaving basic variable, the corresponding entering variable will be stuckat zero since it can’t be increased without makingthe degenerate leaving variable negative, so the value of Z won’t change. Simplex maygo around in a loop, repeating the same sequencewithout advancing.

Page 36: Hillier and Leiberman Chapter 4

Degeneracy, continuedPerpetual loops are rare. When they dooccur, you can get out of it by picking a different leaving basic variable from the tie.Special rules have been developed for tiebreaking so that the loops are avoided.

See: R. Bland “New Finite Pivoting Rules forthe Simplex Method.” Mathematics ofOperations Research, 2: 103-107, 1977.

Page 37: Hillier and Leiberman Chapter 4

Unbounded Z

If Z is unbounded, there will be no candidatefor the leaving basic variable.

In these cases, the constraints don’t keep thevalue of the objective function from increasingindefinitely.

Page 38: Hillier and Leiberman Chapter 4

Multiple Optimal SolutionsIn this case, the objective function has thesame slope as one of the constraints.

If we change the objective function for theWyndor glass problem to:

Z = 3X1 + 2X2

The new objective function has the samecoefficients as the third constraint. The simplexstops after one optimal solution is found.

Page 39: Hillier and Leiberman Chapter 4

How to tell if there are more optimal solutions

It may be desirable to identify other optimalsolutions. Some programs tell you they exist.

Whenever a problem has more than one optimalBFS, at least one of the non-basic variableswill have a coefficient of zero in the finalobjective function. Other solutions can befound by pivoting and using the variable with thezero coefficient in the objective row as theentering variable.

Page 40: Hillier and Leiberman Chapter 4

Multiple Optimal SolutionsZ X1 X2 X3 X4 X5 RHS ratio

obj 1 -3 -2 0 0 0 0r1 0 1 0 1 0 0 4 4r2 0 0 2 0 1 0 12 **r3 0 3 2 0 0 1 18 6

Z X1 X2 X3 X4 X5 RHSobj 1 0 -2 3 0 0 12r1 0 1 0 1 0 0 4 4r2 0 0 2 0 1 0 12 **r3 0 0 2 -3 0 1 6 2

Z X1 X2 X3 X4 X5 RHSobj 1 0 0 0 0 1 18r1 0 1 0 1 0 0 4 4r2 0 0 0 3 1 -1 6 2r3 0 0 1 -1.5 0 0.5 3 **

Z X1 X2 X3 X4 X5 RHSobj 1 0 0 0 0 1 18r1 0 1 0 0 -1/3 1/3 2r2 0 0 0 1 1/3 -1/3 2r3 0 0 1 0 1/2 0 6

Page 41: Hillier and Leiberman Chapter 4

Section 4.6 Other Model Forms

Equality ConstraintsNegative Right Hand SidesFunctional Constraints in ≥ formMinimization problems

Page 42: Hillier and Leiberman Chapter 4

An Equality Constraint

As we saw in McCarl and Spreen an equalityconstraint is equivalent to two inequalityconstraints. Hillier and Lieberman provideanother way to handle these constraints, withan artificial variable.

Page 43: Hillier and Leiberman Chapter 4

Modified Problem

Change the last constraint so that 3X1 + 2X2 = 18

Z - 3X1 – 5X2 = 0 X1 + X3 = 4 2X2 + X4 = 12 3X1 + 2X2 = 18

There is no obvious BFS because there isno slack in the third constraint.

Page 44: Hillier and Leiberman Chapter 4

Figure 4.3

4,3

2, 6

0

The BFS is now a line between the twopoints.

Page 45: Hillier and Leiberman Chapter 4

Use an artificial variableZ - 3X1 – 5X2 +MX5 = 0 X1 + X3 = 4 2X2 + X4 = 12 3X1 + 2X2 + X5 = 18

X5= 18 – 3x1 – 2X2

The large M ensures that the artificial variablewill be driven to zero.

Page 46: Hillier and Leiberman Chapter 4

Negative RHSTo eliminate the negative value in theRHS, multiply through by -1. This operationreverses the sign of the equality.

In doing simplex by hand, all RHS variables must be positive. Not required for computeralgorithms.

Page 47: Hillier and Leiberman Chapter 4

Functional Constraints as ≥

We introduce both a surplus variable andan artificial variable so that we can havea BFS. (We used this technique in solvingour minimization problems earlier.)

Here we will look at an alternative method tosolving minimization problems, the two phasemethod.

Page 48: Hillier and Leiberman Chapter 4

Minimization

Minimize Z = ∑jcjXj

Same as

Maximize -Z= ∑j (-cj)Xj

Page 49: Hillier and Leiberman Chapter 4

Radiation Example

Minimize Z = 0.4X1 + 0.5X2 where X1 and X2 represent doses of two beams

0.3X1 + 0.1X2 ≤ 2.7 0.5X1 + 0.5X2 = 6 0.6X1 + 0.4X2 ≥ 62nd and 3rd constraint will require artificial

variables.1st constraint takes a slack and third takes

a surplus

Page 50: Hillier and Leiberman Chapter 4

Problem

-Z + 0.4X1 + 0.5X2 +MX4 + MX6 0.3X1 + 0.1X2 +X3 = 27 0.5X1 + 0.5X2 +X4 = 6 0.6X1 + 0.4X2 -X5 + X6 = 6

X3 is a slack variableX4 and X6 are artificial variablesX5 is a surplus variable

Page 51: Hillier and Leiberman Chapter 4

Two-Phase Method

Initialization: Add artificial variables to get an obvious initial solution for the artificial problem.

The objective of this phase is to find a BFS to the real problem.

We minimize the artificial problem.

Page 52: Hillier and Leiberman Chapter 4

The artificial problem

Minimize Z = X4 + X6 0.3X1 + 0.1X2 +X3 = 27 0.5X1 + 0.5X2 +X4 = 6 0.6X1 + 0.4X2 -X5 + X6 = 6

Page 53: Hillier and Leiberman Chapter 4

The Real Problem

Minimize Z = 0.4X1 + 0.5X2 0.3X1 + 0.1X2 +X3 = 27 0.5X1 + 0.5X2 = 6 0.6X1 + 0.4X2 -X5 = 6

Page 54: Hillier and Leiberman Chapter 4

Phase 1: Obtain the starting objective

Min Z = X4 + X6 becomes Max -Z = – X4 – X6

Use elementary row operations to zero these out.(E.g. add or subtract multiples of the other rowsuntil the coefficients on X4 and X6 are zero.

That gives us –Z -1.1X1 - 0.9X2 +X5 = -12

We perform the usual simplex maximization andfind a BFS (6,6,0,3,0,0,0)

Page 55: Hillier and Leiberman Chapter 4

Phase 1: Obtain the starting objective

Min Z = X4 + X6 becomes Max -Z = – X4 – X6

Use elementary row operations to zero these out.(E.g. add or subtract multiples of the other rowsuntil the coefficients on X4 and X6 are zero.

That gives us –Z -1.1X1 - 0.9X2 +X5 = -12

We perform the usual simplex maximization andfind a BFS (6,6,0,3,0,0,0)

Page 56: Hillier and Leiberman Chapter 4

Z X1 X2 X3 X4 X5 X6-1 -1.1 -0.9 0 0 1 0 -120 0.3 0.1 1 0 0 0 2.70 0.5 0.5 0 1 0 0 60 0.6 0.4 0 0 -1 1 6

Z X1 X2 X3 X4 X5 X6-1 0 -16/30 11/3 0 1 0 -2.10 1 1/3 10/3 0 0 0 90 0 1/3 -5/3 1 0 0 1.50 0 1/5 -2 0 -1 1 0.6

Z X1 X2 X3 X4 X5 X6-1 0 0 -5/3 0 -5/3 8/3 -0.50 1 0 20/3 0 5/3 -5/3 80 0 0 5/3 1 5/3 -5/3 0.50 0 1 -10 0 5 5 3

Z X1 X2 X3 X4 X5 X6-1 0 0 0 1 0 1 00 1 0 0 -4 -5 5 60 0 0 1 3/5 1 -1 0.30 0 1 0 6 5 -5 6

Phase 1

Page 57: Hillier and Leiberman Chapter 4

Phase 2

Start from the final tableau of phase 1 Drop the artificial variables Substitute the phase 2 objective function Restore proper form by eliminating the

basic variables X1 and X2 from the objective row (use row operations)

Solve the phase 2 problem

Page 58: Hillier and Leiberman Chapter 4

Phase 2Z X1 X2 X3 X5 RHS-1 0 0 0 -0.5 -5.40 1 0 0 -5 60 0 0 1 1 0.30 0 1 0 5 6

Z X1 X2 X3 X5 -1 0 0 0.5 0 -5.250 1 0 5 0 7.50 0 0 1 1 0.30 0 1 -5 0 4.5

Optimal Solution: X1 = 7.5, X2 = 4.5, X3 (slack)=0,X5 (surplus) = 0.3

Page 59: Hillier and Leiberman Chapter 4

No Feasible Solutions

Artificial variable method can construct a BFS when an obvious one is not available.

Using either the big M method or the two phase method allows simplex to work.

Possible pitfall: There may be no feasible solutions to the real problem, but by constructing artificial variables we may allow the simplex to proceed and report an “optimal solution”

When this happens, one of the artificial variables will have a positive value in the final solution.

Page 60: Hillier and Leiberman Chapter 4

Variables allowed to be negative

We’ve dealt with this in McCarl and Spreen.

Two types, one is bounded, one unbounded.

X1 ≥ -10 construct X1* = X1 + 10 and substitute

X1 can take any value. X1 = X1(+) and X1(-)adds an extra column to the problem.

Page 61: Hillier and Leiberman Chapter 4

Section 4.7 Post-Optimality Analysis

Re-optimizationShadow prices (we’ve covered)Sensitivity analysisParametric programming

Page 62: Hillier and Leiberman Chapter 4

Re-optimization

If we have found an optimal solution for oneversion of an LP and then want to run a slightly different version, it is inefficient tostart from scratch. Re-optimization involvesdeducing how changes in the original modelget carried into the final solution (our originaloptimal solution). The final tableau is thenrevised in light of the new information and theiterations start from there. (If the tableau thatemerges is not feasible, a dual method canbe applied. )

Page 63: Hillier and Leiberman Chapter 4

Sensitivity Analysis

Sensitivity parameters are those that can’t be changed without changing the optimal solution.If a shadow price on a constraint is positive, thenan increase in the RHS of that constraint willchange the optimal solution. If it is zero, thereis a range over which it can be changed withno change in the optimal solution.

Also, if a reduced cost is non-zero, there willbe a range over which the related Cj can bechanged without affecting the solution.

Page 64: Hillier and Leiberman Chapter 4

Parametric Programming

Related to sensitivity analysis Involves the systematic study of how the

optimal solution changes as many parameters change simultaneously over some range

Trade-offs in parameter values can be studied, e.g. some resources (bi) can be increased if others are reduced

Page 65: Hillier and Leiberman Chapter 4

Section 4.9 Interior Point Solution

Starts from inside the feasible regionMoves along a path from the interior to the

boundaryLarge problems can be solved more

efficiently