Orbital Conflict. Jeff Linderoth. Jim Ostrowski. Fabrizio Rossi Stefano Smriglio. When Worlds Collide. Univ. of Wisconsin-Madison

Size: px
Start display at page:

Download "Orbital Conflict. Jeff Linderoth. Jim Ostrowski. Fabrizio Rossi Stefano Smriglio. When Worlds Collide. Univ. of Wisconsin-Madison"

Transcription

1 Orbital Conflict When Worlds Collide Jeff Linderoth Univ. of Wisconsin-Madison Jim Ostrowski University of Tennessee Fabrizio Rossi Stefano Smriglio Univ. of L Aquila MIP 2014 Columbus, OH July 23, 2014 The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

2 In The Beginning Motivation 1 François Symmetry is was HOT Symmetry-exploiting branching methods have within the last 5 years or so made some significant impact in our ability to solve some instances of MIP The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

3 In The Beginning Motivation 1 François Symmetry is was HOT Symmetry-exploiting branching methods have within the last 5 years or so made some significant impact in our ability to solve some instances of MIP 2 Cutting planes are STRONG Cutting Planes for an appropriate (strong) relaxation of an instance are perhaps the most important ingredient in our ability to solve MIP The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

4 In The Beginning Motivation 1 François Symmetry is was HOT Symmetry-exploiting branching methods have within the last 5 years or so made some significant impact in our ability to solve some instances of MIP 2 Cutting planes are STRONG Cutting Planes for an appropriate (strong) relaxation of an instance are perhaps the most important ingredient in our ability to solve MIP 3 Can We Merge The Two? Can we exploit symmetry to build relaxations from which we can generate cutting planes? The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

5 In The Beginning Background Prior to Blastoff Primary Problem(s) of Focus SCP min x {0,1} n{1 n x Ax 1 m} or SPP max x {0,1} n{1 n x Ax 1 m} A {0, 1} m n F : The set of feasible solutions Π n : The collection of permutations of [n] = {1, 2,..., n} The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

6 In The Beginning Background Prior to Blastoff Primary Problem(s) of Focus SCP min x {0,1} n{1 n x Ax 1 m} or SPP max x {0,1} n{1 n x Ax 1 m} A {0, 1} m n F : The set of feasible solutions Π n : The collection of permutations of [n] = {1, 2,..., n} Note: 1 n x = 1 n π(x) π Π n is a symmetry of IP if it maps a feasible solution to another feasible solution (of the same value) x F π(x) F Symmetric Potato The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

7 In The Beginning Background The Symmetry Group The set of symmetries of the instance (with composition of permutations) forms the symmetry group Γ = { π Π n π(x) F x F} The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

8 In The Beginning Background The Symmetry Group The set of symmetries of the instance (with composition of permutations) forms the symmetry group Γ = { π Π n π(x) F x F} Γ is a property of the feasible region: F = Γ = Π n So finding Γ must be at least as hard as solving the instance itself The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

9 In The Beginning Background The Symmetry Group The set of symmetries of the instance (with composition of permutations) forms the symmetry group Γ = { π Π n π(x) F x F} Γ is a property of the feasible region: F = Γ = Π n So finding Γ must be at least as hard as solving the instance itself For our methods, we can work with any subgroup G Γ For SCP and SPP, we can use the symmetry group of the matrix A: G(A) def = {π Π n σ Π m such that P σap π = A} Given A of reasonable size, there exist software packages (nauty, saucy) that can compute (generators of) G(A) effectively Actual algorithm is exponential, but in general works quickly enough for our problems of interest Computing (all) the generators is impractical for large problems AFAIK, this is not what commercial solvers do The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

10 In The Beginning Background Definitions Orbit For a point z R n, the orbit of z under G is the set of all points to which z can be sent by permutations in G: orb(g, z) def = {π(z) π G}. The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

11 In The Beginning Background Definitions Orbit For a point z R n, the orbit of z under G is the set of all points to which z can be sent by permutations in G: orb(g, z) def = {π(z) π G}. Stabilizer The stabilizer of a set S in G is the set of permutations in G that send S to itself: Used to stabilize sauces stab(s, G) = {π G π(s) = S}. stab(s, G) is a subgroup of G The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

12 In The Beginning Background Last Notation And Some Notation Abuse Branch-and-bound node a = (F a 1, F a 0 ), F a 1 : Set of variables fixed to one F a 0 : Set of variables fixed to zero The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

13 In The Beginning Background Last Notation And Some Notation Abuse Branch-and-bound node a = (F a 1, F a 0 ), F a 1 : Set of variables fixed to one F a 0 : Set of variables fixed to zero We sometimes extend permutations to acts on sets (specifically on sets of variables) in the natural way: S Z, S Z, π(s) = S if and only if π( i S e i ) = i S e i. So I may talk about the orbit of a variable or a pair of variables : orb(g, {j}) def = orb(g, e j ) orb(g, {i, j}) def = orb(g, e i + e j ) The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

14 In The Beginning Background Last Notation And Some Notation Abuse Branch-and-bound node a = (F a 1, F a 0 ), F a 1 : Set of variables fixed to one F a 0 : Set of variables fixed to zero We sometimes extend permutations to acts on sets (specifically on sets of variables) in the natural way: S Z, S Z, π(s) = S if and only if π( i S e i ) = i S e i. So I may talk about the orbit of a variable or a pair of variables : orb(g, {j}) def = orb(g, e j ) orb(g, {i, j}) def = orb(g, e i + e j ) I will also refer to the group stab(f a 1, G) The subgroup of G in which permutations do not shift indices of variables fixed to 1 outside of the set F a 1 As we fix variables (to 1) at node a, the symmetry remaining in the problem becomes stab(f a 1, G) The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

