# Integer Programming Chapter 9

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 1 Integer Programming Chapter 9 University of Chicago Booth School of Business Kipp Martin October 30, 2017

2 2 Outline Branch and Bound Theory Branch and Bound Linear Programming Node Selection Strategies Variable Selection Strategies Problem Formulation Quality Solver Options Epsilon Optimality Preprocessing

3 Branch and Bound Theory In American football, on fourth and long, what do you do? We do the same thing in optimization.

4 Branch and Bound Theory We punt and solve an easier problem. We solve a relaxation of the original problem. We may solve many (many, many, many) relaxed problems.

5 Branch and Bound Key Concepts a problem relaxation basic branch and bound an upper bound a lower bound fathoming a node Reading: Chapter 9 of the text.

6 Branch and Bound Theory Problem (PR) min{f (x) x Γ R n } is a relaxation of problem (P) min{g(x) x ˆΓ R n } if and only if ˆΓ Γ and f (x) g(x) for all x ˆΓ.

7 Branch and Bound Theory It follows that if (PR) is a relaxation of (P) the optimal solution value of (PR) is less than or equal to the optimal solution value of (P). If (PR) is relaxation of (P), then (P) is a restriction of (PR).

8 Relaxation Example Let u be an arbitrary set of multipliers for the Ax = b. Then the original linear program min c x LP(x) s.t. Ax = b x 0 is equivalent to min c x + u (b Ax) LP(x, u) s.t. Ax = b x 0

9 Relaxation Example Let s rewrite LP(x, u) slightly as min (c u A)x + u b LP(x, u) s.t. Ax = b x 0 This is going to seem a bit weird, but just go with me on this. Define a problem relaxation of LP(x, u) by min (c u A)x + u b LPR(x, u) x 0 I formed problem LPR(x, u) from problem LP(x, u) by deleting the Ax = b constraints hence the term relaxation.

10 10 Relaxation Example Variation on a Theme: Here is another simple relaxation. Take the integer programming problem: min c x (1) s.t. Ax = b (2) x 0 (3) x j {0, 1}, j B (4) x j Z, j I (5)

11 11 Relaxation Example and replace it with the linear programming relaxation: min c x (6) s.t. Ax = b (7) x 0 (8) x j 1 (9) For now we will work with the linear programming relaxation. We will come back to LPR(x, u) later.

12 Branch and Bound Theory The solution technique for (MIP) used most often in practice is branch-and-bound. Branch-and-bound is a philosophy for problem solution, not really a specific algorithm. There are three major factors affecting the efficiency of this method.

13 Branch and Bound Theory 1. Selection of a problem relaxation: Want a relaxation that is tight! Want a relaxation that is easy to solve! want to have our cake and it too! 2. Problem branching/separation: from a current candidate problem create new candidate problems. The new candidate problems are restrictions of the parent candidate problem. 3. Problem selection: select a problem from the candidate list. It is important to make the selection in such a fashion that the gap between the upper and lower bounds closes rapidly and that feasible solutions are found.

14 14 Branch and Bound Linear Programming Step 1: (Initialization) If there is a known feasible solution x to (MIP) set z UB c x, if there is no known feasible solution set z UB. The feasible solution x which gives the smallest possible value for z UB is known as the incumbent and z UB is an upper bound on the optimal solution value of (MIP). Solve (MIP), the linear programming relaxation of (MIP). If (MIP) is infeasible then (MIP) is infeasible. If the (MIP) is integer for all j I, stop with an optimal solution to (MIP). Otherwise, add problem (MIP) to the list of candidate problems and go to Step 2. Step 2: (Problem Selection) Select a candidate problem for separation from the list of candidate problems and go to Step 3. A common rule for candidate problem selection is to select the candidate problem with the smallest (assuming a minimization) linear programming relaxation value.

15 Branch and Bound Linear Programming Step 3: (Branching/Separation) The candidate problem (CP) under consideration has at least one fractional integer variable. 3.a Select a fractional integer variable, x k = n k + f k for branching purposes. Here n k is a nonnegative integer and f k is in the open interval (0, 1). 3.b Create two new mixed integer programs from (CP). Create one new candidate problem by adding the constraint x k n k + 1 to the constraint set of (CP). Create the second new candidate problem from (CP) by adding the constraint x k n k to the constraint set of (CP). The two new candidate problems are restrictions of the parent candidate problem since they are created by adding a constraint to the parent.

16 Branch and Bound Linear Programming 3.c Solve the linear programming relaxation of the two new candidate problems. 3.c.i If the linear programming relaxation is infeasible drop the newly created problem from further consideration. 3.c.ii If the linear programming relaxation is integer for all j I update the incumbent value z UB and make this solution the incumbent if necessary. Drop this problem from further consideration. 3.c.iii If the linear programming relaxation has at least one fractional variable x j for j I and the objective function value is strictly less than z UB, add this problem to the list of candidate problems. Go to Step 4

