Combining Optimization and Constraint Programming

Size: px
Start display at page:

Download "Combining Optimization and Constraint Programming"

Transcription

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

2 Optimization and Constraint Programming Optimization: focus on mathematical programming. 50+ years old Constraint programming 20 years old Developed in computer science/ai community Better known in Europe/Asia than USA GE 7 Sep 07 Slide 2

3 Math programming & Constraint programming Mathematical programming methods rely heavily on numerical calculation. Linear programming (LP) Mixed integer/linear programming (MILP) Nonlinear programming (NLP) Constraint programming relies heavily on constraint propagation A form of logical inference GE 7 Sep 07 Slide 3

4 CP: Early commercial successes Circuit design (Siemens) Container port scheduling (Hong Kong and Singapore) Real-time control (Siemens, Xerox) GE 7 Sep 07 Slide 4

5 CP: Applications Employee scheduling Shift planning Assembly line smoothing and balancing Cellular frequency assignment Maintenance planning Airline crew rostering and scheduling Airport gate allocation and stand planning GE 7 Sep 07 Slide 5

6 CP: Applications Production scheduling chemicals aviation oil refining steel lumber photographic plates tires Transport scheduling (food, nuclear fuel) Warehouse management Course timetabling GE 7 Sep 07 Slide 6

7 Math programming & Constraint programming In mathematical programming, equations (constraints) describe the problem but don t tell how to solve it. In constraint programming, each constraint invokes a procedure that screens out unacceptable solutions. GE 7 Sep 07 Slide 7

8 Math programming & Constraint programming Mathematical programming Linear, nonlinear and mixed integer programming, global optimization CPLEX, OSL, Xpress-MP, Excel solver, MINTO, BARON Constraint programming Constraint propagation, domain reduction, interval arithmetic ILOG Scheduler, OPL Studio, CHIP, Mozart, ECLiPSe, Newton GE 7 Sep 07 Slide 8

9 Why unify math programming and constraint programming? One-stop shopping. One solver does it all. GE 7 Sep 07 Slide 9

10 Why unify math programming and constraint programming? One-stop shopping. One solver does it all. Richer modeling framework. Natural models, less debugging & development time. GE 7 Sep 07 Slide 10

11 Why unify math programming and constraint programming? One-stop shopping. One solver does it all. Richer modeling framework. Natural models, less debugging & development time. Computational speedup. A selection of results GE 7 Sep 07 Slide 11

12 Computational Advantage of Integrating MP and CP Using CP + relaxation from MILP Problem Speedup Focacci, Lodi, Milano (1999) Lesson timetabling 2 to 50 times faster than CP Refalo (1999) Piecewise linear costs 2 to 200 times faster than MILP Hooker & Osorio (1999) Flow shop scheduling, etc. 4 to 150 times faster than MILP. Thorsteinsson & Ottosson (2001) Product configuration 30 to 40 times faster than CP, MILP GE 7 Sep 07 Slide 12

13 Computational Advantage of Integrating MP and CP Using CP + relaxation from MILP Problem Speedup Sellmann & Fahle (2001) Automatic recording 1 to 10 times faster than CP, MILP Van Hoeve (2001) Stable set problem Better than CP in less time Bollapragada, Ghattas & Hooker (2001) Beck & Refalo (2003) Structural design (nonlinear) Scheduling with earliness & tardiness costs Up to 600 times faster than MILP. 2 problems: <6 min vs >20 hrs for MILP Solved 67 of 90, CP solved only 12 GE 7 Sep 07 Slide 13

14 Computational Advantage of Integrating MP and CP Using CP-based Branch and Price Problem Speedup Yunes, Moura & de Souza (1999) Easton, Nemhauser & Trick (2002) Urban transit crew scheduling Traveling tournament scheduling Optimal schedule for 210 trips, vs. 120 for traditional branch and price First to solve 8-team instance GE 7 Sep 07 Slide 14

15 Computational Advantage of Integrating MP and CP Using CP/MILP Benders methods Problem Speedup Jain & Grossmann (2001) Thorsteinsson (2001) Min-cost planning & scheduing Min-cost planning & scheduling Timpe (2002) Polypropylene batch scheduling at BASF 20 to 1000 times faster than CP, MILP 10 times faster than Jain & Grossmann Solved previously insoluble problem in 10 min GE 7 Sep 07 Slide 15

16 Computational Advantage of Integrating MP and CP Using CP/MILP Benders methods Problem Speedup Benoist, Gaudin, Rottembourg (2002) Call center scheduling Solved twice as many instances as traditional Benders Hooker (2004) Min-cost, min-makespan planning & cumulative scheduling Hooker (2005) Min tardiness planning & cumulative scheduling times faster than CP, MILP times faster than CP, MILP GE 7 Sep 07 Slide 16

17 Modeling is key CP models explain by revealing problem structure. Through global constraints. This can be extended to a unified framework. Global constraints become metaconstraints. Each metaconstraint knows how to combine MP and CP to exploit its structure. GE 7 Sep 07 Slide 17

18 The basic algorithm Search: Enumerate problem restrictions Tree search (branching) Constraint-based (nogood-based) search GE 7 Sep 07 Slide 18

19 The basic algorithm Search: Enumerate problem restrictions Tree search (branching) Constraint-based (nogood-based) search Infer: Deduce constraints from current restriction GE 7 Sep 07 Slide 19

20 The basic algorithm Search: Enumerate problem restrictions Tree search (branching) Constraint-based (nogood-based) search Infer: Deduce constraints from current restriction Relax: Solve relaxation of current restriction GE 7 Sep 07 Slide 20

21 Unifying framework Existing methods are special cases of this framework. Integrated methods are also special cases. Select an overall search scheme. Select inference methods as needed from CP, OR. Select relaxation methods as needed. GE 7 Sep 07 Slide 21

22 Some existing methods Branching Constraint solvers (CP) Search: Branching on domains Inference: Constraint propagation, filtering Relaxation: Domain store Mixed integer programming (OR) Search: Branch and bound Inference: Cutting planes Relaxation: Linear programming GE 7 Sep 07 Slide 22

23 Some existing methods Constraint-based search SAT solvers (CP) Search: Branching on variables Inference: Unit clause rule, clause learning (nogoods) Relaxation: Conflict clauses Benders decomposition (OR) Search: Enumeration of subproblems Inference: Benders cuts (nogoods) Relaxation: Master problem GE 7 Sep 07 Slide 23

24 Software for integrated methods Cooperating solvers: ILOG s OPL Studio ECLiPSe Integration with low-level modeling: Dash Optimization s Mosel. Integration with high-level modeling: SIMPL (CMU). GE 7 Sep 07 Slide 24

25 Outline Example problems to illustrate integrated approach Simpler modeling Lot sizing and scheduling Branching search Freight transfer Product configuration Continuous global optimization Airline crew scheduling Constraint-based search Machine scheduling Success stories from BASF, Barbot, Peugeot-Citroën GE 7 Sep 07 Slide 25

26 Example: Lot sizing and scheduling Simplified modeling GE 7 Sep 07 Slide 26

27 Lot sizing and scheduling Day: A B A Product At most one product manufactured on each day. Demands for each product on each day. Minimize setup + holding cost. GE 7 Sep 07 Slide 27

28 GE 7 Sep 07 Slide 28 0, {0,1},, all 1,, all,, all,, all,, all 1,, all, 1, all,, all,, all, s.t. min 1, 1, 1, 1, 1,, = + + = + + it it ijt it it i it it it jt ijt t i ijt jt t i ijt t i it it it t i it it it it it t i i t i j ijt ij it it s x z y t y t i Cy x t i y t i y t i y y t i y z t i y z t i y y z t i s d x s q s h δ δ δ δ δ Integer programming model (Wolsey) Many variables

29 Integrated model Minimize holding and setup costs min s.t. s q y + t i i 0, t x x d C, s h s + s, all i, t all i, t ( y i ) ( x = 0 ), all i, t t 1 + it y t 1 t it = it it it i it it 0, Inventory balance Production capacity GE 7 Sep 07 Slide 29

30 Example: Freight Transfer Branch-and-bound search with interval propagation and cutting planes GE 7 Sep 07 Slide 30

31 This example illustrates: Branching on variables, with pruning based on bounds. Propagation based on: Interval propagation. Cutting planes (knapsack cuts). Relaxation based on linear programming. GE 7 Sep 07 Slide 31