15 In The Beginning Orbital Branching Review Orbital Branching Groups contain inverse elements, so {k} orb({j}, G) {j} orb({k}, G), and the union of the orbits of each variable {i} forms a partition of [n]. The orbits encode which variables are equivalent (symmetric) with respect to the symmetry G. The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

16 In The Beginning Orbital Branching Review Orbital Branching Groups contain inverse elements, so {k} orb({j}, G) {j} orb({k}, G), and the union of the orbits of each variable {i} forms a partition of [n]. The orbits encode which variables are equivalent (symmetric) with respect to the symmetry G. Orbital Branching Let O O be an orbit of the symmetry group of the IP. Surely we can branch as x i 1 or x i 0. i O i O The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

17 In The Beginning Orbital Branching Review Orbital Branching Groups contain inverse elements, so {k} orb({j}, G) {j} orb({k}, G), and the union of the orbits of each variable {i} forms a partition of [n]. The orbits encode which variables are equivalent (symmetric) with respect to the symmetry G. Orbital Branching Let O O be an orbit of the symmetry group of the IP. Surely we can branch as x i 1 or x i 0. i O i O If at least one variable i O is going to be one, and they are all equivalent, then you may as well pick (i ) one arbitrarily. x i = 1 or x i = 0 i O The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

18 In The Beginning Orbital Branching An Alternative View of Orbital Branching Suppose that you have found that the variables x e, x f, x g and x h share an orbit at node a, O = {e, f, g, h}. Then you can surely branch as: a e f g h x e = 1 x f = 1 x g = 1 x h = 1 j O x j = 0 The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

19 In The Beginning Orbital Branching An Alternative View of Orbital Branching Suppose that you have found that the variables x e, x f, x g and x h share an orbit at node a, O = {e, f, g, h}. Then you can surely branch as: a e f g h x e = 1 x f = 1 x g = 1 x h = 1 j O x j = 0 But the best solution you can find from nodes f, g, and h will be the same as the best solution you can find from node e In fact, solutions will be isomorphic Prune nodes f, g, and h The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

20 In The Beginning Orbital Branching Review Constraint Orbital Branching If π G, then imposing the constraint λ x λ 0 is equivalent to imposing the constraint π(λ) x λ 0 So if orb(g, λ) = {λ, µ 1, µ 2,..., µ K }, then the inequalities µ j x λ 0 are all equivalent to (symmetric with) λ x λ 0 The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

21 In The Beginning Orbital Branching Review Constraint Orbital Branching If π G, then imposing the constraint λ x λ 0 is equivalent to imposing the constraint π(λ) x λ 0 So if orb(g, λ) = {λ, µ 1, µ 2,..., µ K }, then the inequalities µ j x λ 0 are all equivalent to (symmetric with) λ x λ 0 Constraint Orbital Branching: branches on symmetric inequalities µ j x λ 0 µ j x λ µ j orb(g,λ) µ j orb(g,λ) The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

22 In The Beginning Orbital Branching Review Constraint Orbital Branching If π G, then imposing the constraint λ x λ 0 is equivalent to imposing the constraint π(λ) x λ 0 So if orb(g, λ) = {λ, µ 1, µ 2,..., µ K }, then the inequalities µ j x λ 0 are all equivalent to (symmetric with) λ x λ 0 Constraint Orbital Branching: branches on symmetric inequalities µ j x λ 0 µ j x λ µ j orb(g,λ) µ j orb(g,λ) But all of the µ j x λ 0 are equivalent by symmetry The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

23 In The Beginning Orbital Branching Review Constraint Orbital Branching If π G, then imposing the constraint λ x λ 0 is equivalent to imposing the constraint π(λ) x λ 0 So if orb(g, λ) = {λ, µ 1, µ 2,..., µ K }, then the inequalities µ j x λ 0 are all equivalent to (symmetric with) λ x λ 0 Constraint Orbital Branching: branches on symmetric inequalities µ j x λ 0 µ j x λ µ j orb(g,λ) µ j orb(g,λ) But all of the µ j x λ 0 are equivalent by symmetry So branch on two-node disjunction (λ x λ 0 ) µ j x λ µ j orb(g,λ) The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

24 In The Beginning Orbital Branching Review Constraint Orbital Branching If π G, then imposing the constraint λ x λ 0 is equivalent to imposing the constraint π(λ) x λ 0 So if orb(g, λ) = {λ, µ 1, µ 2,..., µ K }, then the inequalities µ j x λ 0 are all equivalent to (symmetric with) λ x λ 0 Constraint Orbital Branching: branches on symmetric inequalities µ j x λ 0 µ j x λ µ j orb(g,λ) µ j orb(g,λ) But all of the µ j x λ 0 are equivalent by symmetry So branch on two-node disjunction (λ x λ 0 ) µ j x λ µ j orb(g,λ) The orbital branching method is a special case of constraint orbital branching for (λ, λ 0 ) = ( e k, 1). Either x i 1 or x i 0 i orb(i) The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

25 YASI (Yet Another Simple Idea) Orbital Conflict Relation to Constraint OB Two-variable Orbital Branching An Application of Constraint Orbital Branching 1 Pick a pair of variables (i, j). 2 Either x i + x j 2 or x i + x j 1 The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

26 YASI (Yet Another Simple Idea) Orbital Conflict Relation to Constraint OB Two-variable Orbital Branching An Application of Constraint Orbital Branching 1 Pick a pair of variables (i, j). 2 Either x i + x j 2 or x i + x j 1 3 But if (i, j ) orb(stab(f a 1, G), {i, j}), then x i + x j 2 is equivalent to x i + x j 2 The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