17 Branch and Bound Linear Programming Step 4: (Optimality Test) Delete from the list of candidate problems any problem with an objective value of its relaxation which is not strictly less than z UB. Stop if this list is emptied. Otherwise, go to Step 2. If the list is emptied and z UB = problem (MIP) is infeasible, otherwise z UB is the optimal solution value of (MIP). In Steps 3 and 4, a candidate problem is deleted when the linear programming relaxation is infeasible, or integral, or has a linear programming relaxation value larger than z UB. This process of deleting candidate problems is known as fathoming.

18 Branch and Bound Linear Programming min x 1 x 2 s.t. x 1 + 2x 2 5 9x 1 + 4x x 1 2x 2 4 x 1, x 2 0 x 1, x 2 Z Solution: x 1 = , x 2 = Objective function value is Set z UB =. Select x 1 as the branching variable.

19 Branch and Bound Linear Programming Add the constraint x 1 0 gives min x 1 x 2 Linear Program 2 : s.t. x 1 + 2x 2 5 9x 1 + 4x x 1 2x 2 4 x 1 0 x 1, x 2 0 The optimal solution is x 1 = 0, x 2 = 2.5 with optimal objective function value 2.5.

20 Branch and Bound Linear Programming Add the constraint x 1 1 gives min x 1 x 2 Linear Program 3 : s.t. x 1 + 2x 2 5 9x 1 + 4x x 1 2x 2 4 x 1 1 x 1, x 2 0 The optimal solution is x 1 = 1.0, x 2 = 2.25 with an optimal objective function value of There are now two candidate problems. Select candidate problem 3 for further branching since it has the smallest linear programming relaxation value.

21 21 Branch and Bound Linear Programming x 1 <= 0 1 x 1 = x 2 = x 1 >= x 1 = 1.0 x 2 = 2.25 x 1 = 0.0 x 2 = 2.5 x 2 <= 2 x 2 >= 3 x 1 = x 2 = 2.0 x 1 <= x 1 >= 2 Infeasible 6 7 Infeasible x 1 = 1.0 x 2 = 2.0

22 22 Branch and Bound Linear Programming Variable x 2 is the only fractional variable for linear program 3 and is used for branching. Create two new linear programs by using the constraints x 2 2 and x 2 3. First branch on x 2 2. min x 1 x 2 Linear Program 4 : s.t. x 1 + 2x 2 5 9x 1 + 4x x 1 2x 2 4 x 1 1 x 2 2 x 1, x 2 0 The optimal solution is x 1 = , x 2 = 2 with an optimal objective function value of

23 Branch and Bound Linear Programming Next branch on x 2 2. min x 1 x 2 Linear Program 5 : s.t. x 1 + 2x 2 5 9x 1 + 4x x 1 2x 2 4 x 1 1 x 2 3 x 1, x 2 0 Linear program 5 is infeasible. There are now two candidate problems. They are candidate problems 2 and 4. Since linear program 4 has the smallest objective function value select it for branching.

24 Branch and Bound Linear Programming Create linear programs 6 and 7 by branching on variable x 1 = First branch on x 1 1. min x 1 x 2 Linear Program 6 : s.t. x 1 + 2x 2 5 9x 1 + 4x x 1 2x 2 4 x 1 1 x 2 2 x 1 1 x 1, x 2 0 The optimal solution is x 1 = 1, x 2 = 2 with an optimal objective function value of 3. Since this solution is integer it is the new incumbent and provides the new upper bound z UB = 3.

25 Branch and Bound Linear Programming Linear program 7 is infeasible. Candidate problem 2 is the only candidate problem remaining in the list. The linear programming relaxation value of this candidate problem is 2.5 which is worse than the incumbent upper bound value of 3.0. Delete candidate problem 2. There are no candidate problems remaining so the optimal solution to the integer program is x 1 = 1, x 2 = 2 with optimal solution value 3.

26 26 Branch and Bound Linear Programming x 1 <= 0 1 x 1 = x 2 = x 1 >= x 1 = 1.0 x 2 = 2.25 x 1 = 0.0 x 2 = 2.5 x 2 <= 2 x 2 >= 3 x 1 = x 2 = 2.0 x 1 <= x 1 >= 2 Infeasible 6 7 Infeasible x 1 = 1.0 x 2 = 2.0

27 Node Selection Strategies It is necessary to pick a node (candidate problem) from a candidate list. Select a node with the best (relaxed) objective function value. This is a breadth first strategy and can leave many dangling nodes which presents a problem of computer storage. Depth first, or last-in, first-out (LIFO) where the node selected is the most recently created node with the smallest linear programming solution value Select a node based on calculations made related to fractional variables.

