Presentation is loading. Please wait.

Presentation is loading. Please wait.

Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) Tobias Achterberg Conflict Analysis in Mixed Integer Programming.

Similar presentations


Presentation on theme: "Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) Tobias Achterberg Conflict Analysis in Mixed Integer Programming."— Presentation transcript:

1 Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) Tobias Achterberg achterberg@zib.de Conflict Analysis in Mixed Integer Programming

2 2 Main Idea  Problem is divided into smaller subproblems  branching tree  Some subproblems are infeasible  Analyzing the infeasibilities can yield information about the problem  Information can be used at other subproblems to prune the search tree

3 3 Example  a sub problem is infeasible x 1 = 1 x 2 = 0 x 3 = 0 c1:c1: x1x1 – x 2 – x 3  0 c2:c2: x1x1 + x 2 – x 3  1

4 4 Example  a sub problem is infeasible  conflict analysis yields feasible constraint, that cuts off other nodes in the tree x 1 = 1 x 2 = 0 x 3 = 0 c1:c1: x1x1 – x 2 – x 3  0 c2:c2: x1x1 + x 2 – x 3  1 c3:c3: x1x1  0

5 5 Outline  Conflict Analysis in SAT  Conflict Analysis in MIP  Computational Results

6 6 Outline  Conflict Analysis in SAT  Conflict Analysis in MIP  Computational Results

7 7  Boolean variables x 1,...,x n  {0,1}  Clauses  Task:  find assignment x *  {0,1} n that satisfies all clauses, or prove that no such assignment exists Satisfiability Problem (SAT) C1:C1: l 11 ...  l 1k 1... Cm:Cm:l n1 ...  l mk m with literals l ik = x j or l ik =  x j = 1 – x j

8 8 Binary Constraint Propagation  clause:

9 9 Binary Constraint Propagation  clause:  fixings:

10 10 Binary Constraint Propagation  clause:  fixings:  deduction:

11 11 Conflict Graph  decision variables  deduced variables  conflict

12 12 Conflict Graph  decision variables  deduced variables  conflict conflict detecting clause

13 13 Conflict Graph – Conflict Cuts  choose cut that separates decision variables from conflict vertex

14 14 Conflict Graph – Conflict Cuts reason sideconflict side  choose cut that separates decision variables from conflict vertex

15 15 Conflict Graph – Conflict Cuts reason sideconflict side  choose cut that separates decision variables from conflict vertex  conflict clause:

16 16 Conflict Graph – Trivial Cuts  -cut:  decision cut:

17 17 Conflict Graph – First-UIP  Unique Implication Point: lies on all paths from the last decision vertex to the conflict vertex

18 18 Conflict Graph – First-UIP  Unique Implication Point: lies on all paths from the last decision vertex to the conflict vertex  First UIP: the UIP closest to (except itself)

19 19 Conflict Graph – First-UIP Cut  Put all vertices fixed after First-UIP to the conflict side, remaining vertices to the reason side  First-UIP cut:

20 20 Conflict Analysis Algorithm (FUIP)  BCP detected a conflict

21 21 Conflict Analysis Algorithm (FUIP)  Initialize conflict queue with the variables involved in the conflict

22 22 Conflict Analysis Algorithm (FUIP)  Initialize conflict queue with the variables involved in the conflict

23 23 Conflict Analysis Algorithm (FUIP)  As long as there is more than one variable of the last depth level in the queue, resolve the last deduction

24 24 Conflict Analysis Algorithm (FUIP)  As long as there is more than one variable of the last depth level in the queue, resolve the last deduction

25 25 Conflict Analysis Algorithm (FUIP)  As long as there is more than one variable of the last depth level in the queue, resolve the last deduction

26 26 Conflict Analysis Algorithm (FUIP)  As long as there is more than one variable of the last depth level in the queue, resolve the last deduction

27 27 Conflict Analysis Algorithm (FUIP)  As long as there is more than one variable of the last depth level in the queue, resolve the last deduction

28 28 Conflict Analysis Algorithm (FUIP)  As long as there is more than one variable of the last depth level in the queue, resolve the last deduction

29 29 Conflict Analysis Algorithm (FUIP)  As long as there is more than one variable of the last depth level in the queue, resolve the last deduction

30 30 Conflict Analysis Algorithm (FUIP)  As long as there is more than one variable of the last depth level in the queue, resolve the last deduction

31 31 Conflict Analysis Algorithm (FUIP)  As long as there is more than one variable of the last depth level in the queue, resolve the last deduction

32 32 Conflict Analysis Algorithm (FUIP)  If there is only one variable of the last depth level left, stop

33 33 Conflict Analysis Algorithm (FUIP)  If there is only one variable of the last depth level left, stop  The remaining variables define the conflict set

34 34 Conflict Analysis Algorithm (FUIP)  The conflict clause consists of all (negated) assignments in the conflict set:

35 35 Outline  Conflict Analysis in SAT  deductions lead to conflict  conflict graph  cut in conflict graph  conflict clause  Conflict Analysis in MIP  Computational Results

36 36 Outline  Conflict Analysis in SAT  deductions lead to conflict  conflict graph  cut in conflict graph  conflict clause  Conflict Analysis in MIP  Computational Results

37 37  linear objective function c  linear constraints Ax  b  real or integer valued variables x Mixed Integer Program maxcTxcTx s.t. Ax  b x  R p  Z q