32 Freight Transfer Transport 42 tons of freight using 8 trucks, which come in 4 sizes GE 7 Sep 07 Slide 32 Truck size Number available Capacity (tons) Cost per truck

33 Number of trucks of type 1 min 90 x + 60 x + 50 x + 40 x 7 x + 5 x + 4 x + 3 x 42 x + x + x + x x i {0,1,2,3} 8 GE 7 Sep 07 Slide 33 Truck type Number available Capacity (tons) Cost per truck

34 Number of trucks of type 1 Knapsack metaconstraint knows which inference and relaxation techniques to use. GE 7 Sep 07 Slide 34 min 90 x + 60 x + 50 x + 40 x 7 x + 5 x + 4 x + 3 x 42 x + x + x + x x Truck type i {0,1,2,3} Number available Capacity (tons) Cost per truck

35 Number of trucks of type 1 Domain metaconstraint knows how to branch min 90 x + 60 x + 50 x + 40 x 7 x + 5 x + 4 x + 3 x 42 x + x + x + x x i {0,1,2,3} 8 GE 7 Sep 07 Slide 35 Truck type Number available Capacity (tons) Cost per truck

36 Bounds propagation min 90 x + 60 x + 50 x + 40 x 7 x + 5 x + 4 x + 3 x 42 x + x + x + x x i {0,1,2,3} 8 x = 7 1 GE 7 Sep 07 Slide 36

37 Bounds propagation Reduced domain min 90 x + 60 x + 50 x + 40 x x + 5 x + 4 x + 3 x x + x + x + x x {1,2,3}, x, x, x {0,1,2,3} x = 7 1 GE 7 Sep 07 Slide 37

38 Continuous relaxation min 90 x + 60 x + 50 x + 40 x x + 5 x + 4 x + 3 x x + x + x + x x 3, x 1 i 1 8 Replace domains with bounds This is a linear programming problem, which is easy to solve. Its optimal value provides a lower bound on optimal value of original problem. GE 7 Sep 07 Slide 38

39 Cutting planes (valid inequalities) min 90 x + 60 x + 50 x + 40 x x + 5 x + 4 x + 3 x x + x + x + x x 3, x 1 i 1 8 We can create a tighter relaxation (larger minimum value) with the addition of cutting planes. GE 7 Sep 07 Slide 39

40 Cutting planes (valid inequalities) min 90 x + 60 x + 50 x + 40 x x + 5 x + 4 x + 3 x x + x + x + x x 3, x 1 i 1 8 Cutting plane All feasible solutions of the original problem satisfy a cutting plane (i.e., it is valid). But a cutting plane may exclude ( cut off ) solutions of the continuous relaxation. Feasible solutions GE 7 Sep 07 Slide 40 Continuous relaxation

41 Cutting planes (valid inequalities) min 90 x + 60 x + 50 x + 40 x x + 5 x + 4 x + 3 x x + x + x + x x 3, x 1 i 1 8 {1,2} is a packing because 7x 1 + 5x 2 alone cannot satisfy the inequality, even with x 1 = x 2 = 3. GE 7 Sep 07 Slide 41

42 Cutting planes (valid inequalities) min 90 x + 60 x + 50 x + 40 x x + 5 x + 4 x + 3 x x + x + x + x x 3, x 1 i 1 8 {1,2} is a packing So, 4 x x 4 42 ( ) GE 7 Sep 07 Slide 42

43 Cutting planes (valid inequalities) min 90 x + 60 x + 50 x + 40 x x + 5 x + 4 x + 3 x x + x + x + x x 3, x 1 i 1 8 {1,2} is a packing So, 4 x x 4 42 ( ) which implies 42 ( ) x 3 + x 4 = max { 4,3 } GE 7 Sep 07 Slide 43 Knapsack cut 2

44 Cutting planes (valid inequalities) min 90 x + 60 x + 50 x + 40 x x + 5 x + 4 x + 3 x x + x + x + x x 3, x 1 i 1 8 Maximal Packings Knapsack cuts {1,2} x 3 + x 4 2 {1,3} x 2 + x 4 2 {1,4} x 2 + x 3 3 GE 7 Sep 07 Slide 44 Knapsack cuts corresponding to nonmaximal packings can be nonredundant.

45 Continuous relaxation with cuts min 90 x + 60 x + 50 x + 40 x 7 x + 5 x + 4 x + 3 x 42 x + x + x + x 1 0 x 3, x 1 x + x x + x x + x i Knapsack cuts Optimal value of is a lower bound on optimal value of original problem. GE 7 Sep 07 Slide 45

46 Branch-inferand-relax tree Propagate bounds and solve relaxation of original problem. GE 7 Sep 07 Slide 46 x 1 { 123} x 2 {0123} x 3 {0123} x 4 {0123} x = (2⅓,3,2⅔,0) value = 523⅓

47 Branch-inferand-relax tree Branch on a variable with nonintegral value in the relaxation. GE 7 Sep 07 Slide 47 x 1 { 123} x 2 {0123} x 3 {0123} x 4 {0123} x = (2⅓,3,2⅔,0) value = 523⅓ x 1 {1,2} x 1 = 3

48 Branch-inferand-relax tree Propagate bounds and solve relaxation. Since relaxation is infeasible, backtrack. GE 7 Sep 07 Slide 48 x 1 { 12 } x 2 { 23} x 3 { 123} x 4 { 123} infeasible relaxation x 1 { 123} x 2 {0123} x 3 {0123} x 4 {0123} x = (2⅓,3,2⅔,0) value = 523⅓ x 1 {1,2} x 1 = 3

49 Branch-inferand-relax tree Propagate bounds and solve relaxation. Branch on nonintegral variable. GE 7 Sep 07 Slide 49 x 1 { 12 } x 2 { 23} x 3 { 123} x 4 { 123} infeasible relaxation x 1 { 123} x 2 {0123} x 3 {0123} x 4 {0123} x = (2⅓,3,2⅔,0) value = 523⅓ x 1 {1,2} x 1 = 3 x 1 { 3} x 2 {0123} x 3 {0123} x 4 {0123} x = (3,2.6,2,0) value = 526 x 2 = 3 x 2 {0,1,2}

50 Branch-inferand-relax tree Branch again. GE 7 Sep 07 Slide 50 x 1 { 12 } x 2 { 23} x 3 { 123} x 4 { 123} infeasible relaxation x 1 { 123} x 2 {0123} x 3 {0123} x 4 {0123} x = (2⅓,3,2⅔,0) value = 523⅓ x 1 {1,2} x 1 = 3 x 1 { 3} x 2 {012 } x 3 { 123} x 4 {0123} x = (3,2,2¾,0) value = 527½ x 3 {1,2} x 3 = 3 x 1 { 3} x 2 {0123} x 3 {0123} x 4 {0123} x = (3,2.6,2,0) value = 526 x 2 = 3 x 2 {0,1,2}

51 Branch-inferand-relax tree Solution of relaxation is integral and therefore feasible in the original problem. This becomes the incumbent solution. GE 7 Sep 07 Slide 51 x 1 { 12 } x 2 { 23} x 3 { 123} x 4 { 123} infeasible relaxation x 1 { 123} x 2 {0123} x 3 {0123} x 4 {0123} x = (2⅓,3,2⅔,0) value = 523⅓ x 1 {1,2} x 1 = 3 x 1 { 3} x 2 {012 } x 3 { 123} x 4 {0123} x = (3,2,2¾,0) value = 527½ x 1 { 3} x 2 { 12 } x 3 { 12 } x 4 { 123} x = (3,2,2,1) value = 530 feasible solution x 3 {1,2} x 3 = 3 x 1 { 3} x 2 {0123} x 3 {0123} x 4 {0123} x = (3,2.6,2,0) value = 526 x 2 = 3 x 2 {0,1,2}

52 Branch-inferand-relax tree Solution is nonintegral, but we can backtrack because value of relaxation is no better than incumbent solution. GE 7 Sep 07 Slide 52 x 1 { 12 } x 2 { 23} x 3 { 123} x 4 { 123} infeasible relaxation x 1 { 123} x 2 {0123} x 3 {0123} x 4 {0123} x = (2⅓,3,2⅔,0) value = 523⅓ x 1 {1,2} x 1 = 3 x 1 { 3} x 2 {012 } x 3 { 123} x 4 {0123} x = (3,2,2¾,0) value = 527½ x 1 { 3} x 2 { 12 } x 3 { 12 } x 4 { 123} x = (3,2,2,1) value = 530 feasible solution x 3 {1,2} x 3 = 3 x 1 { 3} x 2 {0123} x 3 {0123} x 4 {0123} x = (3,2.6,2,0) value = 526 x 2 = 3 x 2 {0,1,2} x 1 { 3} x 2 {012 } x 3 { 3} x 4 {012 } x = (3,1½,3,½) value = 530 backtrack due to bound