28 28 Variable Selection Strategies Pick the fractional variable that is the farthest from being integer Assign priorities (either static or dynamic). Branch on the fractional variable with the highest priority. Use pseudo-costs P U k := zj+1 z j f k, P D k := zj+2 z j 1 f k Use estimates from dual-simplex pivots or use strong branching.

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

30 Problem Formulation Quality Absolutely Critical: Understand the differences between 1. Γ this is an MILP 2. Γ this is an LP 3. conv(γ) this is an LP-R In most interesting cases conv(γ) Γ. We want to find conv(γ) or a close approximation.

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

32 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

33 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

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

35 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

36 Reformulation (Lot Sizing) Dynamic Lot Size (tvw200) : Tight Loose Rows Columns LP Value What happens when you try to solve?

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

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

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

40 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

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

42 Epsilon Optimality Another Take Away: the data may not be that accurate to being with. Standard Oil story.

43 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 (10) j I + j C + j I j C

44 44 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 (11) j I + j I (a j /α)x j (a j /α)x j b/α. (12) j I + j I (a j /α)x j (a j /α)x j b/α. (13) j I + j I

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

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

47 47 Preprocessing Coefficient Reduction: if C = I = then it is valid to reduce the coefficients on the integer variables to b. That is, (10) is equivalent to j I + min{a j, b}x j + j C + a j x j b. (14) Additionally, if C or I is not empty then upper bounds on the variables in these sets are used as follows. Define: Then (10) is equivalent to λ := b + a j h j + a j h j. (15) j C j I min{a j, λ}x j + a j x j a j x j a j x j b. (16) j I + j C + j I j C

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

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

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

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

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

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

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

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

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

57 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();

58 58 Preprocessing Unwind to get the original model back process.postprocess( *model->solver() ); Results with p0033.osil Variables Constraints LP Relax Nodes Without With

### 3 INTEGER LINEAR PROGRAMMING

3 INTEGER LINEAR PROGRAMMING PROBLEM DEFINITION Integer linear programming problem (ILP) of the decision variables x 1,..,x n : (ILP) subject to minimize c x j j n j= 1 a ij x j x j 0 x j integer n j=

### Integer Programming Chapter 9

Integer Programming Chapter 9 University of Chicago Booth School of Business Kipp Martin October 25, 2017 1 / 40 Outline Key Concepts MILP Set Monoids LP set Relaxation of MILP Set Formulation Quality

### Introduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs

Introduction to Mathematical Programming IE406 Lecture 20 Dr. Ted Ralphs IE406 Lecture 20 1 Reading for This Lecture Bertsimas Sections 10.1, 11.4 IE406 Lecture 20 2 Integer Linear Programming An integer

### lpsymphony - Integer Linear Programming in R

lpsymphony - Integer Linear Programming in R Vladislav Kim October 30, 2017 Contents 1 Introduction 2 2 lpsymphony: Quick Start 2 3 Integer Linear Programming 5 31 Equivalent and Dual Formulations 5 32

### Parallel Branch & Bound

Parallel Branch & Bound Bernard Gendron Université de Montréal gendron@iro.umontreal.ca Outline Mixed integer programming (MIP) and branch & bound (B&B) Linear programming (LP) based B&B Relaxation and

### 15.083J Integer Programming and Combinatorial Optimization Fall Enumerative Methods

5.8J Integer Programming and Combinatorial Optimization Fall 9 A knapsack problem Enumerative Methods Let s focus on maximization integer linear programs with only binary variables For example: a knapsack

### Lagrangean Methods bounding through penalty adjustment

Lagrangean Methods bounding through penalty adjustment thst@man.dtu.dk DTU-Management Technical University of Denmark 1 Outline Brief introduction How to perform Lagrangean relaxation Subgradient techniques

### Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017

Section Notes 5 Review of Linear Programming Applied Math / Engineering Sciences 121 Week of October 15, 2017 The following list of topics is an overview of the material that was covered in the lectures

### / Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang

600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang 9.1 Linear Programming Suppose we are trying to approximate a minimization

### How to use your favorite MIP Solver: modeling, solving, cannibalizing. Andrea Lodi University of Bologna, Italy

How to use your favorite MIP Solver: modeling, solving, cannibalizing Andrea Lodi University of Bologna, Italy andrea.lodi@unibo.it January-February, 2012 @ Universität Wien A. Lodi, How to use your favorite

### Discrete Optimization. Lecture Notes 2

Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The

### The SYMPHONY Callable Library for Mixed-Integer Linear Programming

The SYMPHONY Callable Library for Mixed-Integer Linear Programming Ted Ralphs and Menal Guzelsoy Industrial and Systems Engineering Lehigh University INFORMS Computing Society Conference, Annapolis, MD,

