the revised simplex method
play

The Revised Simplex Method Combinatorial Problem Solving (CPS) - PowerPoint PPT Presentation

The Revised Simplex Method Combinatorial Problem Solving (CPS) Javier Larrosa Albert Oliveras Enric Rodr guez-Carbonell April 17, 2020 Tableau Simplex Method The simplex method we have seen so far is called tableau simplex method


  1. The Revised Simplex Method Combinatorial Problem Solving (CPS) Javier Larrosa Albert Oliveras Enric Rodr´ ıguez-Carbonell April 17, 2020

  2. Tableau Simplex Method The simplex method we have seen so far is called ■ tableau simplex method Some observations: ■ At each iteration we update the full tableau ◆ x B = B − 1 b − B − 1 Rx R for the new basis But ... ◆ For pricing only one negative reduced cost is needed ■ For ratio test, only ■ the column of the chosen non-basic variable in the tableau, and ◆ the current basic solution ◆ are needed 2 / 30

  3. Revised Simplex Method Idea: do not keep a representation of the full tableau, only B − 1 ■ Advantages over the tableau version: ■ Time and space are saved ◆ Errors due to floating-point arithmetic are easier to control ◆ 3 / 30

  4. Revised Simplex Method Idea: do not keep a representation of the full tableau, only B − 1 ■ Advantages over the tableau version: ■ Time and space are saved ◆ Errors due to floating-point arithmetic are easier to control ◆ We will revise the algorithm and express it in terms of B − 1 ■ First for LP’s of the form ■ min z = c T x Ax = b x ≥ 0 3 / 30

  5. Basic Solution Let us see how the basic solution is expressed in terms of B − 1 ■ For any basis B , ■ values of basic variables can be expressed in terms of non-basic variables: Bx B + Rx R = b b − Rx R = Bx B B − 1 b − B − 1 Rx R = x B 4 / 30

  6. Basic Solution Let us see how the basic solution is expressed in terms of B − 1 ■ For any basis B , ■ values of basic variables can be expressed in terms of non-basic variables: Bx B + Rx R = b b − Rx R = Bx B B − 1 b − B − 1 Rx R = x B By definition, the basic solution corresponds to ■ assigning null values to all non-basic variables: x R = 0 Then x B = B − 1 b We will denote the basic solution (projected on basic variables) with ■ β := B − 1 b 4 / 30

  7. Optimality Condition Let us see now how to express the reduced costs in terms of B − 1 ■ Recall the equation of basic variables in terms of non-basic variables: ■ x B = B − 1 b − B − 1 Rx R Cost function can be split: c T x = c T B x B + c T R x R , where ■ c T B are the costs of basic variables, c T R are the costs of non-basic variables 5 / 30

  8. Optimality Condition Let us see now how to express the reduced costs in terms of B − 1 ■ Recall the equation of basic variables in terms of non-basic variables: ■ x B = B − 1 b − B − 1 Rx R Cost function can be split: c T x = c T B x B + c T R x R , where ■ c T B are the costs of basic variables, c T R are the costs of non-basic variables We can express the cost function in terms of non-basic variables: ■ c T x = c T B x B + c T R x R = c T B ( B − 1 b − B − 1 Rx R ) + c T R x R = c T B B − 1 b − c T B B − 1 Rx R + c T R x R = c T B B − 1 b + ( c T R − c T B B − 1 R ) x R 5 / 30

  9. Optimality Condition We found that c T x = c T B B − 1 b + ( c T R − c T B B − 1 R ) x R ■ The part that depends on non-basic variables is ( c T R − c T B B − 1 R ) x R ■ Let a j be the column in A corresponding to variable x j ∈ x R . ■ ( c T R − c T B B − 1 R ) x R c j − c T B B − 1 a j The coefficient of x j in is We will denote the reduced cost of x j with d j := c j − c T B B − 1 a j Optimality condition: d j ≥ 0 for all j ∈ R ■ 6 / 30

  10. Cost at Basic Solution Let’s see how to express the value of the cost function at the basic solution ■ We found that c T x = c T B B − 1 b + d T R x R , where d j = c j − c T B B − 1 a j ■ We will denote the value of the cost function at the basic solution with z ■ Taking x R = 0 in the above equation: z := c T B B − 1 b ■ 7 / 30

  11. Cost at Basic Solution Let’s see how to express the value of the cost function at the basic solution ■ We found that c T x = c T B B − 1 b + d T R x R , where d j = c j − c T B B − 1 a j ■ We will denote the value of the cost function at the basic solution with z ■ Taking x R = 0 in the above equation: z := c T B B − 1 b ■ To avoid repeating computations: ■ Let us define the simplex multiplier as π := ( B T ) − 1 c B Then π T = c T B B − 1 So d j = c j − π T a j (and z = π T b ) 7 / 30

  12. Improving a Non-Optimal Solution Let us assume the optimality condition is violated ■ Let x q be a non-basic variable such that its reduced cost is d q < 0 ■ Current value of x q is 0 . ■ We can improve by increasing only this value while non-negativity constraints of basic variables are satisfied. 8 / 30

  13. Improving a Non-Optimal Solution Let us assume the optimality condition is violated ■ Let x q be a non-basic variable such that its reduced cost is d q < 0 ■ Current value of x q is 0 . ■ We can improve by increasing only this value while non-negativity constraints of basic variables are satisfied. Let t ≥ 0 be the new value for x q . ■ Let x B ( t ) be the values of basic variables in terms of t Let x R ( t ) be the values of non-basic variables in terms of t Note that x q ( t ) = t , and x p ( t ) = 0 if p ∈ R and p � = q 8 / 30

  14. Improving a Non-Optimal Solution Let us assume the optimality condition is violated ■ Let x q be a non-basic variable such that its reduced cost is d q < 0 ■ Current value of x q is 0 . ■ We can improve by increasing only this value while non-negativity constraints of basic variables are satisfied. Let t ≥ 0 be the new value for x q . ■ Let x B ( t ) be the values of basic variables in terms of t Let x R ( t ) be the values of non-basic variables in terms of t Note that x q ( t ) = t , and x p ( t ) = 0 if p ∈ R and p � = q x B ( t ) = B − 1 b − B − 1 Rx R ( t ) = B − 1 b − B − 1 a q t = β − tα q So where β = B − 1 b is the basic solution and we denote the column in the tableau of x q as α q := B − 1 a q 8 / 30

  15. Improving a Non-Optimal Solution How much do we improve? ■ How does the objective value change as a function of t ? z ( t ) = c T x ( t ) = c T B x B ( t ) + c T R x R ( t ) = c T B x B ( t ) + c q t = c T B β − tc T B α q + c q t = c T B β − tc T B B − 1 a q + c q t = z + td q As expected, the improvement in cost is ∆ z = z ( t ) − z = td q ■ 9 / 30

  16. Improving a Non-Optimal Solution Recall that x B ( t ) = β − tα q ■ How can we satisfy the non-negativity constraints of basic variables? ■ 10 / 30

  17. Improving a Non-Optimal Solution Recall that x B ( t ) = β − tα q ■ How can we satisfy the non-negativity constraints of basic variables? ■ Basic variables have indices B = ( k 1 , ..., k m ) ■ Let i ∈ { 1 , ..., m } . The i -th basic variable is x k i ■ Value of x k i as a function of t is the i -th component of x B ( t ) : β i − tα i q , ■ where β i is the i -th component of β and α i q is the i -th component of α q 10 / 30

  18. Improving a Non-Optimal Solution Recall that x B ( t ) = β − tα q ■ How can we satisfy the non-negativity constraints of basic variables? ■ Basic variables have indices B = ( k 1 , ..., k m ) ■ Let i ∈ { 1 , ..., m } . The i -th basic variable is x k i ■ Value of x k i as a function of t is the i -th component of x B ( t ) : β i − tα i q , ■ where β i is the i -th component of β and α i q is the i -th component of α q β i − tα i β i ≥ tα i We need q ≥ 0 ⇐ ⇒ ■ q If α i q ≤ 0 the constraint is satisfied for all t ≥ 0 ◆ q > 0 we need β i If α i q ≥ t ◆ α i 10 / 30

  19. Improving a Non-Optimal Solution Recall that x B ( t ) = β − tα q ■ How can we satisfy the non-negativity constraints of basic variables? ■ Basic variables have indices B = ( k 1 , ..., k m ) ■ Let i ∈ { 1 , ..., m } . The i -th basic variable is x k i ■ Value of x k i as a function of t is the i -th component of x B ( t ) : β i − tα i q , ■ where β i is the i -th component of β and α i q is the i -th component of α q β i − tα i β i ≥ tα i We need q ≥ 0 ⇐ ⇒ ■ q If α i q ≤ 0 the constraint is satisfied for all t ≥ 0 ◆ q > 0 we need β i If α i q ≥ t ◆ α i The best improvement is achieved with the strongest of the upper bounds: ■ θ := min { β i q | α i q > 0 } α i We say the p -th basic variable x k p is blocking or tight when θ = β p q . ■ α p Then α p q is the pivot 10 / 30

  20. Improving a Non-Optimal Solution 1. If θ = + ∞ (there is no upper bound, i.e., no i such that 1 ≤ i ≤ m and α i q > 0 ): Value of objective function can be decreased infinitely. LP is unbounded. 11 / 30

  21. Improving a Non-Optimal Solution 1. If θ = + ∞ (there is no upper bound, i.e., no i such that 1 ≤ i ≤ m and α i q > 0 ): Value of objective function can be decreased infinitely. LP is unbounded. If θ < + ∞ and the p -th basic variable x k p is blocking: 2. When setting x q = θ , the non-negativity of basic variables is respected In particular the value of x k p , i.e. the p -th component of x B ( t ) , is β p − θα p q = 0 We can make a basis change: x q enters the basis and x k p leaves, where B = ( k 1 , ..., k m ) 11 / 30

Recommend


More recommend