Lessons from MIP Search. John Hooker Carnegie Mellon University November 2009

Size: px
Start display at page:

Download "Lessons from MIP Search. John Hooker Carnegie Mellon University November 2009"

Transcription

1 Lessons from MIP Search John Hooker Carnegie Mellon University November 2009

2 Outline MIP search The main ideas Duality and nogoods From MIP to AI (and back) Binary decision diagrams From MIP to constraint programming Banff workshop. Slide 2

3 Background reading MIP search General Survey J. T. Linderoth and M. W. P. Savelsbergh, A computational study of search strategies for mied integer programming, INFORMS Journal on Computing 11 (1999) Survey of Cutting Planes H. Marchand, A. Martin, R. Weismantel, and L. Wolsey. Cutting planes in integer and mied integer programming. Discrete Applied Mathematics, 123 (2002) Some Recent Developments M. Fischetti, F. Glover, A. Lodi, The feasibility pump, Mathematical Programming 104 (2005) M. Fischetti and A. Lodi, Repairing MIP infeasibility through local branching, Computers and Operations Research 35 (2008) , T. Sandholm, R. Shields, Nogood learning for mied integer programming, CMU, November 2006 Banff workshop. Slide (#)

4 Background reading BDDs Basic Ideas H. R. Andersen, T. Hadzic, J. N. Hooker, and P. Tiedemann, A constraint store based on multivalued decision diagrams, in C. Bessiere, ed., CP 2007, Refinements Tarik Hadzic and J. N. Hooker, Cost-bounded binary decision diagrams for 0-1 programming, in E. Loute and L. Wolsey, eds., CPAIOR 2007, T. Hadzic, J. N. Hooker, and P. Tiedemann, Approimate compilation of constraints into multivalued decision diagrams, in P. J. Stuckey, ed., CP 2007, Banff workshop. Slide (#)

5 MIP search MIP and the LP relaation Branch and bound Variable selection Node selection Feasibility heuristics Banff workshop. Slide 5

6 Mied integer programming We focus on mied integer/linear programming (MILP) min c A b, 0 Z, j J j integers Banff workshop. Slide 6

7 LP relaation An advantage of MIP: ready-made global relaation Linear programming (LP) problem min A j c b, 0 R, all j Drop integrality condition Banff workshop. Slide 7

8 LP relaation An advantage of MIP: ready-made global relaation Linear programming (LP) problem min c A b, 0 j R, all j Cutting planes can strengthen the relaation Drop integrality condition Banff workshop. Slide 8

9 LP relaation An advantage of MIP: ready-made global relaation Linear programming (LP) problem min A j c b, 0 R, all j Feasible set of LP relaation Banff workshop. Slide 9

10 LP relaation An advantage of MIP: ready-made global relaation Linear programming (LP) problem min A j c b, 0 R, all j Feasible set of MIP Banff workshop. Slide 10

11 LP relaation An advantage of MIP: ready-made global relaation Linear programming (LP) problem min c A b, 0 j R, all j Simple method finds a verte solution of the LP relaation Banff workshop. Slide 11

12 Branch and bound Used for 50 years Land and Doig Creates search tree by branching on variables Solves continuous relaation (LP) at each node Basic search framework for all general-purpose MIP codes Branch and cut adds cutting planes at some nodes. Banff workshop. Slide 12

13 Branch and bound - illustration Root node = (2, 3.5, 4.6) LB = 160 Remember: we are minimizing Initially, there is one open node (the original problem)

14 Branch and bound - illustration Root node = (2, 3.5, 4.6) LB = 160 Remember: we are minimizing Initially, there is one open node (the original problem) Optimal value of LP relaation is lower bound on optimal value of original problem

15 Branch and bound - illustration Because solution is fractional, branch on a fractional variable Root node = (2, 3.5, 4.6) LB = Remember: we are minimizing

16 Branch and bound - illustration Because solution is fractional, branch on a fractional variable Root node = (2, 3.5, 4.6) LB = Close after branching Two new open nodes

17 Branch and bound - illustration Root node = (2, 3.5, 4.6) LB = 160 Remember: we are minimizing Integer solution = (2, 3, 4) UB = 170 Select open node and solve LP

18 Branch and bound - illustration Root node = (2, 3.5, 4.6) LB = 160 Remember: we are minimizing Integer solution = (2, 3, 4) UB = 170 Select open node and solve LP Close node, because solution is integer

19 Branch and bound - illustration Root node = (2, 3.5, 4.6) LB = 160 Remember: we are minimizing Integer solution = (2, 3, 4) UB = 170 Select open node Close node, and solve LP because solution is integer Objective function value is upper bound on optimal value

20 Branch and bound - illustration Root node = (2, 3.5, 4.6) LB = 160 Remember: we are minimizing Integer solution = (2, 3, 4) UB = 170 = (2.3, 4, 4.7) LB = 165 Incumbent solution Select open node and solve LP

21 Branch and bound - illustration Root node = (2, 3.5, 4.6) LB = 160 Remember: we are minimizing Incumbent solution Integer solution = (2, 3, 4) UB = 170 = (2.3, 4, 4.7) LB = 165 Must branch again

22 Branch and bound - illustration Root node = (2, 3.5, 4.6) LB = 160 Remember: we are minimizing Incumbent solution Integer solution = (2, 3, 4) UB = 170 = (2.3, 4, 4.7) LB = Select open node = (2, 4.1, 4.7) LB = 171

23 Branch and bound - illustration Root node = (2, 3.5, 4.6) LB = 160 Remember: we are minimizing Incumbent solution Integer solution = (2, 3, 4) UB = 170 = (2.3, 4, 4.7) LB = 165 Close node, because relaation value is no better than incumbent = (2, 4.1, 4.7) LB = 171

24 Branch and bound - illustration Root node = (2, 3.5, 4.6) LB = 160 Remember: we are minimizing Incumbent solution Integer solution = (2, 3, 4) UB = 170 = (2.3, 4, 4.7) LB = 165 Select open node = (2, 4.1, 4.7) LB = 171 Integer solution = (3, 4, 5) LB = UB = 169

25 Branch and bound - illustration Root node = (2, 3.5, 4.6) LB = 160 Remember: we are minimizing Incumbent solution Integer solution = (2, 3, 4) UB = 170 = (2.3, 4, 4.7) LB = Integer solution is better than incumbent, becomes new incumbent = (2, 4.1, 4.7) LB = 171 Integer solution = (3, 4, 5) LB = UB = 169

26 Branch and bound - illustration Root node = (2, 3.5, 4.6) LB = 160 Remember: we are minimizing Integer solution = (2, 3, 4) UB = 170 = (2.3, 4, 4.7) LB = 165 No remaining open nodes. Incumbent is optimal = (2, 4.1, 4.7) LB = 171 Integer solution = (3, 4, 5) LB = UB = 169

27 Branch and bound procedure Let original problem be an open node Let UB = While open nodes remain Select an open node N and solve its continuous relaation R Let LB = value of R and close N If solution of R is integer then If LB < UB then let UB = LB Else if LB < UB then Branch on fractional variable and create 2 new open nodes Banff workshop. Slide 27

28 Why it works Luck Most variables tend to be integer in solution of relaation. Banff workshop. Slide 28

29 Why it works Luck Most variables tend to be integer in solution of relaation. Global continuous relaation Cutting planes, good formulations Banff workshop. Slide 29

30 Why it works Luck Most variables tend to be integer in solution of relaation. Global continuous relaation Cutting planes, good formulations Presolve Bag of tricks to simplify problem Banff workshop. Slide 30

31 Why it works Luck Most variables tend to be integer in solution of relaation. Global continuous relaation Cutting planes, good formulations Presolve Bag of tricks to simplify problem Feasibility heuristics Find feasible solutions before branching Banff workshop. Slide 31

32 Why it works Luck Most variables tend to be integer in solution of relaation. Global continuous relaation Cutting planes, good formulations Presolve Bag of tricks to simplify problem Feasibility heuristics Find feasible solutions before branching Good engineering 50 years of eperience Banff workshop. Slide 32

33 Basic issues Variable selection Branch on which variable at current node? Node selection Process which node net? Feasibility heuristics How to find integer solutions early? to get good upper bounds Banff workshop. Slide 33

34 Variable selection Goal is to tighten lower bound after branching We don t know how to increase probability of finding integer solutions. Pseudocosts Estimate change in objective function after branching Strong branching Put bound on change in objective function after branching Banff workshop. Slide 34

35 Pseudocosts Pseudocost = rate of increase of LP lower bound when fractional variable j is rounded up or down Current LP bound j = LB j f LB j + LB + j j 1 f j = LB Fractional part of j Banff workshop. Slide 35

36 Pseudocosts Pseudocost = rate of increase of LP lower bound when fractional variable j is rounded up or down Bound after branching down Current LP bound Bound after branching up j = LB j f LB j + LB + j j 1 f j = LB Fractional part of j Banff workshop. Slide 36

37 Pseudocosts Using pseudocosts One method: branch on variable j with largest + j f j + j f j (1 ) j = LB j f LB j + LB + j j 1 f j = LB Banff workshop. Slide 37

38 Pseudocosts Computing pseudocosts at root node + One method: Eplicitly compute LB for fractional j, LBj variables by solving 2 LPs. Perhaps with limited number of simple iterations. j = LB j f LB j + + j j 1 f j = LB LB Banff workshop. Slide 38

39 Pseudocosts Computing pseudocosts lower in the tree For variables not yet branched on or evaluated: + Eplicitly compute LBj, LBj For variables previously branched on:, + Use average of values obtained after previous j j branches. j = LB j f LB j + LB + j j 1 f j = LB Banff workshop. Slide 39

40 Strong branching We need the concept of LP duality Will eplain origin of dual later ma ua u i ub c, u 0 R, all i min c A j b, 0 R, all j Dual problem Primal problem Banff workshop. Slide 40

41 LP dual ma ua u i Dual ub c, u 0 R, all i min c A j Primal b, 0 R, all j Objective function value Dual feasible solutions Primal feasible solutions Weak duality Banff workshop. Slide 41

42 LP dual ma ua u i Dual ub c, u 0 R, all i min c A j Primal b, 0 R, all j Objective function value When primal and dual feasible solutions have the same value, both are optimal Banff workshop. Slide 42 Strong duality

43 LP dual ma ua u i Dual ub c, u 0 R, all i min c A j Primal b, 0 R, all j Objective function value Simple method maintains primal feasibility and strives for dual feasibility Banff workshop. Slide 43

44 LP dual ma ua u i Dual ub c, u 0 R, all i min c A j Primal b, 0 R, all j Objective function value Dual simple method maintains dual feasibility and strives for primal feasibility Simple method maintains primal feasibility and strives for dual feasibility Banff workshop. Slide 44

45 Dual simple Dual simple is used to reoptimize after adding a constraint such as new bound on variable after branching. Solution remains dual feasible after adding constraint. Because this adds a variable in the dual. Dual simple restores primal feasibility. Premature termination of dual simple provides lower bound on optimal value. Due to weak duality. Banff workshop. Slide 45

46 Strong branching For fractional variables j : Compute lower bounds j j on increase in LP value after branching down or up. Branch on j with largest L, L + j j Obtain by running a few iterations of dual simple. Perhaps only one. L, L + L + L + j j To save time, evaluate only a few fractional variables. Banff workshop. Slide 46

47 Node selection Select which of the open nodes to process. Goal is to find good feasible solution, or prove that there is no solution better than incumbent. In either case, it is reasonable to look at quality of LP bounds. Two common methods: Depth first Best bound Banff workshop. Slide 47

48 Depth first Advantages: Easy to implement. Fast reoptimization of LP. Minimal memory requirements. Disadvantages: Blind to what is going on. Must search entire subtree before moving to a more promising subtree. Tends to eplode in hard problems. Banff workshop. Slide 48

49 Best bound Select open node with best LP value. For a given branching rule, this minimizes number of nodes processed. Banff workshop. Slide 49

50 Best bound LB = 10 Complete search tree for a given variable selection strategy LB = 13 LB = 11 LB = 24 LB = 15 LB = 22 LB = 12 LB = 20 LB = 16 LB = 18 LB = 14 Banff workshop. Slide 50

51 Best bound LB = 10 Complete search tree for a given variable selection strategy LB = 13 LB = 11 LB = 24 LB = 15 LB = 22 LB = 12 LB = 20 LB = 16 LB = 18 LB = 14 Banff workshop. Slide 51 Leaf nodes represent integer solutions

52 Best bound Black = open node LB = 10 Select open node with best bound. LB = 13 LB = 11 LB = 24 LB = 15 LB = 22 LB = 12 LB = 20 LB = 16 LB = 18 LB = 14 Banff workshop. Slide 52 Leaf nodes represent integer solutions

53 Best bound LB = 10 Select node with best bound. We are in the right subtree. LB = 13 LB = 11 LB = 24 LB = 15 LB = 22 LB = 12 LB = 20 LB = 16 LB = 18 LB = 14 Optimal solution Banff workshop. Slide 53

54 Best bound LB = 10 Select node with best bound. We are still in the right subtree. LB = 13 LB = 11 LB = 24 LB = 15 LB = 22 LB = 12 LB = 20 LB = 16 LB = 18 LB = 14 Optimal solution Banff workshop. Slide 54

55 Best bound LB = 10 Wrong subtree, but we would have to select this node in any method LB = 13 LB = 11 LB = 24 LB = 15 LB = 22 LB = 12 LB = 20 LB = 16 LB = 18 LB = 14 Optimal solution Banff workshop. Slide 55

56 Best bound LB = 10 Net choice is optimal solution. LB = 13 LB = 11 LB = 24 LB = 15 LB = 22 LB = 12 LB = 20 LB = 16 LB = 18 LB = 14 Optimal solution Banff workshop. Slide 56

57 Best bound LB = 10 Net choice is optimal solution. LB = 13 LB = 11 No need to consider other open nodes. LB = 24 LB = 15 LB = 22 LB = 12 LB = 20 LB = 16 LB = 18 LB = 14 Optimal solution Banff workshop. Slide 57

58 Feasibility heuristics We wish find good integer solutions as early as possible. To get useful upper bounds. Two approaches (among others): Local branching. Feasibility pump. Banff workshop. Slide 58

59 Local branching Must begin with known integer solution Two level branching procedure Strategic branches define neighborhoods of known integer solutions. Low-level branching searches each neighborhood using MIP Banff workshop. Slide 59

60 Local branching Assume integer variables are binary. + (1 ) k j j: v = 0 j: v = 1 j j j Current node + (1 ) > k j j: v = 0 j: v = 1 j j j Solutions within k-neighborhood of known integer solution v Strategic branch Other solutions Banff workshop. Slide 60

61 Local branching Assume integer variables are binary. + (1 ) k j j: v = 0 j: v = 1 j j j Current node + (1 ) > k j j: v = 0 j: v = 1 j j j Solutions within k-neighborhood of known integer solution v Strategic branch Other solutions Solve this MIP to optimality. Perhaps obtain better integer solutions. Banff workshop. Slide 61

62 Local branching Assume integer variables are binary. + (1 ) k j j: v = 0 j: v = 1 j j j Current node + (1 ) > k j j: v = 0 j: v = 1 j j j Solutions within k-neighborhood of known integer solution v Strategic branch Other solutions Solve this MIP to optimality. Perhaps obtain better integer solutions. Repeat process with another integer solution v Banff workshop. Slide 62

63 Feasibility pump Can find initial integer solution Alternate between integrality and linear feasibility Solve LP Round to integer Find closest LP solution Banff workshop. Slide 63

64 Feasibility pump Solve LP relaation Banff workshop. Slide 64

65 Feasibility pump Round to nearest integer Banff workshop. Slide 65

66 Feasibility pump Round to nearest integer Banff workshop. Slide 66

67 Feasibility pump Find closest LP-feasible point using L 1 norm Banff workshop. Slide 67

68 Feasibility pump Find closest LP-feasible point using L 1 norm Banff workshop. Slide 68 This problem is itself an LP

69 Feasibility pump Round to nearest integer Banff workshop. Slide 69

70 Feasibility pump Round to nearest integer Procedure terminates Banff workshop. Slide 70

71 Feasibility pump Round to nearest integer Use random perturbations to break out of loops Procedure terminates Banff workshop. Slide 71

72 Duality and Nogoods Inference duality Nogood-based search Eample: SAT Eample: MIP Banff workshop. Slide 72

73 Inference duality Duality in optimization is closely related to nogood-based search in AI. Nogood = set of solutions to avoid in the rest of the search. All optimization duals are inference duals LP, Lagrangean, surrogate, subadditive, etc. Solution of inference dual is proof of optimality Dual solution provides nogoods Including Benders cuts, conflict clauses for SAT Nogood = conditions under which proof is still valid Slide 73

74 Inference duality Primal min f ( ) S Feasible set ma v P S v f ( ) P Dual P Family of proofs (inference method) Follows using proof P Dual is defined relative to an inference method. Strong duality applies if inference method is complete. Slide 74

75 Eample: LP dual Primal min c A b 0 ma Dual v A b P c v 0 P P = ma λb λa c λ 0 Nonnegative linear combination + domination 0 λa λb dominates c v A b c v iff for some λ 0 λa c and λb v Slide 75 Inference method is complete (assuming feasibility) due to Farkas Lemma. So we have strong duality (assuming feasibility).

76 Duals for MIP Lagrangean dual Inference = same as LP Inference method incomplete duality gap Surrogate dual Inference = same as LP, ecept domination is weaker Therefore smaller duality gap than Lagrangean dual Subadditive dual Inference = subadditive, homogeneous function + domination Inference method complete (cf. Gomory s method) no gap Slide 76

77 Nogood-based search All search is nogood-based search Each solution eamined generates a nogood. Net solution must satisfy current nogood set. Nogoods are derived by solving inference dual of the subproblem. Subproblem is normally defined by fiing variables to current values in the search. Slide 77

78 Eample: Logic-based Benders Partition variables,y and search over values of Subproblem results from fiing min f (, y ) min f (, y ) (, y ) S (, y ) S Let proof P be solution of subproblem dual for = Let B(P,) be lower bound obtained by P for given. Add Benders cut v B(P,) to master problem: Solve master problem for net min v Benders cuts Slide 78

79 Eample: Logic-based Benders Master and subproblem may be solved by different techniques MIP for master problem CP for subproblem Benders cuts are problem-specific Based on type of inference in dual Some applications Planning & scheduling (e.g., assembly lines) Computer processor allocation and scheduling Chemical batch sizing and scheduling Sports scheduling Location/allocation Slide 79

80 Eample: Classical Benders Partition variables,y and search over values of min f ( ) + cy g( ) + Ay b D, 0 y Subproblem results from fiing k min f ( ) + cy k Ay b g( ) y 0 ( λ) Let proof λ be solution of subproblem dual for Let B(λ,) = f() + λ(b g()) be bound obtained by λ for given. Add Benders cut v B(λ,) to master problem: Solve master problem for net = min v Benders cuts Slide 80

81 Eample: SAT Solve SAT by chronological backtracking + unit clause rule = DPL. Chronological = fied branching order. To get nogood, solve subproblem at current node. Solve with unit clause rule Nogood identifies branches that create infeasibility. Simplest scheme: nogood rules out path to current leaf node. Process nogood set with parallel resolution Nogood set is a relaation of the problem. Solve relaation without branching Select solution with preference for 0 Slide 81

82 DPL with chronological backtracking 1 = 0 2 = 0 3 = 0 5 = 0 4 = 0 Branch to here. Solve subproblem with unit clause, which proves infeasibility. ( 1, 5 ) = (0,, 0) creates the infeasibility. Banff workshop. Slide 82

83 DPL with chronological backtracking 1 = 0 2 = 0 3 = 0 5 = 0 4 = Branch to here. Solve subproblem with unit clause, which proves infeasibility. ( 1, 5 ) = (0,, 0) creates the infeasibility. Generate nogood. Banff workshop. Slide 83

84 DPL with chronological backtracking 1 = 0 Consists of processed nogoods 3 = 0 2 = 0 k Relaation R Solution of R Nogoods 0 (0,0,0,0,0, ) k k = 0 5 = 0 Conflict clause appears as nogood induced by solution of R k Banff workshop. Slide 84

85 DPL with chronological backtracking 1 = 0 Consists of processed nogoods 3 = 0 2 = 0 k Relaation R Solution of R Nogoods k 0 (0,0,0,0,0, ) (0,0,0,0,1, ) k 5 = 0 4 = 0 5 = 1 Go to solution that solves relaation, with priority to 0 Banff workshop. Slide 85

86 DPL with chronological backtracking 1 = 0 Consists of processed nogoods 3 = 0 2 = 0 k Relaation R Solution of R Nogoods k 0 (0,0,0,0,0, ) (0,0,0,0,1, ) k 5 = 0 4 = 0 5 = Process nogood set with parallel resolution parallel-absorbs Banff workshop. Slide 86

87 DPL with chronological backtracking 1 = 0 Consists of processed nogoods 5 = 0 4 = 0 3 = 0 2 = 0 5 = 1 k Relaation R Solution of R Nogoods 0 (0,0,0,0,0, ) 1 (0,0,0,0,1, ) k k Process nogood set with parallel resolution parallel-absorbs Banff workshop. Slide 87

88 DPL with chronological backtracking 1 = 0 Consists of processed nogoods 5 = 0 4 = 0 3 = 0 2 = 0 k Relaation R Solution of R Nogoods 0 (0,0,0,0,0, ) 1 (0,0,0,0,1, ) 2 (0,0,0,1,0, ) k Solve relaation again, continue. So backtracking is nogood-based search with parallel resolution k Banff workshop. Slide 88

89 Eample: SAT and conflict clauses Nogoods = conflict clauses. Nogoods rule out only branches that play a role in unit clause refutation. Slide 89

90 DPL with conflict clauses 1 = 0 2 = 0 3 = 0 4 = 0 = 0 5 Branch to here. Unit clause rule proves infeasibility. ( 1, 5 ) = (0,0) is only premise of unit clause proof. Banff workshop. Slide 90

91 DPL with conflict clauses 1 = 0 3 = 0 2 = 0 k Relaation R Solution of R Nogoods 0 (0,0,0,0,0, ) k k = 0 5 = 0 Conflict clause appears as nogood induced by solution of R k. 1 5 Banff workshop. Slide 91

92 DPL with conflict clauses 1 = 0 Consists of processed nogoods 3 = 0 2 = 0 k Relaation R Solution of R Nogoods 0 (0,0,0,0,0, ) k 1 (0,0,0,0,1, ) k 4 = 0 5 = 0 5 = Banff workshop. Slide 92

93 DPL with conflict clauses 1 = 0 Consists of processed nogoods 4 = 0 3 = 0 2 = 0 5 = 0 5 = k Relaation R Solution of R Nogoods 0 (0,0,0,0,0, ) 1 (0,0,0,0,1, ) k parallel-resolve to yield 1 2 parallel-absorbs k Banff workshop. Slide 93

94 DPL with conflict clauses 1 = 0 2 = 0 2 = 1 4 = 0 3 = 0 5 = 0 = Banff workshop. Slide k Relaation R Solution of R Nogoods 0 (0,0,0,0,0, ) 1 (0,0,0,0,1, ) 2 (0,1,,,, ) k parallel-resolve to yield k

95 DPL with conflict clauses 1 = 0 1 = 1 4 = 0 3 = 0 2 = 0 5 = 0 5 = Banff workshop. Slide k Relaation R Solution of R Nogoods 0 (0,0,0,0,0, ) 1 (0,0,0,0,1, ) 2 (0,1,,,, ) 3 (1,,,,, ) 4 k Search terminates k

96 Eample: SAT and partial-order dynamic backtracking Solve relaation by selecting a solution that conforms to nogoods. Conform = takes opposite sign than in nogoods. More freedom than in branching. Slide 96

97 Partial Order Dynamic Backtracking k Relaation R Solution of R Nogoods 0 (0,0,0,0,0, ) k k 5 1 Arbitrarily choose one variable to be last Banff workshop. Slide 97

98 Partial Order Dynamic Backtracking k Relaation R Solution of R Nogoods 0 (0,0,0,0,0, ) k k 5 1 Other variables are penultimate Arbitrarily choose one variable to be last Banff workshop. Slide 98

99 Partial Order Dynamic Backtracking k Relaation R Solution of R Nogoods 0 (0,0,0,0,0, ) 1 (1,,,,0, ) k k 5 1 Since 5 is penultimate in at least one nogood, it must conform to nogoods. It must take value opposite its sign in the nogoods. 5 will have the same sign in all nogoods where it is penultimate. Banff workshop. Slide 99 This allows more freedom than chronological backtracking.

100 Partial Order Dynamic Backtracking k Relaation R Solution of R Nogoods 0 (0,0,0,0,0, ) 1 (1,,,,0, ) 2 k k Choice of last variable is arbitrary but must be consistent with partial order implied by previous choices. Since 5 is penultimate in at least one nogood, it must conform to nogoods. It must take value opposite its sign in the nogoods. 5 will have the same sign in all nogoods where it is penultimate. Banff workshop. Slide 100 This allows more freedom than chronological backtracking.

101 Partial Order Dynamic Backtracking k Relaation R Solution of R Nogoods 0 (0,0,0,0,0, ) 1 (1,,,,0, ) k k Choice of last variable is arbitrary but must be consistent with partial order implied by previous choices Parallel-resolve to yield 5 Banff workshop. Slide 101 Since 5 is penultimate in at least one nogood, it must conform to nogoods. It must take value opposite its sign in the nogoods. 5 will have the same sign in all nogoods where it is penultimate. This allows more freedom than chronological backtracking.

102 Partial Order Dynamic Backtracking k Relaation R Solution of R Nogoods 0 (0,0,0,0,0, ) 1 (1,,,,0, ) 2 (,0,,,1, ) k k 5 does not parallel-resolve with because 5 is not last in both clauses 5 2 Banff workshop. Slide 102

103 Partial Order Dynamic Backtracking k Relaation R Solution of R Nogoods 0 (0,0,0,0,0, ) 1 (1,,,,0, ) 2 (,0,,,1, ) (,1,,,1, ) 4 k k 2 Search terminates Must conform Banff workshop. Slide 103

104 Eample: MIP Nogoods now being used in MIP For eample, in SIMPL and SCIP. So we come full circle MIP AI MIP. Slide 104

105 Binary Decision Diagrams Motivating idea Among constraint BDDs Propagation through a BDD Computational results Banff workshop. Slide 105

106 Motivating idea Domain store is key element of constraint programming (CP) Consists of current variable domains. Domain store propagates results of filtering domains. Constraint-specific filtering algorithms remove infeasible values from domains. Reduced domains are handed over to net constraint. Slide 106

107 Motivating idea Problem: Domain store is a weak relaation It encodes limited information. Not worth investing time to process nodes of search tree. LP is a strong relaation for MIP It pays to invest time at nodes (solve LP, add cutting planes) Needed: A strong, discrete relaation for CP Adaptable to any constraint Domain store should be a degenerate case Slide 107

108 Among constraint We illustrate the idea using the among constraint. Important in sequencing and scheduling. ( X Sl u) among,,, Set of variables Nonnegative integers Set of values Slide 108

109 Among constraint We illustrate the idea using the among constraint. Important in sequencing and scheduling. ( X Sl u) among,,, Set of variables Nonnegative integers Set of values The constraint requires that at least l and at most u variables in X take a value in S Slide 109

110 Binary decision diagrams A BDD is a graphical representation of a boolean function It can also represent constraint on binary variables. The boolean function is 1 when the constraint is satisfied. A (reduced) BDD is basically a compact representation of a branching tree. Superimpose isomorphic subtrees. Remove unnecessary nodes. There is a unique reduced BDD for a given branching order. Generalizes to multivalued decision diagrams (MDDs) for arbitrary discrete variables. Slide 110

111 Search tree for ( ) among {,, },{1},2, Infeasible Feasible

112 ( ) among {,, },{1},2, Banff workshop. Slide 112 Remove infeasible paths

113 ( ) among {,, },{1},2, Banff workshop. Slide 113 Remove infeasible paths

114 ( ) among {,, },{1},2, Banff workshop. Slide 114 Merge isomorphic subtrees

115 ( ) among {,, },{1},2, {0,1} {0,1} Banff workshop. Slide 115 Merge isomorphic subtrees

116 ( ) among {,, },{1},2, {0,1} {0,1} Banff workshop. Slide 116 Can also remove redundant nodes

117 ( ) among {,, },{1},2, Banff workshop. Slide 117 Can also remove redundant nodes

118 ( ) among {,, },{1},2, {0,1} {0,1} Banff workshop. Slide 118 But this is unnecessary.

119 ( ) among {,, },{1},2, {0} {1} 2 {0,1} {0,1} 3 {0} {1} {0} 4 {1} 1 {0} Each path corresponds to a cartesian product of solutions. {0} {0,1} {0} {1} Banff workshop. Slide 119

120 New constraint: ( ) among {,,, },{1},2, {0} u 1 {1} 2 {0} u 2 u 3 {1} {0} {1} 3 u 4 u 5 u 6 4 {1} {0} {1} {0} u 7 u 8 {1} {0} 1 Banff workshop. Slide 120 Eact BDD representation: 6 solutions

121 ( ) among {,,, },{1},2, {0,1} u 1 2 u 2 {0} {1} 3 u 3 u 4 {0,1} {0} {1} 4 u 5 u 6 {0,1} {0} 1 Banff workshop. Slide 121 Relaed BDD of width 2: 14 solutions

122 ( ) among {,,, },{1},2, {0,1} u 1 2 {0,1} u 2 3 {0,1} u 3 4 {0,1} u 4 Relaed BDD of width 1 is just the domain store 1

123 Propagation through a BDD At each node of the search tree: Apply each constraint to current BDD. Refine BDD to incorporate relaation of the constraint. Refine by splitting nodes, subject to ma width. Width limit keeps BDD size within bounds. Greater width yields tighter relaation. Slide 123

124 Propagation of among through a BDD 1 {0,1} u 1 2 {0,1} u 2 3 {0,1} u 3 4 {0,1} u 4 Arbitrarily start with BDD of width 1 and refine it 1

125 ( ) among {,,, },{1},2, u 1 {0,1} 2 {0,1} u 2 Two incoming edges are not equivalent. So split u 2 3 {0,1} u 3 4 {0,1} u 4 1 Banff workshop. Slide 125 Use a maimum width of 3

126 ( ) among {,,, },{1},2, u 1 {0} {1} 2 u 2 {0,1} u 2 Two incoming paths are not equivalent. So split u 2 3 {0,1} u 3 4 {0,1} u 4 1 Banff workshop. Slide 126 Use a maimum width of 3

127 ( ) among {,,, },{1},2, u 1 {0} {1} 2 u 2 {0,1} u 2 {0,1} Duplicate outgoing edges 3 u 3 {0,1} 4 u 4 {0,1} 1 Banff workshop. Slide 127 Use a maimum width of 3

128 ( ) among {,,, },{1},2, {0} u 1 {1} 2 u 2 u 2 3 {0,1} {0,1} u 3 {0,1} 3 incoming paths are nonequivalent 4 {0,1} u 4 1 Banff workshop. Slide 128 Use a maimum width of 3

129 ( ) among {,,, },{1},2, u 1 {0} {1} 2 {0} u 2 {1} {0} u 2 {1} 4 3 u 3 u 3 u 3 {0,1} {0,1} {0,1} {0,1} u 4 Split into 3 Banff workshop. Slide 129 Use a maimum width of 3 1

130 ( ) among {,,, },{1},2, u 1 {0} {1} 2 {0} u 2 {1} {0} u 2 {1} 4 3 u 3 u 3 u 3 {0,1} {0,1} {0,1} {0,1} u 4 Filter edge domains Banff workshop. Slide 130 Use a maimum width of 3 1

131 ( ) among {,,, },{1},2, u 1 {0} {1} 2 {0} u 2 {1} {0} u 2 {1} 4 3 u 3 u 3 u 3 {0,1} {1} {0} {0,1} u 4 Filter edge domains Banff workshop. Slide 131 Use a maimum width of 3 1

132 ( ) among {,,, },{1},2, u 1 {0} {1} 2 {0} u 2 u 3 {1} {0} {1} 3 u 4 u 5 u 6 4 {1} {0} {0} {1} u 7 u 8 {1} {0} Another split generates eact BDD, which has width 3 1 Banff workshop. Slide 132 Use a maimum width of 3

133 Computational results Multiple all-different constraints Multivalued variables encoded as binary variables Using domain propagation only: Some instances has search tree of > 1 million nodes Using BDD relaation: All instances solved at the root node. Slide 133

134 Number of branches + number of splits Domain store BDD-based Banff workshop. Slide 134 Ma width of BDD

135 Computation time (milliseconds) Domain store MDD-based Banff workshop. Slide 135 Ma width of MDD

136 Computational results Multiple among constraints Nurse scheduling problems When checking for equivalence of incoming paths Paths are viewed as nonequivalent if distance measure eceeds a threshold Results shown for finding first feasible solution Results are very similar for finding all feasible solutions Slide 136

137 Domain store only Search tree nodes 1.E+05 Class 2 (n=80) Search Tree Nodes 1.E+04 1.E+03 1.E+02 Threshold 1 Threshold 2 Threshold 3 Threshold 4 Threshold 5 1.E Banff workshop. Slide 137 Maimum Width

138 Domain store only Computation time Class 2 (n=80) Time (sec) Threshold 1 Threshold 2 Threshold 3 Threshold 4 Threshold Banff workshop. Slide 138 Maimum Width

Integrating Solution Methods. through Duality. US-Mexico Workshop on Optimization. Oaxaca, January John Hooker

Integrating Solution Methods. through Duality. US-Mexico Workshop on Optimization. Oaxaca, January John Hooker Integrating Solution Methods through Duality John Hooker US-Meico Workshop on Optimization Oaaca, January 2011 Zapotec Duality mask Late classical period Represents life/death, day/night, heat/cold See

More information

A Scheme for Integrated Optimization

A Scheme for Integrated Optimization A Scheme for Integrated Optimization John Hooker ZIB November 2009 Slide 1 Outline Overview of integrated methods A taste of the underlying theory Eamples, with results from SIMPL Proposal for SCIP/SIMPL

More information

Consistency as Projection

Consistency as Projection Consistency as Projection John Hooker Carnegie Mellon University INFORMS 2015, Philadelphia USA Consistency as Projection Reconceive consistency in constraint programming as a form of projection. For eample,

More information

Projection in Logic, CP, and Optimization

Projection in Logic, CP, and Optimization Projection in Logic, CP, and Optimization John Hooker Carnegie Mellon University Workshop on Logic and Search Melbourne, 2017 Projection as a Unifying Concept Projection is a fundamental concept in logic,

More information

The Separation Problem for Binary Decision Diagrams

The Separation Problem for Binary Decision Diagrams The Separation Problem for Binary Decision Diagrams J. N. Hooker Joint work with André Ciré Carnegie Mellon University ISAIM 2014 Separation Problem in Optimization Given a relaxation of an optimization

More information

A Framework for Integrating Optimization and Constraint Programming

A Framework for Integrating Optimization and Constraint Programming A Framework for Integrating Optimization and Constraint Programming John Hooker Carnegie Mellon University SARA 2007 SARA 07 Slide Underlying theme Model vs. solution method. How can we match the model

More information

Projection, Consistency, and George Boole

Projection, Consistency, and George Boole Projection, Consistency, and George Boole John Hooker Carnegie Mellon University CP 2015, Cork, Ireland Projection as a Unifying Concept Projection underlies both optimization and logical inference. Optimization

More information

Projection, Inference, and Consistency

Projection, Inference, and Consistency Projection, Inference, and Consistency John Hooker Carnegie Mellon University IJCAI 2016, New York City A high-level presentation. Don t worry about the details. 2 Projection as a Unifying Concept Projection

More information

A Framework for Integrating Exact and Heuristic Optimization Methods

A Framework for Integrating Exact and Heuristic Optimization Methods A Framework for Integrating Eact and Heuristic Optimization Methods John Hooker Carnegie Mellon University Matheuristics 2012 Eact and Heuristic Methods Generally regarded as very different. Eact methods

More information

Decision Diagrams: Tutorial

Decision Diagrams: Tutorial Decision Diagrams: Tutorial John Hooker Carnegie Mellon University CP Summer School Cork, Ireland, June 2016 Decision Diagrams Used in computer science and AI for decades Logic circuit design Product configuration

More information

Logic, Optimization and Data Analytics

Logic, Optimization and Data Analytics Logic, Optimization and Data Analytics John Hooker Carnegie Mellon University United Technologies Research Center, Cork, Ireland August 2015 Thesis Logic and optimization have an underlying unity. Ideas

More information

Decision Diagrams for Discrete Optimization

Decision Diagrams for Discrete Optimization Decision Diagrams for Discrete Optimization Willem Jan van Hoeve Tepper School of Business Carnegie Mellon University www.andrew.cmu.edu/user/vanhoeve/mdd/ Acknowledgments: David Bergman, Andre Cire, Samid

More information

Optimization Bounds from Binary Decision Diagrams

Optimization Bounds from Binary Decision Diagrams Optimization Bounds from Binary Decision Diagrams J. N. Hooker Joint work with David Bergman, André Ciré, Willem van Hoeve Carnegie Mellon University ICS 203 Binary Decision Diagrams BDDs historically

More information

How to Relax. CP 2008 Slide 1. John Hooker Carnegie Mellon University September 2008

How to Relax. CP 2008 Slide 1. John Hooker Carnegie Mellon University September 2008 How to Relax Slide 1 John Hooker Carnegie Mellon University September 2008 Two ways to relax Relax your mind and body. Relax your problem formulations. Slide 2 Relaxing a problem Feasible set of original

More information

An Integrated Approach to Truss Structure Design

An Integrated Approach to Truss Structure Design Slide 1 An Integrated Approach to Truss Structure Design J. N. Hooker Tallys Yunes CPAIOR Workshop on Hybrid Methods for Nonlinear Combinatorial Problems Bologna, June 2010 How to Solve Nonlinear Combinatorial

More information

Multivalued Decision Diagrams. Postoptimality Analysis Using. J. N. Hooker. Tarik Hadzic. Cork Constraint Computation Centre

Multivalued Decision Diagrams. Postoptimality Analysis Using. J. N. Hooker. Tarik Hadzic. Cork Constraint Computation Centre Postoptimality Analysis Using Multivalued Decision Diagrams Tarik Hadzic Cork Constraint Computation Centre J. N. Hooker Carnegie Mellon University London School of Economics June 2008 Postoptimality Analysis

More information

Alternative Methods for Obtaining. Optimization Bounds. AFOSR Program Review, April Carnegie Mellon University. Grant FA

Alternative Methods for Obtaining. Optimization Bounds. AFOSR Program Review, April Carnegie Mellon University. Grant FA Alternative Methods for Obtaining Optimization Bounds J. N. Hooker Carnegie Mellon University AFOSR Program Review, April 2012 Grant FA9550-11-1-0180 Integrating OR and CP/AI Early support by AFOSR First

More information

Duality in Optimization and Constraint Satisfaction

Duality in Optimization and Constraint Satisfaction Duality in Optimization and Constraint Satisfaction J. N. Hooker Carnegie Mellon University, Pittsburgh, USA john@hooker.tepper.cmu.edu Abstract. We show that various duals that occur in optimization and

More information

Scheduling Home Hospice Care with Logic-Based Benders Decomposition

Scheduling Home Hospice Care with Logic-Based Benders Decomposition Scheduling Home Hospice Care with Logic-Based Benders Decomposition John Hooker Carnegie Mellon University Joint work with Aliza Heching Ryo Kimura Compassionate Care Hospice CMU Lehigh University October

More information

Optimization in Process Systems Engineering

Optimization in Process Systems Engineering Optimization in Process Systems Engineering M.Sc. Jan Kronqvist Process Design & Systems Engineering Laboratory Faculty of Science and Engineering Åbo Akademi University Most optimization problems in production

More information

Operations Research Methods in Constraint Programming

Operations Research Methods in Constraint Programming Operations Research Methods in Constraint Programming John Hooker Carnegie Mellon University Prepared for Lloret de Mar, Spain June 2007 2007 Slide 1 CP and OR Have Complementary Strengths CP: Inference

More information

Single-Facility Scheduling by Logic-Based Benders Decomposition

Single-Facility Scheduling by Logic-Based Benders Decomposition Single-Facility Scheduling by Logic-Based Benders Decomposition Elvin Coban J. N. Hooker Tepper School of Business Carnegie Mellon University ecoban@andrew.cmu.edu john@hooker.tepper.cmu.edu September

More information

Decision Diagram Relaxations for Integer Programming

Decision Diagram Relaxations for Integer Programming Decision Diagram Relaxations for Integer Programming Christian Tjandraatmadja April, 2018 Tepper School of Business Carnegie Mellon University Submitted to the Tepper School of Business in Partial Fulfillment

More information

A Search-Infer-and-Relax Framework for Integrating Solution Methods

A Search-Infer-and-Relax Framework for Integrating Solution Methods Carnegie Mellon University Research Showcase @ CMU Tepper School of Business 2005 A Search-Infer-and-Relax Framework for Integrating Solution Methods John N. Hooker Carnegie Mellon University, john@hooker.tepper.cmu.edu

More information

Job Sequencing Bounds from Decision Diagrams

Job Sequencing Bounds from Decision Diagrams Job Sequencing Bounds from Decision Diagrams J. N. Hooker Carnegie Mellon University June 2017 Abstract. In recent research, decision diagrams have proved useful for the solution of discrete optimization

More information

Stochastic Decision Diagrams

Stochastic Decision Diagrams Stochastic Decision Diagrams John Hooker CORS/INFORMS Montréal June 2015 Objective Relaxed decision diagrams provide an generalpurpose method for discrete optimization. When the problem has a dynamic programming

More information

Integer Programming and Branch and Bound

Integer Programming and Branch and Bound Courtesy of Sommer Gentry. Used with permission. Integer Programming and Branch and Bound Sommer Gentry November 4 th, 003 Adapted from slides by Eric Feron and Brian Williams, 6.40, 00. Integer Programming

More information

Logic-Based Benders Decomposition

Logic-Based Benders Decomposition Logic-Based Benders Decomposition J. N. Hooker Graduate School of Industrial Administration Carnegie Mellon University, Pittsburgh, PA 15213 USA G. Ottosson Department of Information Technology Computing

More information

The CPLEX Library: Mixed Integer Programming

The CPLEX Library: Mixed Integer Programming The CPLEX Library: Mixed Programming Ed Rothberg, ILOG, Inc. 1 The Diet Problem Revisited Nutritional values Bob considered the following foods: Food Serving Size Energy (kcal) Protein (g) Calcium (mg)

More information

with Binary Decision Diagrams Integer Programming J. N. Hooker Tarik Hadzic IT University of Copenhagen Carnegie Mellon University ICS 2007, January

with Binary Decision Diagrams Integer Programming J. N. Hooker Tarik Hadzic IT University of Copenhagen Carnegie Mellon University ICS 2007, January Integer Programming with Binary Decision Diagrams Tarik Hadzic IT University of Copenhagen J. N. Hooker Carnegie Mellon University ICS 2007, January Integer Programming with BDDs Goal: Use binary decision

More information

Optimization Methods in Logic

Optimization Methods in Logic Optimization Methods in Logic John Hooker Carnegie Mellon University February 2003, Revised December 2008 1 Numerical Semantics for Logic Optimization can make at least two contributions to boolean logic.

More information

Decision Diagrams for Sequencing and Scheduling

Decision Diagrams for Sequencing and Scheduling Decision Diagrams for Sequencing and Scheduling Willem-Jan van Hoeve Tepper School of Business Carnegie Mellon University www.andrew.cmu.edu/user/vanhoeve/mdd/ Plan What can MDDs do for Combinatorial Optimization?

More information

Benders decomposition [7, 17] uses a problem-solving strategy that can be generalized to a larger context. It assigns some of the variables trial valu

Benders decomposition [7, 17] uses a problem-solving strategy that can be generalized to a larger context. It assigns some of the variables trial valu Logic-Based Benders Decomposition Λ J. N. Hooker Graduate School of Industrial Administration Carnegie Mellon University, Pittsburgh, PA 15213 USA G. Ottosson Department of Information Technology Computing

More information

maxz = 3x 1 +4x 2 2x 1 +x 2 6 2x 1 +3x 2 9 x 1,x 2

maxz = 3x 1 +4x 2 2x 1 +x 2 6 2x 1 +3x 2 9 x 1,x 2 ex-5.-5. Foundations of Operations Research Prof. E. Amaldi 5. Branch-and-Bound Given the integer linear program maxz = x +x x +x 6 x +x 9 x,x integer solve it via the Branch-and-Bound method (solving

More information

arxiv: v1 [cs.cc] 5 Dec 2018

arxiv: v1 [cs.cc] 5 Dec 2018 Consistency for 0 1 Programming Danial Davarnia 1 and J. N. Hooker 2 1 Iowa state University davarnia@iastate.edu 2 Carnegie Mellon University jh38@andrew.cmu.edu arxiv:1812.02215v1 [cs.cc] 5 Dec 2018

More information

Advances in Bayesian Network Learning using Integer Programming

Advances in Bayesian Network Learning using Integer Programming Advances in Bayesian Network Learning using Integer Programming Mark Bartlett and James Cussens UAI-13, 2013-07-12 Supported by the UK Medical Research Council (Project Grant G1002312) Mark Bartlett and

More information

min3x 1 + 4x 2 + 5x 3 2x 1 + 2x 2 + x 3 6 x 1 + 2x 2 + 3x 3 5 x 1, x 2, x 3 0.

min3x 1 + 4x 2 + 5x 3 2x 1 + 2x 2 + x 3 6 x 1 + 2x 2 + 3x 3 5 x 1, x 2, x 3 0. ex-.-. Foundations of Operations Research Prof. E. Amaldi. Dual simplex algorithm Given the linear program minx + x + x x + x + x 6 x + x + x x, x, x. solve it via the dual simplex algorithm. Describe

More information

MDD-based Postoptimality Analysis for Mixed-integer Programs

MDD-based Postoptimality Analysis for Mixed-integer Programs MDD-based Postoptimality Analysis for Mixed-integer Programs John Hooker, Ryo Kimura Carnegie Mellon University Thiago Serra Mitsubishi Electric Research Laboratories Symposium on Decision Diagrams for

More information

Integrating CP and Mathematical Programming

Integrating CP and Mathematical Programming Integrating CP and Mathematical Programming John Hooker Carnegie Mellon University June 2011 June 2011 Slide 1 Why Integrate CP and MP? Complementary strengths Computational advantages Outline of the Tutorial

More information

Solving Mixed-Integer Nonlinear Programs

Solving Mixed-Integer Nonlinear Programs Solving Mixed-Integer Nonlinear Programs (with SCIP) Ambros M. Gleixner Zuse Institute Berlin MATHEON Berlin Mathematical School 5th Porto Meeting on Mathematics for Industry, April 10 11, 2014, Porto

More information

Mixed Integer Programming Solvers: from Where to Where. Andrea Lodi University of Bologna, Italy

Mixed Integer Programming Solvers: from Where to Where. Andrea Lodi University of Bologna, Italy Mixed Integer Programming Solvers: from Where to Where Andrea Lodi University of Bologna, Italy andrea.lodi@unibo.it November 30, 2011 @ Explanatory Workshop on Locational Analysis, Sevilla A. Lodi, MIP

More information

Lift-and-Project cuts: an efficient solution method for mixed-integer programs

Lift-and-Project cuts: an efficient solution method for mixed-integer programs Lift-and-Project cuts: an efficient solution method for mied-integer programs Sebastian Ceria Graduate School of Business and Computational Optimization Research Center http://www.columbia.edu/~sc44 Columbia

More information

Section Notes 8. Integer Programming II. Applied Math 121. Week of April 5, expand your knowledge of big M s and logical constraints.

Section Notes 8. Integer Programming II. Applied Math 121. Week of April 5, expand your knowledge of big M s and logical constraints. Section Notes 8 Integer Programming II Applied Math 121 Week of April 5, 2010 Goals for the week understand IP relaxations be able to determine the relative strength of formulations understand the branch

More information

Disconnecting Networks via Node Deletions

Disconnecting Networks via Node Deletions 1 / 27 Disconnecting Networks via Node Deletions Exact Interdiction Models and Algorithms Siqian Shen 1 J. Cole Smith 2 R. Goli 2 1 IOE, University of Michigan 2 ISE, University of Florida 2012 INFORMS

More information

where X is the feasible region, i.e., the set of the feasible solutions.

where X is the feasible region, i.e., the set of the feasible solutions. 3.5 Branch and Bound Consider a generic Discrete Optimization problem (P) z = max{c(x) : x X }, where X is the feasible region, i.e., the set of the feasible solutions. Branch and Bound is a general semi-enumerative

More information

Combining Optimization and Constraint Programming

Combining Optimization and Constraint Programming Combining Optimization and Constraint Programming John Hooker Carnegie Mellon University GE Research Center 7 September 2007 GE 7 Sep 07 Slide 1 Optimization and Constraint Programming Optimization: focus

More information

System Planning Lecture 7, F7: Optimization

System Planning Lecture 7, F7: Optimization System Planning 04 Lecture 7, F7: Optimization System Planning 04 Lecture 7, F7: Optimization Course goals Appendi A Content: Generally about optimization Formulate optimization problems Linear Programming

More information

Representations of All Solutions of Boolean Programming Problems

Representations of All Solutions of Boolean Programming Problems Representations of All Solutions of Boolean Programming Problems Utz-Uwe Haus and Carla Michini Institute for Operations Research Department of Mathematics ETH Zurich Rämistr. 101, 8092 Zürich, Switzerland

More information

Integer Programming for Bayesian Network Structure Learning

Integer Programming for Bayesian Network Structure Learning Integer Programming for Bayesian Network Structure Learning James Cussens Prague, 2013-09-02 Supported by the UK Medical Research Council (Project Grant G1002312) James Cussens IP for BNs Prague, 2013-09-02

More information

Lecture 23 Branch-and-Bound Algorithm. November 3, 2009

Lecture 23 Branch-and-Bound Algorithm. November 3, 2009 Branch-and-Bound Algorithm November 3, 2009 Outline Lecture 23 Modeling aspect: Either-Or requirement Special ILPs: Totally unimodular matrices Branch-and-Bound Algorithm Underlying idea Terminology Formal

More information

IP Duality. Menal Guzelsoy. Seminar Series, /21-07/28-08/04-08/11. Department of Industrial and Systems Engineering Lehigh University

IP Duality. Menal Guzelsoy. Seminar Series, /21-07/28-08/04-08/11. Department of Industrial and Systems Engineering Lehigh University IP Duality Department of Industrial and Systems Engineering Lehigh University COR@L Seminar Series, 2005 07/21-07/28-08/04-08/11 Outline Duality Theorem 1 Duality Theorem Introduction Optimality Conditions

More information

EXACT ALGORITHMS FOR THE ATSP

EXACT ALGORITHMS FOR THE ATSP EXACT ALGORITHMS FOR THE ATSP Branch-and-Bound Algorithms: Little-Murty-Sweeney-Karel (Operations Research, ); Bellmore-Malone (Operations Research, ); Garfinkel (Operations Research, ); Smith-Srinivasan-Thompson

More information

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010 Section Notes 9 IP: Cutting Planes Applied Math 121 Week of April 12, 2010 Goals for the week understand what a strong formulations is. be familiar with the cutting planes algorithm and the types of cuts

More information

Information-Based Branching Schemes for Binary Linear Mixed Integer Problems

Information-Based Branching Schemes for Binary Linear Mixed Integer Problems Information-Based Branching Schemes for Binary Linear Mixed Integer Problems Fatma Kılınç Karzan, George L. Nemhauser, Martin W.P. Savelsbergh H. Milton Stewart Industrial and Systems Engineering, Georgia

More information

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 21 Dr. Ted Ralphs IE406 Lecture 21 1 Reading for This Lecture Bertsimas Sections 10.2, 10.3, 11.1, 11.2 IE406 Lecture 21 2 Branch and Bound Branch

More information

Feasibility Pump Heuristics for Column Generation Approaches

Feasibility Pump Heuristics for Column Generation Approaches 1 / 29 Feasibility Pump Heuristics for Column Generation Approaches Ruslan Sadykov 2 Pierre Pesneau 1,2 Francois Vanderbeck 1,2 1 University Bordeaux I 2 INRIA Bordeaux Sud-Ouest SEA 2012 Bordeaux, France,

More information

From structures to heuristics to global solvers

From structures to heuristics to global solvers From structures to heuristics to global solvers Timo Berthold Zuse Institute Berlin DFG Research Center MATHEON Mathematics for key technologies OR2013, 04/Sep/13, Rotterdam Outline From structures to

More information

IE418 Integer Programming

IE418 Integer Programming IE418: Integer Programming Department of Industrial and Systems Engineering Lehigh University 2nd February 2005 Boring Stuff Extra Linux Class: 8AM 11AM, Wednesday February 9. Room??? Accounts and Passwords

More information

Polyhedral Approach to Integer Linear Programming. Tepper School of Business Carnegie Mellon University, Pittsburgh

Polyhedral Approach to Integer Linear Programming. Tepper School of Business Carnegie Mellon University, Pittsburgh Polyhedral Approach to Integer Linear Programming Gérard Cornuéjols Tepper School of Business Carnegie Mellon University, Pittsburgh 1 / 30 Brief history First Algorithms Polynomial Algorithms Solving

More information

Math Models of OR: Branch-and-Bound

Math Models of OR: Branch-and-Bound Math Models of OR: Branch-and-Bound John E. Mitchell Department of Mathematical Sciences RPI, Troy, NY 12180 USA November 2018 Mitchell Branch-and-Bound 1 / 15 Branch-and-Bound Outline 1 Branch-and-Bound

More information

Decision Procedures An Algorithmic Point of View

Decision Procedures An Algorithmic Point of View An Algorithmic Point of View ILP References: Integer Programming / Laurence Wolsey Deciding ILPs with Branch & Bound Intro. To mathematical programming / Hillier, Lieberman Daniel Kroening and Ofer Strichman

More information

Interior-Point versus Simplex methods for Integer Programming Branch-and-Bound

Interior-Point versus Simplex methods for Integer Programming Branch-and-Bound Interior-Point versus Simplex methods for Integer Programming Branch-and-Bound Samir Elhedhli elhedhli@uwaterloo.ca Department of Management Sciences, University of Waterloo, Canada Page of 4 McMaster

More information

Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011

Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber 15-414 Aug 31, 2011 Why study SAT solvers? Many problems reduce to SAT. Formal verification CAD, VLSI Optimization AI, planning, automated

More information

Computational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30)

Computational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30) Computational Logic Davide Martinenghi Free University of Bozen-Bolzano Spring 2010 Computational Logic Davide Martinenghi (1/30) Propositional Logic - sequent calculus To overcome the problems of natural

More information

Parallel PIPS-SBB Multi-level parallelism for 2-stage SMIPS. Lluís-Miquel Munguia, Geoffrey M. Oxberry, Deepak Rajan, Yuji Shinano

Parallel PIPS-SBB Multi-level parallelism for 2-stage SMIPS. Lluís-Miquel Munguia, Geoffrey M. Oxberry, Deepak Rajan, Yuji Shinano Parallel PIPS-SBB Multi-level parallelism for 2-stage SMIPS Lluís-Miquel Munguia, Geoffrey M. Oxberry, Deepak Rajan, Yuji Shinano ... Our contribution PIPS-PSBB*: Multi-level parallelism for Stochastic

More information

1 Solution of a Large-Scale Traveling-Salesman Problem... 7 George B. Dantzig, Delbert R. Fulkerson, and Selmer M. Johnson

1 Solution of a Large-Scale Traveling-Salesman Problem... 7 George B. Dantzig, Delbert R. Fulkerson, and Selmer M. Johnson Part I The Early Years 1 Solution of a Large-Scale Traveling-Salesman Problem............ 7 George B. Dantzig, Delbert R. Fulkerson, and Selmer M. Johnson 2 The Hungarian Method for the Assignment Problem..............

More information

Integer Programming. Wolfram Wiesemann. December 6, 2007

Integer Programming. Wolfram Wiesemann. December 6, 2007 Integer Programming Wolfram Wiesemann December 6, 2007 Contents of this Lecture Revision: Mixed Integer Programming Problems Branch & Bound Algorithms: The Big Picture Solving MIP s: Complete Enumeration

More information

Integer Programming ISE 418. Lecture 8. Dr. Ted Ralphs

Integer Programming ISE 418. Lecture 8. Dr. Ted Ralphs Integer Programming ISE 418 Lecture 8 Dr. Ted Ralphs ISE 418 Lecture 8 1 Reading for This Lecture Wolsey Chapter 2 Nemhauser and Wolsey Sections II.3.1, II.3.6, II.4.1, II.4.2, II.5.4 Duality for Mixed-Integer

More information

Using Sparsity to Design Primal Heuristics for MILPs: Two Stories

Using Sparsity to Design Primal Heuristics for MILPs: Two Stories for MILPs: Two Stories Santanu S. Dey Joint work with: Andres Iroume, Marco Molinaro, Domenico Salvagnin, Qianyi Wang MIP Workshop, 2017 Sparsity in real" Integer Programs (IPs) Real" IPs are sparse: The

More information

A Lifted Linear Programming Branch-and-Bound Algorithm for Mixed Integer Conic Quadratic Programs

A Lifted Linear Programming Branch-and-Bound Algorithm for Mixed Integer Conic Quadratic Programs A Lifted Linear Programming Branch-and-Bound Algorithm for Mied Integer Conic Quadratic Programs Juan Pablo Vielma Shabbir Ahmed George L. Nemhauser H. Milton Stewart School of Industrial and Systems Engineering

More information

Integer Programming. The focus of this chapter is on solution techniques for integer programming models.

Integer Programming. The focus of this chapter is on solution techniques for integer programming models. Integer Programming Introduction The general linear programming model depends on the assumption of divisibility. In other words, the decision variables are allowed to take non-negative integer as well

More information

Analyzing the computational impact of individual MINLP solver components

Analyzing the computational impact of individual MINLP solver components Analyzing the computational impact of individual MINLP solver components Ambros M. Gleixner joint work with Stefan Vigerske Zuse Institute Berlin MATHEON Berlin Mathematical School MINLP 2014, June 4,

More information

18 hours nodes, first feasible 3.7% gap Time: 92 days!! LP relaxation at root node: Branch and bound

18 hours nodes, first feasible 3.7% gap Time: 92 days!! LP relaxation at root node: Branch and bound The MIP Landscape 1 Example 1: LP still can be HARD SGM: Schedule Generation Model Example 157323 1: LP rows, still can 182812 be HARD columns, 6348437 nzs LP relaxation at root node: 18 hours Branch and

More information

Cutting Planes in SCIP

Cutting Planes in SCIP Cutting Planes in SCIP Kati Wolter Zuse-Institute Berlin Department Optimization Berlin, 6th June 2007 Outline 1 Cutting Planes in SCIP 2 Cutting Planes for the 0-1 Knapsack Problem 2.1 Cover Cuts 2.2

More information

An Adaptive Partition-based Approach for Solving Two-stage Stochastic Programs with Fixed Recourse

An Adaptive Partition-based Approach for Solving Two-stage Stochastic Programs with Fixed Recourse An Adaptive Partition-based Approach for Solving Two-stage Stochastic Programs with Fixed Recourse Yongjia Song, James Luedtke Virginia Commonwealth University, Richmond, VA, ysong3@vcu.edu University

More information

Introduction to Integer Linear Programming

Introduction to Integer Linear Programming Lecture 7/12/2006 p. 1/30 Introduction to Integer Linear Programming Leo Liberti, Ruslan Sadykov LIX, École Polytechnique liberti@lix.polytechnique.fr sadykov@lix.polytechnique.fr Lecture 7/12/2006 p.

More information

Inexact Solution of NLP Subproblems in MINLP

Inexact Solution of NLP Subproblems in MINLP Ineact Solution of NLP Subproblems in MINLP M. Li L. N. Vicente April 4, 2011 Abstract In the contet of conve mied-integer nonlinear programming (MINLP, we investigate how the outer approimation method

More information

Some Recent Advances in Mixed-Integer Nonlinear Programming

Some Recent Advances in Mixed-Integer Nonlinear Programming Some Recent Advances in Mixed-Integer Nonlinear Programming Andreas Wächter IBM T.J. Watson Research Center Yorktown Heights, New York andreasw@us.ibm.com SIAM Conference on Optimization 2008 Boston, MA

More information

is called an integer programming (IP) problem. model is called a mixed integer programming (MIP)

is called an integer programming (IP) problem. model is called a mixed integer programming (MIP) INTEGER PROGRAMMING Integer Programming g In many problems the decision variables must have integer values. Example: assign people, machines, and vehicles to activities in integer quantities. If this is

More information

Orbital Shrinking: A New Tool for Hybrid MIP/CP Methods

Orbital Shrinking: A New Tool for Hybrid MIP/CP Methods Orbital Shrinking: A New Tool for Hybrid MIP/CP Methods Domenico Salvagnin DEI, University of Padova salvagni@dei.unipd.it Abstract. Orbital shrinking is a newly developed technique in the MIP community

More information

Indicator Constraints in Mixed-Integer Programming

Indicator Constraints in Mixed-Integer Programming Indicator Constraints in Mixed-Integer Programming Andrea Lodi University of Bologna, Italy - andrea.lodi@unibo.it Amaya Nogales-Gómez, Universidad de Sevilla, Spain Pietro Belotti, FICO, UK Matteo Fischetti,

More information

Integer Programming, Constraint Programming, and their Combination

Integer Programming, Constraint Programming, and their Combination Integer Programming, Constraint Programming, and their Combination Alexander Bockmayr Freie Universität Berlin & DFG Research Center Matheon Eindhoven, 27 January 2006 Discrete Optimization General framework

More information

Linear & Integer programming

Linear & Integer programming ELL 894 Performance Evaluation on Communication Networks Standard form I Lecture 5 Linear & Integer programming subject to where b is a vector of length m c T A = b (decision variables) and c are vectors

More information

Improving the Randomization Step in Feasibility Pump using WalkSAT

Improving the Randomization Step in Feasibility Pump using WalkSAT Improving the Randomization Step in Feasibility Pump using Santanu S. Dey Joint work with: Andres Iroume, Marco Molinaro, Domenico Salvagnin Discrepancy & IP workshop, 2018 Sparsity in real" Integer Programs

More information

Computational Mixed-Integer Programming

Computational Mixed-Integer Programming Computational Mixed-Integer Programming Ambros Gleixner and the SCIP team Zuse Institute Berlin gleixner@zib.de SCIP Optimization Suite http://scip.zib.de Theory and Practice of Satisfiability Solving

More information

Section Notes 9. Midterm 2 Review. Applied Math / Engineering Sciences 121. Week of December 3, 2018

Section Notes 9. Midterm 2 Review. Applied Math / Engineering Sciences 121. Week of December 3, 2018 Section Notes 9 Midterm 2 Review Applied Math / Engineering Sciences 121 Week of December 3, 2018 The following list of topics is an overview of the material that was covered in the lectures and sections

More information

Integer Linear Programming (ILP)

Integer Linear Programming (ILP) Integer Linear Programming (ILP) Zdeněk Hanzálek, Přemysl Šůcha hanzalek@fel.cvut.cz CTU in Prague March 8, 2017 Z. Hanzálek (CTU) Integer Linear Programming (ILP) March 8, 2017 1 / 43 Table of contents

More information

IBM Research Report. A Feasibility Pump for Mixed Integer Nonlinear Programs

IBM Research Report. A Feasibility Pump for Mixed Integer Nonlinear Programs RC386 (W060-09) February, 006 Mathematics IBM Research Report A Feasibility Pump for Mied Integer Nonlinear Programs Pierre Bonami, Gérard Cornuéjols, Andrea Lodi*, François Margot Tepper School of Business

More information

Tutorial: Operations Research in Constraint Programming

Tutorial: Operations Research in Constraint Programming Tutorial: Operations Research in Constraint Programming John Hooker Carnegie Mellon University May 2009 Revised June 2009 May 2009 Slide 1 Why Integrate OR and CP? Complementary strengths Computational

More information

An Integrated Method for Planning and Scheduling to Minimize Tardiness

An Integrated Method for Planning and Scheduling to Minimize Tardiness An Integrated Method for Planning and Scheduling to Minimize Tardiness J N Hooker Carnegie Mellon University john@hookerteppercmuedu Abstract We combine mixed integer linear programming (MILP) and constraint

More information

Logic-based Benders Decomposition

Logic-based Benders Decomposition Logic-based Benders Decomposition A short Introduction Martin Riedler AC Retreat Contents 1 Introduction 2 Motivation 3 Further Notes MR Logic-based Benders Decomposition June 29 July 1 2 / 15 Basic idea

More information

Operations Research Lecture 6: Integer Programming

Operations Research Lecture 6: Integer Programming Operations Research Lecture 6: Integer Programming Notes taken by Kaiquan Xu@Business School, Nanjing University May 12th 2016 1 Integer programming (IP) formulations The integer programming (IP) is the

More information

Duality, Warm Starting, and Sensitivity Analysis for MILP

Duality, Warm Starting, and Sensitivity Analysis for MILP Duality, Warm Starting, and Sensitivity Analysis for MILP Ted Ralphs and Menal Guzelsoy Industrial and Systems Engineering Lehigh University SAS Institute, Cary, NC, Friday, August 19, 2005 SAS Institute

More information

Highly-scalable branch and bound for maximum monomial agreement

Highly-scalable branch and bound for maximum monomial agreement Highly-scalable branch and bound for maximum monomial agreement Jonathan Eckstein (Rutgers) William Hart Cynthia A. Phillips Sandia National Laboratories Sandia National Laboratories is a multi-program

More information

Can Li a, Ignacio E. Grossmann a,

Can Li a, Ignacio E. Grossmann a, A generalized Benders decomposition-based branch and cut algorithm for two-stage stochastic programs with nonconvex constraints and mixed-binary first and second stage variables Can Li a, Ignacio E. Grossmann

More information

Generation and Representation of Piecewise Polyhedral Value Functions

Generation and Representation of Piecewise Polyhedral Value Functions Generation and Representation of Piecewise Polyhedral Value Functions Ted Ralphs 1 Joint work with Menal Güzelsoy 2 and Anahita Hassanzadeh 1 1 COR@L Lab, Department of Industrial and Systems Engineering,

More information

Lecture 2. Split Inequalities and Gomory Mixed Integer Cuts. Tepper School of Business Carnegie Mellon University, Pittsburgh

Lecture 2. Split Inequalities and Gomory Mixed Integer Cuts. Tepper School of Business Carnegie Mellon University, Pittsburgh Lecture 2 Split Inequalities and Gomory Mixed Integer Cuts Gérard Cornuéjols Tepper School of Business Carnegie Mellon University, Pittsburgh Mixed Integer Cuts Gomory 1963 Consider a single constraint

More information

23. Cutting planes and branch & bound

23. Cutting planes and branch & bound CS/ECE/ISyE 524 Introduction to Optimization Spring 207 8 23. Cutting planes and branch & bound ˆ Algorithms for solving MIPs ˆ Cutting plane methods ˆ Branch and bound methods Laurent Lessard (www.laurentlessard.com)

More information

SAT Modulo ODE: A Direct SAT Approach to Hybrid Systems

SAT Modulo ODE: A Direct SAT Approach to Hybrid Systems Welcome ATVA 2008 SAT Modulo ODE: A Direct SAT Approach to Hbrid Sstems Andreas Eggers, Martin Fränzle, and Christian Herde DFG Transregional Collaborative Research Center AVACS Outline Motivation Bounded

More information

Can Li a, Ignacio E. Grossmann a,

Can Li a, Ignacio E. Grossmann a, A generalized Benders decomposition-based branch and cut algorithm for two-stage stochastic programs with nonconvex constraints and mixed-binary first and second stage variables Can Li a, Ignacio E. Grossmann

More information