### Heuristics in MILP. Group 1 D. Assouline, N. Molyneaux, B. Morén. Supervisors: Michel Bierlaire, Andrea Lodi. Zinal 2017 Winter School

Heuristics in MILP Group 1 D. Assouline, N. Molyneaux, B. Morén Supervisors: Michel Bierlaire, Andrea Lodi Zinal 2017 Winter School 0 / 23 Primal heuristics Original paper: Fischetti, M. and Lodi, A. (2011).

### Column Generation Based Primal Heuristics

Column Generation Based Primal Heuristics C. Joncour, S. Michel, R. Sadykov, D. Sverdlov, F. Vanderbeck University Bordeaux 1 & INRIA team RealOpt Outline 1 Context Generic Primal Heuristics The Branch-and-Price

### Experience with CGL in the PICO Mixed- Integer Programming Solver

Experience with CGL in the PICO Mixed- Integer Programming Solver Cynthia A. Phillips, Sandia National Laboratories Joint work with Jonathan Eckstein, Rutgers William Hart, Sandia Sandia is a multiprogram

### (Duality), Warm Starting, and Sensitivity Analysis for MILP

(Duality), Warm Starting, and Sensitivity Analysis for MILP Ted Ralphs and Menal Guzelsoy Industrial and Systems Engineering Lehigh University INFORMS Annual Conference, Denver, CO, Tuesday, October 26,

### Primal Heuristics in SCIP

Primal Heuristics in SCIP Timo Berthold Zuse Institute Berlin DFG Research Center MATHEON Mathematics for key technologies Berlin, 10/11/2007 Outline 1 Introduction Basics Integration Into SCIP 2 Available

### 3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

### Optimization of Design. Lecturer:Dung-An Wang Lecture 8

Optimization of Design Lecturer:Dung-An Wang Lecture 8 Lecture outline Reading: Ch8 of text Today s lecture 2 8.1 LINEAR FUNCTIONS Cost Function Constraints 3 8.2 The standard LP problem Only equality

### 4.1 Graphical solution of a linear program and standard form

4.1 Graphical solution of a linear program and standard form Consider the problem min c T x Ax b x where x = ( x1 x ) ( 16, c = 5 ), b = 4 5 9, A = 1 7 1 5 1. Solve the problem graphically and determine

### SCIP. 1 Introduction. 2 Model requirements. Contents. Stefan Vigerske, Humboldt University Berlin, Germany

SCIP Stefan Vigerske, Humboldt University Berlin, Germany Contents 1 Introduction.................................................. 673 2 Model requirements..............................................

### 16.410/413 Principles of Autonomy and Decision Making

16.410/413 Principles of Autonomy and Decision Making Lecture 17: The Simplex Method Emilio Frazzoli Aeronautics and Astronautics Massachusetts Institute of Technology November 10, 2010 Frazzoli (MIT)

### Approximation Algorithms: The Primal-Dual Method. My T. Thai

Approximation Algorithms: The Primal-Dual Method My T. Thai 1 Overview of the Primal-Dual Method Consider the following primal program, called P: min st n c j x j j=1 n a ij x j b i j=1 x j 0 Then the

### SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING BINARY LINEAR PROGRAMMING

ASIAN JOURNAL OF MATHEMATICS AND APPLICATIONS Volume 2014, Article ID ama0156, 11 pages ISSN 2307-7743 http://scienceasia.asia SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING

### Manpower Planning: Task Scheduling. Anders Høeg Dohn

: Task Scheduling Anders Høeg Dohn Scope During these lectures I will: Go over some of the practical problems encountered in manpower planning. Rostering Task Scheduling Propose models that can be used

### The Simplex Algorithm

