Integer Programming Chapter 15
|
|
- Bernadette Lucas
- 6 years ago
- Views:
Transcription
1 Integer Programming Chapter 15 University of Chicago Booth School of Business Kipp Martin November 9, / 101
2 Outline Key Concepts Problem Formulation Quality Solver Options Epsilon Optimality Preprocessing Cutting Planes Chvátal-Gomory (C-G) Constraint Aggregation Coefficient Reduction Cuts Separation Branch and Cut COIN-OR Cgl 2 / 101
3 Key Concepts the quality of the formulation is what counts, not the size quality usually measured by the lower bound critical to generate good formulations problem reformulation preprocess the problem generating cutting planes important to control solver options getting the last bit of optimality can be tough 3 / 101
4 Problem Formulation Quality Consider the following two sets of integer points. Γ = {(x 1, x 2, y) x 1 y, x 2 y, x 1, x 2, y {0, 1}}. Γ = {(x 1, x 2, y) x 1 + x 2 2y, x 1, x 2, y {0, 1}}. What are the points in each set and how do they differ? 4 / 101
5 Problem Formulation Quality Consider the following two sets of integer points. Γ = {(x 1, x 2, y) x 1 y, x 2 y, x 1, x 2, y {0, 1}}. y x 1 x Γ has exactly the same set of points! 5 / 101
6 Problem Formulation Quality Consider the following linear relaxations. Γ = {(x 1, x 2, y) x 1 y, x 2 y, x 1, x 2, y 0, x 1, x 2, y 1}. Γ = {(x 1, x 2, y) x 1 + x 2 2y, x 1, x 2, y 0, x 1, x 2, y 1}. What are the points in each set and how do they differ? What about extreme points? 6 / 101
7 Problem Formulation Quality Γ is the convex hull of integer points in Γ. Not so for Γ y x 1 x / /2 1 0 Important: Γ is a proper subset of Γ. It is a better relaxation. Why? 7 / 101
8 Problem Formulation Quality 8 / 101
9 Problem Formulation Quality THE BIG TAKE AWAY: Different polyhedra may contain exactly same set of integer points! THE BIG TAKE AWAY: Different polyhedra may contain exactly same set of integer points! THE BIG TAKE AWAY: Different polyhedra may contain exactly same set of integer points! WHAT IS THE BIG TAKE AWAY? 9 / 101
10 Problem Formulation Quality Mixed Integer Finite Basis Theorem: If Γ = {(x, y) Ax + By = b, x 0, y Z l +}, (1) where A, B are rational matrices and b is a rational vector, then conv(γ) is a rational polyhedron. Problem: in most real applications conv(γ) P where P = {(x, y) Ax + By = b, x 0, y 0} Objective: Make P smaller and more closely approximate conv(γ). 10 / 101
11 Problem Formulation Quality Mixed Integer Finite Basis Theorem: If Γ = {(x, y) Ax + By = b, x 0, y Z l +}, (2) where A, B are rational matrices and b is a rational vector, then conv(γ) is a rational polyhedron. Problem: in most real applications conv(γ) P where P = {(x, y) Ax + By = b, x 0, y 0} Objective: Make P smaller and more closely approximate conv(γ). 11 / 101
12 Problem Formulation Quality Absolutely Critical: Understand the differences between 1. Γ 2. P or Γ 3. conv(γ) 12 / 101
13 Reformulation (Core Carrier) Core Carrier Revisited: Take the constraints x ij My j, j J i M j and replace with the equivalent set: x ij y j, i M j, j J THE BIG TAKE AWAY: The same set of integer points can have many different representations in terms of linear inequalities. 13 / 101
14 Reformulation (Core Carrier) Core Carrier Revisited (Continued) : Tight Loose Rows Columns LP Value What happens when you try to solve? 14 / 101
15 Reformulation (Lot Sizing) Dynamic Lot Sizing : Variables: x it units of product i produced in period t I it inventory level of product i at the end of the period t y it is 1 if there is nonzero production of product i during period t, 0 otherwise Parameters: d it demand product i in period t f it fixed cost associated with nonzero production of product i in period t c it marginal production cost for product i in period t h it marginal holding cost charged to product i at the end of period t g t production capacity in period t 15 / 101
16 Reformulation (Lot Sizing) Objective: Minimize sum of marginal production cost, holding cost, fixed cost N T (c it x it + h it I it + f it y it ) i=1 t=1 Constraint 1: Do not exceed total capacity in each period N x it g t, i=1 t = 1,..., T 16 / 101
17 Reformulation (Lot Sizing) Constraint 2: Inventory balance equations I i,t 1 + x it I it = d it, i = 1,..., N, t = 1,..., T Constraint 3: Fixed cost forcing constraints x it M it y it 0, i = 1,... N, t = 1,..., T 17 / 101
18 Reformulation (Lot Sizing) Dynamic Lot Sizing : A standard formulation is: min s.t. N T (c it x it + h it I it + f it y it ) i=1 t=1 N x it g t, t = 1,..., T i=1 I i,t 1 + x it I it = d it, i = 1,..., N, t = 1,..., T x it M it y it 0, i = 1,... N, t = 1,..., T x it, I it 0, i = 1,..., N, t = 1,..., T y it {0, 1}, i = 1,..., N, t = 1,..., T. 18 / 101
19 Reformulation (Lot Sizing) Dynamic Lot Sizing : An alternate formulation: z itk is 1, if for product i in period t, the decision is to produce enough items to satisfy demand for periods t through k, 0 otherwise. z ij,t 1 + t 1 j=1 T z i1k = 1 k=1 T z itk = 0, i = 1,..., N, t = 2,..., T k=t T z itk y it, i = 1,..., N, t = 1,..., T k=t 19 / 101
20 Reformulation (Lot Sizing) Dynamic Lot Size (tvw200) : Tight Loose Rows Columns LP Value What happens when you try to solve? The optimal integer value is (I think the lower bound is ). 20 / 101
21 Solver Options Most solvers take options. This is particularly important in integer programming. In GAMS you can communicate options to solvers through an option text file. First we tell GAMS which solver we want: OPTION MIP = CoinCbc; Next we tell GAMS that we want the first option file (you can have more than one, 2, 3,...) lot_size.optfile = 1; 21 / 101
22 Solver Options Here is some code we where we put in GAMS options file opt CoinCbc option file /coincbc.opt/; put opt; put optcr 0 / put reslim / put nodelim / put cuts off / put knapsackcuts on /; putclose opt; Make sure to put this code before the solve statement. 22 / 101
23 Solver Options Here is what the options file does: set the tolerance on integer optimality to zero (optcr 0) set a time limit of seconds set a node limit of turned cutting plane generation off (cuts off) turned knapsack cuts on (knapsackcuts on) 23 / 101
24 Epsilon Optimality Key Take Away: Actually proving optimality in branch and bound can be tough. The closer you get, the harder it becomes to resolve that list bit of integrality gap. If, for example, you set optcr =.01, then branch and bound will terminate (assume minimization here) when.99*ub LB 24 / 101
25 Epsilon Optimality Experiment: run the tight version of the lot sizing with ratio 0 and ratio Here is what happens for me: UB LB Nodes Seconds optcr = optcr = Is it worth it? 25 / 101
26 Epsilon Optimality Another Take Away: the data may not be that accurate to being with. Standard Oil story. 26 / 101
27 Preprocessing By preprocessing we mean what is done to a formulation to make it more amenable to solution before solving the linear programming relaxation. Objective: make the linear programming relaxation of the mixed-integer program easy and tight. Try the following eliminate redundant constraints fix variables scale coefficients coefficient reduction rounding improve bounds on variables and constraints probing We work with the following canonical form: a j x j + a j x j a j x j a j x j b (3) j I + j C + j I j C 27 / 101
28 Preprocessing Rounding: If C + = C =, a j is integer for all j I + I and α = gcd(a j a j I + I ) then the conical form of the constraint is which is equivalent to then a valid rounding is a j x j a j x j b (4) j I + j I (a j /α)x j (a j /α)x j b/α. (5) j I + j I (a j /α)x j (a j /α)x j b/α. (6) j I + j I 28 / 101
29 Preprocessing Rounding Example: Consider the inequality (assume x 1, x 2 are general integer variables. 2x 1 + 2x 2 3 A feasible solution is x 1 = 1.5 and x 2 = 0. Now let s round, So an equivalent inequality is: α = gcd(a 1, a 2 ) = gcd(2, 2) = 2 (1/2)(2x 1 + 2x 2 ) (1/2)3 x 1 + x Rounding up the right-hand-side gives: x 1 + x 2 2 Is x 1 = 1.5 and x 2 = 0 feasible? 29 / 101
30 Preprocessing Rounding Example: Let s look at some geometry. Plot the feasible regions: Γ 1 = {(x 1, x 2 ) 2x 1 + 2x 2 3, x 1, x 2 0} Γ 2 = {(x 1, x 2 ) x 1 + x 2 2, x 1, x 2 0} What is the relationship between? Γ 1 Z 2 and Γ 2 Z 2 Γ 1 and Γ 2 30 / 101
31 Preprocessing Coefficient Reduction: if C = I = then it is valid to reduce the coefficients on the integer variables to b. That is, (3) is equivalent to j I + min{a j, b}x j + j C + a j x j b. (7) Additionally, if C or I is not empty then upper bounds on the variables in these sets are used as follows. Define: Then (3) is equivalent to λ := b + a j h j + a j h j. (8) j C j I min{a j, λ}x j + a j x j a j x j a j x j b. (9) j I + j C + j I j C 31 / 101
32 Preprocessing Tightening Bounds: The canonical form a j x j + a j x j a j x j a j x j b j I + j C + j I j C implies for each k C + a k x k b j C + j k a j x j a j x j + a j x j + a j x j. j I + j C j I The smallest the right hand side of can be is b j C + j k a j h j a j h j + a j l j + a j l j. j I + j C j I 32 / 101
33 Preprocessing Therefore, it is valid to reset l k to (b j C + j k a j h j a j h j + a j l j + a j l j )/a k j I + j C j I Using similar logic the upper bounds of variables indexed by C I are adjusted by ( a j l j + a j l j a j h j a j h j b)/a k j C + j I + j I j C j k 33 / 101
34 Preprocessing This is an iterative process. The upper and lower bounds on variables are adjusted until there is no improvement in an upper or lower bound. Once the lower and upper bounds are calculated one can apply coefficient reduction on the integer variable coefficients. 34 / 101
35 Preprocessing Example: Dynamic Lot Sizing min s.t. N T (c it x it + h it I it + f it y it ) i=1 t=1 N x it g t, t = 1,..., T i=1 I i,t 1 + x it I it = d it, i = 1,..., N, t = 1,..., T x it M it y it 0, i = 1,... N, t = 1,..., T x it, I it 0, i = 1,..., N, t = 1,..., T y it {0, 1}, i = 1,..., N, t = 1,..., T. 35 / 101
36 Preprocessing Example: Dynamic Lot Sizing (Continued) Consider the Big M constraints in canonical form x it My it 0 x it + My it 0 Recall λ := b + a j h j + a j h j. j C j I In this case, what is b, C, I, and λ? What do we get after coefficient reduction? 36 / 101
37 Preprocessing Example: Dynamic Lot Sizing (Continued) Let s tighten the bounds on the x it variables. Assume 5 time periods (we drop the product subscript all products are treated identically). In canonical form: I 4 x 5 d 5 I 3 x 4 + I 4 d 4 I 2 x 3 + I 3 d 3 I 1 x 2 + I 2 d 2 x 1 + I 1 d 1 What is a valid upper bound on x 5? What about I 4? Work through to period / 101
38 Preprocessing Feasibility: The canonical form is a j x j + a j x j a j x j a j x j b j I + j C + j I j C if a j h j + a j h j a j l j a j l j < b. j I + j C + j I j C the model instance is not feasible. 38 / 101
39 Preprocessing Redundancy: The canonical form is if a j x j + a j x j a j x j a j x j b j I + j C + j I j C a j l j + a j l j a j h j a j h j b. j I + j C + j I j C the constraint is redundant and can be deleted. Solve (possibly relaxations) min a j x j + a j x j a j x j a j x j j I + j C + j I j C s.t. Ax b x 0 39 / 101
40 Preprocessing Probing and Variable Fixing: In a mixed 0/1 linear program probing refers to fixing a binary variable x k to 0 or 1 and then observing any resulting implications. Assume variable x k is binary. If x k = 1, k I and j I + a j h j + j C + a j h j j I \{k} a j l j j C a j l j < b + a k then the model is infeasible which implies it is valid to fix variable x k to 0. If x k = 0, k I + and j I + \{k} a j h j + a j h j a j l j a j l j < b j C + j I j C then the model is infeasible which implies it is valid to fix variable x k to / 101
41 Preprocessing How to preprocess in Coin-OR Cbc. See ( for free optimization solvers. Declare a new solver interface this is what will get preprocessed. OsiSolverInterface *m_osisolverpre = NULL; CglPreProcess process; m_osisolverpre = process.preprocess(*solver->osisolver, false, 10); Build the Cbc model with the preprocessed solver interface and solve CbcModel *model = new CbcModel( *m_osisolverpre); model->branchandbound(); 41 / 101
42 Preprocessing Unwind to get the original model back process.postprocess( *model->solver() ); Results with p0033.osil Variables Constraints LP Relax Nodes Without With / 101
43 Cutting Planes Motivation Preprocessing is nice, but is usually far from sufficient! The typical integer program requires more than just preprocessing in order to solve. The solution of most real problems requires the use of cutting planes. 43 / 101
44 Cutting Planes Motivation We can tighten an integer program by adding cutting planes or just cuts. These are sometimes also called valid inequalities. Consider the integer program: min x 1 x 2 x 1 x 2 2 4x 1 + 9x x 1 + 4x 2 4 x 1, x 2 0 x 1, x 2 Z 44 / 101
45 Cutting Planes Motivation In the figure below the black dots represent Γ (feasible points to the integer program) and the red area represents the linear programming relaxation Γ. 45 / 101
46 Cutting Planes We are going to generate cuts like the blue line. 46 / 101
47 Cutting Planes Motivation We have already seen an example of cuts. Consider Γ = {(x 1, x 2, y) x 1 + x 2 2y, x 1, x 2, y {0, 1}}. Γ = {(x 1, x 2, y) x 1 + x 2 2y, 0 x 1, x 2, y 1}. We would say that x 1 y and x 2 y are valid cuts of Γ. These cuts do not cut off any points in Γ but they do cut off points in Γ. 47 / 101
48 Cutting Planes Motivation The feasible points in are Γ = {(x 1, x 2, y) x 1 + x 2 2y, x 1, x 2, y {0, 1}}. y x 1 x All, yes, every one of these points satisfy the cuts x 1 y and x 2 y. However points (1, 0,.5) and (0, 1,.5) which are in Γ do not satisfy the cuts. 48 / 101
49 Cutting Planes Theory Big Picture: There is a finite basis theorem for integer programs just like there is for linear programs. That is, Γ = {x R n Bx d, x 0, x j Z, j I } is finitely generated. This means q r conv(γ) = {x R n x = z i x i + z i x i, i=1 i=q+1 q z i = 1, z i 0, i = 1,..., r} (10) i=1 What is the geometry of conv(γ)? What kind of set is it? 49 / 101
50 Cutting Planes Theory Obviously, conv(γ) is a polyhedron! This implies there exists a system of inequalities (α i ) x α i0, i = 1,..., q such that conv(γ) = {x α i x α i0, i = 1,..., q}. 50 / 101
51 Cutting Planes Theory We want to add cuts and try and pare down the light grey area to the dark grey area x x 1 51 / 101
52 Cutting Planes Big Picture: Since conv(γ) is a polyhedron, we could solve the integer program by solving a linear program! min c x s.t. α i x α i0, i = 1,..., q So why don t we just solve the linear program? Why bother with branch and bound? 52 / 101
53 Cutting Planes Γ = {x R n Bx d, x 0, x j Z, j I } It is critical to understand the difference between CONV (Γ) and Γ (the linear relaxation). Γ = {(x 1, x 2, y) x 1 + x 2 2y, x 1, x 2, y {0, 1}}. What is Γ? CONV (Γ)? Γ? what is the relationship? 53 / 101
54 CONV (Γ) Versus Γ 54 / 101
55 Cutting Planes In practice we solve the problem min{c T x x Γ} and get a point x. If life were fair, we would get x CONV (Γ) and be done. Unfortunately, fair is the place where they display animals in summer and has absolutely nothing to do with the way life actually works!!! So we try to find a cut α x α 0 so that α x α 0, x CONV (Γ) and if x Γ but x / CONV (Γ) then α x < α 0 55 / 101
56 Cutting Planes We now address the problem of finding cutting planes. So far, all we have really done this quarter is add (aggregate) constraints together! So why does anyone think this is a tough course! We keep doing the same thing, only now we do some rounding. That s all just add a few constraints and round a few coefficients. Pretty easy stuff I would say! I am embarrassed! Please do not go around telling the rest of University how trivial the material is that I teach. 56 / 101
57 Cutting Planes n a ij x j = b i, i = 1,..., m. j=1 Assign a set of multipliers u i, i = 1,..., m to the constraints and generate the aggregate constraint n m ( u i a ij )x j = j=1 i=1 m u i b i. i=1 Assume all of the x j 0 and integer, then n m ( u i a ij ) x j j=1 i=1 m u i b i. i=1 57 / 101
58 Cutting Planes Since we assume all variables must be integer, the left-hand-side of the aggregate constraint below will always be integer. n m ( u i a ij ) x j j=1 i=1 m u i b i. i=1 Therefore we can round the right-hand-side up and get the cut n m m ( u i a ij ) x j u i b i. j=1 i=1 This cut is a Chvátal-Gomory (C-G) cut and the procedure used to derive the cut is called Chvátal-Gomory rounding. It is very famous in integer programming. i=1 58 / 101
59 Cutting Planes A slight variation: If we have instead of =, n a ij x j b i, i = 1,..., m. j=1 Assign a set of multipliers u i 0, i = 1,..., m to the constraints and generate the aggregate constraint n m ( u i a ij )x j j=1 i=1 m u i b i. i=1 and we can follow the same derivation. Why is u i 0 required? 59 / 101
60 Cutting Planes Example One: Consider This is equivalent to 2x 1 + 3x 2 + 4x 3 6 x 3 1 2x 1 + 3x 2 + 4x 3 6 x 3 1 Assign multipliers u 1 = 1 3 and u 2 = 4 3. The aggregate constraint is 2 3 x 1 + x / 101
61 Cutting Planes Example One (Continued): We have 2 3 x 1 + x Round the coefficient on x 1, x 1 + x Now round the left-hand-side, and get the valid cut x 1 + x / 101
62 Cutting Planes Example Two: Let s go back to our friend x 1 + x 2 2y x 1 0 x 2 0 y 1 Substitute x 1 = 1 z 1 and x 2 = 1 z 2. This becomes (1 z 1 ) + (1 z 2 ) 2y z 1 1 z 2 1 y 1 62 / 101
63 Cutting Planes Example Two (continued): This becomes z 1 + z 2 + 2y 2 z 1 1 z 2 1 y 1 Assign multipliers u 1 =.5, u 2 =.5, u 3 = 0, u 4 = 0. This gives the aggregate constraint,.5z 2 + y.5 63 / 101
64 Cutting Planes Example Two (continued): Round the coefficient of z 2 to 1 Then round the right hand side z 2 + y.5 z 2 + y 1 Substitute back z 2 = 1 x 2, and voila! x 2 y What multipliers give the cut x 1 y? 64 / 101
65 Cutting Planes Knapsack Cover Cuts: Example 1 and Example 2 are illustrations of the famous knapsack cover cuts. a 1 x 1 + a 2 x a n x n b x i {0, 1}, i = 1,..., n Assume all a i 0, for i = 1,..., n. The index set C is a cover if and only if a j b k C a k, b k C a k > 0 for all j C The implied knapsack cover cut is x j 1 j C 65 / 101
66 Cutting Planes Knapsack Cover Cuts: The knapsack cover cuts have proved exceedingly effective in integer programming. Example 1 Revisited: Define C = {1, 2}. Then 2x 1 + 3x 2 + 4x 3 6 x 1, x 2, x 3 {0, 1} b k C a k = 6 a 3 = 6 4 = 2 Since a 1 = 2 2 and a 2 = 3 2 the corresponding knapsack cover cut is x 1 + x / 101
67 Cutting Planes Example 2 Revisited: After the substitution we had z 1 + z 2 + 2y 2 There are two covers (assume 3 in the index of y), C 1 = {1, 3} and C = {2, 3} that lead to the cuts which correspond to z 1 + y 1 and z 2 + y 1 x 1 y and x 2 y 67 / 101
68 Cutting Planes We now derive a cut using the updated Simplex tableau. The equations corresponding to a basic feasible solution indexed by B are: x Bi + j N a ij x j = b i, i = 1,..., m (11) where B i, i = 1,..., m, indexes the basic variables and N indexes the non basic variables. Applying C-G rounding gives x Bi + j N a ij x j b i, i = 1,..., m. (12) Multiplying (11) by -1 and adding to (12) gives f ij x j f i0 i = 1,..., m (13) j N where f ij = a ij a ij and f i0 = b i b i. 68 / 101
69 Cutting Planes This tableau based cut is called a Gomory cut. Named after Ralph Gomory a famous computing guru at IBM. Note: You can work with the cut in either the form x Bi + j N a ij x j b i, i = 1,..., m. or f ij x j f i0 i = 1,..., m j N From the viewpoint of re-optimizing the tableau, the second form is preferred. From viewpoint of explanation and derivation the first form is preferred. 69 / 101
70 Cutting Planes Gomory Cut Example: Start with the integer program min x 1 x 2 x 1 x 2 2 4x 1 + 9x x 1 + 4x 2 4 x 1, x 2 0 x 1, x 2 Z 70 / 101
71 Cutting Planes Put the linear programming relaxation in standard form. Gomory Cut Example: Start with the integer program min x 1 x 2 x 1 x 2 + x 3 = 2 4x 1 + 9x 2 + x 4 = 18 2x 1 + 4x 2 + x 5 = 4 x 1, x 2 0 Optimize using our good friend basicsimplex.m. See the MATLAB file gomory.m 71 / 101
72 Cutting Planes If you run gomory.m you get the following tableau Generate a cut based on the fractional variable x 2 = 0.77 Round up x 2.31x x 4 = 0.77 x 2 + x / 101
73 Cutting Planes We have: x 2 + x 4 1 Since 4x 1 + 9x 2 + x 4 = 18 we have x 4 = 18 4x 1 9x 2 and the cut becomes x x 1 9x 2 1 4x 1 + 8x / 101
74 Cutting Planes We can even tighten the Gomory cut! implies, 4x 1 + 8x 2 17 which implies x 1 + 2x 2 17/4 = x 1 + 2x 2 4 I love this stuff! Verify that this is valid. 74 / 101
75 Cutting Planes Here is the cut x 1 + 2x 2 4 plotted with the feasible region. 75 / 101
76 Cutting Planes By generating the necessary cutting planes we could solve the integer program as a linear program! The blue region represents the convex hull of integer solutions. 76 / 101
77 Cutting Planes Questions to Ponder: If there is a fractional solution, will there be a knapsack cover cut, that cuts this solution off? If there is a fractional solution, will there be a Gomory cut, that cuts this solution off? By the way, would you prefer to use Gomory or knapsack cover cuts? Why? 77 / 101
78 Cutting Planes Test problem P0458 with 177 rows and 548 variables. LP Value IP Value Nodes Iterations No Cuts Gomory + Knapsack / 101
79 Cutting Planes We have developed knapsack cover cuts and Gomory cuts. The generation of valid cuts has been the subject of a huge amount of research. People have developed cuts for very special and for very general structures. See ( for free optimization solvers. See the GAMS document coin.pdf (in folder docs/solvers), pages for a list of cuts supported by the COIN-OR solver Cbc. Most solvers have options for turning these various cuts on and off. 79 / 101
80 Cutting Planes For COIN-OR Cbc cuts off turns all cut generation off cuts on turns on all the default cut generators (see coin.pdf for default cut generators) you can set cuts off and then turn on specific cuts cuts off gomorycuts on knapsackcuts on flowcovercuts on 80 / 101
81 Constraint Aggregation Coefficient Reduction Cuts The C-G cut assumes all integer. However, if continuous variables are present, then it is not valid to conclude that n m u i a ij x j j=1 i=1 m u i b i i=1 n m m u i a ij x j u i b i. j=1 i=1 i=1 In order to treat mixed-integer programs (i.e. some continuous variables present) we use a technique developed by Martin and Schrage. It is very simple and just adds constraints and rounds variable coefficients. Despite the simplicity, it did help me earn tenure! 81 / 101
82 Constraint Aggregation Coefficient Reduction Cuts Consider the pure integer case first. n a ij x j = b i, i = 1,..., m j=1 Assign a set of multipliers u i, i = 1,..., m to these constraints and generate the aggregate constraint n m ( u i a ij )x j = j=1 i=1 m u i b i. If all of the variables x j are required to be nonnegative, then a valid cut based on the aggregate constraint is i=1 n m max {0, ( u i a ij )}x j j=1 i=1 m u i b i. i=1 82 / 101
83 Constraint Aggregation Coefficient Reduction Cuts We have: n m max {0, ( u i a ij )}x j j=1 i=1 m u i b i. i=1 If every x j is a nonnegative integer variable and if m i=1 u ib i > 0, then a valid constraint aggregation, coefficient reduction (CACR) cut is n m m min ( u i b i, max {0, ( u i a ij )})x j j=1 i=1 i=1 m u i b i. i=1 83 / 101
84 Constraint Aggregation Coefficient Reduction Cuts The (CACR) cut has as a nice special case, pure 0-1 programming. Any inequality in a pure 0/1 linear program can be written as a j x j a j x j b (14) j I + j I where a j > 0 for j I + I and x j {0, 1} for all j I + I. Since x j is a binary variable the simple upper bound constraints x j 1 for all j W I + are valid side constraints. Assign a multiplier of a j to all of the side constraints x j 1 for j W and a multiplier of +1 to the constraint (14). 84 / 101
85 Constraint Aggregation Coefficient Reduction Cuts The aggregate constraint is a j x j a j x j λ := b a j. j I j I + \W j W If λ = b j W a j > 0, then a valid (CACR) cut is j I + \W min{λ, a j }x j λ. (15) 85 / 101
86 Constraint Aggregation Coefficient Reduction Cuts Example: Generalized Assignment Problem MIN 2 X X X X X X X X42 SUBJECT TO 2) X11 + X12 = 1 3) X21 + X22 = 1 4) X31 + X32 = 1 5) X41 + X42 = 1 6) 3 X X X X41 <= 13 7) 2 X X X X42 <= 10 END 86 / 101
87 Constraint Aggregation Coefficient Reduction Cuts Example: Generalize Assignment Problem (continued) OBJECTIVE FUNCTION VALUE 1) VARIABLE VALUE REDUCED COST X X X X X X Generate a cut. 87 / 101
88 Constraint Aggregation Coefficient Reduction Cuts Example: Generalize Assignment Problem (continued) There are two knapsack constraints. Convert the knapsack constraints to canonical form. Convert to canonical form by complementing the variables z ij = 1 x ij and then multiplying by -1. In canonical the knapsack constraints become. 3z z z z z z z z A minimal cover cut is z 11 + z 21 + z 41 1 which is x 11 + x 21 + x 41 2 in the original variables. The current linear programming relaxation violates this cut. Similarly, a minimal cover cut for the second machine is x 32 + x / 101
89 Constraint Aggregation Coefficient Reduction Cuts Example: Generalize Assignment Problem (continued) Add these cuts to the linear program and resolve. OBJECTIVE FUNCTION VALUE 1) VARIABLE VALUE REDUCED COST X X X X X Are there any CACR cuts? See pages of the textbook. 89 / 101
90 Constraint Aggregation Coefficient Reduction Cuts Example: Lock box model (simple plant location). Consider a constraint of the form x 1 + x 2 2y Write this as 2y x 1 x 2 0 Substitute, x 1 = 1 z 1, x 2 = 1 z 2 and get the system 2y + z 1 + z 2 2 z 1 1 z / 101
91 Constraint Aggregation Coefficient Reduction Cuts Example: Lock box model (simple plant location). Aggregating the first and second constraint gives Coefficient reduction gives 2y + z 2 1 y + z 2 1 which gives x 1 y Similarly we get x 2 y. In general, CACR applied to n x i My i=1 gives, x i y, i = 1,..., n 91 / 101
92 Constraint Aggregation Coefficient Reduction Cuts CACR is trivially extended to the mixed-integer case. If the integer variables are indexed by I and the continuous variables by C, then after aggregating constraints, it follows that a valid CACR cut is m m min ( u i b i, max {0, ( u i a ij )})x j + j I i=1 i=1 m max {0, ( u i a ij )}x j j C i=1 m u i b i. (16) i=1 92 / 101
93 Constraint Aggregation Coefficient Reduction Cuts Example: Dynamic lot sizing. Consider the constraint set I t 1 + x t I t = d t x t + My t 0 Assign a multiplier of 1 to the first constraint and 1 to the second constraint. The aggregate constraint is I t 1 + My t I t d t Applying coefficient reduction gives I t 1 + d t y t d t This is equivalent to x t I t + d t y t. 93 / 101
94 Separation Obviously, it is neither efficient nor possible to add all of the CACR cuts. We add them on-the-fly as needed. We discover which CACR cuts to add on-the-fly using separation. Separation Problem: given x R n, is x conv(γ), and if not, find a cut α x α 0 such that α x < α 0 and α x α 0 for all x conv(γ). This is a huge idea in integer programming. It effectively allows real problems to be solved! 94 / 101
95 Separation Consider a special case finding a CACR cut for the knapsack problem. That is, Assumptions: j I + a j x j b x j 1, j = 1,..., n We apply a multiplier of +1 to the knapsack constraint We apply a multiplier of a j to constraint x j 1 Given x 0, finding the most violated cut implies finding a W I + so that j I + \W min{λ, a j}x j λ is minimized and λ = b j W a j is strictly positive. 95 / 101
96 Separation This is done by solving a binary knapsack problem. Let r j = 1 if j I + \W and 0 otherwise. Instead of requiring λ = b j W a j, (15) is valid as long as λ b j W a j. Then the separation knapsack problem is min j I + min{λ, a j }x j r j λ (KSEP) s.t. b j I + a j + j I + a j r j λ r j {0, 1}, j I +. Note: b j I + a j + j I + a j r j = b j W a j 96 / 101
97 Separation Example: (Generalized Assignment Part Deux) VARIABLE VALUE REDUCED COST X X X X X X The constraint 3 X X X X41 <= 13 becomes 3 Z Z Z Z41 >= 8 97 / 101
98 Separation Example: (Generalized Assignment Part Deux) The separation knapsack with λ = 1 is min 0r r r r 41 1 (KSEP) s.t. 3r r r r r 11, r 21, r 31, r 41 {0, 1} The optimal solution is r 11 = 1, r 21 = 1, r 31 = 0 and r 41 = 1. The implied minimal cover cut is z 11 + z 21 + z 41 1 which is x 11 + x 21 + x 41 2 in the original variables. 98 / 101
99 Branch and Cut 99 / 101
100 COIN-OR Cgl COIN-OR Cgl (Cut generation library) Add cuts of various types to Cbc Basic idea each type of cut is a class that we define in our code. CglKnapsackCover cover; CglSimpleRounding round; CglGomory gomory; add each cut to the model and solve. model->addcutgenerator(&cover, 1, "Cover"); model->addcutgenerator(&round, 1, "Round"); model->addcutgenerator(&gomory, 1, "Gomory"); 100 / 101
101 COIN-OR COIN-OR: No size limitations. No license issue. Two ways to build a model. 1. Use Modeling Language to call a solver. 2. Write a matrix generator and interact directly with solver. 101 / 101
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 informationCutting 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 informationLinear Programming Inverse Projection Theory Chapter 3
1 Linear Programming Inverse Projection Theory Chapter 3 University of Chicago Booth School of Business Kipp Martin September 26, 2017 2 Where We Are Headed We want to solve problems with special structure!
More informationComputational 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 informationSection 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 informationLinear Programming The Simplex Algorithm: Part II Chapter 5
1 Linear Programming The Simplex Algorithm: Part II Chapter 5 University of Chicago Booth School of Business Kipp Martin October 17, 2017 Outline List of Files Key Concepts Revised Simplex Revised Simplex
More informationComputational Integer Programming Universidad de los Andes. Lecture 1. Dr. Ted Ralphs
Computational Integer Programming Universidad de los Andes Lecture 1 Dr. Ted Ralphs MIP Lecture 1 1 Quick Introduction Bio Course web site Course structure http://coral.ie.lehigh.edu/ ted/teaching/mip
More informationSection 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 informationLift-and-Project Inequalities
Lift-and-Project Inequalities Q. Louveaux Abstract The lift-and-project technique is a systematic way to generate valid inequalities for a mixed binary program. The technique is interesting both on the
More information3.7 Cutting plane methods
3.7 Cutting plane methods Generic ILP problem min{ c t x : x X = {x Z n + : Ax b} } with m n matrix A and n 1 vector b of rationals. According to Meyer s theorem: There exists an ideal formulation: conv(x
More informationSection 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 informationIntroduction 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 information1 Column Generation and the Cutting Stock Problem
1 Column Generation and the Cutting Stock Problem In the linear programming approach to the traveling salesman problem we used the cutting plane approach. The cutting plane approach is appropriate when
More informationOptimization Methods in Management Science
Optimization Methods in Management Science MIT 15.05 Recitation 8 TAs: Giacomo Nannicini, Ebrahim Nasrabadi At the end of this recitation, students should be able to: 1. Derive Gomory cut from fractional
More informationNetwork 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 informationInteger Programming ISE 418. Lecture 13. Dr. Ted Ralphs
Integer Programming ISE 418 Lecture 13 Dr. Ted Ralphs ISE 418 Lecture 13 1 Reading for This Lecture Nemhauser and Wolsey Sections II.1.1-II.1.3, II.1.6 Wolsey Chapter 8 CCZ Chapters 5 and 6 Valid Inequalities
More informationIntroduction 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 informationCO 250 Final Exam Guide
Spring 2017 CO 250 Final Exam Guide TABLE OF CONTENTS richardwu.ca CO 250 Final Exam Guide Introduction to Optimization Kanstantsin Pashkovich Spring 2017 University of Waterloo Last Revision: March 4,
More informationAM 121: Intro to Optimization! Models and Methods! Fall 2018!
AM 121: Intro to Optimization Models and Methods Fall 2018 Lecture 15: Cutting plane methods Yiling Chen SEAS Lesson Plan Cut generation and the separation problem Cutting plane methods Chvatal-Gomory
More information36106 Managerial Decision Modeling Linear Decision Models: Part II
1 36106 Managerial Decision Modeling Linear Decision Models: Part II Kipp Martin University of Chicago Booth School of Business January 20, 2014 Reading and Excel Files Reading (Powell and Baker): Sections
More information3.3 Easy ILP problems and totally unimodular matrices
3.3 Easy ILP problems and totally unimodular matrices Consider a generic ILP problem expressed in standard form where A Z m n with n m, and b Z m. min{c t x : Ax = b, x Z n +} (1) P(b) = {x R n : Ax =
More informationOperations 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 informationIP Cut Homework from J and B Chapter 9: 14, 15, 16, 23, 24, You wish to solve the IP below with a cutting plane technique.
IP Cut Homework from J and B Chapter 9: 14, 15, 16, 23, 24, 31 14. You wish to solve the IP below with a cutting plane technique. Maximize 4x 1 + 2x 2 + x 3 subject to 14x 1 + 10x 2 + 11x 3 32 10x 1 +
More informationSpring 2017 CO 250 Course Notes TABLE OF CONTENTS. richardwu.ca. CO 250 Course Notes. Introduction to Optimization
Spring 2017 CO 250 Course Notes TABLE OF CONTENTS richardwu.ca CO 250 Course Notes Introduction to Optimization Kanstantsin Pashkovich Spring 2017 University of Waterloo Last Revision: March 4, 2018 Table
More informationInteger Programming ISE 418. Lecture 12. Dr. Ted Ralphs
Integer Programming ISE 418 Lecture 12 Dr. Ted Ralphs ISE 418 Lecture 12 1 Reading for This Lecture Nemhauser and Wolsey Sections II.2.1 Wolsey Chapter 9 ISE 418 Lecture 12 2 Generating Stronger Valid
More informationLagrangian Relaxation in MIP
Lagrangian Relaxation in MIP Bernard Gendron May 28, 2016 Master Class on Decomposition, CPAIOR2016, Banff, Canada CIRRELT and Département d informatique et de recherche opérationnelle, Université de Montréal,
More informationIntroduction to Integer Programming
Lecture 3/3/2006 p. /27 Introduction to Integer Programming Leo Liberti LIX, École Polytechnique liberti@lix.polytechnique.fr Lecture 3/3/2006 p. 2/27 Contents IP formulations and examples Total unimodularity
More informationDecision 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 informationCombinatorial Optimization
Combinatorial Optimization Lecture notes, WS 2010/11, TU Munich Prof. Dr. Raymond Hemmecke Version of February 9, 2011 Contents 1 The knapsack problem 1 1.1 Complete enumeration..................................
More informationOn the knapsack closure of 0-1 Integer Linear Programs. Matteo Fischetti University of Padova, Italy
On the knapsack closure of 0-1 Integer Linear Programs Matteo Fischetti University of Padova, Italy matteo.fischetti@unipd.it Andrea Lodi University of Bologna, Italy alodi@deis.unibo.it Aussois, January
More informationCutting Plane Methods I
6.859/15.083 Integer Programming and Combinatorial Optimization Fall 2009 Cutting Planes Consider max{wx : Ax b, x integer}. Cutting Plane Methods I Establishing the optimality of a solution is equivalent
More informationPresolve Reductions in Mixed Integer Programming
Zuse Institute Berlin Takustr. 7 14195 Berlin Germany TOBIAS ACHTERBERG, ROBERT E. BIXBY, ZONGHAO GU, EDWARD ROTHBERG, AND DIETER WENINGER Presolve Reductions in Mixed Integer Programming This work has
More informationOn Counting Lattice Points and Chvátal-Gomory Cutting Planes
On Counting Lattice Points and Chvátal-Gomory Cutting Planes Andrea Lodi 1, Gilles Pesant 2, and Louis-Martin Rousseau 2 1 DEIS, Università di Bologna - andrea.lodi@unibo.it 2 CIRRELT, École Polytechnique
More informationOverview 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 informationLecture 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 informationLP Relaxations of Mixed Integer Programs
LP Relaxations of Mixed Integer Programs John E. Mitchell Department of Mathematical Sciences RPI, Troy, NY 12180 USA February 2015 Mitchell LP Relaxations 1 / 29 LP Relaxations LP relaxations We want
More informationLecture 9: Dantzig-Wolfe Decomposition
Lecture 9: Dantzig-Wolfe Decomposition (3 units) Outline Dantzig-Wolfe decomposition Column generation algorithm Relation to Lagrangian dual Branch-and-price method Generated assignment problem and multi-commodity
More informationInteger Programming Methods LNMB
Integer Programming Methods LNMB 2017 2018 Dion Gijswijt homepage.tudelft.nl/64a8q/intpm/ Dion Gijswijt Intro IntPM 2017-2018 1 / 24 Organisation Webpage: homepage.tudelft.nl/64a8q/intpm/ Book: Integer
More informationA Review of Linear Programming
A Review of Linear Programming Instructor: Farid Alizadeh IEOR 4600y Spring 2001 February 14, 2001 1 Overview In this note we review the basic properties of linear programming including the primal simplex
More informationChap6 Duality Theory and Sensitivity Analysis
Chap6 Duality Theory and Sensitivity Analysis The rationale of duality theory Max 4x 1 + x 2 + 5x 3 + 3x 4 S.T. x 1 x 2 x 3 + 3x 4 1 5x 1 + x 2 + 3x 3 + 8x 4 55 x 1 + 2x 2 + 3x 3 5x 4 3 x 1 ~x 4 0 If we
More informationAggregation 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 informationInteger 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 informationDecomposition-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 informationColumn 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 informationLecture 2. Split Inequalities and Gomory Mixed Integer Cuts. Tepper School of Business Carnegie Mellon University, Pittsburgh
Lecture 2 Split Inequalities and Gomory Mixed Integer Cuts Gérard Cornuéjols Tepper School of Business Carnegie Mellon University, Pittsburgh Mixed Integer Cuts Gomory 1963 Consider a single constraint
More informationYinyu Ye, MS&E, Stanford MS&E310 Lecture Note #06. The Simplex Method
The Simplex Method Yinyu Ye Department of Management Science and Engineering Stanford University Stanford, CA 94305, U.S.A. http://www.stanford.edu/ yyye (LY, Chapters 2.3-2.5, 3.1-3.4) 1 Geometry of Linear
More informationBCOL RESEARCH REPORT 07.04
BCOL RESEARCH REPORT 07.04 Industrial Engineering & Operations Research University of California, Berkeley, CA 94720-1777 LIFTING FOR CONIC MIXED-INTEGER PROGRAMMING ALPER ATAMTÜRK AND VISHNU NARAYANAN
More informationInteger programming: an introduction. Alessandro Astolfi
Integer programming: an introduction Alessandro Astolfi Outline Introduction Examples Methods for solving ILP Optimization on graphs LP problems with integer solutions Summary Introduction Integer programming
More informationLecture 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 informationMath Models of OR: Branch-and-Bound
Math Models of OR: Branch-and-Bound John E. Mitchell Department of Mathematical Sciences RPI, Troy, NY 12180 USA November 2018 Mitchell Branch-and-Bound 1 / 15 Branch-and-Bound Outline 1 Branch-and-Bound
More informationTHE EXISTENCE AND USEFULNESS OF EQUALITY CUTS IN THE MULTI-DEMAND MULTIDIMENSIONAL KNAPSACK PROBLEM LEVI DELISSA. B.S., Kansas State University, 2014
THE EXISTENCE AND USEFULNESS OF EQUALITY CUTS IN THE MULTI-DEMAND MULTIDIMENSIONAL KNAPSACK PROBLEM by LEVI DELISSA B.S., Kansas State University, 2014 A THESIS submitted in partial fulfillment of the
More informationis 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 informationBilevel Integer Linear Programming
Bilevel Integer Linear Programming TED RALPHS SCOTT DENEGRE ISE Department COR@L Lab Lehigh University ted@lehigh.edu MOPTA 2009, Lehigh University, 19 August 2009 Thanks: Work supported in part by the
More information21. Solve the LP given in Exercise 19 using the big-m method discussed in Exercise 20.
Extra Problems for Chapter 3. Linear Programming Methods 20. (Big-M Method) An alternative to the two-phase method of finding an initial basic feasible solution by minimizing the sum of the artificial
More informationProjected Chvátal-Gomory cuts for Mixed Integer Linear Programs. Pierre Bonami CMU, USA. Gerard Cornuéjols CMU, USA and LIF Marseille, France
Projected Chvátal-Gomory cuts for Mixed Integer Linear Programs Pierre Bonami CMU, USA Gerard Cornuéjols CMU, USA and LIF Marseille, France Sanjeeb Dash IBM T.J. Watson, USA Matteo Fischetti University
More information3E4: Modelling Choice. Introduction to nonlinear programming. Announcements
3E4: Modelling Choice Lecture 7 Introduction to nonlinear programming 1 Announcements Solutions to Lecture 4-6 Homework will be available from http://www.eng.cam.ac.uk/~dr241/3e4 Looking ahead to Lecture
More informationReconnect 04 Introduction to Integer Programming
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, Reconnect 04 Introduction to Integer Programming Cynthia Phillips, Sandia National Laboratories Integer programming
More informationComputational Experiments with Cross and Crooked Cross Cuts
Submitted to INFORMS Journal on Computing manuscript (Please, provide the mansucript number!) Authors are encouraged to submit new papers to INFORMS journals by means of a style file template, which includes
More informationAn Integer Cutting-Plane Procedure for the Dantzig-Wolfe Decomposition: Theory
An Integer Cutting-Plane Procedure for the Dantzig-Wolfe Decomposition: Theory by Troels Martin Range Discussion Papers on Business and Economics No. 10/2006 FURTHER INFORMATION Department of Business
More informationLifting for conic mixed-integer programming
Math. Program., Ser. A DOI 1.17/s117-9-282-9 FULL LENGTH PAPER Lifting for conic mixed-integer programming Alper Atamtürk Vishnu Narayanan Received: 13 March 28 / Accepted: 28 January 29 The Author(s)
More informationThe dual simplex method with bounds
The dual simplex method with bounds Linear programming basis. Let a linear programming problem be given by min s.t. c T x Ax = b x R n, (P) where we assume A R m n to be full row rank (we will see in the
More informationExtended 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 informationMixed 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 informationOn the knapsack closure of 0-1 Integer Linear Programs
On the knapsack closure of 0-1 Integer Linear Programs Matteo Fischetti 1 Dipartimento di Ingegneria dell Informazione University of Padova Padova, Italy Andrea Lodi 2 Dipartimento di Elettronica, Informatica
More informationImproving Branch-And-Price Algorithms For Solving One Dimensional Cutting Stock Problem
Improving Branch-And-Price Algorithms For Solving One Dimensional Cutting Stock Problem M. Tech. Dissertation Submitted in partial fulfillment of the requirements for the degree of Master of Technology
More informationOptimization Exercise Set n. 4 :
Optimization Exercise Set n. 4 : Prepared by S. Coniglio and E. Amaldi translated by O. Jabali 2018/2019 1 4.1 Airport location In air transportation, usually there is not a direct connection between every
More informationOutline. 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 informationInteger 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 informationThe 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 informationPractical 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 informationInteger 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 information23. 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 informationAn 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 informationProperties of Arithmetic
Excerpt from "Prealgebra" 205 AoPS Inc. 4 6 7 4 5 8 22 23 5 7 0 Arithmetic is being able to count up to twenty without taking o your shoes. Mickey Mouse CHAPTER Properties of Arithmetic. Why Start with
More informationOptimization 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 informationA 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 informationCritical Reading of Optimization Methods for Logical Inference [1]
Critical Reading of Optimization Methods for Logical Inference [1] Undergraduate Research Internship Department of Management Sciences Fall 2007 Supervisor: Dr. Miguel Anjos UNIVERSITY OF WATERLOO Rajesh
More informationComputational Experiments with Cross and Crooked Cross Cuts
Computational Experiments with Cross and Crooked Cross Cuts Sanjeeb Dash IBM Research sanjeebd@us.ibm.com Oktay Günlük IBM Research gunluk@us.ibm.com Juan Pablo Vielma Massachusetts Institute of Technology
More informationInteger 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 informationWritten Exam Linear and Integer Programming (DM545)
Written Exam Linear and Integer Programming (DM545) Department of Mathematics and Computer Science University of Southern Denmark Monday, June 22, 2015, 10:00 14:00, Festsalen, Niels Bohr Allé 1 The exam
More informationThe Strength of Multi-row Aggregation Cuts for Sign-pattern Integer Programs
The Strength of Multi-row Aggregation Cuts for Sign-pattern Integer Programs Santanu S. Dey 1, Andres Iroume 1, and Guanyi Wang 1 1 School of Industrial and Systems Engineering, Georgia Institute of Technology
More informationGestion de la production. Book: Linear Programming, Vasek Chvatal, McGill University, W.H. Freeman and Company, New York, USA
Gestion de la production Book: Linear Programming, Vasek Chvatal, McGill University, W.H. Freeman and Company, New York, USA 1 Contents 1 Integer Linear Programming 3 1.1 Definitions and notations......................................
More informationIntroduction 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 informationSolving 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 informationPART 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 informationIE 400: Principles of Engineering Management. Simplex Method Continued
IE 400: Principles of Engineering Management Simplex Method Continued 1 Agenda Simplex for min problems Alternative optimal solutions Unboundedness Degeneracy Big M method Two phase method 2 Simplex for
More informationStrengthened 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 information3.7 Strong valid inequalities for structured ILP problems
3.7 Strong valid inequalities for structured ILP problems By studying the problem structure, we can derive strong valid inequalities yielding better approximations of conv(x ) and hence tighter bounds.
More information5 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 informationMINLP: 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 informationmaxz = 3x 1 +4x 2 2x 1 +x 2 6 2x 1 +3x 2 9 x 1,x 2
ex-5.-5. Foundations of Operations Research Prof. E. Amaldi 5. Branch-and-Bound Given the integer linear program maxz = x +x x +x 6 x +x 9 x,x integer solve it via the Branch-and-Bound method (solving
More informationThe Master Equality Polyhedron: Two-Slope Facets and Separation Algorithm
The Master Equality Polyhedron: Two-Slope Facets and Separation Algorithm by Xiaojing Wang A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Master
More informationInteger Programming: Cutting Planes
OptIntro 1 / 39 Integer Programming: Cutting Planes Eduardo Camponogara Department of Automation and Systems Engineering Federal University of Santa Catarina October 2016 OptIntro 2 / 39 Summary Introduction
More informationLectures 6, 7 and part of 8
Lectures 6, 7 and part of 8 Uriel Feige April 26, May 3, May 10, 2015 1 Linear programming duality 1.1 The diet problem revisited Recall the diet problem from Lecture 1. There are n foods, m nutrients,
More informationSOLVING INTEGER LINEAR PROGRAMS. 1. Solving the LP relaxation. 2. How to deal with fractional solutions?
SOLVING INTEGER LINEAR PROGRAMS 1. Solving the LP relaxation. 2. How to deal with fractional solutions? Integer Linear Program: Example max x 1 2x 2 0.5x 3 0.2x 4 x 5 +0.6x 6 s.t. x 1 +2x 2 1 x 1 + x 2
More information3.10 Lagrangian relaxation
3.10 Lagrangian relaxation Consider a generic ILP problem min {c t x : Ax b, Dx d, x Z n } with integer coefficients. Suppose Dx d are the complicating constraints. Often the linear relaxation and the
More informationCS 6820 Fall 2014 Lectures, October 3-20, 2014
Analysis of Algorithms Linear Programming Notes CS 6820 Fall 2014 Lectures, October 3-20, 2014 1 Linear programming The linear programming (LP) problem is the following optimization problem. We are given
More informationx 1 + x 2 2 x 1 x 2 1 x 2 2 min 3x 1 + 2x 2
Lecture 1 LPs: Algebraic View 1.1 Introduction to Linear Programming Linear programs began to get a lot of attention in 1940 s, when people were interested in minimizing costs of various systems while
More informationCSE 206A: Lattice Algorithms and Applications Spring Basic Algorithms. Instructor: Daniele Micciancio
CSE 206A: Lattice Algorithms and Applications Spring 2014 Basic Algorithms Instructor: Daniele Micciancio UCSD CSE We have already seen an algorithm to compute the Gram-Schmidt orthogonalization of a lattice
More informationBBM402-Lecture 20: LP Duality
BBM402-Lecture 20: LP Duality Lecturer: Lale Özkahya Resources for the presentation: https://courses.engr.illinois.edu/cs473/fa2016/lectures.html An easy LP? which is compact form for max cx subject to
More information