38 38 Two main differences to SAT:  non-binary variables  conflict graph: bound changes instead of fixings  conflict clause  conflict constraint Conflict Analysis for MIP

39 39 Two main differences to SAT:  non-binary variables  conflict graph: bound changes instead of fixings  conflict clause  conflict constraint Conflict Analysis for MIP technical issue

40 40 Two main differences to SAT:  non-binary variables  conflict graph: bound changes instead of fixings  conflict clause  conflict constraint  main reason for infeasibility: LP relaxation  conflict graph has no link from the decision and deduction vertices to the conflict vertex Conflict Analysis for MIP technical issue

41 41 Two main differences to SAT:  non-binary variables  conflict graph: bound changes instead of fixings  conflict clause  conflict constraint  main reason for infeasibility: LP relaxation  conflict graph has no link from the decision and deduction vertices to the conflict vertex Conflict Analysis for MIP technical issue analyze LP

42 42 Back to SAT: Conflict Graph  One clause detected the conflict  Only a few variables linked to the conflict vertex conflict detecting clause

43 43 Infeasible LP: Conflict Graph  The LP as a whole is responsible for the conflict  All local bound changes are linked to the conflict vertex

44 44 Infeasible LP: Conflict Graph  LP analysis selects some of these local bounds

45 45 Infeasible LP: Conflict Graph  LP analysis selects some of these bounds  cut yields conflict constraint

46 46 Conflict Analysis for infeasible LPs  if the LP relaxation is infeasible, the whole relaxation is involved in the conflict  all constraints  all global bounds  all local bounds  try to find a small subset of the local bounds that still leads to an infeasible LP relaxation  variant of minimal infeasible subsystem problem (see Amaldi, Pfetsch, Trotter)  heuristic: use dual ray to relax local bounds

47 47 Infeasible LP: Dual Ray Heuristic  LP relaxation: maxcTxcTx s.t. Ax  b 0  x    u local bounds

48 48 Infeasible LP: Dual Ray Heuristic  LP relaxation:  dual LP: maxcTxcTx s.t. Ax  b 0  x    u local bounds min b T y +  T r s.t. A T y + r  c y, r  0

49 49 Infeasible LP: Dual Ray Heuristic  LP relaxation:  dual LP:  dual ray: maxcTxcTx s.t. Ax  b 0  x    u local bounds min b T y +  T r s.t. A T y + r  c y, r  0 (y *, r * )  0, A T y * + r * = 0, b T y * +  T r * < 0

50 50 Infeasible LP: Dual Ray Heuristic  LP relaxation:  dual LP:  dual ray: maxcTxcTx s.t. Ax  b 0  x    u local bounds min b T y +  T r s.t. A T y + r  c y, r  0 (y *, r * )  0, A T y * + r * = 0, b T y * +  T r * < 0

51 51 Infeasible LP: Dual Ray Heuristic  LP relaxation:  dual LP:  dual ray:  relax bounds: maxcTxcTx s.t. Ax  b 0  x    u local bounds min b T y +  T r s.t. A T y + r  c y, r  0 (y *, r * )  0, A T y * + r * = 0, b T y * +  T r * < 0  i := u i, s.t. still b T y * +  T r * < 0

52 52 Outline  Conflict Analysis in SAT  deductions lead to conflict  conflict graph  cut in conflict graph  conflict clause  Conflict Analysis in MIP  deductions lead to infeasible LP  LP analysis links conflict vertex  cut in conflict graph  conflict constraint  Computational Results conflict graph

53 53 Outline  Conflict Analysis in SAT  deductions lead to conflict  conflict graph  cut in conflict graph  conflict clause  Conflict Analysis in MIP  deductions lead to infeasible LP  LP analysis links conflict vertex  cut in conflict graph  conflict constraint  Computational Results conflict graph

54 54 Computational Results MIPLIB/MittelCPLEX 9.03SCIPSCIP + ConfA Nodes412682963315441 Node Winner5517 Time202.0257.2297.8 Time Winner11126 Infeas. ALUCPLEX 9.03SCIPSCIP + ConfA Nodes32270011003312478 Node Winner4015 Time157.3143.159.3 Time Winner7012

55 55 Computational Results MIPLIB/MittelSCIPSCIP + ConfA Nodes2963315441 Node Winner522 Time257.2297.8 – Basic246.6193.7 – Switching6.211.5 – Conflict–40.7 Time Winner1711

56 56 Computational Results ALU Prop #1 NodesTime SCIP+ CASCIP+ CA 4 Bits931827.25.5 5 Bits239334.43.4 6 Bits371538848.45.7 7 Bits675554889.03.4 8 Bits243973136.43.2 9 Bits507516.24.6 10 Bits11412851291454.86.6

57 57 Computational Results ALU Prop #7 NodesTime SCIP+ CASCIP+ CA 4 Bits803333847.85.8 5 Bits622213538739.032.8 6 Bits280971142361160.4125.2 7 Bits646307191595375.4166.8 8 Bits20868293611961304.1336.6 9 Bits>52095652023471>3600.02171.4 10 Bits>3926913>2789887>3600.0

58 58 Computational Results (new) MIPLIB/MittelSCIPSCIP + ConfA Nodes3194921599 Node Winner819 Time291.5296.1 – Basic279.4234.8 – Switching7.013.9 – Conflict–8.2 Time Winner1513


Download ppt "Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) Tobias Achterberg Conflict Analysis in Mixed Integer Programming."

Similar presentations


Ads by Google