53 Branch-inferand-relax tree Another feasible solution found. No better than incumbent solution, which is optimal because search has finished. GE 7 Sep 07 Slide 53 x 1 { 12 } x 2 { 23} x 3 { 123} x 4 { 123} infeasible relaxation x 1 { 123} x 2 {0123} x 3 {0123} x 4 {0123} x = (2⅓,3,2⅔,0) value = 523⅓ x 1 {1,2} x 1 = 3 x 1 { 3} x 2 {012 } x 3 { 123} x 4 {0123} x = (3,2,2¾,0) value = 527½ x 1 { 3} x 2 { 12 } x 3 { 12 } x 4 { 123} x = (3,2,2,1) value = 530 feasible solution x 3 {1,2} x 3 = 3 x 1 { 3} x 2 {0123} x 3 {0123} x 4 {0123} x = (3,2.6,2,0) value = 526 x 2 = 3 x 2 {0,1,2} x 1 { 3} x 2 {012 } x 3 { 3} x 4 {012 } x = (3,1½,3,½) value = 530 backtrack due to bound x 1 { 3} x 2 { 3} x 3 {012 } x 4 {012 } x = (3,3,0,2) value = 530 feasible solution

54 Branch-inferand-relax tree Two optimal solutions found. In general, not all optimal solutions are found, GE 7 Sep 07 Slide 54 x 1 { 12 } x 2 { 23} x 3 { 123} x 4 { 123} infeasible relaxation x 1 { 123} x 2 {0123} x 3 {0123} x 4 {0123} x = (2⅓,3,2⅔,0) value = 523⅓ x 1 {1,2} x 1 = 3 x 1 { 3} x 2 {012 } x 3 { 123} x 4 {0123} x = (3,2,2¾,0) value = 527½ x 1 { 3} x 2 { 12 } x 3 { 12 } x 4 { 123} x = (3,2,2,1) value = 530 optimal solution x 3 {1,2} x 3 = 3 x 1 { 3} x 2 {0123} x 3 {0123} x 4 {0123} x = (3,2.6,2,0) value = 526 x 2 = 3 x 2 {0,1,2} x 1 { 3} x 2 { 3} x 3 {012 } x 4 {012 } x = (3,3,0,2) value = 530 optimal solution x 1 { 3} x 2 {012 } x 3 { 3} x 4 {012 } x = (3,1½,3,½) value = 530 backtrack due to bound

55 Other types of cutting planes Lifted 0-1 knapsack inequalities Clique inequalities Gomory cuts Mixed integer rounding cuts Disjunctive cuts Specialized cuts Flow cuts (fixed charge network flow problem) Comb inequalities (traveling salesman problem) Many, many others GE 7 Sep 07 Slide 55

56 Example: Product Configuration Branch-and-bound search with propagation and relaxation of variable indices. From: Thorsteinsson and Ottosson (2001) GE 7 Sep 07 Slide 56

57 This example illustrates: Propagation of variable indices. Variable index is converted to a specially structured element constraint. Specially structured filtering for element. Valid knapsack cuts are derived and propagated. GE 7 Sep 07 Slide 57

58 This example illustrates: Propagation of variable indices. Variable index is converted to a specially structured element constraint. Specially structured filtering for element. Valid knapsack cuts are derived and propagated. Relaxation of variable indices. Element is interpreted as a disjunction of linear systems. Convex hull relaxation for disjunction is used. GE 7 Sep 07 Slide 58

59 The problem Choose what type of each component, and how many Personal computer Memory Memory Memory Memory Memory Disk drive Disk drive Memory Power supply Power supply Power supply Power supply GE 7 Sep 07 Slide 59 Disk drive Disk drive Disk drive

60 Problem data GE 7 Sep 07 Slide 60

61 Model of the problem Unit cost of producing attribute j Amount of attribute j produced (< 0 if consumed): memory, heat, power, weight, etc. min j c v j j v = q A, all j j i ijt ik L v U, all j j j j i Amount of attribute j produced by type t i of component i t i is a variable index Quantity of component i installed GE 7 Sep 07 Slide 61

62 Model of the problem Linear inequality metaconstraint min j c v j j v = q A, all j j i ijt ik L v U, all j j j j i GE 7 Sep 07 Slide 62

63 Model of the problem Indexed linear metaconstraint min j c v j j v = q A, all j j i ijt ik L v U, all j j j j i GE 7 Sep 07 Slide 63

64 To solve it: Branch on domains of t i and q i. Propagate element constraints and bounds on v j. Derive and propagate knapsack cuts. Relax element. Convex hull relaxation for disjunction. GE 7 Sep 07 Slide 64

65 Propagation min j c v j j v = q A, all j j i ijt ik L v U, all j j j j i GE 7 Sep 07 Slide 65 This is propagated in the usual way

66 Propagation min j c v j j v = q A, all j j i ijt ik L v U, all j j j j i GE 7 Sep 07 Slide 66 = v z, all j j i i ( ) element t,( q, A,, q A ), z, all i, j i i ij 1 i ijn i This is rewritten as This is propagated in the usual way

67 Propagation = v z, all j j i i ( ) element t,( q, A,, q A ), z, all i, j i i ij 1 i ijn i This can be propagated by (a) using specialized filters for element constraints of this form GE 7 Sep 07 Slide 67

68 Propagation = v z, all j j i i ( ) element t,( q, A,, q A ), z, all i, j i i ij 1 i ijn i This is propagated by (a) using specialized filters for element constraints of this form, (b) adding knapsack cuts for the valid inequalities: i i { } max A q v, all j k D t i { } min A q v, all j k D t i ijk i ijk i j and (c) propagating the knapsack cuts. j [ v j, v j ] is current domain of v j GE 7 Sep 07 Slide 68

69 Relaxation min j c v j j v = q A, all j j i ijt ik L v U, all j j j j i GE 7 Sep 07 Slide 69 This is relaxed as v j v j v j

70 Relaxation min j c v j j v = q A, all j j i ijt ik L v U, all j j j j i GE 7 Sep 07 Slide 70 = v z, all j j i i ( ) element t,( q, A,, q A ), z, all i, j i i ij 1 i ijn i This is relaxed by relaxing this and adding the knapsack cuts. This is relaxed as v j v j v j

71 Relaxation = v z, all j j i i ( ) element t,( q, A,, q A ), z, all i, j i i ij 1 i ijn i This is relaxed by writing each element constraint as a disjunction of linear systems and writing a convex hull relaxation of the disjunction: z = A q, q = q i ijk ik i ik k D k D t i t i GE 7 Sep 07 Slide 71

72 Relaxation So the following LP relaxation is solved at each node of the search tree to obtain a lower bound: min j v = A q, all j q = q, all i v v v, all j q q q, all i { } knapsack cuts for max A q v, all j { } knapsack cuts for min A q v, all j q 0, all i, k t i j j j ijk ik i k D t i j ik k D j j j i i i ik c v i i k D k D t i t i ijk i j ijk i j GE 7 Sep 07 Slide 72

73 Solution of the example After propagation, the solution of the relaxation is feasible at the root node. No branching needed. min j v = A q, all j q = q, all i v v v, all j q q q, all i { } knapsack cuts for max A q v, all j { } knapsack cuts for min A q v, all j q 0, all i, k t i j j j ijk ik i k D t i j ik k D j j j i i i ik c v i i k D k D t i t i q 1, q 1C = 1 t 1 = C q 2, q 2A = 2 t 2 = A q 3, q 3B = 3 t 3 = B ijk i j ijk i j GE 7 Sep 07 Slide 73

74 Solution of the example After propagation, the solution of the relaxation is feasible at the root node. No branching needed. GE 7 Sep 07 Slide 74 min j v = A q, all j q = q, all i v v v, all j q q q, all i { } knapsack cuts for max A q v, all j { } knapsack cuts for min A q v, all j q 0, all i, k t i j j j ijk ik i k D t i j ik k D j j j i i i ik c v i i k D k D t i t i q 1, q 1C = 1 t 1 = C q 2, q 2A = 2 t 2 = A q 3, q 3B = 3 t 3 = B ijk i j ijk i j q 1 is integral, only one q 1k is positive

