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

Slides:



Advertisements
Similar presentations
Integer Optimization Basic Concepts Integer Linear Program(ILP): A linear program except that some or all of the decision variables must have integer.
Advertisements

Branch and Bound See Beale paper. Example: Maximize z=x1+x2 x2 x1.
ECE Longest Path dual 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality – Longest.
1 Chapter 11 Here we see cases where the basic LP model can not be used.
DMOR Branch and bound. Integer programming Modelling logical constraints and making them linear: – Conjuction – Disjunction – Implication – Logical constraints.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View SAT.
1/30 SAT Solver Changki PSWLAB SAT Solver Daniel Kroening, Ofer Strichman.
EE 553 Integer Programming
Abstract Answer Set Solver. Todolist Print the rules of Fig 1.
Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) Tobias Achterberg Conflict Analysis SCIP Workshop at ZIB October 2007.
Lecture 10: Integer Programming & Branch-and-Bound
Progress in Linear Programming Based Branch-and-Bound Algorithms
Integer Programming and Branch and Bound Brian C. Williams November 15 th, 17 th, 2004 Adapted from slides by Eric Feron, , 2002.
Nikolaj Bjørner Microsoft Research Lecture 3. DayTopicsLab 1Overview of SMT and applications. SAT solving, Z3 Encoding combinatorial problems with Z3.
1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.
Presented by Ed Clarke Slides borrowed from P. Chauhan and C. Bartzis
Computational Methods for Management and Economics Carla Gomes
Constraint Satisfaction Problems
GRASP-an efficient SAT solver Pankaj Chauhan. 6/19/ : GRASP and Chaff2 What is SAT? Given a propositional formula in CNF, find an assignment.
GRASP SAT solver Presented by Constantinos Bartzis Slides borrowed from Pankaj Chauhan J. Marques-Silva and K. Sakallah.
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
Integer Programming Difference from linear programming –Variables x i must take on integral values, not real values Lots of interesting problems can be.
Branch and Bound Algorithm for Solving Integer Linear Programming
Chapter 5 Outline Formal definition of CSP CSP Examples
Linear Programming and Parameterized Algorithms. Linear Programming n real-valued variables, x 1, x 2, …, x n. Linear objective function. Linear (in)equality.
SAT Solving Presented by Avi Yadgar. The SAT Problem Given a Boolean formula, look for assignment A for such that.  A is a solution for. A partial assignment.
LP formulation of Economic Dispatch
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
Integer programming Branch & bound algorithm ( B&B )
Decision Procedures An Algorithmic Point of View
1 Decision Procedures for Linear Arithmetic Presented By Omer Katz 01/04/14 Based on slides by Ofer Strichman.
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 TexPoint fonts used in EMF. Read the TexPoint manual before you.
MILP algorithms: branch-and-bound and branch-and-cut
Tobias Achterberg Konrad-Zuse-Zentrum für Informationstechnik Berlin Branching SCIP Workshop at ZIB October 2007.
WOOD 492 MODELLING FOR DECISION SUPPORT
Chap 10. Integer Prog. Formulations
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
1 Outline:  Optimization of Timed Systems  TA-Modeling of Scheduling Tasks  Transformation of TA into Mixed-Integer Programs  Tree Search for TA using.
Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade.
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
Divide and Conquer Optimization problem: z = max{cx : x  S}
Integer LP In-class Prob
Branch and Bound Algorithms Present by Tina Yang Qianmei Feng.
Chapter 2. Optimal Trees and Paths Combinatorial Optimization
CSE 6311 – Spring 2009 ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS Lecture Notes – March 12, 2009 ILP – Integer Linear Programming Approximate algorithm.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Common Intersection of Half-Planes in R 2 2 PROBLEM (Common Intersection of half- planes in R 2 ) Given n half-planes H 1, H 2,..., H n in R 2 compute.
Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) Tobias Achterberg Conflict Analysis in Mixed Integer Programming.
Honors Track: Competitive Programming & Problem Solving Seminar Topics Kevin Verbeek.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Discrete Optimization MA2827 Fondements de l’optimisation discrète Material from P. Van Hentenryck’s course.
1 1 Slide Graphical solution A Graphical Solution Procedure (LPs with 2 decision variables can be solved/viewed this way.) 1. Plot each constraint as an.
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
Lecture 11: Tree Search © J. Christopher Beck 2008.
The CPLEX Library: Mixed Integer Programming
6.5 Stochastic Prog. and Benders’ decomposition
Algebra: Equations and Inequalities
MIP Tools Branch and Cut with Callbacks Lazy Constraint Callback
Integer Programming (정수계획법)
Integer Linear Programming
Chapter 5: General search strategies: Look-ahead
6.5 Stochastic Prog. and Benders’ decomposition
Graphical solution A Graphical Solution Procedure (LPs with 2 decision variables can be solved/viewed this way.) 1. Plot each constraint as an equation.
Branch-and-Bound Algorithm for Integer Program
GRASP-an efficient SAT solver
1.2 Guidelines for strong formulations
Discrete Optimization
Presentation transcript:

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

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 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 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 Outline  Conflict Analysis in SAT  Conflict Analysis in MIP  Computational Results

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

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 Binary Constraint Propagation  clause:

9 Binary Constraint Propagation  clause:  fixings:

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

11 Conflict Graph  decision variables  deduced variables  conflict

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

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

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

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

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

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

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 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 Conflict Analysis Algorithm (FUIP)  BCP detected a conflict

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

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

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 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 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 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 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 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 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 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 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 Conflict Analysis Algorithm (FUIP)  If there is only one variable of the last depth level left, stop

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 Conflict Analysis Algorithm (FUIP)  The conflict clause consists of all (negated) assignments in the conflict set:

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 Outline  Conflict Analysis in SAT  deductions lead to conflict  conflict graph  cut in conflict graph  conflict clause  Conflict Analysis in MIP  Computational Results

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 Two main differences to SAT:  non-binary variables  conflict graph: bound changes instead of fixings  conflict clause  conflict constraint Conflict Analysis for MIP

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 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 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 Back to SAT: Conflict Graph  One clause detected the conflict  Only a few variables linked to the conflict vertex conflict detecting clause

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 Infeasible LP: Conflict Graph  LP analysis selects some of these local bounds

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

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 Infeasible LP: Dual Ray Heuristic  LP relaxation: maxcTxcTx s.t. Ax  b 0  x    u local bounds

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 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 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 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 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 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 Computational Results MIPLIB/MittelCPLEX 9.03SCIPSCIP + ConfA Nodes Node Winner5517 Time Time Winner11126 Infeas. ALUCPLEX 9.03SCIPSCIP + ConfA Nodes Node Winner4015 Time Time Winner7012

55 Computational Results MIPLIB/MittelSCIPSCIP + ConfA Nodes Node Winner522 Time – Basic – Switching – Conflict–40.7 Time Winner1711

56 Computational Results ALU Prop #1 NodesTime SCIP+ CASCIP+ CA 4 Bits Bits Bits Bits Bits Bits Bits

57 Computational Results ALU Prop #7 NodesTime SCIP+ CASCIP+ CA 4 Bits Bits Bits Bits Bits Bits> > Bits> > >3600.0

58 Computational Results (new) MIPLIB/MittelSCIPSCIP + ConfA Nodes Node Winner819 Time – Basic – Switching – Conflict–8.2 Time Winner1513