Integer Programming Chapter 9


 Kathryn Nichols
 11 months ago
 Views:
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 branchandbound. Branchandbound 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 lastin, firstout (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 pseudocosts P U k := zj+1 z j f k, P D k := zj+2 z j 1 f k Use estimates from dualsimplex 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 LPR 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 mixedinteger 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 righthandside 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 CoinOR 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=
More informationInteger 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
More informationIntroduction 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
More informationlpsymphony  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
More informationParallel 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
More information15.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
More informationLagrangean Methods bounding through penalty adjustment
Lagrangean Methods bounding through penalty adjustment thst@man.dtu.dk DTUManagement Technical University of Denmark 1 Outline Brief introduction How to perform Lagrangean relaxation Subgradient techniques
More informationSection 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
More information/ 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
More informationHow 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 JanuaryFebruary, 2012 @ Universität Wien A. Lodi, How to use your favorite
More informationDiscrete 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
More informationThe SYMPHONY Callable Library for MixedInteger Linear Programming
The SYMPHONY Callable Library for MixedInteger Linear Programming Ted Ralphs and Menal Guzelsoy Industrial and Systems Engineering Lehigh University INFORMS Computing Society Conference, Annapolis, MD,
More informationHeuristics 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).
More informationColumn 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 BranchandPrice
More informationExperience 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
More information(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,
More informationPrimal 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
More information3 NoWait Job Shops with Variable Processing Times
3 NoWait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical nowait job shop setting, we are given a set of processing times for each operation. We may select
More informationOptimization of Design. Lecturer:DungAn Wang Lecture 8
Optimization of Design Lecturer:DungAn 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
More information4.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
More informationSCIP. 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..............................................
More information16.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)
More informationApproximation Algorithms: The PrimalDual Method. My T. Thai
Approximation Algorithms: The PrimalDual Method My T. Thai 1 Overview of the PrimalDual 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
More informationSUBSTITUTING 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 23077743 http://scienceasia.asia SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING
More informationManpower 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
More informationThe Simplex Algorithm
The Simplex Algorithm Uri Feige November 2011 1 The simplex algorithm The simplex algorithm was designed by Danzig in 1947. This writeup presents the main ideas involved. It is a slight update (mostly
More informationCutting 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 Multiplechoice
More information11.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
More informationSUBSTITUTING 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,
More informationBCN 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
More informationSBB: 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
More informationApproximation 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
More information5. DUAL LP, SOLUTION INTERPRETATION, AND POSTOPTIMALITY
5. DUAL LP, SOLUTION INTERPRETATION, AND POSTOPTIMALITY 5.1 DUALITY Associated with every linear programming problem (the primal) is another linear programming problem called its dual. If the primal involves
More informationL2: 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,
More informationIntroduction. 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.
More informationA 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
More informationGeneralized 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
More informationMATLAB 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
More information11. APPROXIMATION ALGORITHMS
Coping with NPcompleteness 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: weighted vertex cover LP rounding: weighted vertex cover generalized load balancing knapsack problem
More informationV. 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 602083119,
More informationThe BranchandSandwich Algorithm for MixedInteger Nonlinear Bilevel Problems
The BranchandSandwich Algorithm for MixedInteger Nonlinear Bilevel Problems PolyxeniM. Kleniati and Claire S. Adjiman MINLP Workshop June 2, 204, CMU Funding Bodies EPSRC & LEVERHULME TRUST OUTLINE
More informationMath 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 (LuenbergerYe Appendix B.1).........................
More informationAMPL 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
More informationA 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
More informationOPERATIONS 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
More informationPure 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
More informationVertex 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
More informationLinear 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
More informationGENERAL 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
More informationsbb COINOR Simple BranchandCut
sbb COINOR Simple BranchandCut Additional Notes for sbb COINOR Tutorial CORS/INFORMS Joint Meeting, Banff, May, 2004 Lou Hafer Computing Science Simon Fraser University May 14, 2004 The material on
More informationInteger 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.1I.1.4 Wolsey Chapter 1 CCZ Chapter 2 ISE 418 Lecture 1 2 Mathematical Optimization Problems
More informationEllipsoid Algorithm :Algorithms in the Real World. Ellipsoid Algorithm. Reduction from general case
Ellipsoid Algorithm 15853:Algorithms in the Real World Linear and Integer Programming II Ellipsoid algorithm Interior point methods First polynomialtime algorithm for linear programming (Khachian 79)
More informationThe 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
More informationInvestigating MixedInteger Hulls using a MIPSolver
Investigating MixedInteger Hulls using a MIPSolver Matthias Walter OttovonGuericke Universität Magdeburg Joint work with Volker Kaibel (OvGU) Aussois Combinatorial Optimization Workshop 2015 Outline
More informationis shown that this problem can be modeled as an MILP, a CP, a combined MILPCP 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
More informationRestrictandrelax search for 01 mixedinteger programs
EURO J Comput Optim (23) :2 28 DOI.7/s367537y ORIGINAL PAPER Restrictandrelax search for  mixedinteger programs Menal Guzelsoy George Nemhauser Martin Savelsbergh Received: 2 September 22 / Accepted:
More informationApplied 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
More informationLookahead 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
More informationLaGO. Ivo Nowak and Stefan Vigerske. HumboldtUniversity Berlin, Department of Mathematics
LaGO a Branch and Cut framework for nonconvex MINLPs Ivo Nowak and HumboldtUniversity Berlin, Department of Mathematics EURO XXI, July 5, 2006 21st European Conference on Operational Research, Reykjavik
More informationLast 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
More informationCOVERING 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
More informationConstraint 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
More informationPackage Rcplex. February 15, 2013
Version 0.31 Date 20130213 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
More informationThe 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
More informationPRIMALDUAL INTERIOR POINT METHOD FOR LINEAR PROGRAMMING. 1. Introduction
PRIMALDUAL 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
More informationStochastic Separable MixedInteger Nonlinear Programming via Nonconvex Generalized Benders Decomposition
Stochastic Separable MixedInteger Nonlinear Programming via Nonconvex Generalized Benders Decomposition Xiang Li Process Systems Engineering Laboratory Department of Chemical Engineering Massachusetts
More informationCopyright 2007 Pearson AddisonWesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.
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
More informationMASSACHUSETTS 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
More informationAM 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
More informationLinear & 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)
More informationCloud 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
More informationConvex Optimization CMU10725
Convex Optimization CMU10725 Ellipsoid Methods Barnabás Póczos & Ryan Tibshirani Outline Linear programs Simplex algorithm Running time: Polynomial or Exponential? Cutting planes & Ellipsoid methods for
More informationRay Projection for Optimizing Polytopes with Prohibitively Many Constraints in SetCovering Column Generation
Ray Projection for Optimizing Polytopes with Prohibitively Many Constraints in SetCovering Column Generation Daniel Porumbel Abstract A recurrent task in mathematical programming consists of optimizing
More informationPackage Rcplex. June 12, 2016
Version 0.33 Date 20160609 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.
More informationCSE 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
More information11. 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
More informationA 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
More informationDecomposition 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,
More informationLecture 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
More informationM2 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@minesnantes.fr October 10, 2011 Université de Nantes / M2 ORO
More informationA 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
More informationThe simplex method and the diameter of a 01 polytope
The simplex method and the diameter of a 01 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 01 polytope.
More informationModule 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
More informationMATH3016: 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
More informationIntroduction 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
More informationAIMMS 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
More informationProblem 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 23 students that is, submit one homework with all of your names.
More informationChapter 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
More informationA modification of the simplex method reducing roundoff errors
A modification of the simplex method reducing roundoff errors Ralf Ulrich Kern GeorgSimonOhmHochschule Nürnberg Fakultät Informatik Postfach 21 03 20 90121 Nürnberg RalfUlrich.Kern@ohmhochschule.de
More informationThe 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:
More informationIn 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}
More informationLinear 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
More informationThe 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
More informationA 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
More informationAn 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,
More informationRecap, 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
More informationDiscrete Optimization 2010 Lecture 5 MinCost Flows & Total Unimodularity
Discrete Optimization 2010 Lecture 5 MinCost Flows & Total Unimodularity Marc Uetz University of Twente m.uetz@utwente.nl Lecture 5: sheet 1 / 26 Marc Uetz Discrete Optimization Outline 1 MinCost Flows
More informationSpace Filling Curves and Hierarchical Basis. Klaus Speer
Space Filling Curves and Hierarchical Basis Klaus Speer Abstract Real world phenomena can be best described using differential equations. After linearisation we have to deal with huge linear systems of
More informationImplementing Constraint Handlers in SCIP
Implementing Constraint Handlers in SCIP Gregor Hendel Ambros Gleixner, Felipe Serrano September 30 Outline Why use constraints? Motivation Callback: Default Constraint Handlers of SCIP Implementation
More information