75 Solution of the example After propagation, the solution of the relaxation is feasible at the root node. No branching needed. Personal computer Memory B Memory B Memory B Disk drive A Disk drive A q 1, q 1C = 1 t 1 = C q 2, q 2A = 2 t 2 = A q 3, q 3B = 3 t 3 = B Power supply C GE 7 Sep 07 Slide 75

76 Computational Results (Ottosson & Thorsteinsson) x10 16x20 20x24 20x30 CPLEX CLP Hybrid Seconds Problem GE 7 Sep 07 Slide 76

77 Example: Continuous Global Optimization Branching on continuous variables with Lagrangean-based bounds propagation and linear or convex nonlinear relaxation GE 7 Sep 07 Slide 77

78 This example illustrates: Branching by splitting boxes. Propagation based on: Interval arithmetic. Lagrange multipliers. Linear relaxation using McCormick factorization. The best continuous global solvers (e.g., BARON) combine these tecnniques from CP and OR. GE 7 Sep 07 Slide 78

79 Propagation using Lagrange multipliers Supposing min f ( x ) g ( x ) 0 x S has optimal value v*, and each constraint i has Lagrange multiplier λ i *, it can be shown that if constraint i is tight, g ( x ) i U v * λ i * Where U is an upper bound on the optimal value. GE 7 Sep 07 Slide 79

80 Propagation using Lagrange multipliers Supposing min f ( x ) g ( x ) 0 x S has optimal value v*, and each constraint i has Lagrange multiplier λ i *, it can be shown that if constraint i is tight, g ( x ) i U v * λ i * This inequality can be propagated. GE 7 Sep 07 Slide 80

81 Propagation using Lagrange multipliers Supposing min f ( x ) g ( x ) 0 x S has optimal value v*, and each constraint i has Lagrange multiplier λ i *, it can be shown that if constraint i is tight, g ( x ) i U v * λ i * This inequality can be propagated. When applied to bounds on variables, this technique yields bounds propagation. When the relaxation is linear, this becomes reduced cost variable fixing (widely used in integer programming) GE 7 Sep 07 Slide 81

82 The problem max x + x 4 x x = x + x 2 x [0,1], x [0,2] 1 2 Feasible set GE 7 Sep 07 Slide 82 x 2 Global optimum Local optimum x 1

83 The Problem max 4 x x = x + x x + x 2 x [0,1], x [0,2] 1 2 GE 7 Sep 07 Slide 83 Linear inequality metaconstraint

84 The Problem max 4 x x = x + x x + x 2 x [0,1], x [0,2] 1 2 GE 7 Sep 07 Slide 84 Bilinear (in)equality metaconstraint

85 To solve it: Search: split interval domains of x 1, x 2. Each node of search tree is a problem restriction. Propagation: Interval propagation, domain filtering. Use Lagrange multipliers to infer valid inequality for propagation. Relaxation: Use function factorization to obtain linear continuous relaxation. GE 7 Sep 07 Slide 85

86 Interval propagation Propagate intervals [0,1], [0,2] through constraints to obtain [1/8,7/8], [1/4,7/4] GE 7 Sep 07 Slide 86 x 2 x 1

87 Relaxation (function factorization) Factor complex functions into elementary functions that have known linear relaxations. Write 4x 1 x 2 = 1 as 4y = 1 where y = x 1 x 2. This factors 4x 1 x 2 into linear function 4y and bilinear function x 1 x 2. Linear function 4y is its own linear relaxation. GE 7 Sep 07 Slide 87

88 Relaxation (function factorization) Factor complex functions into elementary functions that have known linear relaxations. Write 4x 1 x 2 = 1 as 4y = 1 where y = x 1 x 2. This factors 4x 1 x 2 into linear function 4y and bilinear function x 1 x 2. Linear function 4y is its own linear relaxation. Bilinear function y = x 1 x 2 has relaxation: x x + x x x x y x x + x x x x x x + x x x x y x x + x x x x where domain of x j is [ x j, x j ] GE 7 Sep 07 Slide 88

89 Relaxation (function factorization) The linear relaxation becomes: min 4 y = x + x x + x 2 x x + x x x x y x x + x x x x x x + x x x x y x x + x x x x x x x, j = 1,2 j j j GE 7 Sep 07 Slide 89

90 Relaxation (function factorization) x 2 Solve linear relaxation. GE 7 Sep 07 Slide 90 x 1

91 Relaxation (function factorization) x 2 2 [1,1.75] x Solve linear relaxation. Since solution is infeasible, split an interval and branch. 2 [0.25,1] x GE 7 Sep 07 Slide 91 x 1

92 x 2 [1,1.75] x 2 [0.25,1] x 2 x 2 x 1 GE 7 Sep 07 Slide 92 x 1

93 x 2 [1,1.75] x 2 [0.25,1] x 2 Solution of relaxation is feasible, value = 1.25 x 2 This becomes incumbent solution x 1 GE 7 Sep 07 Slide 93 x 1

94 x 2 [1,1.75] x 2 [0.25,1] x 2 Solution of relaxation is feasible, value = 1.25 This becomes incumbent solution x 2 Solution of relaxation is not quite feasible, value = Also use Lagrange multipliers for domain filtering x 1 x 1 GE 7 Sep 07 Slide 94

95 Relaxation (function factorization) min 4 y = x + x x + x 2 x x + x x x x y x x + x x x x x x + x x x x y x x + x x x x x x x, j = 1,2 j j j Associated Lagrange multiplier in solution of relaxation is λ 2 = 1.1 GE 7 Sep 07 Slide 95

96 Relaxation (function factorization) min 4 y = x + x x + x 2 Associated Lagrange multiplier in solution of relaxation is λ 2 = 1.1 x x + x x x x y x x + x x x x x x + x x x x y x x + x x x x x x x, j = 1,2 j j j GE 7 Sep 07 Slide 96 This yields a valid inequality for propagation: x 1 + x 2 2 = Value of relaxation Lagrange multiplier Value of incumbent solution

97 Example: Airline Crew Scheduling Branch and price in which a linear relaxation of an MILP is solved by CP-based column generation From: Fahle et al. (2002) GE 7 Sep 07 Slide 97

98 This example illustrates: Overall mixed integer programming framework. Linear relaxation solved by CP-based column generation. GE 7 Sep 07 Slide 98

99 Solving an LP by column generation Suppose the LP relaxation of an integer programming problem has a huge number of variables: min 0 cx Ax = b x GE 7 Sep 07 Slide 99

100 Solving an LP by column generation Suppose the LP relaxation of an integer programming problem has a huge number of variables: We will solve a restricted master problem, which has a small subset of the variables: Column j of A GE 7 Sep 07 Slide 100 min 0 cx Ax = b x min j J x j 0 j J j j c x j j A x = b ( λ )

101 Solving an LP by column generation Suppose the LP relaxation of an integer programming problem has a huge number of variables: min 0 cx Ax = b x We will solve a restricted master problem, which has a small subset of the variables: Column j of A min j J x j 0 j J j j c x j j A x = b Adding x k to the problem would improve the solution if x k has a negative reduced cost: r k = c k λ A k < 0 GE 7 Sep 07 Slide 101 Row vector of dual (Lagrange) multipliers ( λ )

102 Column generation Adding x k to the problem would improve the solution if x k has a negative reduced cost: r k = c k λ A k < 0 Computing the reduced cost of x k is known as pricing x k. Cost of column y So we solve the pricing problem: min c y λ y y is a column of A GE 7 Sep 07 Slide 102

103 Column generation Adding x k to the problem would improve the solution if x k has a negative reduced cost: r k = c k λ A k < 0 Computing the reduced cost of x k is known as pricing x k. Cost of column y So we solve the pricing problem: min c y λ y y is a column of A This can often be solved by CP. We hope to find an optimal solution before generating too many columns. GE 7 Sep 07 Slide 103

104 Airline Crew Scheduling We want to assign crew members to flights to minimize cost while covering the flights and observing complex work rules. Flight data A roster is the sequence of flights assigned to a single crew member. The gap between two consecutive flights in a roster must be from 2 to 3 hours. Total flight time for a roster must be between 6 and 10 hours. Start time Finish time GE 7 Sep 07 Slide 104 For example, flight 1 cannot immediately precede 6 flight 4 cannot immediately precede 5. The possible rosters are: (1,3,5), (1,4,6), (2,3,5), (2,4,6)

