Conflict Analysis in Mixed Integer Programming

Preview:

DESCRIPTION

Conflict Analysis in Mixed Integer Programming. 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. - PowerPoint PPT Presentation

Citation preview

achterberg@zib.deTobias Achterberg

Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB)

Conflict Analysisin 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

x1 = 1

x2 = 0

x3 = 0

c1: x1 – x2 – x3 0

c2: x1 + x2

– x3 1

4

Example

a sub problem is infeasible

conflict analysis yields feasible constraint, that cuts off other nodes in the tree

x1 = 1

x2 = 0

x3 = 0

c1: x1 – x2 – x3 0

c2: x1 + x2

– x3 1

c3: x1 – x3 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 x1,...,xn {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: l11 ... l1k1

...

Cm: ln1 ... lmkm

with literalslik = xj or lik =xj = 1 – xj

8

Binary Constraint Propagation

clause: 6 7 9 10x x x x

9

Binary Constraint Propagation

clause:

fixings:

6x

7x

9x

6 7 9 10x x x x

6 7 90, 1, 0x x x

10

Binary Constraint Propagation

clause:

fixings:

deduction:

6x

7x

9x

10x

6 7 9 10x x x x

6 7 90, 1, 0x x x

6 7 9 10x x x x

11

Conflict Graph

decision variables

deduced variables

conflict

1x

2x

3x

6x

5x

4x

7x

8x

9x

10x

11x

12x

13x

14x

15x

6 7 9 10x x x x

12

Conflict Graph

decision variables

deduced variables

conflict

1x

2x

3x

6x

5x

4x

7x

8x

9x

10x

11x

12x

13x

14x

15x

13 14 15x x x conflict detecting clause

13

Conflict Graph – Conflict Cuts

choose cut that separates decision variables from conflict vertex

1x

2x

3x

6x

5x

4x

7x

8x

9x

10x

11x

12x

13x

14x

15x

14

Conflict Graph – Conflict Cuts

1x

2x

3x

6x

5x

4x

7x

8x

9x

10x

11x

12x

13x

14x

15x

reason side conflict side

choose cut that separates decision variables from conflict vertex

15

Conflict Graph – Conflict Cuts

1x

2x

3x

6x

5x

4x

7x

8x

9x

10x

11x

12x

13x

14x

15x

reason side conflict side

choose cut that separates decision variables from conflict vertex

conflict clause: 6 7 8 12x x x x

16

Conflict Graph – Trivial Cuts

-cut:

decision cut:

1x

2x

3x

6x

5x

4x

7x

8x

9x

10x

11x

12x

13x

14x

15x

13 14 15x x x

1 4 6 8x x x x

17

Conflict Graph – First-UIP

Unique Implication Point: lies on all paths from the last decision vertex to the conflict vertex

1x

2x

3x

6x

5x

4x

7x

8x

9x

10x

11x

12x

13x

14x

15x

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)

1x

2x

3x

6x

5x

4x

7x

8x

9x

10x

11x

12x

13x

14x

15x

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:

1x

2x

3x

6x

5x

4x

7x

8x

9x

10x

11x

12x

13x

14x

15x

3 11x x

20

Conflict Analysis Algorithm (FUIP)

BCP detected a conflict

21

Conflict Analysis Algorithm (FUIP)

Initialize conflict queue with the variables involved in the conflict

13x

14x

15x

13 14 15x x x

22

Conflict Analysis Algorithm (FUIP)

Initialize conflict queue with the variables involved in the conflict

13x

14x

15x

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

13x

14x

15x

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

12x

13x

14x

15x

12 15x x

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

12x

13x

14x

15x

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

11x

12x

13x

14x

15x

11 14x x

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

11x

12x

13x

14x

15x

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

11x

12x

13x

14x

15x

11 14x x

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

11x

12x

13x

14x

15x

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

3x

11x

12x

13x

14x

15x

3 11 12x x x

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

3x

11x

12x

13x

14x

15x

32

Conflict Analysis Algorithm (FUIP)

If there is only one variable of the last depth level left, stop

3x

11x

12x

13x

14x

15x

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

3x

11x

12x

13x

14x

15x

34

Conflict Analysis Algorithm (FUIP)

The conflict clause consists of all (negated) assignments in the conflict set:

1x

2x

3x

6x

5x

4x

7x

8x

9x

10x

11x

12x

13x

14x

15x

113xx

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

max

cTx

s.t. Ax b

x RpZq

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 theconflict

Only a few variables linked to the conflict vertex

1x

2x

3x

6x

5x

4x

7x

8x

9x

10x

11x

12x

13x

14x

15x

13 14 15x x x 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

1x

2x

3x

6x

5x

4 5x

7 3x

8x

9x

10x

11 4x

12x

13x

14x

15x

44

Infeasible LP: Conflict Graph

LP analysis selects some of these local bounds

1x

2x

3x

6x

5x

4 5x

7 3x

8x

9x

10x

11 4x

12x

13x

14x

15x

45

Infeasible LP: Conflict Graph

LP analysis selects some of these bounds

cut yields conflict constraint

1x

2x

3x

6x

5x

4 5x

7 3x

8x

9x

10x

11 4x

12x

13x

14x

15x

3 5 11( 1) ( 1) ( 3)x x x

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

local bounds

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* < 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* < 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* < 0

i := ui , s.t. still bTy* + Tr* <

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/Mittel

CPLEX 9.03 SCIP SCIP + ConfA

Nodes 41268 29633 15441

Node Winner

5 5 17

Time 202.0 257.2 297.8

Time Winner

11 12 6Infeas. ALU CPLEX 9.03 SCIP SCIP + ConfA

Nodes 322700 110033 12478

Node Winner

4 0 15

Time 157.3 143.1 59.3

Time Winner

7 0 12

55

Computational Results

MIPLIB/Mittel

SCIP SCIP + ConfA

Nodes 29633 15441

Node Winner

5 22

Time 257.2 297.8

– Basic 246.6 193.7

– Switching 6.2 11.5

– Conflict – 40.7

Time Winner

17 11

56

Computational Results

ALU Prop #1

Nodes Time

SCIP + CA SCIP + CA

4 Bits 931 82 7.2 5.5

5 Bits 239 33 4.4 3.4

6 Bits 37153 88 48.4 5.7

7 Bits 67555 48 89.0 3.4

8 Bits 24397 31 36.4 3.2

9 Bits 507 51 6.2 4.6

10 Bits 1141285

129 1454.8 6.6

57

Computational Results

ALU Prop #7

Nodes Time

SCIP + CA SCIP + CA

4 Bits 8033 3384 7.8 5.8

5 Bits 62221 35387 39.0 32.8

6 Bits 280971 142361 160.4 125.2

7 Bits 646307 191595 375.4 166.8

8 Bits 2086829 361196 1304.1 336.6

9 Bits >5209565

2023471 >3600.0

2171.4

10 Bits >3926913

>2789887

>3600.0

>3600.0

58

Computational Results (new)

MIPLIB/Mittel

SCIP SCIP + ConfA

Nodes 31949 21599

Node Winner

8 19

Time 291.5 296.1

– Basic 279.4 234.8

– Switching 7.0 13.9

– Conflict – 8.2

Time Winner

15 13

Recommended