27 YASI (Yet Another Simple Idea) Orbital Conflict Relation to Constraint OB Two-variable Orbital Branching An Application of Constraint Orbital Branching 1 Pick a pair of variables (i, j). 2 Either x i + x j 2 or x i + x j 1 3 But if (i, j ) orb(stab(f a 1, G), {i, j}), then x i + x j 2 is equivalent to x i + x j 2 a x i + x j 2 x i + x j 1 (i, j ) orb(stab(f a 1, G), {i, j}) Again, this is a special case of orbital branching, where (λ, λ 0 ) = ( e i e j, 2). The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

28 YASI (Yet Another Simple Idea) Orbital Conflict Basic Idea Orbital Conflict Basic Idea At some nodes of the branch and bound tree, we get to add inequalities x i + x j 1 (i, j ) orb(stab(f a 1, G), {(i, j}) The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

29 YASI (Yet Another Simple Idea) Orbital Conflict Basic Idea Orbital Conflict Basic Idea At some nodes of the branch and bound tree, we get to add inequalities x i + x j 1 (i, j ) orb(stab(f a 1, G), {(i, j}) Suppose orb(stab(f a 1, G), {i, j}) = {(i, j), (i, k), (j, k)} So on right branch, we add x i + x j 1, x i + x k 1, x j + x k 1 The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

30 YASI (Yet Another Simple Idea) Orbital Conflict Basic Idea Orbital Conflict Basic Idea At some nodes of the branch and bound tree, we get to add inequalities x i + x j 1 (i, j ) orb(stab(f a 1, G), {(i, j}) Suppose orb(stab(f a 1, G), {i, j}) = {(i, j), (i, k), (j, k)} So on right branch, we add x i + x j 1, x i + x k 1, x j + x k 1 But this (of course) implies that x i + x j + x k 1 x j x i + x j 1 x i xi + x k 1 x j + x k 1 x k The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

31 YASI (Yet Another Simple Idea) Orbital Conflict Basic Idea Orbital Conflict Basic Idea At some nodes of the branch and bound tree, we get to add inequalities x i + x j 1 (i, j ) orb(stab(f a 1, G), {(i, j}) Suppose orb(stab(f a 1, G), {i, j}) = {(i, j), (i, k), (j, k)} So on right branch, we add x i + x j 1, x i + x k 1, x j + x k 1 But this (of course) implies that x i + x j + x k 1 x j x i + x j 1 x i xi + x k 1 x j + x k 1 x k Conflict! These are just edges in a conflict graph! We can use integrality considerations to generate strong valid inequalities! Specifically, we can generate all inequalities that we would for the stable set (or set packing) problem: Clique inequalities, Odd Hole, Web, Anti-web, Rank inequalities, etc... The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

32 YASI (Yet Another Simple Idea) Orbital Conflict Basic Idea Blastoff! Potato Spaceship Hooray! We ve Achieved Our Goal! Use symmetry to induce structure from which we can use integrality to generate cutting planes The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

33 YASI (Yet Another Simple Idea) Orbital Conflict Basic Idea Blastoff! Potato Spaceship Hooray! We ve Achieved Our Goal! Use symmetry to induce structure from which we can use integrality to generate cutting planes Downsides I don t like branching on inequalities Of course the left branch (x i + x j 2) can be implemented by fixing variable bounds, but what about the right branch? The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

34 YASI (Yet Another Simple Idea) Orbital Conflict Improvements We Can Make It Better! We don t like branching on inequalities Thankfully, we don t have to. In fact, (even though we didn t think of it originally this way), you can just do regular orbital branching, and use symmetry considerations to enrich the conflict graph on the right (fix to zero) branch. Orbital Conflict The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

35 YASI (Yet Another Simple Idea) Orbital Conflict Improvements We Can Make It Better! We don t like branching on inequalities Thankfully, we don t have to. In fact, (even though we didn t think of it originally this way), you can just do regular orbital branching, and use symmetry considerations to enrich the conflict graph on the right (fix to zero) branch. Orbital Conflict Just do orbital branching (fixing x i = 1 on the left branch) a x i = 1 x i = 0 i orb(stab(f a 1, G), {i}) The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

36 YASI (Yet Another Simple Idea) Orbital Conflict Improvements We Can Make It Better! We don t like branching on inequalities Thankfully, we don t have to. In fact, (even though we didn t think of it originally this way), you can just do regular orbital branching, and use symmetry considerations to enrich the conflict graph on the right (fix to zero) branch. Orbital Conflict Just do orbital branching (fixing x i = 1 on the left branch) On the right branch, for each variable j F a 1 compute the orbit of stab(f a 1 \ {j}, G), {i, j} And add all edges to the (local) conflict graph a x i = 1 x i = 0 i orb(stab(f a 1, G), {i}) x i + x j 1 j F a 1 (i, j ) orb(stab(f a 1 \ {j}, G), {i, j}) The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

37 YASI (Yet Another Simple Idea) Orbital Conflict Improvements We Can Make It Better! We don t like branching on inequalities Thankfully, we don t have to. In fact, (even though we didn t think of it originally this way), you can just do regular orbital branching, and use symmetry considerations to enrich the conflict graph on the right (fix to zero) branch. Orbital Conflict Just do orbital branching (fixing x i = 1 on the left branch) On the right branch, for each variable j F a 1 compute the orbit of stab(f a 1 \ {j}, G), {i, j} And add all edges to the (local) conflict graph It should work if the conflict graphs are dense a x i = 1 x i = 0 i orb(stab(f a 1, G), {i}) x i + x j 1 j F a 1 (i, j ) orb(stab(f a 1 \ {j}, G), {i, j}) The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

38 YASI (Yet Another Simple Idea) Orbital Conflict Improvements STS81 Branching Tree x 0 = 1 All vars = 0 x 1 = 1 Big orbit = 0 x 3 = 1 Big orbit = 0 x 4 = 1 x 4 = x 5 = x 7 = 0 x 9 = 1 Big orbit = 0 x 17 = 1 4-orbit = 0 The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

39 YASI (Yet Another Simple Idea) Orbital Conflict Improvements STS81 Branching Tree x 0 = 1 All vars = 0 x 1 = 1 Big orbit = 0 x 3 = 1 Big orbit = 0 x 4 = 1 x 4 = x 5 = x 7 = 0 x 9 = 1 Big orbit = 0 x 17 = 1 4-orbit = 0 So at node 13, inequalities x i + x j 1 will be added for (i, j) orb(stab({0, 1}, G), {4, 3}) (i, j) orb(stab({0, 3}, G), {4, 1}) (i, j) orb(stab({1, 3}, G), {4, 0}) (i, j) orb(stab({0, 1, 3}, G), {17, 9}) (i, j) orb(stab({0, 1, 9}, G), {17, 3}) (i, j) orb(stab({0, 3, 9}, G), {17, 1}) (i, j) orb(stab({1, 3, 9}, G), {17, 0}) The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

40 YASI (Yet Another Simple Idea) Orbital Conflict Improvements Conflict Graph at node 13 for a SCP (STS81) The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

41 YASI (Yet Another Simple Idea) Orbital Conflict Improvements Conflict Graph at node 25 for a SCP (STS81) The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

42 Computational Results Implementation Orbital Conflict as Graph Enhancement Advantages Just fixes variables Can still do orbital branching, isomorphism pruning, etc. The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

43 Computational Results Implementation Orbital Conflict as Graph Enhancement Advantages Just fixes variables Can still do orbital branching, isomorphism pruning, etc. Branching? Given ^x and orbits O 1, O 2,... O p at node a, which orbit should be choose? For general integer programs, the variable on which you branch can have a huge impact on the solution time The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

44 Computational Results Implementation Orbital Conflict as Graph Enhancement Advantages Just fixes variables Can still do orbital branching, isomorphism pruning, etc. Branching? Given ^x and orbits O 1, O 2,... O p at node a, which orbit should be choose? For general integer programs, the variable on which you branch can have a huge impact on the solution time In our experience, best orbit selection rules combine trying to improve the bound, but also try to keep the symmetry around at the subproblems 1 Strong Branching: Solve the child node(s) that would result from branching on orbit j and pick the best: j arg max ( e ^x z + j ) j {1,...p} 2 Keep Symmetry Left: Compute the size of the symmetry group that would result if you would branch on orbit j and choose the one that keeps the group the largest j ( arg max stab(f a 1 {i j }, G) ) j {1,...p} The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

45 Computational Results Implementation Implementation Details I just started coding 2 weeks ago Implemented in MINTO Yes, MINTO still exists! LPs solved by Clp Generators for original symmetry group of A generated by nauty All group operations (computing stabilizers, orbits, etc.) done by GAP. GAP has no callable library :-( Pass the command strings and output through a local socket connection A heuristic for separating for clique inequalities from the (local) conflict graph Code Is Primitive! The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

46 Computational Results Instances Computational Results Some Symmetric IPs (Binary) Error Correcting Codes (cod(n,d)): Find maximum number of (0, 1) n vectors such that Hamming distance between each pair is d Covering Design (cov(v,k,t)): v > k > t: Find minimum number of k-sets of {1,..., v} to cover all t-sets of {1,..., v}. Covering Code (codbt(b,t)): Find minimum number of codewords such that every word in the alphabet is at most a (Hamming) distance 1 from a codeword. Edge Coloring (flosn,jgt(n)): Show that you can t color edges of these graphs on n nodes with colors. Steiner Triple System: (sts(n)): Find the incidence width of a Steiner Triple System of order n Thanks Francois! The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

47 Computational Results Instances Computational Results Number of Nodes Name CPLEX OB OC # Cliques codbt codbt cov flosn52u flosn60u flosn84u jgt18u jgt30u sts sts sts The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

48 Computational Results Instances Computational Results Number of Nodes Name CPLEX OB OC # Cliques codbt codbt cov flosn52u flosn60u flosn84u jgt18u jgt30u sts sts sts The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

49 Computational Results Instances Computational Results Number of Nodes Name CPLEX OB OC # Cliques codbt codbt cov flosn52u flosn60u flosn84u jgt18u jgt30u sts sts sts Preliminary Conclusions In general, we see a nice reduction in the number of nodes The overhead isn t too large to do this Have to manage (and separate from) a local conflict graph Have to compute orbits of pairs instead of single variables The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

50 Computational Results STS405? Even Better!? For larger instances (that didn t finish in an hour), the idea looks even more promising We were generating many clique inequalities The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

51 Computational Results STS405? Even Better!? For larger instances (that didn t finish in an hour), the idea looks even more promising We were generating many clique inequalities World s Largest Potato Fame, Glory, and World Records sts405 is the smallest (in terms of number of variables) unsolved instance in MIPLIB2010. At it seems a long ways from being solved. Can we use our new orbital conflict idea to solve it? The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

52 Computational Results STS405? Even Better!? For larger instances (that didn t finish in an hour), the idea looks even more promising We were generating many clique inequalities World s Largest Potato Fame, Glory, and World Records sts405 is the smallest (in terms of number of variables) unsolved instance in MIPLIB2010. At it seems a long ways from being solved. Can we use our new orbital conflict idea to solve it? To my knowledge, the best known bounds on the solution are 211 z sts I ran CPLEX for a long time on a complemented version of the problem x i = 1 x i are the variables. Constraints are Ax 2 form, The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

53 Computational Results STS405? STS405 CPLEX Log Parallel mode: deterministic, using up to 24 threads. Nodes Cuts/ Node Left Objective IInf Best Integer Best Bound ItCnt Gap * * % Cuts: % Cuts: %... Found 46 symmetric permutations % Elapsed real time = sec. (tree size = 0.01 MB, solutions = 2) %... Elapsed real time = sec. (tree size = MB, solutions = 5) Nodefile size = MB ( MB after compression) % % The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

54 Computational Results STS405? Attempting to Solve Computing (full) set of generators for the symmetry group of sts405 takes nauty around 8 hours. Run orbital conflict (on one machine) using a combination of keep symmetry left and strong branching rules The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

55 Computational Results STS405? Attempting to Solve Computing (full) set of generators for the symmetry group of sts405 takes nauty around 8 hours. Run orbital conflict (on one machine) using a combination of keep symmetry left and strong branching rules Sad Potato I Couldn t Solve It I ran orbital conflict for 4 days. On one machine. And it didn t solve. It s a framework. The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

56 Computational Results STS405? Attempting to Solve Computing (full) set of generators for the symmetry group of sts405 takes nauty around 8 hours. Run orbital conflict (on one machine) using a combination of keep symmetry left and strong branching rules Happy Potato I Couldn t Solve It I ran orbital conflict for 4 days. On one machine. And it didn t solve. It s a framework. We improved lower bound to -135 (complemented), or 270 (real instance). So our team can happily report that 270 z STS If you believe our code is correct The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

57 The End Conclusions We give the first(?) method that exploits symmetry to induce structures from which one can generate strong valid inequalities based on integrality considerations Additional computational overhead is relatively modest Good reductions in number of nodes for smallish symmetric instances Many cliques generated and bounds improved for larger instances The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

58 The End Conclusions We give the first(?) method that exploits symmetry to induce structures from which one can generate strong valid inequalities based on integrality considerations Additional computational overhead is relatively modest Good reductions in number of nodes for smallish symmetric instances Many cliques generated and bounds improved for larger instances Ongoing Work Perhaps add additional cutting planes for set packing problem Fame and Glory! Solve some unsolved instances using orbital conflict in combination with some enumeration and wasting decades of CPU time The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

59 The End Gu and a Muscular Potato Playing a Guitar. Any Questions? The Orbiteers (UW, UT, L Aquila) Orbital Conflict MIP / 25

Solving Symmetric Integer Programs

Solving Symmetric Integer Programs Solving Symmetric Integer Programs IMA New Directions Short Course on Mathematical Optimization Jeff Linderoth Department of Industrial and Systems Engineering Wisconsin Institutes of Discovery University

More information

Symmetric Integer Linear Optimization (SILO!)

Symmetric Integer Linear Optimization (SILO!) Symmetric Integer Linear Optimization (SILO!) Jeff Linderoth Dept. of Industrial and Systems Engineering Univ. of Wisconsin-Madison linderoth@wisc.edu Jim Ostrowski University of Tennessee François Margot

More information

In this work, we focus on packing and covering integer programs (IP)s of the form

In this work, we focus on packing and covering integer programs (IP)s of the form Mathematical Programming manuscript No. (will be inserted by the editor) James Ostrowski Jeff Linderoth Fabrizio Rossi Stefano Smriglio Orbital Branching January 0, 009 Abstract. We introduce orbital branching,

More information

Computer Sciences Department

Computer Sciences Department Computer Sciences Department Solving Large Steiner Triple Covering Problems Jim Ostrowski Jeff Linderoth Fabrizio Rossi Stefano Smriglio Technical Report #1663 September 2009 Solving Large Steiner Triple

More information

Orbital Branching. Department of Industrial and Systems Engineering, Lehigh University 200 W. Packer Ave. Bethlehem, PA 18015, USA

Orbital Branching. Department of Industrial and Systems Engineering, Lehigh University 200 W. Packer Ave. Bethlehem, PA 18015, USA Orbital Branching JAMES OSTROWSKI, JEFF LINDEROTH Department of Industrial and Systems Engineering, Lehigh University 200 W. Packer Ave. Bethlehem, PA 18015, USA jao204@lehigh.edu jtl3@lehigh.edu FABRIZIO

More information

Symmetry in Scheduling Problems

Symmetry in Scheduling Problems Symmetry in Scheduling Problems James Ostrowski 1, Miguel F. Anjos 2, and Anthony Vannelli 3 1 Decision and Information Sciences, Argonne National Lab, Argonne, IL, jostrowski@anl.gov 2 GERAD & Département

More information

Constraint Orbital Branching

Constraint Orbital Branching Constraint Orbital Branching JAMES OSTROWSKI Department of Industrial and Systems Engineering, Lehigh University 200 W. Packer Ave. Bethlehem, PA 18015, USA jao204@lehigh.edu JEFF LINDEROTH Department

More information

Orbital Branching. (AQ), Italy

Orbital Branching. (AQ), Italy Orbital Branching James Ostrowski 1, Jeff Linderoth 1, Fabrizio Rossi 2, and Stefano Smriglio 2 1 Department of Industrial and Systems Engineering, Lehigh University, 200 W. Packer Ave., Bethlehem, PA

More information

A COMPUTATIONAL COMPARISON OF SYMMETRY HANDLING METHODS FOR MIXED INTEGER PROGRAMS

A COMPUTATIONAL COMPARISON OF SYMMETRY HANDLING METHODS FOR MIXED INTEGER PROGRAMS A COMPUTATIONAL COMPARISON OF SYMMETRY HANDLING METHODS FOR MIXED INTEGER PROGRAMS MARC E. PFETSCH AND THOMAS REHN Abstract. The handling of symmetries in mixed integer programs in order to speed up the

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

Integer programming for the MAP problem in Markov random fields

Integer programming for the MAP problem in Markov random fields Integer programming for the MAP problem in Markov random fields James Cussens, University of York HIIT, 2015-04-17 James Cussens, University of York MIP for MRF MAP HIIT, 2015-04-17 1 / 21 Markov random

More information

Modified Orbital Branching with Applications to Orbitopes and to Unit Commitment

Modified Orbital Branching with Applications to Orbitopes and to Unit Commitment Modified Orbital Branching with Applications to Orbitopes and to Unit Commitment James Ostrowski Miguel F. Anjos Anthony Vannelli October 27, 2012 Abstract The past decade has seen advances in general

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

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

Solving Box-Constrained Nonconvex Quadratic Programs

Solving Box-Constrained Nonconvex Quadratic Programs Noname manuscript No. (will be inserted by the editor) Solving Box-Constrained Nonconvex Quadratic Programs Pierre Bonami Oktay Günlük Jeff Linderoth June 13, 2016 Abstract We present effective computational

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

AM 121: Intro to Optimization! Models and Methods! Fall 2018!

AM 121: Intro to Optimization! Models and Methods! Fall 2018! AM 121: Intro to Optimization Models and Methods Fall 2018 Lecture 13: Branch and Bound (I) Yiling Chen SEAS Example: max 5x 1 + 8x 2 s.t. x 1 + x 2 6 5x 1 + 9x 2 45 x 1, x 2 0, integer 1 x 2 6 5 x 1 +x

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

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

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

NP-problems continued

NP-problems continued NP-problems continued Page 1 Since SAT and INDEPENDENT SET can be reduced to each other we might think that there would be some similarities between the two problems. In fact, there is one such similarity.

More information

Generating p-extremal graphs

Generating p-extremal graphs Generating p-extremal graphs Derrick Stolee Department of Mathematics Department of Computer Science University of Nebraska Lincoln s-dstolee1@math.unl.edu August 2, 2011 Abstract Let f(n, p be the maximum

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

NP-problems continued

NP-problems continued NP-problems continued Page 1 Since SAT and INDEPENDENT SET can be reduced to each other we might think that there would be some similarities between the two problems. In fact, there is one such similarity.

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

Formal definition of P

Formal definition of P Since SAT and INDEPENDENT SET can be reduced to each other we might think that there would be some similarities between the two problems. In fact, there is one such similarity. In SAT we want to know if

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

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

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

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

Integer Linear Programs

Integer Linear Programs Lecture 2: Review, Linear Programming Relaxations Today we will talk about expressing combinatorial problems as mathematical programs, specifically Integer Linear Programs (ILPs). We then see what happens

More information

Computational Complexity. IE 496 Lecture 6. Dr. Ted Ralphs

Computational Complexity. IE 496 Lecture 6. Dr. Ted Ralphs Computational Complexity IE 496 Lecture 6 Dr. Ted Ralphs IE496 Lecture 6 1 Reading for This Lecture N&W Sections I.5.1 and I.5.2 Wolsey Chapter 6 Kozen Lectures 21-25 IE496 Lecture 6 2 Introduction to

More information

Regular and synchronizing transformation monoids

Regular and synchronizing transformation monoids Regular and synchronizing transformation monoids Peter J. Cameron NBSAN, York 23 November 2011 Mathematics may be defined as the subject in which we never know what we are talking about, nor whether what

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

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

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

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

Fundamental Domains for Integer Programs with Symmetries

Fundamental Domains for Integer Programs with Symmetries Fundamental Domains for Integer Programs with Symmetries Eric J. Friedman Cornell University, Ithaca, NY 14850, ejf27@cornell.edu, WWW home page: http://www.people.cornell.edu/pages/ejf27/ Abstract. We

More information

Aggregation and Mixed Integer Rounding to Solve MILPs (Marchand and Wolsey)

Aggregation and Mixed Integer Rounding to Solve MILPs (Marchand and Wolsey) Aggregation and Mixed Integer Rounding to Solve MILPs (Marchand and Wolsey) SAS Institute - Analytical Solutions Lehigh University - Department of Industrial and Systems Engineering July 7, 2005 Classical

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

Valid Inequalities for Optimal Transmission Switching

Valid Inequalities for Optimal Transmission Switching Valid Inequalities for Optimal Transmission Switching Hyemin Jeon Jeff Linderoth Jim Luedtke Dept. of ISyE UW-Madison Burak Kocuk Santanu Dey Andy Sun Dept. of ISyE Georgia Tech 19th Combinatorial Optimization

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

Integer program reformulation for robust branch-and-cut-and-price

Integer program reformulation for robust branch-and-cut-and-price Integer program reformulation for robust branch-and-cut-and-price Marcus Poggi de Aragão Informática PUC-Rio Eduardo Uchoa Engenharia de Produção Universidade Federal Fluminense Outline of the talk Robust

More information

Strengthened Benders Cuts for Stochastic Integer Programs with Continuous Recourse

Strengthened Benders Cuts for Stochastic Integer Programs with Continuous Recourse Strengthened Benders Cuts for Stochastic Integer Programs with Continuous Recourse Merve Bodur 1, Sanjeeb Dash 2, Otay Günlü 2, and James Luedte 3 1 Department of Mechanical and Industrial Engineering,

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

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

Generic Branch-Price-and-Cut

Generic Branch-Price-and-Cut Generic Branch-Price-and-Cut A Status Report Column Generation Bromont June 12, 2012 can you spot the difference? T-Shirts Status Quo: On the Positive Side many exciting developments in branch-and-price

More information

Orbitopes. Marc Pfetsch. joint work with Volker Kaibel. Zuse Institute Berlin

Orbitopes. Marc Pfetsch. joint work with Volker Kaibel. Zuse Institute Berlin Orbitopes Marc Pfetsch joint work with Volker Kaibel Zuse Institute Berlin What this talk is about We introduce orbitopes. A polyhedral way to break symmetries in integer programs. Introduction 2 Orbitopes

More information

arxiv: v1 [math.oc] 18 Aug 2014

arxiv: v1 [math.oc] 18 Aug 2014 New symmetries in mixed-integer linear optimization Symmetry heuristics and complement-based symmetries arxiv:1408.4017v1 [math.oc] 18 Aug 2014 Philipp M. Christophel, Menal Güzelsoy, and Imre Pólik SAS

More information

Computer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms

Computer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms Computer Science 385 Analysis of Algorithms Siena College Spring 2011 Topic Notes: Limitations of Algorithms We conclude with a discussion of the limitations of the power of algorithms. That is, what kinds

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

Overview of course. Introduction to Optimization, DIKU Monday 12 November David Pisinger

Overview of course. Introduction to Optimization, DIKU Monday 12 November David Pisinger Introduction to Optimization, DIKU 007-08 Monday November David Pisinger Lecture What is OR, linear models, standard form, slack form, simplex repetition, graphical interpretation, extreme points, basic

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

A computational study of Gomory cut generators

A computational study of Gomory cut generators A computational study of Gomory cut generators Gerard Cornuéjols 1, François Margot 1, Giacomo Nannicini 2 1. CMU Tepper School of Business, Pittsburgh, PA. 2. Singapore University of Technology and Design,

More information

Computability and Complexity Theory: An Introduction

Computability and Complexity Theory: An Introduction Computability and Complexity Theory: An Introduction meena@imsc.res.in http://www.imsc.res.in/ meena IMI-IISc, 20 July 2006 p. 1 Understanding Computation Kinds of questions we seek answers to: Is a given

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

Stochastic Integer Programming

Stochastic Integer Programming IE 495 Lecture 20 Stochastic Integer Programming Prof. Jeff Linderoth April 14, 2003 April 14, 2002 Stochastic Programming Lecture 20 Slide 1 Outline Stochastic Integer Programming Integer LShaped Method

More information

Symmetry in Linear Programming

Symmetry in Linear Programming Roland Wunderling, Jean-Francois Puget ISMP 2015 Symmetry in Linear Programming CPLEX Optimization studio 12.6.2 is available now! DoCloud services: OPL on the cloud. Performance improvements to CPO CPLEX

More information

NP-Hardness reductions

NP-Hardness reductions NP-Hardness reductions Definition: P is the class of problems that can be solved in polynomial time, that is n c for a constant c Roughly, if a problem is in P then it's easy, and if it's not in P then

More information

Symmetry Breaking Ordering Constraints

Symmetry Breaking Ordering Constraints Symmetry Breaking Ordering Constraints PhD dissertation Uppsala University, Sweden, March 2004 Zeynep KIZILTAN Università di Bologna, Italy URL: http://lia.deis.unibo.it/~zk/ Overview Brief Background

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

Unit 1A: Computational Complexity

Unit 1A: Computational Complexity Unit 1A: Computational Complexity Course contents: Computational complexity NP-completeness Algorithmic Paradigms Readings Chapters 3, 4, and 5 Unit 1A 1 O: Upper Bounding Function Def: f(n)= O(g(n)) if

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

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

Essential facts about NP-completeness:

Essential facts about NP-completeness: CMPSCI611: NP Completeness Lecture 17 Essential facts about NP-completeness: Any NP-complete problem can be solved by a simple, but exponentially slow algorithm. We don t have polynomial-time solutions

More information

NP Completeness. CS 374: Algorithms & Models of Computation, Spring Lecture 23. November 19, 2015

NP Completeness. CS 374: Algorithms & Models of Computation, Spring Lecture 23. November 19, 2015 CS 374: Algorithms & Models of Computation, Spring 2015 NP Completeness Lecture 23 November 19, 2015 Chandra & Lenny (UIUC) CS374 1 Spring 2015 1 / 37 Part I NP-Completeness Chandra & Lenny (UIUC) CS374

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

SAT, NP, NP-Completeness

SAT, NP, NP-Completeness CS 473: Algorithms, Spring 2018 SAT, NP, NP-Completeness Lecture 22 April 13, 2018 Most slides are courtesy Prof. Chekuri Ruta (UIUC) CS473 1 Spring 2018 1 / 57 Part I Reductions Continued Ruta (UIUC)

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

Time Complexity (1) CSCI Spring Original Slides were written by Dr. Frederick W Maier. CSCI 2670 Time Complexity (1)

Time Complexity (1) CSCI Spring Original Slides were written by Dr. Frederick W Maier. CSCI 2670 Time Complexity (1) Time Complexity (1) CSCI 2670 Original Slides were written by Dr. Frederick W Maier Spring 2014 Time Complexity So far we ve dealt with determining whether or not a problem is decidable. But even if it

More information

1 Reductions and Expressiveness

1 Reductions and Expressiveness 15-451/651: Design & Analysis of Algorithms November 3, 2015 Lecture #17 last changed: October 30, 2015 In the past few lectures we have looked at increasingly more expressive problems solvable using efficient

More information

The Traveling Salesman Problem: An Overview. David P. Williamson, Cornell University Ebay Research January 21, 2014

The Traveling Salesman Problem: An Overview. David P. Williamson, Cornell University Ebay Research January 21, 2014 The Traveling Salesman Problem: An Overview David P. Williamson, Cornell University Ebay Research January 21, 2014 (Cook 2012) A highly readable introduction Some terminology (imprecise) Problem Traditional

More information

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Nathan Brunelle Department of Computer Science University of Virginia www.cs.virginia.edu/~njb2b/theory

More information

This means that we can assume each list ) is

This means that we can assume each list ) is This means that we can assume each list ) is of the form ),, ( )with < and Since the sizes of the items are integers, there are at most +1pairs in each list Furthermore, if we let = be the maximum possible

More information

An Exact Algorithm for the Steiner Tree Problem with Delays

An Exact Algorithm for the Steiner Tree Problem with Delays Electronic Notes in Discrete Mathematics 36 (2010) 223 230 www.elsevier.com/locate/endm An Exact Algorithm for the Steiner Tree Problem with Delays Valeria Leggieri 1 Dipartimento di Matematica, Università

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

A practical anytime algorithm for bipartizing networks

A practical anytime algorithm for bipartizing networks A practical anytime algorithm for bipartizing networks Timothy D. Goodrich, Blair D. Sullivan Department of Computer Science, North Carolina State University October 1, 2017 Goodrich, Sullivan Practical

More information

Advances in CPLEX for Mixed Integer Nonlinear Optimization

Advances in CPLEX for Mixed Integer Nonlinear Optimization Pierre Bonami and Andrea Tramontani IBM ILOG CPLEX ISMP 2015 - Pittsburgh - July 13 2015 Advances in CPLEX for Mixed Integer Nonlinear Optimization 1 2015 IBM Corporation CPLEX Optimization Studio 12.6.2

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

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

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

Math 671: Tensor Train decomposition methods

Math 671: Tensor Train decomposition methods Math 671: Eduardo Corona 1 1 University of Michigan at Ann Arbor December 8, 2016 Table of Contents 1 Preliminaries and goal 2 Unfolding matrices for tensorized arrays The Tensor Train decomposition 3

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

On Solving a Hard Quadratic 3-Dimensional Assignment Problem

On Solving a Hard Quadratic 3-Dimensional Assignment Problem Noname manuscript No. (will be inserted by the editor) On Solving a Hard Quadratic 3-Dimensional Assignment Problem Hans D. Mittelmann Domenico Salvagnin the date of receipt and acceptance should be inserted

More information

Valid Inequalities for Potential-Constrained Network Design

Valid Inequalities for Potential-Constrained Network Design Valid Inequalities for Potential-Constrained Network Design Hyemin Jeon Jeff Linderoth Jim Luedtke Dept. of ISyE UW-Madison jrluedt1@wisc.edu MINLP 2014, CMU, Pittsburgh, PA June 3, 2014 Jeon, Linderoth,

More information

8. INTRACTABILITY I. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley. Last updated on 2/6/18 2:16 AM

8. INTRACTABILITY I. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley. Last updated on 2/6/18 2:16 AM 8. INTRACTABILITY I poly-time reductions packing and covering problems constraint satisfaction problems sequencing problems partitioning problems graph coloring numerical problems Lecture slides by Kevin

More information

Single Machine Scheduling: Comparison of MIP Formulations and Heuristics for. Interfering Job Sets. Ketan Khowala

Single Machine Scheduling: Comparison of MIP Formulations and Heuristics for. Interfering Job Sets. Ketan Khowala Single Machine Scheduling: Comparison of MIP Formulations and Heuristics for Interfering Job Sets by Ketan Khowala A Dissertation Presented in Partial Fulfillment of the Requirements for the Degree Doctor

More information

Advanced Mixed Integer Programming (MIP) Formulation Techniques

Advanced Mixed Integer Programming (MIP) Formulation Techniques Advanced Mixed Integer Programming (MIP) Formulation Techniques Juan Pablo Vielma Massachusetts Institute of Technology Center for Nonlinear Studies, Los Alamos National Laboratory. Los Alamos, New Mexico,

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

Identification, Assessment and Correction of Ill-Conditioning and Numerical Instability in Linear and Integer Programs

Identification, Assessment and Correction of Ill-Conditioning and Numerical Instability in Linear and Integer Programs Identification, Assessment and Correction of Ill-Conditioning and Numerical Instability in Linear and Integer Programs Ed Klotz (klotz@us.ibm.com), Math Programming Specialist, IBM Objective IBM Software

More information

PART 4 INTEGER PROGRAMMING

PART 4 INTEGER PROGRAMMING PART 4 INTEGER PROGRAMMING 102 Read Chapters 11 and 12 in textbook 103 A capital budgeting problem We want to invest $19 000 Four investment opportunities which cannot be split (take it or leave it) 1.

More information

Preprocessing. Complements of Operations Research. Giovanni Righini. Università degli Studi di Milano

Preprocessing. Complements of Operations Research. Giovanni Righini. Università degli Studi di Milano Preprocessing Complements of Operations Research Giovanni Righini Università degli Studi di Milano Preprocessing Computational complexity theory classifies problems. However, when we run algorithms, this

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

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

Lecture 5. 1 Review (Pairwise Independence and Derandomization)

Lecture 5. 1 Review (Pairwise Independence and Derandomization) 6.842 Randomness and Computation September 20, 2017 Lecture 5 Lecturer: Ronitt Rubinfeld Scribe: Tom Kolokotrones 1 Review (Pairwise Independence and Derandomization) As we discussed last time, we can

More information

Going from graphic solutions to algebraic

Going from graphic solutions to algebraic Going from graphic solutions to algebraic 2 variables: Graph constraints Identify corner points of feasible area Find which corner point has best objective value More variables: Think about constraints

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

Network Design and Game Theory Spring 2008 Lecture 6

Network Design and Game Theory Spring 2008 Lecture 6 Network Design and Game Theory Spring 2008 Lecture 6 Guest Lecturer: Aaron Archer Instructor: Mohammad T. Hajiaghayi Scribe: Fengming Wang March 3, 2008 1 Overview We study the Primal-dual, Lagrangian

More information

CS/COE

CS/COE CS/COE 1501 www.cs.pitt.edu/~nlf4/cs1501/ P vs NP But first, something completely different... Some computational problems are unsolvable No algorithm can be written that will always produce the correct

More information