105 Airline Crew Scheduling There are 2 crew members, and the possible rosters are: (1,3,5), (1,4,6), (2,3,5), (2,4,6) The LP relaxation of the problem is: Cost of assigning crew member 1 to roster 2 = 1 if we assign crew member 1 to roster 2, = 0 otherwise. Each crew member is assigned to exactly 1 roster. Each flight is assigned at least 1 crew member. GE 7 Sep 07 Slide 105

106 Airline Crew Scheduling There are 2 crew members, and the possible rosters are: (1,3,5), (1,4,6), (2,3,5), (2,4,6) The LP relaxation of the problem is: Cost of assigning crew member 1 to roster 2 = 1 if we assign crew member 1 to roster 2, = 0 otherwise. Each crew member is assigned to exactly 1 roster. Each flight is assigned at least 1 crew member. Rosters that cover flight 1. GE 7 Sep 07 Slide 106

107 Airline Crew Scheduling There are 2 crew members, and the possible rosters are: (1,3,5), (1,4,6), (2,3,5), (2,4,6) The LP relaxation of the problem is: Cost of assigning crew member 1 to roster 2 = 1 if we assign crew member 1 to roster 2, = 0 otherwise. Each crew member is assigned to exactly 1 roster. Each flight is assigned at least 1 crew member. Rosters that cover flight 2. GE 7 Sep 07 Slide 107

108 Airline Crew Scheduling There are 2 crew members, and the possible rosters are: (1,3,5), (1,4,6), (2,3,5), (2,4,6) The LP relaxation of the problem is: Cost of assigning crew member 1 to roster 2 = 1 if we assign crew member 1 to roster 2, = 0 otherwise. Each crew member is assigned to exactly 1 roster. Each flight is assigned at least 1 crew member. Rosters that cover flight 3. GE 7 Sep 07 Slide 108

109 Airline Crew Scheduling There are 2 crew members, and the possible rosters are: (1,3,5), (1,4,6), (2,3,5), (2,4,6) The LP relaxation of the problem is: Cost of assigning crew member 1 to roster 2 = 1 if we assign crew member 1 to roster 2, = 0 otherwise. Each crew member is assigned to exactly 1 roster. Each flight is assigned at least 1 crew member. Rosters that cover flight 4. GE 7 Sep 07 Slide 109

110 Airline Crew Scheduling There are 2 crew members, and the possible rosters are: (1,3,5), (1,4,6), (2,3,5), (2,4,6) The LP relaxation of the problem is: Cost of assigning crew member 1 to roster 2 = 1 if we assign crew member 1 to roster 2, = 0 otherwise. Each crew member is assigned to exactly 1 roster. Each flight is assigned at least 1 crew member. Rosters that cover flight 5. GE 7 Sep 07 Slide 110

111 Airline Crew Scheduling There are 2 crew members, and the possible rosters are: (1,3,5), (1,4,6), (2,3,5), (2,4,6) The LP relaxation of the problem is: Cost of assigning crew member 1 to roster 2 = 1 if we assign crew member 1 to roster 2, = 0 otherwise. Each crew member is assigned to exactly 1 roster. Each flight is assigned at least 1 crew member. Rosters that cover flight 6. GE 7 Sep 07 Slide 111

112 Airline Crew Scheduling There are 2 crew members, and the possible rosters are: (1,3,5), (1,4,6), (2,3,5), (2,4,6) The LP relaxation of the problem is: Cost c 12 of assigning crew member 1 to roster 2 = 1 if we assign crew member 1 to roster 2, = 0 otherwise. Each crew member is assigned to exactly 1 roster. Each flight is assigned at least 1 crew member. GE 7 Sep 07 Slide 112 In a real problem, there can be millions of rosters.

113 Airline Crew Scheduling We start by solving the problem with a subset of the columns: Optimal dual solution u 1 u 2 v 1 v 2 v 3 v 4 v 5 v 6 GE 7 Sep 07 Slide 113

114 Airline Crew Scheduling We start by solving the problem with a subset of the columns: Dual variables u 1 u 2 v 1 v 2 v 3 v 4 v 5 v 6 GE 7 Sep 07 Slide 114

115 Airline Crew Scheduling We start by solving the problem with a subset of the columns: Dual variables u 1 u 2 v 1 v 2 v 3 v 4 v 5 v 6 GE 7 Sep 07 Slide 115 The reduced cost of an excluded roster k for crew member i is c ik u i v j j in roster k We will formulate the pricing problem as a shortest path problem.

116 Pricing problem Crew member 1 Crew member 2 GE 7 Sep 07 Slide 116 2

117 Pricing problem Crew member 1 Crew member 2 GE 7 Sep 07 Slide 117 Each s-t path corresponds to a roster, provided the flight time is within bounds. 2

118 Pricing problem Crew member 1 Crew member 2 GE 7 Sep 07 Slide 118 Cost of flight 3 if it immediately follows flight 1, offset by dual multiplier for flight 1 2

119 Pricing problem Crew member 1 Dual multiplier omitted to break symmetry Crew member 2 GE 7 Sep 07 Slide 119 Cost of transferring from home to flight 1, offset by dual multiplier for crew member 1 2

120 Pricing problem Crew member 1 Crew member 2 GE 7 Sep 07 Slide 120 Length of a path is reduced cost of the corresponding roster. 2

121 Pricing problem 10 Crew member 1 0 Crew member 2 GE 7 Sep 07 Slide Arc lengths using dual solution of LP relaxation

122 Pricing problem 10 Crew member 1 Reduced cost = 1 Add x 12 to problem. 0 Crew member 2 Reduced cost = 2 Add x 23 to problem. GE 7 Sep 07 Slide Solution of shortest path problems After x 12 and x 23 are added to the problem, no remaining variable has negative reduced cost.

123 Pricing problem The shortest path problem cannot be solved by traditional shortest path algorithms, due to the bounds on total path length. It can be solved by CP: Set of flights assigned to crew member i Path length Graph Path global constraint Setsum global constraint Path( X, z, G ), all flights i i i ( j j ) T f s T min max j X i { } X flights, z < 0, all i i i Duration of flight j GE 7 Sep 07 Slide 123

124 Example: Machine Scheduling Constraint-directed search using logic-based Benders decomposition GE 7 Sep 07 Slide 124

125 This example illustrates: Constraint-based search as Benders decomposition Nogoods are Benders cuts. Solution of the master problem by MILP. Allocate jobs to machines. Solution of the subproblem by CP. Schedule jobs on each machine GE 7 Sep 07 Slide 125

126 Benders decomposition Constraint-directed search in which the master problem contains a fixed set of variables x. Applied to problems of the form min f ( x, y ) S ( x, y ) x D y D x, y When x is fixed to some value, the resulting subproblem is much easier: min f ( x, y ) S ( x, y ) y D y perhaps because it decouples into smaller problems. GE 7 Sep 07 Slide 126

127 Benders decomposition Constraint-directed search in which the master problem contains a fixed set of variables x. Applied to problems of the form min f ( x, y ) S ( x, y ) x D y D x, y When x is fixed to some value, the resulting subproblem is much easier: min f ( x, y ) S ( x, y ) y D y perhaps because it decouples into smaller problems. Nogoods are Benders cuts and exclude solutions no better than x. The Benders cut is obtained by solving the inference dual of the subproblem (classically, the linear programming dual). GE 7 Sep 07 Slide 127

128 Machine Scheduling Assign 5 jobs to 2 machines (A and B), and schedule the machines assigned to each machine within time windows. The objective is to minimize makespan. Time lapse between start of first job and end of last job. Assign the jobs in the master problem, to be solved by MILP. Schedule the jobs in the subproblem, to be solved by CP. GE 7 Sep 07 Slide 128

129 Machine Scheduling Job Data Once jobs are assigned, we can minimize overall makespan by minimizing makespan on each machine individually. So the subproblem decouples. Machine A Machine B GE 7 Sep 07 Slide 129

130 Machine Scheduling Job Data Once jobs are assigned, we can minimize overall makespan by minimizing makespan on each machine individually. So the subproblem decouples. Minimum makespan schedule for jobs 1, 2, 3, 5 on machine A GE 7 Sep 07 Slide 130

131 Machine Scheduling The problem is min M M s + p, all j j x j r s d p, all j j j j x j Start time of job j ( j j = ij j = ) disjunctive ( s x i ),( p x i ), all i Time windows Jobs cannot overlap GE 7 Sep 07 Slide 131 j j