The Simplex Algorithm Uri Feige November 2011 1 The simplex algorithm The simplex algorithm was designed by Danzig in 1947. This write-up presents the main ideas involved. It is a slight update (mostly

### Cutting Planes for Some Nonconvex Combinatorial Optimization Problems

Cutting Planes for Some Nonconvex Combinatorial Optimization Problems Ismael Regis de Farias Jr. Department of Industrial Engineering Texas Tech Summary Problem definition Solution strategy Multiple-choice

### 11.1 Facility Location

CS787: Advanced Algorithms Scribe: Amanda Burton, Leah Kluegel Lecturer: Shuchi Chawla Topic: Facility Location ctd., Linear Programming Date: October 8, 2007 Today we conclude the discussion of local

### SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING BINARY LINEAR PROGRAMMING

Bulletin of Mathematics Vol. 06, No. 0 (20), pp.. SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING BINARY LINEAR PROGRAMMING Eddy Roflin, Sisca Octarina, Putra B. J Bangun,

### BCN Decision and Risk Analysis. Syed M. Ahmed, Ph.D.

Linear Programming Module Outline Introduction The Linear Programming Model Examples of Linear Programming Problems Developing Linear Programming Models Graphical Solution to LP Problems The Simplex Method

### SBB: A New Solver for Mixed Integer Nonlinear Programming

SBB: A New Solver for Mixed Integer Nonlinear Programming Michael R. Bussieck GAMS Development Corp. Arne Drud ARKI Consulting & Development A/S Overview Introduction: The MINLP Model The B&B Algorithm

### Approximation Algorithms

Approximation Algorithms Group Members: 1. Geng Xue (A0095628R) 2. Cai Jingli (A0095623B) 3. Xing Zhe (A0095644W) 4. Zhu Xiaolu (A0109657W) 5. Wang Zixiao (A0095670X) 6. Jiao Qing (A0095637R) 7. Zhang

### 5. DUAL LP, SOLUTION INTERPRETATION, AND POST-OPTIMALITY

5. DUAL LP, SOLUTION INTERPRETATION, AND POST-OPTIMALITY 5.1 DUALITY Associated with every linear programming problem (the primal) is another linear programming problem called its dual. If the primal involves

### L2: Algorithms: Knapsack Problem & BnB

L2: Algorithms: Knapsack Problem & BnB This tutorial covers the basic topics on creating a forms application, common form controls and the user interface for the optimization models, algorithms and heuristics,

### Introduction. Chapter 15. Optimization Modeling: Applications. Integer Programming. Manufacturing Example. Three Types of ILP Models

Chapter 5 Optimization Modeling: Applications Integer Programming Introduction When one or more variables in an LP problem must assume an integer value we have an Integer Linear Programming (ILP) problem.

### A NEW SEQUENTIAL CUTTING PLANE ALGORITHM FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS

EVOLUTIONARY METHODS FOR DESIGN, OPTIMIZATION AND CONTROL P. Neittaanmäki, J. Périaux and T. Tuovinen (Eds.) c CIMNE, Barcelona, Spain 2007 A NEW SEQUENTIAL CUTTING PLANE ALGORITHM FOR SOLVING MIXED INTEGER

### Generalized Network Flow Programming

Appendix C Page Generalized Network Flow Programming This chapter adapts the bounded variable primal simplex method to the generalized minimum cost flow problem. Generalized networks are far more useful

### MATLAB Solution of Linear Programming Problems

MATLAB Solution of Linear Programming Problems The simplex method is included in MATLAB using linprog function. All is needed is to have the problem expressed in the terms of MATLAB definitions. Appendix

### 11. APPROXIMATION ALGORITHMS

Coping with NP-completeness 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: weighted vertex cover LP rounding: weighted vertex cover generalized load balancing knapsack problem

### V. Solving Integer Linear Programs

Optimization Methods Draft of August 26, 2005 V. Solving Integer Linear Programs Robert Fourer Department of Industrial Engineering and Management Sciences Northwestern University Evanston, Illinois 60208-3119,

### The Branch-and-Sandwich Algorithm for Mixed-Integer Nonlinear Bilevel Problems

The Branch-and-Sandwich Algorithm for Mixed-Integer Nonlinear Bilevel Problems Polyxeni-M. Kleniati and Claire S. Adjiman MINLP Workshop June 2, 204, CMU Funding Bodies EPSRC & LEVERHULME TRUST OUTLINE

### Math 5593 Linear Programming Lecture Notes

Math 5593 Linear Programming Lecture Notes Unit II: Theory & Foundations (Convex Analysis) University of Colorado Denver, Fall 2013 Topics 1 Convex Sets 1 1.1 Basic Properties (Luenberger-Ye Appendix B.1).........................

### AMPL Integer Linear Programming And Sensitivity Analysis for LP. ORLAB Operations Research Laboratory. Borzou Rostami. Politecnico di Milano, Italy

AMPL Integer Linear Programming And Sensitivity Analysis for LP ORLAB Operations Research Laboratory Borzou Rostami Politecnico di Milano, Italy December 6, 2012 Integer Programming: Many linear programming

### A Nonlinear Presolve Algorithm in AIMMS

A Nonlinear Presolve Algorithm in AIMMS By Marcel Hunting marcel.hunting@aimms.com November 2011 This paper describes the AIMMS presolve algorithm for nonlinear problems. This presolve algorithm uses standard

### OPERATIONS RESEARCH. Linear Programming Problem

OPERATIONS RESEARCH Chapter 1 Linear Programming Problem Prof. Bibhas C. Giri Department of Mathematics Jadavpur University Kolkata, India Email: bcgiri.jumath@gmail.com 1.0 Introduction Linear programming

### Pure Cutting Plane Methods for ILP: a computational perspective

Pure Cutting Plane Methods for ILP: a computational perspective Matteo Fischetti, DEI, University of Padova Rorschach test for OR disorders: can you see the tree? 1 Outline 1. Pure cutting plane methods

### Vertex Cover Approximations

CS124 Lecture 20 Heuristics can be useful in practice, but sometimes we would like to have guarantees. Approximation algorithms give guarantees. It is worth keeping in mind that sometimes approximation

### Linear programming and duality theory

Linear programming and duality theory Complements of Operations Research Giovanni Righini Linear Programming (LP) A linear program is defined by linear constraints, a linear objective function. Its variables

### GENERAL ASSIGNMENT PROBLEM via Branch and Price JOHN AND LEI

GENERAL ASSIGNMENT PROBLEM via Branch and Price JOHN AND LEI Outline Review the column generation in Generalized Assignment Problem (GAP) GAP Examples in Branch and Price 2 Assignment Problem The assignment

### sbb COIN-OR Simple Branch-and-Cut

sbb COIN-OR Simple Branch-and-Cut Additional Notes for sbb COIN-OR Tutorial CORS/INFORMS Joint Meeting, Banff, May, 2004 Lou Hafer Computing Science Simon Fraser University May 14, 2004 The material on

### Integer Programming ISE 418. Lecture 1. Dr. Ted Ralphs

Integer Programming ISE 418 Lecture 1 Dr. Ted Ralphs ISE 418 Lecture 1 1 Reading for This Lecture N&W Sections I.1.1-I.1.4 Wolsey Chapter 1 CCZ Chapter 2 ISE 418 Lecture 1 2 Mathematical Optimization Problems

### Ellipsoid Algorithm :Algorithms in the Real World. Ellipsoid Algorithm. Reduction from general case

Ellipsoid Algorithm 15-853:Algorithms in the Real World Linear and Integer Programming II Ellipsoid algorithm Interior point methods First polynomial-time algorithm for linear programming (Khachian 79)

### The goal of this paper is to develop models and methods that use complementary

for a Class of Optimization Problems Vipul Jain Ignacio E. Grossmann Department of Chemical Engineering, Carnegie Mellon University, Pittsburgh, Pennsylvania, 15213, USA Vipul_Jain@i2.com grossmann@cmu.edu

### Investigating Mixed-Integer Hulls using a MIP-Solver

Investigating Mixed-Integer Hulls using a MIP-Solver Matthias Walter Otto-von-Guericke Universität Magdeburg Joint work with Volker Kaibel (OvGU) Aussois Combinatorial Optimization Workshop 2015 Outline

### is shown that this problem can be modeled as an MILP, a CP, a combined MILP-CP OPL model (Hentenryck (1999)), and a hybrid MILP/CP model. The computat

Algorithms for hybrid MILP/CP models for a class of optimization problems Vipul Jain Λ and Ignacio E. Grossmann y Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 October

### Restrict-and-relax search for 0-1 mixed-integer programs

EURO J Comput Optim (23) :2 28 DOI.7/s3675-3-7-y ORIGINAL PAPER Restrict-and-relax search for - mixed-integer programs Menal Guzelsoy George Nemhauser Martin Savelsbergh Received: 2 September 22 / Accepted:

### Applied Lagrange Duality for Constrained Optimization

Applied Lagrange Duality for Constrained Optimization Robert M. Freund February 10, 2004 c 2004 Massachusetts Institute of Technology. 1 1 Overview The Practical Importance of Duality Review of Convexity

### Lookahead Branching for Mixed Integer Programming

Lookahead Branching for Mixed Integer Programming Wasu Glankwamdee Jeff Linderoth Department of Industrial and Systems Engineering Lehigh University 200 W. Packer Ave. Bethlehem, PA 18015 wag3@lehigh.edu

### LaGO. Ivo Nowak and Stefan Vigerske. Humboldt-University Berlin, Department of Mathematics

LaGO a Branch and Cut framework for nonconvex MINLPs Ivo Nowak and Humboldt-University Berlin, Department of Mathematics EURO XXI, July 5, 2006 21st European Conference on Operational Research, Reykjavik

### Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far:

Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far: I Strength of formulations; improving formulations by adding valid inequalities I Relaxations and dual problems; obtaining

### COVERING POINTS WITH AXIS PARALLEL LINES. KAWSAR JAHAN Bachelor of Science, Bangladesh University of Professionals, 2009

COVERING POINTS WITH AXIS PARALLEL LINES KAWSAR JAHAN Bachelor of Science, Bangladesh University of Professionals, 2009 A Thesis Submitted to the School of Graduate Studies of the University of Lethbridge

### Constraint Branching and Disjunctive Cuts for Mixed Integer Programs

Constraint Branching and Disunctive Cuts for Mixed Integer Programs Constraint Branching and Disunctive Cuts for Mixed Integer Programs Michael Perregaard Dash Optimization Constraint Branching and Disunctive

### Package Rcplex. February 15, 2013

Version 0.3-1 Date 2013-02-13 Title R interface to CPLEX Package Rcplex February 15, 2013 Author Hector Corrada Bravo, with contributions from Stefan Theussl and Kurt Hornik Maintainer Hector Corrada Bravo

### The Mixed Integer Linear Programming Solver

SAS/OR 14.3 User s Guide Mathematical Programming The Mixed Integer Linear Programming Solver This document is an individual chapter from SAS/OR 14.3 User s Guide: Mathematical Programming. The correct

### PRIMAL-DUAL INTERIOR POINT METHOD FOR LINEAR PROGRAMMING. 1. Introduction

PRIMAL-DUAL INTERIOR POINT METHOD FOR LINEAR PROGRAMMING KELLER VANDEBOGERT AND CHARLES LANNING 1. Introduction Interior point methods are, put simply, a technique of optimization where, given a problem

### Stochastic Separable Mixed-Integer Nonlinear Programming via Nonconvex Generalized Benders Decomposition

Stochastic Separable Mixed-Integer Nonlinear Programming via Nonconvex Generalized Benders Decomposition Xiang Li Process Systems Engineering Laboratory Department of Chemical Engineering Massachusetts

Iterative Improvement Algorithm design technique for solving optimization problems Start with a feasible solution Repeat the following step until no improvement can be found: change the current feasible

### MASSACHUSETTS INSTITUTE OF TECHNOLOGY

MASSACHUSETTS INSTITUTE OF TECHNOLOGY 5.05 Introduction to Optimization (Spring 005) Problem Set 8, Due April 4, 005 You will need 4.5 points out of 5 to receive a grade of.5.. Integer Programming and

### AM 121: Intro to Optimization Models and Methods Fall 2017

AM 121: Intro to Optimization Models and Methods Fall 2017 Lecture 10: Dual Simplex Yiling Chen SEAS Lesson Plan Interpret primal simplex in terms of pivots on the corresponding dual tableau Dictionaries

### Linear & Integer Programming: A Decade of Computation

Linear & Integer Programming: A Decade of Computation Robert E. Bixby, Mary Fenelon, Zongao Gu, Irv Lustig, Ed Rothberg, Roland Wunderling 1 Outline Progress in computing machines Linear programming (LP)

### Cloud Branching MIP workshop, Ohio State University, 23/Jul/2014

Cloud Branching MIP workshop, Ohio State University, 23/Jul/2014 Timo Berthold Xpress Optimization Team Gerald Gamrath Zuse Institute Berlin Domenico Salvagnin Universita degli Studi di Padova This presentation

### Convex Optimization CMU-10725

Convex Optimization CMU-10725 Ellipsoid Methods Barnabás Póczos & Ryan Tibshirani Outline Linear programs Simplex algorithm Running time: Polynomial or Exponential? Cutting planes & Ellipsoid methods for

### Ray Projection for Optimizing Polytopes with Prohibitively Many Constraints in Set-Covering Column Generation

Ray Projection for Optimizing Polytopes with Prohibitively Many Constraints in Set-Covering Column Generation Daniel Porumbel Abstract A recurrent task in mathematical programming consists of optimizing

### Package Rcplex. June 12, 2016

Version 0.3-3 Date 2016-06-09 Title R Interface to CPLEX Package Rcplex June 12, 2016 Description R interface to CPLEX solvers for linear, quadratic, and (linear and quadratic) mixed integer programs.

### CSE 40/60236 Sam Bailey

CSE 40/60236 Sam Bailey Solution: any point in the variable space (both feasible and infeasible) Cornerpoint solution: anywhere two or more constraints intersect; could be feasible or infeasible Feasible

### 11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005

### A Simplex Based Parametric Programming Method for the Large Linear Programming Problem

A Simplex Based Parametric Programming Method for the Large Linear Programming Problem Huang, Rujun, Lou, Xinyuan Abstract We present a methodology of parametric objective function coefficient programming

### Decomposition in Integer Linear Programming

Decomposition in Integer Linear Programming M.V. Galati Advanced Analytics - Operations R & D, SAS Institute, Chesterbrook, PA 9 Ted K. Ralphs Department of Industrial and System Engineering, Lehigh University,

### Lecture 16 October 23, 2014

CS 224: Advanced Algorithms Fall 2014 Prof. Jelani Nelson Lecture 16 October 23, 2014 Scribe: Colin Lu 1 Overview In the last lecture we explored the simplex algorithm for solving linear programs. While

### M2 ORO: Advanced Integer Programming. Part IV. Solving MILP (1) easy IP. Outline. Sophie Demassey. October 10, 2011

M2 ORO: Advanced Integer Programming Sophie Demassey Part IV Solving MILP (1) Mines Nantes - TASC - INRIA/LINA CNRS UMR 6241 sophie.demassey@mines-nantes.fr October 10, 2011 Université de Nantes / M2 ORO

### A hard integer program made easy by lexicography

Noname manuscript No. (will be inserted by the editor) A hard integer program made easy by lexicography Egon Balas Matteo Fischetti Arrigo Zanette February 16, 2011 Abstract A small but notoriously hard

### The simplex method and the diameter of a 0-1 polytope

The simplex method and the diameter of a 0-1 polytope Tomonari Kitahara and Shinji Mizuno May 2012 Abstract We will derive two main results related to the primal simplex method for an LP on a 0-1 polytope.

### Module 1 Lecture Notes 2. Optimization Problem and Model Formulation

Optimization Methods: Introduction and Basic concepts 1 Module 1 Lecture Notes 2 Optimization Problem and Model Formulation Introduction In the previous lecture we studied the evolution of optimization

### MATH3016: OPTIMIZATION

MATH3016: OPTIMIZATION Lecturer: Dr Huifu Xu School of Mathematics University of Southampton Highfield SO17 1BJ Southampton Email: h.xu@soton.ac.uk 1 Introduction What is optimization? Optimization is

### Introduction to Linear Programming

Introduction to Linear Programming Eric Feron (updated Sommer Gentry) (updated by Paul Robertson) 16.410/16.413 Historical aspects Examples of Linear programs Historical contributor: G. Dantzig, late 1940

### AIMMS Function Reference - GMPInstance Procedures and Functions

AIMMS Function Reference - Instance Procedures and Functions This file contains only one chapter of the book. For a free download of the complete book in pdf format, please visit www.aimms.com Aimms 3.13

### Problem set 2. Problem 1. Problem 2. Problem 3. CS261, Winter Instructor: Ashish Goel.

CS261, Winter 2017. Instructor: Ashish Goel. Problem set 2 Electronic submission to Gradescope due 11:59pm Thursday 2/16. Form a group of 2-3 students that is, submit one homework with all of your names.

### Chapter 7. Linear Programming Models: Graphical and Computer Methods

Chapter 7 Linear Programming Models: Graphical and Computer Methods To accompany Quantitative Analysis for Management, Eleventh Edition, by Render, Stair, and Hanna Power Point slides created by Brian

### A modification of the simplex method reducing roundoff errors

A modification of the simplex method reducing roundoff errors Ralf Ulrich Kern Georg-Simon-Ohm-Hochschule Nürnberg Fakultät Informatik Postfach 21 03 20 90121 Nürnberg Ralf-Ulrich.Kern@ohm-hochschule.de

### The complement of PATH is in NL

340 The complement of PATH is in NL Let c be the number of nodes in graph G that are reachable from s We assume that c is provided as an input to M Given G, s, t, and c the machine M operates as follows:

### In this chapter we introduce some of the basic concepts that will be useful for the study of integer programming problems.

2 Basics In this chapter we introduce some of the basic concepts that will be useful for the study of integer programming problems. 2.1 Notation Let A R m n be a matrix with row index set M = {1,...,m}

### Linear Programming. Larry Blume. Cornell University & The Santa Fe Institute & IHS

Linear Programming Larry Blume Cornell University & The Santa Fe Institute & IHS Linear Programs The general linear program is a constrained optimization problem where objectives and constraints are all

### The SCIP Optimization Suite 3.2

The SCIP Optimization Suite 3.2 Gerald Gamrath 1, Tobias Fischer 2, Tristan Gally 2, Ambros M. Gleixner 1, Gregor Hendel 1, Thorsten Koch 1, Stephen J. Maher 1, Matthias Miltenberger 1, Benjamin Müller

### A PARAMETRIC SIMPLEX METHOD FOR OPTIMIZING A LINEAR FUNCTION OVER THE EFFICIENT SET OF A BICRITERIA LINEAR PROBLEM. 1.

ACTA MATHEMATICA VIETNAMICA Volume 21, Number 1, 1996, pp. 59 67 59 A PARAMETRIC SIMPLEX METHOD FOR OPTIMIZING A LINEAR FUNCTION OVER THE EFFICIENT SET OF A BICRITERIA LINEAR PROBLEM NGUYEN DINH DAN AND

### An extended supporting hyperplane algorithm for convex MINLP problems

An extended supporting hyperplane algorithm for convex MINLP problems Jan Kronqvist, Andreas Lundell and Tapio Westerlund Center of Excellence in Optimization and Systems Engineering Åbo Akademi University,

### Recap, and outline of Lecture 18

Recap, and outline of Lecture 18 Previously Applications of duality: Farkas lemma (example of theorems of alternative) A geometric view of duality Degeneracy and multiple solutions: a duality connection

### Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity

Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity Marc Uetz University of Twente m.uetz@utwente.nl Lecture 5: sheet 1 / 26 Marc Uetz Discrete Optimization Outline 1 Min-Cost Flows