Conflict Analysis in Mixed Integer Programming - PowerPoint PPT Presentation

About This Presentation
Title:

Conflict Analysis in Mixed Integer Programming

Description:

Conflict Analysis in Mixed Integer Programming General Idea Problem is divided into smaller subproblems branching tree Some subproblems are infeasible Analyzing the ... – PowerPoint PPT presentation

Number of Views:80
Avg rating:3.0/5.0
Slides: 64
Provided by: tobiasac
Category:

less

Transcript and Presenter's Notes

Title: Conflict Analysis in Mixed Integer Programming


1
Conflict Analysisin Mixed Integer Programming
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
c1 x1 x2 x3 ? 0
c2 x1 x2 x3 ? 1
x2 0
x3 0
  • a subproblem is infeasible

4
Example
x1 1
c1 x1 x2 x3 ? 0
c2 x1 x2 x3 ? 1
x2 0
c3 x1 x3 ? 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

C1 l11 ? ... ? l1k1
...
Cm ln1 ? ... ? lmkm
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
max cTx
s.t. Ax ? b
x ? Rp?Zq
  • 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

max cTx
s.t. Ax ? b
0 ? x ? ? ? u
48
Infeasible LP Dual Ray Heuristic
  • LP relaxation
  • dual LP

max cTx
s.t. Ax ? b
0 ? x ? ? ? u
local bounds
min bTy ?Tr
s.t. ATy r ? c
y, r ? 0
49
Infeasible LP Dual Ray Heuristic
  • LP relaxation
  • dual LP
  • dual ray

max cTx
s.t. Ax ? b
0 ? x ? ? ? u
local bounds
min bTy ?Tr
s.t. ATy r ? c
y, r ? 0
(y, r) ? 0, ATy r ? 0, bTy ?Tr lt 0
50
Infeasible LP Dual Ray Heuristic
  • LP relaxation
  • dual LP
  • dual ray

max cTx
s.t. Ax ? b
0 ? x ? ? ? u
local bounds
min bTy ?Tr
s.t. ATy r ? c
y, r ? 0
(y, r) ? 0, ATy r ? 0, bTy ?Tr lt 0
51
Infeasible LP Dual Ray Heuristic
  • LP relaxation
  • dual LP
  • dual ray
  • relax bounds

max cTx
s.t. Ax ? b
0 ? x ? ? ? u
local bounds
min bTy ?Tr
s.t. ATy r ? c
y, r ? 0
(y, r) ? 0, ATy r ? 0, bTy ?Tr lt 0
?i ui , s.t. still bTy ?Tr lt 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
  • 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
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
56
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
57
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

47 instances CPLEX 10.0 SCIP SCIP ConfA
Fails 5 3 3
Nodes 13 429 18 192 14 507
Node Winner (24) 14 (7) 27 (17)
Time 65.1 134.7 116.5
Time Winner (33) 16 (4) 25 (11)
nodes -20 time -14
58
Computational Results
  • ALU instances up to 8 bits
  • for which one of the three needed at least 1000
    nodes
  • infeasible MIP instances

21 instances CPLEX 10.0 SCIP SCIP ConfA
Fails 0 1 1
Nodes 35 657 6 272 910
Node Winner (7) 0 (3) 16 (14)
Time 23.4 29.9 12.7
Time Winner (12) 1 (4) 16 (9)
nodes -85 time -58
59
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

6 instances CPLEX 10.0 SCIP SCIP ConfA
Fails 1 0 0
Nodes 50 176 70 216 15 774
Node Winner 0 0 6
Time 22.2 32.3 13.1
Time Winner (4) 0 (0) 5 (2)
nodes -78 time -59
60
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)

SCIP ConfA
1 857 512
5.2 hours
SCIP
Nodes 5 054 427
Time 11.4 hours
61
Computational Results
62
Computational Results
63
Computational Results
  • instance roll3000" from MIPLIB 2003
  • SCIP
  • using an insane amount of strong branching
  • moderate conflict analysis
  • 3.2GHz Pentium-IV

SCIP SCIP ConfA
Nodes 9 104 084 4 139 860
Time 20.0 hours 10.3 hours
  • Unfortunately...
  • XPressMP 2006B with tuned settings 1 hour (3 GHz
    Athlon-64)
  • Reported yesterday by Alkis Vazacopoulos
  • As far as I understood lots of local cuts
Write a Comment
User Comments (0)
About PowerShow.com