132 Machine Scheduling The problem is min M M s + p, all j j x j r s d p, all j j j j x j ( j j = ij j = ) Indexed linear metaconstraint disjunctive ( s x i ),( p x i ), all i GE 7 Sep 07 Slide 132 j j

133 Machine Scheduling The problem is min M M s + p, all j j x j r s d p, all j j j j x j ( j j = ij j = ) disjunctive ( s x i ),( p x i ), all i Specially-structured indexed linear metaconstraint Disjunctive scheduling metaconstraint GE 7 Sep 07 Slide 133 j j

134 Machine Scheduling The problem is min M M s + p, all j j x j r s d p, all j j j j x j Start time of job j ( j j = ij j = ) disjunctive ( s x i ),( p x i ), all i Time windows Jobs cannot overlap For a fixed assignment x the subproblem on each machine i is GE 7 Sep 07 Slide 134 min M M s + p, all j with x = i j x j j r s d p, all j with x = i j j j x j j ( s j x j = i p ij x j = i ) disjunctive ( ),( ) j j j j

135 Benders cuts Suppose we assign jobs 1,2,3,5 to machine A in iteration k. We can prove that 10 is the optimal makespan by proving that the schedule is infeasible with makespan 9. Edge finding derives infeasibility by reasoning only with jobs 2,3,5. So these jobs alone create a minimum makespan of 10. So we have a Benders cut v B k + 1 ( x ) = 10 if x = x = x = A otherwise GE 7 Sep 07 Slide 135

136 Benders cuts We want the master problem to be an MILP, which is good for assignment problems. So we write the Benders cut v B x k + 1 ( ) = 10 if x = x = x = A otherwise Using 0-1 variables: 10 ( ) A A A v x x x v = 1 if job 5 is assigned to machine A GE 7 Sep 07 Slide 136

137 Master problem The master problem is an MILP: min v j j 5 = 5 1 = 1 p x Aj Aj p x Bj Bj Constraints derived from time windows 10, etc. Constraints derived from release times 10, etc. 5 5 v p x, v 2 + p x, etc., i = A, B ij ij ij ij j = 1 j = 3 v 10( x + x + x 2) v 8 x x ij B 4 { 0,1 } A 2 A 3 A 5 Benders cut from machine A Benders cut from machine B GE 7 Sep 07 Slide 137

138 Computational Results (Jain & Grossmann) Seconds Problem sizes (jobs, machines) 1 - (3,2) 2 - (7,3) 3 - (12,3) 4 - (15,5) 5 - (20,5) Each data point represents an average of 2 instances MILP and CP ran out of memory on 1 of the largest instances Problem size GE 7 Sep 07 Slide 138 MILP CP OPL Hybrid

139 Enhancement Using Branch and Check (Thorsteinsson) Computation times in seconds. Problems have 30 jobs, 7 machines Hybrid Branch & check Seconds Problem GE 7 Sep 07 Slide 139

140 Stronger Benders cuts If all release times are the same, we can strengthen the Benders cuts. We are now using the cut v M ik x ij J ik + 1 j J ik Min makespan on machine i in iteration k Set of jobs assigned to machine i in iteration k A stronger cut provides a useful bound even if only some of the jobs in J ik are assigned to machine i: v M (1 x ) p ik ij ij j J ik These results can be generalized to cumulative scheduling. GE 7 Sep 07 Slide 140

141 Three success stories These are chosen because: They illustrate how scheduling interacts with other aspects of supply chain. And thus how CP can interact with other methods. Since they were part of a government (EU) supported project (LISCOS), a fair amount of detail was released to public. All were solved with help of Dash s Mosel system. GE 7 Sep 07 Slide 141

142 Process scheduling and lot sizing at BASF Manufacture of polypropylenes in 3 stages polymerization intermediate storage extrusion GE 7 Sep 07 Slide 142

143 Process scheduling and lot sizing at BASF Manual planning (old method) Required 3 days Limited flexibility and quality control 24/7 continuous production Variable batch size. Sequence-dependent changeover times. GE 7 Sep 07 Slide 143

144 Process scheduling and lot sizing at BASF Intermediate storage Limited capacity One product per silo Extrusion Production rate depends on product and machine GE 7 Sep 07 Slide 144

145 Process scheduling and lot sizing at BASF Three problems in one Lot sizing based on customer demand forecasts Assignment put each batch on a particular machine Sequencing decide the order in which each machine processes batches assigned to it GE 7 Sep 07 Slide 145

146 Process scheduling and lot sizing at BASF The problems are interdependent Lot sizing depends on assignment, since machines run at different speeds Assignment depends on sequencing, due to restrictions on changeovers Sequencing depends on lot sizing, due to limited intermediate storage GE 7 Sep 07 Slide 146

147 Process scheduling and lot sizing at BASF Solve the problems simultaneously Lot sizing: solve with MIP (using XPRESS-MP) Assignment: solve with MIP Sequencing: solve with CP (using CHIP) The MIP and CP are linked mathematically. Use logic-based Benders decomposition, developed only in the last few years. GE 7 Sep 07 Slide 147

148 Sample schedule, illustrated with Visual Scheduler (AviS/3) Source: BASF GE 7 Sep 07 Slide 148

149 Process scheduling and lot sizing at BASF Benefits Optimal solution obtained in 10 mins. Entire planning process (data gathering, etc.) requires a few hours. More flexibility Faster response to customers Better quality control GE 7 Sep 07 Slide 149

150 Paint production at Barbot Two problems to solve simultaneously Lot sizing Machine scheduling Focus on solvent-based paints, for which there are fewer stages. Barbot is a Portuguese paint manufacturer. Several machines of each type GE 7 Sep 07 Slide 150

151 Paint production at Barbot Solution method similar to BASF case (MIP + CP). Benefits Optimal solution obtained in a few minutes for 20 machines and 80 products. Product shortages eliminated. 10% increase in output. Fewer cleanup materials. Customer lead time reduced. GE 7 Sep 07 Slide 151

152 Production line sequencing at Peugeot-Citroën The Peugeot 206 can be manufactured with 12,000 option combinations. Planning horizon is 5 days GE 7 Sep 07 Slide 152

153 Production line sequencing at Peugeot-Citroën Each car passes through 3 shops. Objectives Group similar cars (e.g. in paint shop). Reduce setups. GE 7 Sep 07 Slide 153 Balance work station loads.

154 Production line sequencing at Peugeot-Citroën Special constraints Cars with a sun roof should be grouped together in assembly. Air-conditioned cars should not be assembled consecutively. Etc. GE 7 Sep 07 Slide 154

155 Production line sequencing at Peugeot-Citroën Problem has two parts Determine number of cars of each type assigned to each line on each day. Determine sequencing for each line on each day. Problems are solved simultaneously. Again by MIP + CP. GE 7 Sep 07 Slide 155

156 Source: Peugeot/Citroën GE 7 Sep 07 Slide 156 Sample schedule

157 Production line sequencing at Peugeot-Citroën Benefits Greater ability to balance such incompatible benefits as fewer setups and faster customer service. Better schedules. GE 7 Sep 07 Slide 157

158 Line balancing at Peugeot-Citroën A classic production sequencing problem Source: Peugeot/Citroën GE 7 Sep 07 Slide 158

159 Line balancing at Peugeot-Citroën Objective Equalize load at work stations. Keep each worker on one side of the car Constraints Precedence constraints between some operations. Ergonomic requirements. Right equipment at stations (e.g. air socket) GE 7 Sep 07 Slide 159

160 Line balancing at Peugeot-Citroën Solution again obtained by an integrated method. MIP: obtain solution without regard to precedence constraints. CP: Reschedule to enforce precedence constraints. The two methods interact. GE 7 Sep 07 Slide 160

161 Source: Peugeot/Citroën GE 7 Sep 07 Slide 161

162 Line balancing at Peugeot-Citroën Benefits Better equalization of load. Some stations could be closed, reducing labor. Improvements needed Reduce trackside clutter. Equalize space requirements. Keep workers on one side of car. GE 7 Sep 07 Slide 162

163 Background Reading Much of this talk is based on: J. N. Hooker, Integrated Methods for Optimization, Springer (2007). J. N. Hooker, Operations research methods in constraint programming, in F. Rossi, P. van Beek and T. Walsh, eds., Handbook of Constraint Programming, Elsevier (2006) Cited references: T. Fahle, U. Junker, S. E. Karish, N. Kohn, M. Sellmann, B. Vaaben. Constraint programming based column generation for crew assignment, Journal of Heuristics 8 (2002) E. Thorsteinsson and G. Ottosson, Linear relaxation and reducedcost based propagation of continuous variable subscripts, Annals of Operations Research 115 (2001) GE 7 Sep 07 Slide 163

