decision procedures
play

Decision Procedures An Algorithmic Point of View Revision 1.0 - PowerPoint PPT Presentation

Gomory Cuts Chapter 5 Linear Arithmetic Decision Procedures An Algorithmic Point of View Revision 1.0 D.Kroening O.Strichman Cutting planes Recall that in Branch & Bound we first solve a relaxed problem (i.e., no integrality


  1. Gomory Cuts Chapter 5 Linear Arithmetic Decision Procedures An Algorithmic Point of View Revision 1.0 D.Kroening O.Strichman

  2. Cutting planes Recall that in Branch & Bound we first solve a relaxed problem (i.e., no integrality constraints). We now study a method for adding cutting planes – constraints to the relaxed problem that do not remove integer solutions. Specifically, we will see Gomory cuts. Decision Procedures – Gomory Cuts 2

  3. Cutting planes, geometrically. satisfying assignments The dotted line is a cutting plane. Decision Procedures – Gomory Cuts 3

  4. Example: Gomory Cuts Suppose our input integer linear problem has... Integer variables x 1 , . . . , x 3 . Lower bounds 1 ≤ x 1 and 0 . 5 ≤ x 2 . Decision Procedures – Gomory Cuts 4

  5. Example: Gomory Cuts Suppose our input integer linear problem has... Integer variables x 1 , . . . , x 3 . Lower bounds 1 ≤ x 1 and 0 . 5 ≤ x 2 . After solving the relaxed problem: The final tableau of the general simplex algorithm includes the constraint x 3 = 0 . 5 x 1 + 2 . 5 x 2 , (1) Decision Procedures – Gomory Cuts 4

  6. Example: Gomory Cuts Suppose our input integer linear problem has... Integer variables x 1 , . . . , x 3 . Lower bounds 1 ≤ x 1 and 0 . 5 ≤ x 2 . After solving the relaxed problem: The final tableau of the general simplex algorithm includes the constraint x 3 = 0 . 5 x 1 + 2 . 5 x 2 , (1) ...and the solution α is { x 3 �→ 1 . 75 , x 1 �→ 1 , x 2 �→ 0 . 5 } Decision Procedures – Gomory Cuts 4

  7. Example: Gomory Cuts Subtracting these values from (1) gives us x 3 − 1 . 75 = 0 . 5( x 1 − 1) + 2 . 5( x 2 − 0 . 5) . (2) Decision Procedures – Gomory Cuts 5

  8. Example: Gomory Cuts Subtracting these values from (1) gives us x 3 − 1 . 75 = 0 . 5( x 1 − 1) + 2 . 5( x 2 − 0 . 5) . (2) We now wish to rewrite this equation so the left-hand side is an integer: x 3 − 1 = 0 . 75 + 0 . 5( x 1 − 1) + 2 . 5( x 2 − 0 . 5) . (3) Decision Procedures – Gomory Cuts 5

  9. Example: Gomory Cuts The two right-most terms must be positive because 1 and 0.5 are the lower bounds of x 1 and x 2 , respectively. Since the right-hand side must add up to an integer as well, this implies that 0 . 75 + 0 . 5( x 1 − 1) + 2 . 5( x 2 − 0 . 5) ≥ 1 . (4) Decision Procedures – Gomory Cuts 6

  10. Example: Gomory Cuts The two right-most terms must be positive because 1 and 0.5 are the lower bounds of x 1 and x 2 , respectively. Since the right-hand side must add up to an integer as well, this implies that 0 . 75 + 0 . 5( x 1 − 1) + 2 . 5( x 2 − 0 . 5) ≥ 1 . (4) This constraint is unsatisfied by α because α ( x 1 ) = 1 , α ( x 2 ) = 0 . 5 . Decision Procedures – Gomory Cuts 6

  11. Example: Gomory Cuts The two right-most terms must be positive because 1 and 0.5 are the lower bounds of x 1 and x 2 , respectively. Since the right-hand side must add up to an integer as well, this implies that 0 . 75 + 0 . 5( x 1 − 1) + 2 . 5( x 2 − 0 . 5) ≥ 1 . (4) This constraint is unsatisfied by α because α ( x 1 ) = 1 , α ( x 2 ) = 0 . 5 . Hence, this constraint removes the current solution. Decision Procedures – Gomory Cuts 6

  12. Example: Gomory Cuts The two right-most terms must be positive because 1 and 0.5 are the lower bounds of x 1 and x 2 , respectively. Since the right-hand side must add up to an integer as well, this implies that 0 . 75 + 0 . 5( x 1 − 1) + 2 . 5( x 2 − 0 . 5) ≥ 1 . (4) This constraint is unsatisfied by α because α ( x 1 ) = 1 , α ( x 2 ) = 0 . 5 . Hence, this constraint removes the current solution. On the other hand, it is implied by the integer system of constraints, and hence cannot remove any integer solution. Decision Procedures – Gomory Cuts 6

  13. Gomory Cuts Generalizing this example: Upper bounds. Both positive and negative coefficients. The description that follows is based on Integrating Simplex with DPLL(T) Technical report SRI-CSL-06-01 Dutertre and de Moura (2006). Decision Procedures – Gomory Cuts 7

  14. Gomory Cuts There are two preliminary conditions for deriving a Gomory cut from a constraint: The assignment to the basic variable has to be fractional. The assignments to all the nonbasic variables have to correspond to one of their bounds. Decision Procedures – Gomory Cuts 8

  15. Gomory Cuts Consider the i -th constraint: � x i = (5) a ij x j , x j ∈N where x i ∈ B . Decision Procedures – Gomory Cuts 9

  16. Gomory Cuts Consider the i -th constraint: � x i = (5) a ij x j , x j ∈N where x i ∈ B . Let α be the assignment returned by the general simplex algorithm. Thus, � α ( x i ) = a ij α ( x j ) . (6) x j ∈N Decision Procedures – Gomory Cuts 9

  17. Gomory Cuts Partition the nonbasic variables to those that are currently assigned their lower bound, and those that are currently assigned their upper bound = { j | x j ∈ N ∧ α ( x j ) = l j } J (7) K = { j | x j ∈ N ∧ α ( x j ) = u j } . Subtracting (6) from (5) taking the partition into account yields � � x i − α ( x i ) = a ij ( x j − l j ) − a ij ( u j − x j ) . (8) j ∈ J j ∈ K Decision Procedures – Gomory Cuts 10

  18. Gomory Cuts Let f 0 = α ( x i ) − ⌊ α ( x i ) ⌋ . As we assumed that α ( x i ) is not an integer then 0 < f 0 < 1 . We can now rewrite (8) as � � x i − ⌊ α ( x i ) ⌋ = f 0 + a ij ( x j − l j ) − a ij ( u j − x j ) . (9) j ∈ J j ∈ K Note that the left-hand side is an integer. Decision Procedures – Gomory Cuts 11

  19. Gomory Cuts We now consider two cases. (Case 1) If � � a ij ( x j − l j ) − a ij ( u j − x j ) > 0 j ∈ J j ∈ K then, since the right-hand side must be an integer, � � f 0 + a ij ( x j − l j ) − a ij ( u j − x j ) ≥ 1 . (10) j ∈ J j ∈ K Decision Procedures – Gomory Cuts 12

  20. Gomory Cuts (Still in case 1) We now split J and K as follows: J + = { j | j ∈ J ∧ a ij > 0 } J − = { j | j ∈ J ∧ a ij < 0 } (11) K + { j | j ∈ K ∧ a ij > 0 } = K − = { j | j ∈ K ∧ a ij < 0 } Gathering only the positive elements in the left-hand side of (10) gives us: � � a ij ( x j − l j ) − a ij ( u j − x j ) ≥ 1 − f 0 , (12) j ∈ J + j ∈ K − or, equivalently, a ij a ij � � ( x j − l j ) − ( u j − x j ) ≥ 1 . (13) 1 − f 0 1 − f 0 j ∈ J + j ∈ K − Decision Procedures – Gomory Cuts 13

  21. Gomory Cuts (Case 2) If � � a ij ( x j − l j ) − a ij ( u j − x j ) ≤ 0 j ∈ J j ∈ K then again, since the right-hand side must be an integer, � � a ij ( x j − l j ) − a ij ( u j − x j ) ≤ 0 . f 0 + (14) j ∈ J j ∈ K Decision Procedures – Gomory Cuts 14

  22. Gomory Cuts Eq. (14) implies that � � a ij ( x j − l j ) − a ij ( u j − x j ) ≤ − f 0 . (15) j ∈ J − j ∈ K + Dividing by − f 0 gives us a ij a ij � � − ( x j − l j ) + ( u j − x j ) ≥ 1 . (16) f 0 f 0 j ∈ J − j ∈ K + (End of case 2) Decision Procedures – Gomory Cuts 15

  23. Gomory Cuts Note that the left-hand side of both (13) and (16) is greater than zero. Therefore these two equations imply a ij a ij � � ( x j − l j ) − ( x j − l j ) 1 − f 0 f 0 j ∈ J + j ∈ J − a ij a ij � � + ( u j − x j ) − ( u j − x j ) ≥ 1 . (17) 1 − f 0 f 0 j ∈ K + j ∈ K − Since each of the elements on the left-hand side is equal to zero under the current assignment α , then α is ruled out by the new constraint. In other words: the solution to the linear problem augmented with the constraint is guaranteed to be different from the previous one. Decision Procedures – Gomory Cuts 16

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend