5Corner Point Feasible Solutions Corner point feasible solutions (CPF solutions)occur at the intersections of the constraintboundaries, 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 thenumber of constraints that intersect at each corner.If there are, for example, 5 decision variables thecorner points occur at the intersection of5 constraints.
6Adjacent feasible solutions For any linear programming model with ndecision variables, two CPF solutions areadjacent to each other if they share n-1constraints. The two adjacent CPF solutionsare connected by a line segment that lieson the same shared constraint boundaries.Such a constraint boundary is referred to asan edge of the feasible region.
7Figure 4.1 (0,0) and (0,6) adjacent (0,6) and (2,6) adjacent There are 5 edges.From each CPF solution,2 edges emanate.Each CPF solution has 2adjacent solutions.2, 60, 64,34,00,0
8Optimality test If a CPF solution has no adjacent CPF solution that is better (in terms of the valueof the objective function) then it must bean optimal solution.
9Solving the exampleInitialization. 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 betterIteration 1: Move to a better CPF solution
10Simplex IterationConsider 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.
11Solution 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.
12Solution 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.
13Setting 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 constraintX1 ≤ 4 becomes X1 + X3 = 4With X3 ≥ 0
14Wyndor Glass: Augmented Form Maximize Z = 3X1 + 5X2Subject to:X1 + X3 = 42X X = 123X1 + 2X X5 = 18all X variables non-negative
15Augmented Solution The augmented solution contains values for the 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.
16Properties of a basic solution Each variable is either basic or non-basicThe 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.
17Example: BF Solution X1 + X3 = 4 2X2 +X4 = 12 3X1 + 2X2 +X5 = 18 Set X1 and X4 = 0 (non-basic). Fromfirst constraint, X3 =4. From secondconstraint, X2 = 6. From third constraint,X5 =6.(0, 6, 4, 0, 6)
18Test 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.
19Algebra of the Simplex Initialization: X1 = 0 and X2 = 0 Yields: X3 = 4, X4 = 12, and X5 = 18BFS (0, 0, 4, 12, 18)X1(0) X3 = 42X2(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.
20Geometric 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.
21Geometric AlgebraicIteration 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)
22Geometric AlgebraicOptimality 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)
23Direction 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.
24Where to stop Increasing X2 increases Z. We want to go as far 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-negThus, X2 can be increased to 6, at which pointX4 drops to zero (non-basic). This is theminimum ratio test.
25Minimum Ratio Test The objective of the test is to determine which currently basic variable will drop to zeroand become non-basic. We can rule out thebasic variable in any equation where thecoefficient of the entering variable is zeroor negative since such a basic feasible variablewould not decrease as the entering variableincreases.
26Our 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.
27Solving for the new BFSStep 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 = 0X X3 =42X X = 123X1 +2X X = 18Current coefficients on X4 are (0,0,1,0). Wewant to make this the pattern of coefficients for X2.
28Solving 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 subtractmultiples 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)
29Transformed Equations Z - 3X /2X4 = 30X X = 4X ½ X4 = 63X X X = 6Since X1 = 0 and X4 = 0, the equations inthis form give the BFS(0, 6, 4, 0, 6)
30Optimality test for new BF solution The current objective function gives thevalue of Z in terms of only the currentnonbasic variables.Z = X1 – 5/2 X4If X1 increases, Z will increase.In iteration 2, we let X1 enter and find avariable 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.
31Tabular form We have done the tabular form already It provides a summary of important informationThe simplex tableau is a compact display of the system of equations
32Simplex Tableau Optimality test: The current BFS is optimal if every coefficient in Obj row is non-negative.Otherwise pivot to obtain a new tableau.
34Section 4.5 Tie BreakingTie 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.
35Degeneracy If one of the degenerate basic variables (basic variables with a value of zero) retains its zerovalue until it is chosen at a subsequent iterationto be the leaving basic variable, thecorresponding entering variable will be stuckat zero since it can’t be increased without makingthe degenerate leaving variable negative, sothe value of Z won’t change. Simplex maygo around in a loop, repeating the same sequencewithout advancing.
36Degeneracy, continued Perpetual loops are rare. When they do occur, you can get out of it by picking adifferent 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: , 1977.
37Unbounded Z If Z is unbounded, there will be no candidate for the leaving basic variable.In these cases, the constraints don’t keep thevalue of the objective function from increasingindefinitely.
38Multiple Optimal Solutions In 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 + 2X2The new objective function has the samecoefficients as the third constraint. The simplexstops after one optimal solution is found.
39How 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.
41Section 4.6 Other Model Forms Equality ConstraintsNegative Right Hand SidesFunctional Constraints in ≥ formMinimization problems
42An 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.
43Modified Problem Change the last constraint so that 3X1 + 2X2 = 18 Z - 3X1 – 5X2 = 0X X3 = 42X2 + X4 = 123X1 + 2X2 = 18There is no obvious BFS because there isno slack in the third constraint.
44Figure 4.3The BFS is now aline between the twopoints.2, 64,3
45Use an artificial variable Z - 3X1 – 5X2 +MX5 = 0X X3 = 42X2 + X4 = 123X1 + 2X X5 = 18X5= 18 – 3x1 – 2X2The large M ensures that the artificial variablewill be driven to zero.
46Negative RHS To eliminate the negative value in the RHS, multiply through by -1. This operationreverses the sign of the equality.In doing simplex by hand, all RHS variablesmust be positive. Not required for computeralgorithms.
47Functional 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.
48MinimizationMinimize Z = ∑jcjXjSame asMaximize -Z= ∑j (-cj)Xj
49Radiation ExampleMinimize Z = 0.4X X2 where X1 and X2 represent doses of two beams0.3X X2 ≤ 2.70.5X X2 = 60.6X X2 ≥ 62nd and 3rd constraint will require artificial variables.1st constraint takes a slack and third takes a surplus
50Problem -Z + 0.4X1 + 0.5X2 +MX4 + MX6 0.3X1 + 0.1X2 +X3 = 27 X3 is a slack variableX4 and X6 are artificial variablesX5 is a surplus variable
51Two-Phase MethodInitialization: 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.
52The artificial problem Minimize Z = X X60.3X X2 +X = 270.5X X X = 60.6X X X5 + X6 = 6
53The Real Problem Minimize Z = 0.4X1 + 0.5X2 0.3X1 + 0.1X2 +X3 = 27
54Phase 1: Obtain the starting objective Min Z = X X6 becomes Max -Z = – X4 – X6Use 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.1X X2 +X5 = -12We perform the usual simplex maximization andfind a BFS (6,6,0,3,0,0,0)
55Phase 1: Obtain the starting objective Min Z = X X6 becomes Max -Z = – X4 – X6Use 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.1X X2 +X5 = -12We perform the usual simplex maximization andfind a BFS (6,6,0,3,0,0,0)
57Phase 2 Start from the final tableau of phase 1 Drop the artificial variablesSubstitute the phase 2 objective functionRestore proper form by eliminating the basic variables X1 and X2 from the objective row (use row operations)Solve the phase 2 problem
59No Feasible SolutionsArtificial 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.
60Variables allowed to be negative We’ve dealt with this in McCarl and Spreen.Two types, one is bounded, one unbounded.X1 ≥ construct X1* = X and substituteX1 can take any value. X1 = X1(+) and X1(-)adds an extra column to the problem.
62Re-optimization If we have found an optimal solution for one version of an LP and then want to run aslightly 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. )
63Sensitivity 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.
64Parametric Programming Related to sensitivity analysisInvolves the systematic study of how the optimal solution changes as many parameters change simultaneously over some rangeTrade-offs in parameter values can be studied, e.g. some resources (bi) can be increased if others are reduced
65Section 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