164 GE 7 Sep 07 Slide 164

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

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

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

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

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

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

Recent Developments in Integrated Methods for Optimization

Recent Developments in Integrated Methods for Optimization Recent Developments in Integrated Methods for Optimization John Hooker Carnegie Mellon University August 2012 Premise Constraint programming and mathematical programming can work together. There is underlying

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

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

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

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

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

An Integrated Solver for Optimization Problems

An Integrated Solver for Optimization Problems WORKING PAPER WPS-MAS-08-01 Department of Management Science School of Business Administration, University of Miami Coral Gables, FL 33124-8237 Created: December 2005 Last update: July 2008 An Integrated

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

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

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

Lessons from MIP Search. John Hooker Carnegie Mellon University November 2009 Lessons from MIP Search John Hooker Carnegie Mellon University November 2009 Outline MIP search The main ideas Duality and nogoods From MIP to AI (and back) Binary decision diagrams From MIP to constraint

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

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

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

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

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

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

Planning and Scheduling by Logic-Based Benders Decomposition

Planning and Scheduling by Logic-Based Benders Decomposition Planning and Scheduling by Logic-Based Benders Decomposition J. N. Hooker Carnegie Mellon University john@hooker.tepper.cmu.edu July 2004, Revised October 2005 Abstract We combine mixed integer linear

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

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

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming Chapter 3: Discrete Optimization Integer Programming Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Website: http://home.deib.polimi.it/amaldi/opt-16-17.shtml Academic year 2016-17

More information

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming Chapter 3: Discrete Optimization Integer Programming Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Sito web: http://home.deib.polimi.it/amaldi/ott-13-14.shtml A.A. 2013-14 Edoardo

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

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

MVE165/MMG630, Applied Optimization Lecture 6 Integer linear programming: models and applications; complexity. Ann-Brith Strömberg

MVE165/MMG630, Applied Optimization Lecture 6 Integer linear programming: models and applications; complexity. Ann-Brith Strömberg MVE165/MMG630, Integer linear programming: models and applications; complexity Ann-Brith Strömberg 2011 04 01 Modelling with integer variables (Ch. 13.1) Variables Linear programming (LP) uses continuous

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

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

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

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

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs Computational Integer Programming Lecture 2: Modeling and Formulation Dr. Ted Ralphs Computational MILP Lecture 2 1 Reading for This Lecture N&W Sections I.1.1-I.1.6 Wolsey Chapter 1 CCZ Chapter 2 Computational

More information

Multiperiod Blend Scheduling Problem

Multiperiod Blend Scheduling Problem ExxonMobil Multiperiod Blend Scheduling Problem Juan Pablo Ruiz Ignacio E. Grossmann Department of Chemical Engineering Center for Advanced Process Decision-making University Pittsburgh, PA 15213 1 Motivation

More information

MINLP: Theory, Algorithms, Applications: Lecture 3, Basics of Algorothms

MINLP: Theory, Algorithms, Applications: Lecture 3, Basics of Algorothms MINLP: Theory, Algorithms, Applications: Lecture 3, Basics of Algorothms Jeff Linderoth Industrial and Systems Engineering University of Wisconsin-Madison Jonas Schweiger Friedrich-Alexander-Universität

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

Scheduling with Constraint Programming. Job Shop Cumulative Job Shop

Scheduling with Constraint Programming. Job Shop Cumulative Job Shop Scheduling with Constraint Programming Job Shop Cumulative Job Shop CP vs MIP: Task Sequencing We need to sequence a set of tasks on a machine Each task i has a specific fixed processing time p i Each

More information

Resource Constrained Project Scheduling Linear and Integer Programming (1)

Resource Constrained Project Scheduling Linear and Integer Programming (1) DM204, 2010 SCHEDULING, TIMETABLING AND ROUTING Lecture 3 Resource Constrained Project Linear and Integer Programming (1) Marco Chiarandini Department of Mathematics & Computer Science University of Southern

More information

21. Set cover and TSP

21. Set cover and TSP CS/ECE/ISyE 524 Introduction to Optimization Spring 2017 18 21. Set cover and TSP ˆ Set covering ˆ Cutting problems and column generation ˆ Traveling salesman problem Laurent Lessard (www.laurentlessard.com)

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

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

Outline. Relaxation. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Lagrangian Relaxation. Lecture 12 Single Machine Models, Column Generation

Outline. Relaxation. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Lagrangian Relaxation. Lecture 12 Single Machine Models, Column Generation Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING 1. Lagrangian Relaxation Lecture 12 Single Machine Models, Column Generation 2. Dantzig-Wolfe Decomposition Dantzig-Wolfe Decomposition Delayed Column

More information

Robust Scheduling with Logic-Based Benders Decomposition

Robust Scheduling with Logic-Based Benders Decomposition Robust Scheduling with Logic-Based Benders Decomposition Elvin Çoban and Aliza Heching and J N Hooker and Alan Scheller-Wolf Abstract We study project scheduling at a large IT services delivery center

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

Lecture 8: Column Generation

Lecture 8: Column Generation Lecture 8: Column Generation (3 units) Outline Cutting stock problem Classical IP formulation Set covering formulation Column generation A dual perspective Vehicle routing problem 1 / 33 Cutting stock

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

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini In the name of God Network Flows 6. Lagrangian Relaxation 6.3 Lagrangian Relaxation and Integer Programming Fall 2010 Instructor: Dr. Masoud Yaghini Integer Programming Outline Branch-and-Bound Technique

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

Integer Programming Part II

Integer Programming Part II Be the first in your neighborhood to master this delightful little algorithm. Integer Programming Part II The Branch and Bound Algorithm learn about fathoming, bounding, branching, pruning, and much more!

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

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

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

Column Generation for Extended Formulations

Column Generation for Extended Formulations 1 / 28 Column Generation for Extended Formulations Ruslan Sadykov 1 François Vanderbeck 2,1 1 INRIA Bordeaux Sud-Ouest, France 2 University Bordeaux I, France ISMP 2012 Berlin, August 23 2 / 28 Contents

More information

arxiv:cs/ v2 [cs.dm] 21 Aug 2001

arxiv:cs/ v2 [cs.dm] 21 Aug 2001 Solving Assembly Line Balancing Problems by Combining IP and CP Alexander Bockmayr and Nicolai Pisaruk arxiv:cs/0106002v2 [cs.dm] 21 Aug 2001 Université Henri Poincaré, LORIA B.P. 239, F-54506 Vandœuvre-lès-Nancy,

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

Practical Tips for Modelling Lot-Sizing and Scheduling Problems. Waldemar Kaczmarczyk

Practical Tips for Modelling Lot-Sizing and Scheduling Problems. Waldemar Kaczmarczyk Decision Making in Manufacturing and Services Vol. 3 2009 No. 1 2 pp. 37 48 Practical Tips for Modelling Lot-Sizing and Scheduling Problems Waldemar Kaczmarczyk Abstract. This paper presents some important

More information

Extended Formulations, Lagrangian Relaxation, & Column Generation: tackling large scale applications

Extended Formulations, Lagrangian Relaxation, & Column Generation: tackling large scale applications Extended Formulations, Lagrangian Relaxation, & Column Generation: tackling large scale applications François Vanderbeck University of Bordeaux INRIA Bordeaux-Sud-Ouest part : Defining Extended Formulations

More information

Outline. Outline. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Scheduling CPM/PERT Resource Constrained Project Scheduling Model

Outline. Outline. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Scheduling CPM/PERT Resource Constrained Project Scheduling Model Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING Lecture 3 and Mixed Integer Programg Marco Chiarandini 1. Resource Constrained Project Model 2. Mathematical Programg 2 Outline Outline 1. Resource Constrained

More information

Workforce Scheduling. Outline DM87 SCHEDULING, TIMETABLING AND ROUTING. Outline. Workforce Scheduling. 1. Workforce Scheduling.

Workforce Scheduling. Outline DM87 SCHEDULING, TIMETABLING AND ROUTING. Outline. Workforce Scheduling. 1. Workforce Scheduling. Outline DM87 SCHEDULING, TIMETABLING AND ROUTING Lecture 17 Workforce Scheduling 2. Crew Scheduling and Roering Marco Chiarandini DM87 Scheduling, Timetabling and Routing 2 Outline Workforce Scheduling

