Conflict Analysis - PowerPoint PPT Presentation

About This Presentation
Title:

Conflict Analysis

Description:

choose cut that separates decision variables from conflict vertex. conflict clause: ... LP analysis links conflict vertex. cut in conflict graph conflict ... – PowerPoint PPT presentation

Number of Views:217
Avg rating:3.0/5.0
Slides: 69
Provided by: tobi52
Learn more at: https://www.scipopt.org
Category:

less

Transcript and Presenter's Notes

Title: Conflict Analysis


1
Conflict Analysis
  • SCIP Workshop at ZIB
  • October 2007

2
General 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
x1 1
x2 0
x3 0
  • a subproblem is infeasible

4
Example
x1 1
x2 0
x3 0
  • a subproblem is infeasible
  • conflict analysis yields feasible constraint,
    that cuts off other nodes in the tree

5
Outline
  • Conflict Analysis in SAT
  • Conflict Analysis in MIP
  • Implementation
  • Computational Results

6
Outline
  • Conflict Analysis in SAT
  • Conflict Analysis in MIP
  • Implementation
  • Computational Results

7
Satisfiability Problem (SAT)
  • Boolean variables x1,...,xn ? 0,1
  • Clauses
  • Task
  • find assignment x ? 0,1n that satisfies all
    clauses, or prove that no such assignment exists

with literals lik xj or lik ?xj 1 xj
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
conflict detecting clause
  • decision variables
  • deduced variables
  • conflict

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

14
Conflict Graph Conflict Cuts
reason side
conflict side
  • choose cut that separates decision variables from
    conflict vertex

15
Conflict Graph Conflict Cuts
reason side
conflict 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
  • Implementation
  • Computational Results

36
Outline
  • Conflict Analysis in SAT
  • deductions lead to conflict ? conflict graph
  • cut in conflict graph ? conflict clause
  • Conflict Analysis in MIP
  • Implementation
  • Computational Results

37
Mixed Integer Program
  • linear objective function c
  • linear constraints Ax ? b
  • real or integer valued variables x

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

39
Conflict Analysis for MIP
  • Two main differences to SAT
  • non-binary variables
  • conflict graph bound changes instead of fixings
  • conflict clause ? conflict constraint

technical issue
40
Conflict Analysis for MIP
  • 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

technical issue
41
Conflict Analysis for MIP
  • 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

technical issue
42
Back to SAT Conflict Graph
conflict detecting clause
  • One clause detected theconflict
  • Only a few variables linked to the conflict vertex

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

48
Infeasible LP Dual Ray Heuristic
  • LP relaxation
  • dual LP

local bounds
49
Infeasible LP Dual Ray Heuristic
  • LP relaxation
  • dual LP
  • dual ray

local bounds
50
Infeasible LP Dual Ray Heuristic
  • LP relaxation
  • dual LP
  • dual ray

local bounds
51
Infeasible LP Dual Ray Heuristic
  • LP relaxation
  • dual LP
  • dual ray
  • relax bounds

local bounds
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
  • Implementation
  • 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
  • Implementation
  • Computational Results

conflict graph
54
Implementation
  • Which pruned subproblems should be analyzed?
  • propagation conflicts yes
  • infeasible LP conflicts yes
  • bound-exceeding LP conflicts no
  • strong branching conflicts no
  • How many conflict constraints per conflict?
  • all FUIP constraints 1-FUIP, 2-FUIP, ...
  • How should conflict constraints be used?
  • only for propagation, not as cutting planes
  • How can useless conflict constraints be
    identified?
  • "easy" for SAT due to depth-first-search
  • open topic for best-first-search MIP, needs more
    ideas!
  • currently aging mechanism

55
How to Support Conflict Analysisin User Plugins
  • affected plugin types
  • constraint handlers (propagation)
  • propagator
  • special bound inference methods for propagation
  • SCIPinferVarLbCons(), SCIPinferVarUbCons()
  • SCIPinferVarLbProp(), SCIPinferVarUbProp()
  • provide constraint and one additional integer
    (inferinfo)
  • reverse propagation
  • must provide the reason for a bound deduction
  • can use the inferinfo to help finding the reason

56
Reverse Propagation
  • input constraint and tightened bound
  • deduced

57
Reverse Propagation
  • input constraint and tightened bound
  • deduced
  • output bounds that are reason for deduction
  • and

58
Reverse Propagation Examples
  • set covering constraints
  • only one type of propagation
  • reverse propagation easyall variables except
    the inferred variable are reason variables

59
Reverse Propagation Examples
  • set covering constraints
  • only one type of propagation
  • reverse propagation easyall variables except
    the inferred variable are reason variables
  • linear constraints
  • propagation of left and right hand side
  • inferinfo array position of inferred variable
    and lhs/rhs indicator
  • reverse propagationfind set of variables j ? k
    with bounds that trigger the deduction

60
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
  • Implementation
  • Computational Results

conflict graph
61
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
  • Implementation
  • Computational Results

conflict graph
62
Computational Results
  • Instances of MIPLIB 2003 and Mittelmann
  • that could be solved by one of the three in 1
    hour
  • for which one of the three needed at least 1000
    nodes

nodes -20 time -14
63
Computational Results
  • ALU instances up to 8 bits
  • for which one of the three needed at least 1000
    nodes
  • infeasible MIP instances

nodes -85 time -58
64
Computational Results
  • "Enlight" instances up to board size 10 ? 10
  • for which one of the three needed at least 1000
    nodes
  • 2 infeasible and 4 feasible MIP instances

nodes -78 time -59
65
Computational Results
  • instance "arki001" from MIPLIB 3.0 / MIPLIB 2003
  • first solved by Balas and Saxena (Dec 2005)
  • "Optimizing over the Split Closure"
  • 54 hours rank-1 split cut generation 11 hours
    CPLEX 9.0
  • Bob-tuned CPLEX
  • "using a lot of strong branching"
  • 628 hours, 103 million nodes
  • SCIP
  • using an insane amount of strong branching
  • full conflict analysis (bound-exceeding LPs and
    strong branchings)

66
Computational Results
67
Computational Results
68
Computational Results
  • instance roll3000" from MIPLIB 2003
  • SCIP
  • using an insane amount of strong branching
  • moderate conflict analysis
  • 3.2GHz Pentium-IV
  • Unfortunately...
  • XPressMP 2006B with tuned settings 1 hour (3 GHz
    Athlon-64)
  • Reported by Alkis Vazacopoulos (ISMP 2006)
  • As far as I understood lots of local cuts
Write a Comment
User Comments (0)
About PowerShow.com