More information

INTEGER PROGRAMMING. In many problems the decision variables must have integer values.

INTEGER PROGRAMMING. In many problems the decision variables must have integer values. INTEGER PROGRAMMING Integer Programming In many problems the decision variables must have integer values. Example:assign people, machines, and vehicles to activities in integer quantities. If this is the

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

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

Introduction to optimization and operations research

Introduction to optimization and operations research Introduction to optimization and operations research David Pisinger, Fall 2002 1 Smoked ham (Chvatal 1.6, adapted from Greene et al. (1957)) A meat packing plant produces 480 hams, 400 pork bellies, and

More information

A Principled Approach to Mixed Integer/Linear Problem Formulation

A Principled Approach to Mixed Integer/Linear Problem Formulation A Principled Approach to Mixed Integer/Linear Problem Formulation J N Hooker September 9, 2008 Abstract We view mixed integer/linear problem formulation as a process of identifying disjunctive and knapsack

More information

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1 5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1 Definition: An Integer Linear Programming problem is an optimization problem of the form (ILP) min

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

On the exact solution of a large class of parallel machine scheduling problems

On the exact solution of a large class of parallel machine scheduling problems 1 / 23 On the exact solution of a large class of parallel machine scheduling problems Teobaldo Bulhões 2 Ruslan Sadykov 1 Eduardo Uchoa 2 Anand Subramanian 3 1 Inria Bordeaux and Univ. Bordeaux, France

More information

A First Look at Picking Dual Variables for Maximizing Reduced Cost Fixing

A First Look at Picking Dual Variables for Maximizing Reduced Cost Fixing TSpace Research Repository tspace.library.utoronto.ca A First Look at Picking Dual Variables for Maximizing Reduced Cost Fixing Omid Sanei Bajgiran, Andre A. Cire, and Louis-Martin Rousseau Version Post-print/accepted

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

Column Generation. ORLAB - Operations Research Laboratory. Stefano Gualandi. June 14, Politecnico di Milano, Italy

Column Generation. ORLAB - Operations Research Laboratory. Stefano Gualandi. June 14, Politecnico di Milano, Italy ORLAB - Operations Research Laboratory Politecnico di Milano, Italy June 14, 2011 Cutting Stock Problem (from wikipedia) Imagine that you work in a paper mill and you have a number of rolls of paper of

More information

CHAPTER 3: INTEGER PROGRAMMING

CHAPTER 3: INTEGER PROGRAMMING CHAPTER 3: INTEGER PROGRAMMING Overview To this point, we have considered optimization problems with continuous design variables. That is, the design variables can take any value within a continuous feasible

More information

Integer Linear Programming Modeling

Integer Linear Programming Modeling DM554/DM545 Linear and Lecture 9 Integer Linear Programming Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. Assignment Problem Knapsack Problem

More information

Optimization Exercise Set n.5 :

Optimization Exercise Set n.5 : Optimization Exercise Set n.5 : Prepared by S. Coniglio translated by O. Jabali 2016/2017 1 5.1 Airport location In air transportation, usually there is not a direct connection between every pair of airports.

More information

Recoverable Robustness in Scheduling Problems

Recoverable Robustness in Scheduling Problems Master Thesis Computing Science Recoverable Robustness in Scheduling Problems Author: J.M.J. Stoef (3470997) J.M.J.Stoef@uu.nl Supervisors: dr. J.A. Hoogeveen J.A.Hoogeveen@uu.nl dr. ir. J.M. van den Akker

More information

A Hub Location Problem with Fully Interconnected Backbone and Access Networks

A Hub Location Problem with Fully Interconnected Backbone and Access Networks A Hub Location Problem with Fully Interconnected Backbone and Access Networks Tommy Thomadsen Informatics and Mathematical Modelling Technical University of Denmark 2800 Kgs. Lyngby Denmark tt@imm.dtu.dk

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

Lecture 8: Column Generation

Lecture 8: Column Generation Lecture 8: Column Generation (3 units) Outline Cutting stock problem Classical IP formulation Set covering formulation Column generation A dual perspective 1 / 24 Cutting stock problem 2 / 24 Problem description

More information

Introduction to Bin Packing Problems

Introduction to Bin Packing Problems Introduction to Bin Packing Problems Fabio Furini March 13, 2015 Outline Origins and applications Applications: Definition: Bin Packing Problem (BPP) Solution techniques for the BPP Heuristic Algorithms

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

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

Decomposition-based Methods for Large-scale Discrete Optimization p.1

Decomposition-based Methods for Large-scale Discrete Optimization p.1 Decomposition-based Methods for Large-scale Discrete Optimization Matthew V Galati Ted K Ralphs Department of Industrial and Systems Engineering Lehigh University, Bethlehem, PA, USA Départment de Mathématiques

More information

Planning and Scheduling of batch processes. Prof. Cesar de Prada ISA-UVA

Planning and Scheduling of batch processes. Prof. Cesar de Prada ISA-UVA Planning and Scheduling of batch processes Prof. Cesar de Prada ISA-UVA prada@autom.uva.es Outline Batch processes and batch plants Basic concepts of scheduling How to formulate scheduling problems Solution

More information

Section #2: Linear and Integer Programming

Section #2: Linear and Integer Programming Section #2: Linear and Integer Programming Prof. Dr. Sven Seuken 8.3.2012 (with most slides borrowed from David Parkes) Housekeeping Game Theory homework submitted? HW-00 and HW-01 returned Feedback on

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

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

Cutting Plane Separators in SCIP

Cutting Plane Separators in SCIP Cutting Plane Separators in SCIP Kati Wolter Zuse Institute Berlin DFG Research Center MATHEON Mathematics for key technologies 1 / 36 General Cutting Plane Method MIP min{c T x : x X MIP }, X MIP := {x

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

Large-scale optimization and decomposition methods: outline. Column Generation and Cutting Plane methods: a unified view

Large-scale optimization and decomposition methods: outline. Column Generation and Cutting Plane methods: a unified view Large-scale optimization and decomposition methods: outline I Solution approaches for large-scaled problems: I Delayed column generation I Cutting plane methods (delayed constraint generation) 7 I Problems

More information

3.10 Column generation method

3.10 Column generation method 3.10 Column generation method Many relevant decision-making (discrete optimization) problems can be formulated as ILP problems with a very large (exponential) number of variables. Examples: cutting stock,

More information

Branch-and-Price-and-Cut for the Split Delivery Vehicle Routing Problem with Time Windows

Branch-and-Price-and-Cut for the Split Delivery Vehicle Routing Problem with Time Windows Branch-and-Price-and-Cut for the Split Delivery Vehicle Routing Problem with Time Windows Guy Desaulniers École Polytechnique de Montréal and GERAD Column Generation 2008 Aussois, France Outline Introduction

More information

3.10 Column generation method

3.10 Column generation method 3.10 Column generation method Many relevant decision-making problems can be formulated as ILP problems with a very large (exponential) number of variables. Examples: cutting stock, crew scheduling, vehicle

More information

Software for Integer and Nonlinear Optimization

Software for Integer and Nonlinear Optimization Software for Integer and Nonlinear Optimization Sven Leyffer, leyffer@mcs.anl.gov Mathematics & Computer Science Division Argonne National Laboratory Roger Fletcher & Jeff Linderoth Advanced Methods and

More information

Column Generation. MTech Seminar Report. Soumitra Pal Roll No: under the guidance of

Column Generation. MTech Seminar Report. Soumitra Pal Roll No: under the guidance of Column Generation MTech Seminar Report by Soumitra Pal Roll No: 05305015 under the guidance of Prof. A. G. Ranade Computer Science and Engineering IIT-Bombay a Department of Computer Science and Engineering

More information

Solving LP and MIP Models with Piecewise Linear Objective Functions

Solving LP and MIP Models with Piecewise Linear Objective Functions Solving LP and MIP Models with Piecewise Linear Obective Functions Zonghao Gu Gurobi Optimization Inc. Columbus, July 23, 2014 Overview } Introduction } Piecewise linear (PWL) function Convex and convex

More information

Models and Cuts for the Two-Echelon Vehicle Routing Problem

Models and Cuts for the Two-Echelon Vehicle Routing Problem Models and Cuts for the Two-Echelon Vehicle Routing Problem Guido Perboli Roberto Tadei Francesco Masoero Department of Control and Computer Engineering, Politecnico di Torino Corso Duca degli Abruzzi,

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