Integer Programming. Leo Liberti. March 13, Abstract

Size: px
Start display at page:

Download "Integer Programming. Leo Liberti. March 13, Abstract"

Transcription

1 Integer Programming Leo Liberti LIX, École Polytechnique, F-9118 Palaiseau, France March 1, 6 Abstract A short introduction to Integer Programming (IP). Problems leading to IP models. Some modelling tricks and reformulations. Geometry of linear IP. TUM matrices. Brief notes on polyhedral analysis. Separation theory. Chvatal cut hierarchy, Gomory cuts, Disjunctive cuts, RLT cut hierarchy. Iterative methods: Branch-and-Bound, Cutting Plane, Branch-and-Cut, Branch-and-Price. Lower bounds: Lagrangian relaxation and subgradient method. Upper bounds: heuristics. Contents 1 Introduction 1.1 Canonical and Standard Forms Modelling Tricks Geometrical and Structural Properties of ILP.1 Totally Unimodular Matrices Polyhedral Analysis 7.1 Separation Theory Chvátal Cut Hierarchy Gomory Cuts Gomory Cutting Plane Algorithm: Example Disjunctive Cuts Lifting RLT Cut Hierarchy Enumerative Methods for Integer Programming 1.1 Branch-and-Bound Example Branch-and-Cut

2 1 INTRODUCTION. Branch-and-Price Heuristics and Bounds Lower Bounds: Lagrangian Relaxation and Subgradient Method Conclusion 17 1 Introduction Many real-world problems naturally require solutions of a discrete type. We might be asked how many containers we should route from a set of manufacturing plants to a number of customer sites, subject to production limits and delivery requirements, so that the transportation costs are minimized. In another setting, we might have to decide where to install some servicing facilities so that every neighbouring town is guaranteed service, at minimum cost. The first is an abstract description of a transportation problem, which calls for discrete variables (the number of containers routed from plant i to customer j). The second describes a set covering problem, which relies on binary variables which tell whether a servicing facility will be built on a geographical region i. A more abstract description of the set covering problem is that, given a set X and a subset cost function c : P R, we want to find a subset system S P(X) so that S = X and s S c(s) is minimized. The fact that integer decision variables are required to solve these problems makes it impossible to model them by linear programming (LP) methods alone, as appears from their formulations below. 1.1 Example Transportation Problem. Let x ij be the (discrete) number of product units transported from plant i to customer j. We model the problem as follows: m n max x c ij x ij i=1 j=1 n i m x ij l i (1) j=1 m j n x ij d j i=1 i=1 where m is the number of plants, n is the number of customers, c ij is the unit transportation cost from plant i to customer j, l i are the production limits at the plants and d j are the demands at the customer sites. 1. Example Set Covering Problem. Let x i = 1 if a servicing facility will be built on geographical region i (out of m possible regions), and otherwise. We model the problem as follows: m min x c i x i i=1 m () j n a ij x i 1 where m is the number of regions, n is the number of towns to be serviced, c i is the cost of building a facility on region j and a ij = 1 if a facility on region i can serve town j, and otherwise.

3 1 INTRODUCTION This essay describes the standard techniques for modelling Integer Programming problems (IP) and solving them. Notice that we deal almost exclusively with integer linear programs (ILP). The rest of this section is devoted to basic definitions, modelling tricks and reformulation. Section deals with the geometrical and structural properties of an integer program. In Section we give brief notes about polyhedral analysis. Section is a resumé of the most popular iterative methods for solving ILPs. Finally, in section 5 we discuss techniques for finding lower and upper bounds to integer programs. Most of the material has been taken from [Wol98, NW88, PS98, Fis99, KV]. 1.1 Canonical and Standard Forms An ILP is in canonical form if it is modelled as follows: min x s.t. c x Ax b x x Z n, () where x Z n are the decision variables, c R n is a cost vector, A is an m n matrix with integral entries, and b an integral vector in Z m. An ILP is in standard form if it is modelled as follows: min x s.t. c x Ax = b x x Z n, () again, x Z n are the decision variables, c R n is a cost vector, A is an m n matrix with integral entries (assume rank(a) = m), and b an integral vector in Z m. As in LP theory, a canonical ILP problem can be put into standard form via the introduction of slack variables (one per constraint). Notice that an ILP is nonlinear. In fact, every integer variable x Z can be replaced by a continuous variable and an integrality enforcing constraint sin(πx) =. A problem where both integer and continuous variables appear is called a mixed-integer linear problem (MILP) or mixed-integer nonlinear problem (MINLP). Since the -Sat problem (finding a feasible solution of a conjunctive normal form system of boolean formulas with variables) is N P-complete and -Sat can be modelled as an ILP problem, it follows that the class of ILP problems is N P-hard. 1. Modelling Tricks Whereas continuous LPs are used to model situations where quantitative decisions must be taken, ILPs express a qualitative type of decision. 1. To impose the fact that exactly one choice x i is to be taken among many possibilities x 1,...,x n, use a constraint as follows: n x i = 1. Similar constraints hold for at least one choice ( 1) and at most one choice ( 1) i=1. The disjunctive constraint either a 1 x b 1 or a x b

4 GEOMETRICAL AND STRUCTURAL PROPERTIES OF ILP can be formulated as follows: a 1 x b 1 + ym 1 a x b + (1 y)m, where M 1,M are upper bounds on the values attained by a 1 x, a x. Basically, where y = the first constraint is active and the second one is inactive, due to the big M constant. When y = 1 the situation is reversed.. If-then type constraints can be reformulated to disjunctive constraints by observing that in first order logic we have φ ψ is the same as φ ψ. So, to express the condition if a 1 x b 1 then a x b, we use disjunctive constraints reformulation for a 1 x b 1 and a x b.. An integer variable product x 1 x can be linearized exactly as follows: substitute the product x 1 x with a (continuous) variable y and introduce the following constraints: y x 1 y x y x 1 + x 1 y [,1]. Geometrical and Structural Properties of ILP Since by relaxing the integrality constraints of an ILP we obtain an LP problem, it should come to no surprise that the basic geometrical definitions concerning ILPs are much the same as those of LP. The solutions of an ILP in form () or () are the integer vectors in Z n inside the polyhedron P R n defined by the problem constraints..1 Definition A set S R n is convex if for any two points x,y S the segment between them is wholly contained in S, that is, λ [,1] (λx + (1 λ)y S). A linear equation a x = b where a R n defines a hyperplane in R n. The corresponding linear inequality a x b defines a closed half-space. Both hyperplanes and closed half-spaces are convex sets. Since any intersection of convex sets is a convex set, the subset of R n defined by the system of hyperplanes Ax b,x is convex.. Definition A subset S R n defined by a finite number of closed halfspaces is called a polyhedron. A bounded, non-empty polyhedron is a polytope.. Definition The set conv(s) of all convex combinations n i=1 λ ix i (with λ i for all i and n i=1 λ i = 1) of a finite set S of points {x i i n} in R n is called the convex hull of S. A convex combination is strict if for all i n we have < λ i < 1.. Definition Consider a polyhedron P and a closed half-space H in R n. Let H P be the affine closure of H P and d = dim(h P). If d < n then H P is a face of P. If d =, H P is called a vertex of P, and if d = 1, it is called an edge. If d = n 1 then H P is a facet of P.

5 GEOMETRICAL AND STRUCTURAL PROPERTIES OF ILP 5.1 Totally Unimodular Matrices Consider the following LP problem: min x s.t. c x Ax = b x x R n, where c,a,b are as in problem (). This problem is the continuous relaxation of the ILP (). By LP theory, the solution of problem (5) is a basic feasible solution x R n corresponding to a square, invertible m m matrix B composed of a set of basic columns of A, and we have that x = (B 1 b,). Furthermore, x is a vertex of the polyhedron P s = {x Ax = b}. The conditions for x to be a solution of () are that x Z n, that is, every component of B 1 b must be integer. Since b is an integer vector, A is an integer matrix, B is a submatrix of A, and B 1 = 1 det(b) C where C is an integer matrix whose entries are integral functions of the entries of B, a condition for B 1 b to have integral components is that det(b) = ±1..5 Definition An m n integral matrix A whose m m invertible square submatrices all have determinant ±1 is called unimodular. (5) We have just proved the following proposition..6 Proposition If A is unimodular, the vertices of the polyhedron P s = {x Ax = b} all have integral components Thus, any solution of the LP relaxation (5) is a solution of the ILP problem (). A similar condition can be imposed on A for a polyhedron P c = {x Ax b} corresponding to the ILP in canonical form ()..7 Definition An m n integral matrix A where all invertible square submatrices of any size have determinant ±1 is called totally unimodular (TUM). The following propositions give some characterizations of TUM matrices..8 Proposition A matrix A is TUM A is TUM (A,I) is TUM..9 Proposition An m n matrix A is TUM if: (a) for all i m, j n we have a ij {,1, 1}; (b) each column of A contains at most nonzero coefficients; (c) there is a partition R 1,R of the set of rows such that for all columns j having exactly nonzero coefficients, we have i R 1 a ij i R a ij =. Proof. Suppose that conditions (a), (b), (c) hold but A is not TUM. Let B be the smallest square submatrix of A such that det(b) {,1, 1}. B cannot contain a column with just one nonzero entry, otherwise B would not be minimal (just eliminate the row and column of B containing that single nonzero entry). Hence B must contain nonzero entries in every column. By condition (c), adding the rows in R 1 to those in R gives the zero vector, and hence det(b) =, contradicting the hypothesis. In the following lemma and theorem, we show why TUM matrices are important.

6 GEOMETRICAL AND STRUCTURAL PROPERTIES OF ILP 6.1 Lemma Let x P = {x Ax b}. Then x is a vertex of P if and only if for any pair of distinct points x 1,x P, x cannot be a strict convex combination of x 1,x. Proof. ( ) Suppose x is a vertex of P and there are points x 1,x P such that there is a λ (,1) with x = λx 1 + (1 λ)x. Since x is a vertex, there is a a halfspace H = {x R n h x d} such that H P = {x }. Thus x 1,x H and h x 1 > d, h x > d. Hence h x = h (λx 1 + (1 λ)x ) > d, whence x H, a contradiction. ( ) Assume that x cannot be a strict convex combination of any pair of distinct points x 1,x of P, and suppose that x is not a vertex of P. Since x is not a vertex, there is a ball S of radius ε > and center x wholly contained in P. Let x 1 S such that x 1 x = ε. Let x = (x x 1 ) + x. By construction, x is the point symmetric to x 1 on the line x 1 x. Thus, x x = ε, x x 1, x P, and x = 1 x x, which is a strict convex combination of x 1,x, a contradiction..11 Theorem If A is totally unimodular, the vertices of the polyhedron P c = {x Ax b} all have integral components. Proof. Let x be a vertex of P c, and s = Ax b. Then (x,s ) is a vertex of the standardized polyhedron P c = {(x,s) Ax s = b}: suppose it were not, then by Lemma.1 there would be two distinct points (x 1,s 1 ), (x,s ) in P c such that (x,s ) is a strict convex combination of (x 1,s 1 ), (x,s ), i.e. there would be a λ (,1) such that (x,s ) = λ(x 1,s 1 ) + (1 λ)(x,s ). Since s 1 = Ax 1 b and s = Ax b, both x 1 and x are in P c, and thus x = λx 1 + (1 λ)x is not a vertex of P c since < λ < 1, which is a contradiction. Now, since A is TUM, (A, I) is unimodular, and (x,s ) is an integral vector. The transportation problem (1) has a totally unimodular matrix, so that solving a continuous relaxation of the problem always yields an integral solution vector..1 Example Network Flow. One important class of problems with a TUM matrix is that of network flow problems. We have a network on a digraph G = (V,A) with a source node s, a destination node t, and capacities u ij on each arc (i,j). We have to determine the maximum amount of material flow that can circulate on the network from s to t. The variables x ij, defined for each arc (i,j) in the graph, denote the quantity of flow units. max x x si i δ + (s) i V,i s,i t x ij = x ji (6) j δ + (i) j δ (i) (i,j) A x ij u ij. Notice that the network flow problem is not strictly an ILP, since there is no integrality requirement on the amount of flow routed in the network. However, it does have a TUM matrix, and hence, provided the capacities u ij are integral, the solution is an integral vector. This class of problem is especially important as many common graph problems can be modelled by network flow constraints (e.g. shortest path problem). Even when this is not possible, sometimes it helps to model part of a problem with flow constraints, so that some of the integer variables in the resulting formulation can be relaxed to be continuous [Mac]. Note that whereas a TUM constraint matrix implies a polyhedron with integral vertices, the converse is not necessarily true. In particular, a sufficient condition for A to be TUM is that the polyhedron {x Ax = b} has integral vertices for all integral vectors b Z m.

7 POLYHEDRAL ANALYSIS 7 Polyhedral Analysis The feasible region of any ILP problem can be expressed as the convex hull of its feasible vectors. Thus, if the integrality constraints of the ILP are relaxed, solving its continuous relaxation by LP methods still yields the optimal solution of the ILP. Since LP is in P, there is a definite advantage in being able to express the feasible region of any ILP as the convex hull of its feasible space. Unfortunately, given a feasible region in canonical form Ax b,x, finding the convex hull P of the feasible vectors is a hard task. Even though any polyhedron (hence even P) can be expressed by a finite number of inequalities, the required number might be exponential in the size of the instance, thus rendering the whole exercise useless. Nonetheless, this concept spawned a lot of research, from the 197s and onwards, based on finding the inequalities defining P. This field is called polyhedral analysis. Consider an ILP min{c x x Z n P } where P = {x Ax b} and such that P is the convex hull of its feasible integral solutions (thus min{c x x P } has the same solution as the original ILP). We are interested in finding explicit linear constraints defining the facets of P. The polyhedral analysis approach is usually expressed as follows: given an integral vector set X Z n and a valid inequality h x d for X, show that the inequality is a facet of conv(x). We present here two approaches. 1. Find n points x 1,...,x n X such that h x i = d i n and show that these points are affinely independent (i.e. that the n 1 directions x x 1,..., x n x 1 are linearly independent).. Select t n points x 1,...,x t satisfying the inequality. Suppose that all these points are on a generic hyperplane µ x = µ. Solve the equation system k t n x kj µ j = µ j=1 in the t + 1 unknowns (µ j,µ ). If the solution is (λh j,λd) with λ then the inequality h x d is facet-defining. There are various theoretical approaches to show that a given polyhedron is a convex hull of an integral vector set; however most of these approaches are difficult to generalize. One of the most stringent limits of polyhedral analysis is that the theoretical devices used to find facets for a given ILP problem are often unique to that very problem..1 Separation Theory Finding all the facets of P is overkill, however. Since the optimization direction points us towards a specific region of the feasible polyhedron, what we really need is an oracle that, given a point x P, tells us that x P or else produces a separating hyperplane h x = d such that for all h x d for all x P and h x > d (adding the constraint h x d to the ILP problem formulation then tightens the feasible region P). The problem of finding a valid separating hyperplane is the separation problem. It is desirable that the separation problem for a given NP-hard problem should have polynomial complexity. The classic example of a polynomial separation problem for an NP-hard problem is the TSP. Consider the undirected TSP of finding the shortest Hamiltonian cycle in an indirected complete weighted graph K n (with weights c ij on the edges {i,j}) with n vertices. Since a Hamiltonian tour is also a -matching, the following ILP model has a feasible region which contains the set of Hamiltonian tours as a proper subset: min s.t. c ij x ij x ij = i V i j V i j V x ij {,1} i j V. (7)

8 POLYHEDRAL ANALYSIS 8 Some of the feasible solutions are given by disjoint cycles. However, we can exclude them from the feasible region by requesting that each cut should have cardinality at least, as follows: S V ( x ij ). i S,j S There is an exponential number of such constraints (one for each subset S of V ), however we do not need them all: we can add them iteratively by identifying cuts δ(s) where {i,j} δ(s) x ij is minimum. We can see this as the problem of finding a cut of minimum capacity in a flow network (so the current values x ij are used as arc capacities each edge is replaced by opposing arcs). The problem is the LP dual of finding the maximum flow in the network, and we can solve that problem in with a polynomial algorithm (O(n ) if we use the Goldberg-Tarjan push-relabel algorithm). So if each cut has capacity at least, the solution is an optimal Hamiltonian cycle. Otherwise, supposing that δ(s) has capacity K <, the following is a valid cut: x ij, {i,j} δ(s) which can be added to the formulation. The problem is then re-solved iteratively to get a new current solution until the optimality conditions are satisfied. In the following sections (.-.6) we shall give examples of four different cut families which can be used to separate the incumbent (fractional) solution from the convex hull of the integral feasible set.. Chvátal Cut Hierarchy A cut hierarchy is a finite sequence of cut families that generate tighter and tighter relaxed feasible sets P = P P 1... P k = P, where P = conv(x). Given the relaxed feasible region P = {x Ax = b} in standard form, define the Chvátal first-level closure of P as P 1 = {x Ax = b, u R n + ua ub }. Observe that although formally the number of inequalities defining P 1 is infinite, in fact it can be shown that these can be reduced to a finite number. We can proceed in this fashion by transforming the Chvátal first-level inequalities to equations via the introduction of slack variables and reiterating the process on P 1 to obtain the Chvátal second-level closure P of P, and so on. It can be shown that any fractional vertex of P can be cut by a Chvátal inequality.. Gomory Cuts Gomory cuts are in fact a special kind of Chvátal cuts. Their fundamental property is that they can be inserted in the simplex tableau very easily, and thus are very efficient in cutting plane algorithms, which generate cuts iteratively in function of the current incumbent. Suppose x is the optimal solution found by the simplex algorithm running on a continuous relaxation of the ILP. Assume x h is fractional. Since x h, column h is a basic column; thus there corresponds a row t in the simplex tableau: x h + ā tj x j = b t, (8) j ν where ν are the nonbasic variable indices, ā tj is a component of B 1 A (B is the nonsingular square matrix of the current basic columns of A) and b t is a component of B 1 b. Since ā tj ā tj for each row index t and column index j, x h + j ν ā tj x j b t.

9 POLYHEDRAL ANALYSIS 9 Furthermore, since the LHS must be integer, we can restrict the RHS to be integer too: x h + j ν ā tj x j b t. (9) We now subtract (9) from (8) to obtain the Gomory cut: ( ā tj ā tj )x j ( b t b t ). (1) j ν We can subsequently add a slack variable to the Gomory cut, transform it to an equation, and easily add it back to the current dual simplex tableau as the last row with the slack variable in the current basis...1 Gomory Cutting Plane Algorithm: Example In this section we illustrate the application of Gomory cut in an iterative fashion in a Cutting Plane algorithm. The cutting plane algorithm works by solving a continuous relaxation at each step. If the continuous relaxation solution fails to be integral, a separating cutting plane (a valid Gomory cut) is generated and added to the formulation, and the process is repeated. The algorithm terminates when the continuous relaxation solution is integral. Let us solve the following IP in standard form: min x 1 x t.c. x 1 + 6x + x = 9 x 1 + x + x = x, x 1,x Z In this example, x,x can be seen as slack variables added to an original problem in canonical form with inequality constraints expressed in x 1,x only. We identify x B = (x,x ) as an initial feasible basis; we apply the simplex algorithm obtaining the following tableaux sequence, where the pivot element is framed. x 1 x x x x 1 x x x x 1 x x x The solution of the continuous relaxation is x = (, 5 ), where x = x =.

10 POLYHEDRAL ANALYSIS 1 x (1) () We derive a Gomory cut from the first row of the optimal tableau: x x + 5 x = 5. The cut is formulated as follows: x i + j N ā ij x j b i, (11) where N is the set of nonbasic variable indices and i is the index of the chosen row. In this case we obtain the constraint x. We introduce this Gomory cut in the current tableau. Note that if we insert a valid cut in a simplex tableau, the current basis becomes primal infeasible, thus a dual simplex iteration is needed. First of all, we express x in terms of the current nonbasic variables x,x. We subtract the i-th optimal tableau row from (11), obtaining: x i + j N ā ij x j b i j N( ā ij ā ij )x j ( b i b i ) 1 1 x 5 x 1. Recall that the simplex algorithm requires the constraints in equation (not inequality) form, so we introduce a slack variable x 5 in the problem: 1 1 x 5 x + x 5 = 1. We add this constraint as the bottom row of the optimal tableau. We now have a current tableau with an added row and an added column, corresponding to the new cut and the new slack variable (which is in the basis): x 1 x x x x

11 POLYHEDRAL ANALYSIS 11 The new row corresponds to the Gomory cut x (labelled constraint () in the figure below). x x () (1) () We carry out an iteration of the dual simplex algorithm using this modified tableau. The reduced costs are all non-negative, but b = 1 < implies that x 5 = b has negative value, so it is not primal feasible (as x 5 is now a valid problem constraint). We pick x 5 to exit the basis. The variable j entering the basis is given by: j = argmin{ c j ā ij j n ā ij < }. In this case, j = argmin{, 1 }, corresponding to j =. Thus x enters the basis replacing x 5 (the pivot element is indicated in the above tableau). The new tableau is: x 1 x x x x The optimal solution is x = (,). Since this solution is not integral, we continue. We pick the second tableau row: x 1 1 x + x 5 =, to generate a Gomory cut which, written in terms of the variables x 1,x is x 1 x + x 5, x 1 + 5x 7. This cut can be written as: x 1 x 5. The new tableau is:

12 POLYHEDRAL ANALYSIS 1 x 1 x x x x 5 x The pivot is framed; exiting row è was chosen as b <, entering column 5 as Pivoting, we obtain: c ā = 1 < 1 = c5 ā 5 ). x 1 x x x x 5 x This tableau has optimal solution x = (1,), which is integral (and hence optimal). Figure below shows the optimal solution and the last Gomory cut to be generated. x () (1) x x () (). Disjunctive Cuts We saw in Section 1., point, that disjunctive constraints can be modelled by resorting to ILP techniques. Suppose we are working in a feasible region consisting of a disjunction of two polyhedra P 1,P, and consider two inequalities h 1 x d 1 (valid in P 1 ), h x d (valid in P ). Choose h such that for all i n h i min(h 1i,h i ), and d such that d max(d 1,d ). Then the inequality h x d is valid for P 1 P (it is called disjunctive cut).

13 ENUMERATIVE METHODS FOR INTEGER PROGRAMMING 1.5 Lifting It is possible to derive valid inequalities for a given ILP min{cx Ax b x {,1} n } (1) by lifting lower-dimensional inequalities to a higher space. If the inequality n j= π jx j π (with π j for all j {,...,n}) is valid for the restricted ILP n min{ c j x j j= n a ij x j b i i m x j {,1} j {,...,n}}, j= then by letting π 1 = max (π n π j x j ) j= n a ij x j b i a i1 i m j= x j {,1} j {,...,n}. we can find the inequality n j=1 π jx j π which is valid for (1), as long as the above problem is not infeasible; if it is, then x 1 = is a valid inequality. Of course the lifting process can be carried out with respect to any variable index (not just 1)..6 RLT Cut Hierarchy This cut hierarchy, described in [SD], is a nonlinear lifting. RLT stands for Reformulation and Linearization Technique. One advantage of this cut hierarchy with respect to the Chvátal one is that the RLT can be applied to Mixed-Integer Linear Programs (MILP) very effectively. From each constraint a i x b i we derive the i-th constraint factor γ(i) = a i x b i (i m). We then form the bound products x(j 1,J ) = i J 1 x i i J (1 x i ) for all partitions J 1,J of {1,...,d}. The RLT d-th level closure is obtained by multiplying each constraint factor γ(i) by all the bound products. For all i m, for all J 1,J partitioning d, we derive the following valid inequality x(j 1,J )γ(i). (1) Notice that these inequalities are nonlinear. After having reduced all occurrences of x i via the valid integer equation x i = x i, we now linearize the inequalities (1) by lifting them in higher-dimensional space: substitute all products i J x i by a new added variable w J = i J x i, to obtain linearized cuts of the form l i J 1,J (x,w), (1) where l i J 1,J is a linear function of x,w. We define P d = {x i m and J 1,J partitioning d, l i J 1,J (x,w) }. This cut hierarchy has two main shortcomings: (a) the high number of added variables and (b) the huge number of generated constraints. It is sometimes used heuristically to generate tight continuous relaxations of the ILP problem to be used in Branch-and-Bound algorithms. Enumerative Methods for Integer Programming In this section we shall very briefly describe some of the most popular solution methods for the solution of ILP problems.

14 ENUMERATIVE METHODS FOR INTEGER PROGRAMMING 1.1 Branch-and-Bound The first iterative method developed for solving ILPs is the Branch-and-Bound algorithm, which relies on a list of relaxed subproblems to be solved. Initially, the list is initialized to contain the continuous reformulation of the ILP. In a typical iteration, the subproblem in the list having the lowest lower bound is chosen, removed from the list, and solved by LP methods, yielding a solution x and a lower bounding objective function value z. If x is integral, the problem is fathomed and a new incumbent solution is found, and every subproblem in the list having lower bound greater than the incumbent objective function value is removed from the list and discarded as it cannot contain the optimum. Otherwise, the variable x i with fractional value x i x i nearest to 1 is chosen for branching, and two new subproblems are created: one with an added constraint x i x i and the other with x i x i ; both are assigned the lower bound z and inserted in the list. The algorithm terminates when the list of subproblems is empty. This algorithm is guaranteed to terminate in a finite number of steps..1.1 Example Initially, we let x = (,) e f =. Let L be the unsolved problem list, initially containing the continuous relaxation of the original IP N 1 : max x 1 + x x 1 + x 6x 1 + 8x 15 x 1,x Z +. The solution of the continuous relaxation is P (intersection of line (1) x 1 +x = with () 6x 1 +8x = 15), as depicted in the figure below. 15/8 / () f 1 Q P () /8 R 1 / 5/ () (1) We obtain an upper bound 1 f = 1 corresponding to a fractionary solution x = P = (, ). We choose the fractionary component x 1 as the branching variable, and form two subproblems N,N ; we add the constraint x 1 1 (labelled ()) to N and x 1 (labelled ()) to N. Finally, we push N and N on the problem list L. We choose N and remove it from L. The solution of the continuous relaxation of N is at the intersection Q of (1) and (): we obtain therefore x = Q = (1,1) and f = 5; since the solution is integral, we do not branch; further, since f > f we update x = x and f = f. 1 Notice we are solving a maximization problem, so lower bound is replaced by upper bound.

15 5 HEURISTICS AND BOUNDS 15 Now, we choose N and remove it from L. The solution of the continuous relaxation of N is at the intersection R of () and (): we obtain x = R = (, 8 ) and f = 1 8. Since the upper bound is 1/8, and 1 8 = 5, each integral solution found in the feasible region of N will never attain a better objective function value than f ; hence, again, we do not branch. Since the list L is now empty, the algorithm terminates with solution x = (1,1). The algorithmic process can be summarized by the following tree: N 1 x 1 1 x 1 N N. Branch-and-Cut Branch-and-Cut algorithms are a mixture of Branch-and-Bound and Cutting Plane algorithms. In practice, they follow a Branch-and-Bound iterative scheme where valid cuts are generated at each subproblem.. Branch-and-Price Branch-and-Price might be described as a mixture of Branch-and-Bound and Column Generation algorithms. Extremely large LP models are solved at each Branch-and-Bound iteration by column generation. The branching rules are sometimes modified to take into account certain numerical difficulties arising from the employment of the column generation algorithm to solve each subproblem. 5 Heuristics and Bounds When optimal methods take too long to solve a difficult ILP, we must resort to heuristic methods. These methods do not guarantee optimality, yet they strive to build a good solution in an acceptable amount of time. The trade-off between computational time spent searching for a solution and solution quality can often be controlled by fine-tuning the algorithmic parameters. As heuristic algorithms are not guaranteed to find the optimal solution, they are often constructed with a special eye to the implementation practicalities, so that they run fast. A posteriori analysis and modification of these algorithms is also specially useful. The heuristic construction process is often: (a) think of a possible heuristic, (b) implement it, (c) see how it performs on a certain number of test instances and record its failures, and (d) improve it, learning from experience. For example, a possible heuristic for the set covering problem () is to iteratively choose the region covering the largest number of towns. This type of heuristic is called greedy. Since the primary reason to employ a heuristic algorithm is that we are not able to solve the problem to optimality, estimating the heuristic solution quality is a hard challenge in itself. In certain cases (as with Christofides algorithm for the Symmetric Travelling Salesman Problem) we are able to prove that the heuristic solution is within a certain, pre-defined range from the optimal solution. The techniques for these proofs all belong to a field called Approximation Theory. As in Polyhedral Analysis, a different approach is called for each heuristic and problem. In the absence of approximation results, the only way to assess the heuristic solution quality is to find a lower bound to the optimal solution, and compare it with the heuristic results. The tighter the bound, the best our quality assessment will be.

16 5 HEURISTICS AND BOUNDS 16 Another reason why heuristics and lower bounds are important in ILP methods is that heuristics provide an upper bound to the solution. Thus, Branch-and-Bound convergence can be accelerated by finding good incumbents via heuristic methods. Tight lower bounding techniques also help speed up convergence considerably. 5.1 Lower Bounds: Lagrangian Relaxation and Subgradient Method The classic way to obtain a lower bound for an ILP is to solve its continuous relaxation, as has been said above. Other techniques exist, however, which make use of some problem structure to improve the bound. Consider a nearly decomposable problem as follows: min x,y c 1 x + c y A 1 x b 1 A y b Bx + Dy d x Z n1 +, y Z n + (15) where x,y are two sets of integer variables, c 1,c,b 1,b,d are vectors and A 1,A,B,D are matrices of appropriate sizes. Observe that were it not for the complicating constraints Bx + Dy d we might decompose problem (15) into two smaller independet subproblems and solve each separately (usually a much easier task). A tight lower bound for this kind of problem can be obtained by solving a Lagrangian relaxation of the problem. The complicating constraints become part of the objective function (each constraint weighted by a Lagrange multiplier): L(λ) = min x,y c 1 x + c y + λ(bx + Dy d) A 1 x b 1 A y b x Z n1 +, y Z n + (16) For each real-valued vector λ, L(λ) is a lower bound to the solution of the original problem. Since we want to find the tightest possible lower bound, we maximize L(λ) with respect to the Lagrange multipliers λ: max L(λ). (17) λ The lower bound obtained by solving (17) is guaranteed to be at least as tight as that obtained by solving the continuous relaxation of the original problem. Indeed, there exists a stronger result about the strength of the Lagrangian relaxation. For simplicity of notation, let us consider the following problem: min x c x Ax b x X, where X is a discrete but finite set X = {x 1,...,x }. Consider the lagrangian relaxation (18) max min λ x X c x + λ(ax b), (19) and let p be the solution of (19). By definition of X, (19) can be written as: max λ,u u u c x t + λ(ax t b) t T λ.

17 6 CONCLUSION 17 The above problem is linear, so its dual: min v T t=1 v t(c x t ) T t=1 v t(a i x t b i ) i m T t=1 v t = 1 v t t T (where A i is the i-the row of A) has the same optimal objective function value p. Notice now that T t=1 v tx t subject to T t=1 v t = 1 and v t for all t T is the convex hull of {x t t T }, and so the above dual program can be written as: min x c x Ax b x conv(x), where conv(x) is the convex hull of X. Thus, the bound given by the Lagrangian relaxation is at least as strong as that given by the continuous relaxation restricted to the convex hull of the original discrete domain. For problems with the integrality property, the Lagrangian relaxation is no tighter than the continuous relaxation. On the other hand, the above result also suggests that Lagrangian relaxations are usually very tight. Solving (17) is not straightforward, as L(λ) is a piecewise linear (but not differentiable) function. The most popular method for solving such problems is the subgradient method. Its description is very simple, although the implementation details are not. 1. Start with an initial vector λ.. If a pre-set termination condition is verified, exit.. Evaluate L(λ ) by solving the decomposable problem (16) with fixed λ, yielding a solution x,y.. Choose a vector d in the subgradient of L with respect to λ, and a step length t, and set λ = max{,λ + td}. 5. Update λ = λ and go back to step. Choosing appropriate subgradient vectors and step lengths at each iteration to accelerate convergence is a non-trivial task. 6 Conclusion In this essay we have presented some of the most well-known tools for the solution of ILP problems. The topics discussed in the essay range from modelling concepts to geometrical insights, to algorithmic descriptions. References [Fis99] M. Fischetti. Lezioni di Ricerca Operativa (in Italian). Edizioni Libreria Progetto, Padova, [KV] B. Korte and J. Vygen. Combinatorial Optimization, Theory and Algorithms. Springer-Verlag, Berlin,.

18 REFERENCES 18 [Mac] N. Maculan. Integer programming problems using a polynomial number of variables and constraints for combinatorial optimization problems in graphs. In N. Mladenović and Dj. Dugošija, editors, SYM-OP-IS Conference Proceedings, Herceg-Novi, pages 6, Beograd, September. Mathematical Institute, Academy of Sciences. [NW88] G.L. Nemhauser and L.A. Wolsey. Integer and Combinatorial Optimization. Wiley, New York, [PS98] [SD] C.H. Papadimitriou and K. Steiglitz. Combinatorial Optimization: Algorithms and Complexity. Dover, New York, H. Sherali and P. Driscoll. Evolution and state-of-the-art in integer programming. Journal of Computational and Applied Mathematics, 1:19,. [Wol98] L.A. Wolsey. Integer Programming. Wiley, New York, 1998.

Integer Programming Theory

Integer Programming Theory Integer Programming Theory Laura Galli October 24, 2016 In the following we assume all functions are linear, hence we often drop the term linear. In discrete optimization, we seek to find a solution x

More information

Lecture 2 - Introduction to Polytopes

Lecture 2 - Introduction to Polytopes Lecture 2 - Introduction to Polytopes Optimization and Approximation - ENS M1 Nicolas Bousquet 1 Reminder of Linear Algebra definitions Let x 1,..., x m be points in R n and λ 1,..., λ m be real numbers.

More information

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini DM545 Linear and Integer Programming Lecture 2 The Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. 3. 4. Standard Form Basic Feasible Solutions

More information

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Mathematical and Algorithmic Foundations Linear Programming and Matchings Adavnced Algorithms Lectures Mathematical and Algorithmic Foundations Linear Programming and Matchings Paul G. Spirakis Department of Computer Science University of Patras and Liverpool Paul G. Spirakis

More information

MA4254: Discrete Optimization. Defeng Sun. Department of Mathematics National University of Singapore Office: S Telephone:

MA4254: Discrete Optimization. Defeng Sun. Department of Mathematics National University of Singapore Office: S Telephone: MA4254: Discrete Optimization Defeng Sun Department of Mathematics National University of Singapore Office: S14-04-25 Telephone: 6516 3343 Aims/Objectives: Discrete optimization deals with problems of

More information

Advanced Operations Research Techniques IE316. Quiz 2 Review. Dr. Ted Ralphs

Advanced Operations Research Techniques IE316. Quiz 2 Review. Dr. Ted Ralphs Advanced Operations Research Techniques IE316 Quiz 2 Review Dr. Ted Ralphs IE316 Quiz 2 Review 1 Reading for The Quiz Material covered in detail in lecture Bertsimas 4.1-4.5, 4.8, 5.1-5.5, 6.1-6.3 Material

More information

Discrete Optimization. Lecture Notes 2

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

More information

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

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

More information

3 INTEGER LINEAR PROGRAMMING

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 information

Chapter 15 Introduction to Linear Programming

Chapter 15 Introduction to Linear Programming Chapter 15 Introduction to Linear Programming An Introduction to Optimization Spring, 2015 Wei-Ta Chu 1 Brief History of Linear Programming The goal of linear programming is to determine the values of

More information

4 Integer Linear Programming (ILP)

4 Integer Linear Programming (ILP) TDA6/DIT37 DISCRETE OPTIMIZATION 17 PERIOD 3 WEEK III 4 Integer Linear Programg (ILP) 14 An integer linear program, ILP for short, has the same form as a linear program (LP). The only difference is that

More information

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if POLYHEDRAL GEOMETRY Mathematical Programming Niels Lauritzen 7.9.2007 Convex functions and sets Recall that a subset C R n is convex if {λx + (1 λ)y 0 λ 1} C for every x, y C and 0 λ 1. A function f :

More information

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg MVE165/MMG630, Integer linear programming algorithms Ann-Brith Strömberg 2009 04 15 Methods for ILP: Overview (Ch. 14.1) Enumeration Implicit enumeration: Branch and bound Relaxations Decomposition methods:

More information

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs Advanced Operations Research Techniques IE316 Quiz 1 Review Dr. Ted Ralphs IE316 Quiz 1 Review 1 Reading for The Quiz Material covered in detail in lecture. 1.1, 1.4, 2.1-2.6, 3.1-3.3, 3.5 Background material

More information

Stable sets, corner polyhedra and the Chvátal closure

Stable sets, corner polyhedra and the Chvátal closure Stable sets, corner polyhedra and the Chvátal closure Manoel Campêlo Departamento de Estatística e Matemática Aplicada, Universidade Federal do Ceará, Brazil, mcampelo@lia.ufc.br. Gérard Cornuéjols Tepper

More information

Lecture 3. Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets. Tepper School of Business Carnegie Mellon University, Pittsburgh

Lecture 3. Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets. Tepper School of Business Carnegie Mellon University, Pittsburgh Lecture 3 Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets Gérard Cornuéjols Tepper School of Business Carnegie Mellon University, Pittsburgh January 2016 Mixed Integer Linear Programming

More information

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36 CS 473: Algorithms Ruta Mehta University of Illinois, Urbana-Champaign Spring 2018 Ruta (UIUC) CS473 1 Spring 2018 1 / 36 CS 473: Algorithms, Spring 2018 LP Duality Lecture 20 April 3, 2018 Some of the

More information

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem L. De Giovanni M. Di Summa The Traveling Salesman Problem (TSP) is an optimization problem on a directed

More information

Some Advanced Topics in Linear Programming

Some Advanced Topics in Linear Programming Some Advanced Topics in Linear Programming Matthew J. Saltzman July 2, 995 Connections with Algebra and Geometry In this section, we will explore how some of the ideas in linear programming, duality theory,

More information

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

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

More information

5.3 Cutting plane methods and Gomory fractional cuts

5.3 Cutting plane methods and Gomory fractional cuts 5.3 Cutting plane methods and Gomory fractional cuts (ILP) min c T x s.t. Ax b x 0integer feasible region X Assumption: a ij, c j and b i integer. Observation: The feasible region of an ILP can be described

More information

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

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

More information

Applied Lagrange Duality for Constrained Optimization

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

More information

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998 56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998 Part A: Answer any four of the five problems. (15 points each) 1. Transportation problem 2. Integer LP Model Formulation

More information

Lecture Notes 2: The Simplex Algorithm

Lecture Notes 2: The Simplex Algorithm Algorithmic Methods 25/10/2010 Lecture Notes 2: The Simplex Algorithm Professor: Yossi Azar Scribe:Kiril Solovey 1 Introduction In this lecture we will present the Simplex algorithm, finish some unresolved

More information

Algorithms for Integer Programming

Algorithms for Integer Programming Algorithms for Integer Programming Laura Galli November 9, 2016 Unlike linear programming problems, integer programming problems are very difficult to solve. In fact, no efficient general algorithm is

More information

LP-Modelling. dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven. January 30, 2008

LP-Modelling. dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven. January 30, 2008 LP-Modelling dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven January 30, 2008 1 Linear and Integer Programming After a brief check with the backgrounds of the participants it seems that the following

More information

Part 4. Decomposition Algorithms Dantzig-Wolf Decomposition Algorithm

Part 4. Decomposition Algorithms Dantzig-Wolf Decomposition Algorithm In the name of God Part 4. 4.1. Dantzig-Wolf Decomposition Algorithm Spring 2010 Instructor: Dr. Masoud Yaghini Introduction Introduction Real world linear programs having thousands of rows and columns.

More information

LECTURES 3 and 4: Flows and Matchings

LECTURES 3 and 4: Flows and Matchings LECTURES 3 and 4: Flows and Matchings 1 Max Flow MAX FLOW (SP). Instance: Directed graph N = (V,A), two nodes s,t V, and capacities on the arcs c : A R +. A flow is a set of numbers on the arcs such that

More information

3 No-Wait Job Shops with Variable Processing Times

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

More information

The Simplex Algorithm

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

More information

Outline. Combinatorial Optimization 2. Finite Systems of Linear Inequalities. Finite Systems of Linear Inequalities. Theorem (Weyl s theorem :)

Outline. Combinatorial Optimization 2. Finite Systems of Linear Inequalities. Finite Systems of Linear Inequalities. Theorem (Weyl s theorem :) Outline Combinatorial Optimization 2 Rumen Andonov Irisa/Symbiose and University of Rennes 1 9 novembre 2009 Finite Systems of Linear Inequalities, variants of Farkas Lemma Duality theory in Linear Programming

More information

Math 5593 Linear Programming Lecture Notes

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

More information

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs 15.082J and 6.855J Lagrangian Relaxation 2 Algorithms Application to LPs 1 The Constrained Shortest Path Problem (1,10) 2 (1,1) 4 (2,3) (1,7) 1 (10,3) (1,2) (10,1) (5,7) 3 (12,3) 5 (2,2) 6 Find the shortest

More information

16.410/413 Principles of Autonomy and Decision Making

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)

More information

MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms

MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms Ann-Brith Strömberg 2018 04 24 Lecture 9 Linear and integer optimization with applications

More information

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs Introduction to Mathematical Programming IE496 Final Review Dr. Ted Ralphs IE496 Final Review 1 Course Wrap-up: Chapter 2 In the introduction, we discussed the general framework of mathematical modeling

More information

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs Integer Programming ISE 418 Lecture 7 Dr. Ted Ralphs ISE 418 Lecture 7 1 Reading for This Lecture Nemhauser and Wolsey Sections II.3.1, II.3.6, II.4.1, II.4.2, II.5.4 Wolsey Chapter 7 CCZ Chapter 1 Constraint

More information

Combinatorial Geometry & Topology arising in Game Theory and Optimization

Combinatorial Geometry & Topology arising in Game Theory and Optimization Combinatorial Geometry & Topology arising in Game Theory and Optimization Jesús A. De Loera University of California, Davis LAST EPISODE... We discuss the content of the course... Convex Sets A set is

More information

Convex Geometry arising in Optimization

Convex Geometry arising in Optimization Convex Geometry arising in Optimization Jesús A. De Loera University of California, Davis Berlin Mathematical School Summer 2015 WHAT IS THIS COURSE ABOUT? Combinatorial Convexity and Optimization PLAN

More information

THEORY OF LINEAR AND INTEGER PROGRAMMING

THEORY OF LINEAR AND INTEGER PROGRAMMING THEORY OF LINEAR AND INTEGER PROGRAMMING ALEXANDER SCHRIJVER Centrum voor Wiskunde en Informatica, Amsterdam A Wiley-Inter science Publication JOHN WILEY & SONS^ Chichester New York Weinheim Brisbane Singapore

More information

CS522: Advanced Algorithms

CS522: Advanced Algorithms Lecture 1 CS5: Advanced Algorithms October 4, 004 Lecturer: Kamal Jain Notes: Chris Re 1.1 Plan for the week Figure 1.1: Plan for the week The underlined tools, weak duality theorem and complimentary slackness,

More information

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize.

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize. Cornell University, Fall 2017 CS 6820: Algorithms Lecture notes on the simplex method September 2017 1 The Simplex Method We will present an algorithm to solve linear programs of the form maximize subject

More information

Stable sets, corner polyhedra and the Chvátal closure

Stable sets, corner polyhedra and the Chvátal closure Stable sets, corner polyhedra and the Chvátal closure Manoel Campêlo Departamento de Estatística e Matemática Aplicada, Universidade Federal do Ceará, Brazil, mcampelo@lia.ufc.br. Gérard Cornuéjols Tepper

More information

1. Lecture notes on bipartite matching February 4th,

1. Lecture notes on bipartite matching February 4th, 1. Lecture notes on bipartite matching February 4th, 2015 6 1.1.1 Hall s Theorem Hall s theorem gives a necessary and sufficient condition for a bipartite graph to have a matching which saturates (or matches)

More information

Integer and Combinatorial Optimization

Integer and Combinatorial Optimization Integer and Combinatorial Optimization GEORGE NEMHAUSER School of Industrial and Systems Engineering Georgia Institute of Technology Atlanta, Georgia LAURENCE WOLSEY Center for Operations Research and

More information

College of Computer & Information Science Fall 2007 Northeastern University 14 September 2007

College of Computer & Information Science Fall 2007 Northeastern University 14 September 2007 College of Computer & Information Science Fall 2007 Northeastern University 14 September 2007 CS G399: Algorithmic Power Tools I Scribe: Eric Robinson Lecture Outline: Linear Programming: Vertex Definitions

More information

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 29

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 29 CS 473: Algorithms Ruta Mehta University of Illinois, Urbana-Champaign Spring 2018 Ruta (UIUC) CS473 1 Spring 2018 1 / 29 CS 473: Algorithms, Spring 2018 Simplex and LP Duality Lecture 19 March 29, 2018

More information

4 LINEAR PROGRAMMING (LP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

4 LINEAR PROGRAMMING (LP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 4 LINEAR PROGRAMMING (LP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Mathematical programming (optimization) problem: min f (x) s.t. x X R n set of feasible solutions with linear objective function

More information

Optimality certificates for convex minimization and Helly numbers

Optimality certificates for convex minimization and Helly numbers Optimality certificates for convex minimization and Helly numbers Amitabh Basu Michele Conforti Gérard Cornuéjols Robert Weismantel Stefan Weltge October 20, 2016 Abstract We consider the problem of minimizing

More information

56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997

56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997 56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997 Answer #1 and any five of the remaining six problems! possible score 1. Multiple Choice 25 2. Traveling Salesman Problem 15 3.

More information

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 50

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 50 CS 473: Algorithms Ruta Mehta University of Illinois, Urbana-Champaign Spring 2018 Ruta (UIUC) CS473 1 Spring 2018 1 / 50 CS 473: Algorithms, Spring 2018 Introduction to Linear Programming Lecture 18 March

More information

Linear Programming. Course review MS-E2140. v. 1.1

Linear Programming. Course review MS-E2140. v. 1.1 Linear Programming MS-E2140 Course review v. 1.1 Course structure Modeling techniques Linear programming theory and the Simplex method Duality theory Dual Simplex algorithm and sensitivity analysis Integer

More information

1. Lecture notes on bipartite matching

1. Lecture notes on bipartite matching Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans February 5, 2017 1. Lecture notes on bipartite matching Matching problems are among the fundamental problems in

More information

Decomposition in Integer Linear Programming

Decomposition in Integer Linear Programming Decomposition in Integer Linear Programming T.K. Ralphs M.V. Galati December 3, 00 Abstract Both cutting plane methods and traditional decomposition methods are procedures that compute a bound on the optimal

More information

Foundations of Computing

Foundations of Computing Foundations of Computing Darmstadt University of Technology Dept. Computer Science Winter Term 2005 / 2006 Copyright c 2004 by Matthias Müller-Hannemann and Karsten Weihe All rights reserved http://www.algo.informatik.tu-darmstadt.de/

More information

Convexity: an introduction

Convexity: an introduction Convexity: an introduction Geir Dahl CMA, Dept. of Mathematics and Dept. of Informatics University of Oslo 1 / 74 1. Introduction 1. Introduction what is convexity where does it arise main concepts and

More information

Mathematical Programming and Research Methods (Part II)

Mathematical Programming and Research Methods (Part II) Mathematical Programming and Research Methods (Part II) 4. Convexity and Optimization Massimiliano Pontil (based on previous lecture by Andreas Argyriou) 1 Today s Plan Convex sets and functions Types

More information

11 Linear Programming

11 Linear Programming 11 Linear Programming 11.1 Definition and Importance The final topic in this course is Linear Programming. We say that a problem is an instance of linear programming when it can be effectively expressed

More information

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 16 Cutting Plane Algorithm We shall continue the discussion on integer programming,

More information

3. The Simplex algorithmn The Simplex algorithmn 3.1 Forms of linear programs

3. The Simplex algorithmn The Simplex algorithmn 3.1 Forms of linear programs 11 3.1 Forms of linear programs... 12 3.2 Basic feasible solutions... 13 3.3 The geometry of linear programs... 14 3.4 Local search among basic feasible solutions... 15 3.5 Organization in tableaus...

More information

1 Linear programming relaxation

1 Linear programming relaxation Cornell University, Fall 2010 CS 6820: Algorithms Lecture notes: Primal-dual min-cost bipartite matching August 27 30 1 Linear programming relaxation Recall that in the bipartite minimum-cost perfect matching

More information

Integer Programming: Algorithms - 2

Integer Programming: Algorithms - 2 Week 8 Integer Programming: Algorithms - 2 OPR 992 Applied Mathematical Programming OPR 992 - Applied Mathematical Programming - p. 1/13 Introduction Valid Inequalities Chvatal-Gomory Procedure Gomory

More information

Chapter II. Linear Programming

Chapter II. Linear Programming 1 Chapter II Linear Programming 1. Introduction 2. Simplex Method 3. Duality Theory 4. Optimality Conditions 5. Applications (QP & SLP) 6. Sensitivity Analysis 7. Interior Point Methods 1 INTRODUCTION

More information

Polytopes Course Notes

Polytopes Course Notes Polytopes Course Notes Carl W. Lee Department of Mathematics University of Kentucky Lexington, KY 40506 lee@ms.uky.edu Fall 2013 i Contents 1 Polytopes 1 1.1 Convex Combinations and V-Polytopes.....................

More information

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 21 Dr. Ted Ralphs IE411 Lecture 21 1 Combinatorial Optimization and Network Flows In general, most combinatorial optimization and integer programming problems are

More information

Linear and Integer Programming (ADM II) Script. Rolf Möhring WS 2010/11

Linear and Integer Programming (ADM II) Script. Rolf Möhring WS 2010/11 Linear and Integer Programming (ADM II) Script Rolf Möhring WS 200/ Contents -. Algorithmic Discrete Mathematics (ADM)... 3... 4.3 Winter term 200/... 5 2. Optimization problems 2. Examples... 7 2.2 Neighborhoods

More information

Optimality certificates for convex minimization and Helly numbers

Optimality certificates for convex minimization and Helly numbers Optimality certificates for convex minimization and Helly numbers Amitabh Basu Michele Conforti Gérard Cornuéjols Robert Weismantel Stefan Weltge May 10, 2017 Abstract We consider the problem of minimizing

More information

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

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}

More information

Lecture 2 September 3

Lecture 2 September 3 EE 381V: Large Scale Optimization Fall 2012 Lecture 2 September 3 Lecturer: Caramanis & Sanghavi Scribe: Hongbo Si, Qiaoyang Ye 2.1 Overview of the last Lecture The focus of the last lecture was to give

More information

CMPSCI611: The Simplex Algorithm Lecture 24

CMPSCI611: The Simplex Algorithm Lecture 24 CMPSCI611: The Simplex Algorithm Lecture 24 Let s first review the general situation for linear programming problems. Our problem in standard form is to choose a vector x R n, such that x 0 and Ax = b,

More information

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

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

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

Week 5. Convex Optimization

Week 5. Convex Optimization Week 5. Convex Optimization Lecturer: Prof. Santosh Vempala Scribe: Xin Wang, Zihao Li Feb. 9 and, 206 Week 5. Convex Optimization. The convex optimization formulation A general optimization problem is

More information

Dual-fitting analysis of Greedy for Set Cover

Dual-fitting analysis of Greedy for Set Cover Dual-fitting analysis of Greedy for Set Cover We showed earlier that the greedy algorithm for set cover gives a H n approximation We will show that greedy produces a solution of cost at most H n OPT LP

More information

Linear programming and duality theory

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

More information

Probabilistic Graphical Models

Probabilistic Graphical Models School of Computer Science Probabilistic Graphical Models Theory of Variational Inference: Inner and Outer Approximation Eric Xing Lecture 14, February 29, 2016 Reading: W & J Book Chapters Eric Xing @

More information

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014 5/2/24 Outline CS38 Introduction to Algorithms Lecture 5 May 2, 24 Linear programming simplex algorithm LP duality ellipsoid algorithm * slides from Kevin Wayne May 2, 24 CS38 Lecture 5 May 2, 24 CS38

More information

15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018

15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018 15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018 In this lecture, we describe a very general problem called linear programming

More information

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

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

More information

Shiqian Ma, MAT-258A: Numerical Optimization 1. Chapter 2. Convex Optimization

Shiqian Ma, MAT-258A: Numerical Optimization 1. Chapter 2. Convex Optimization Shiqian Ma, MAT-258A: Numerical Optimization 1 Chapter 2 Convex Optimization Shiqian Ma, MAT-258A: Numerical Optimization 2 2.1. Convex Optimization General optimization problem: min f 0 (x) s.t., f i

More information

Linear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization?

Linear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization? Linear and Integer Programming 15-853:Algorithms in the Real World Linear and Integer Programming I Introduction Geometric Interpretation Simplex Method Linear or Integer programming maximize z = c T x

More information

Financial Optimization ISE 347/447. Lecture 13. Dr. Ted Ralphs

Financial Optimization ISE 347/447. Lecture 13. Dr. Ted Ralphs Financial Optimization ISE 347/447 Lecture 13 Dr. Ted Ralphs ISE 347/447 Lecture 13 1 Reading for This Lecture C&T Chapter 11 ISE 347/447 Lecture 13 2 Integer Linear Optimization An integer linear optimization

More information

Advanced Algorithms Linear Programming

Advanced Algorithms Linear Programming Reading: Advanced Algorithms Linear Programming CLRS, Chapter29 (2 nd ed. onward). Linear Algebra and Its Applications, by Gilbert Strang, chapter 8 Linear Programming, by Vasek Chvatal Introduction to

More information

Decomposition in Integer Linear 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,

More information

Lecture 3: Totally Unimodularity and Network Flows

Lecture 3: Totally Unimodularity and Network Flows Lecture 3: Totally Unimodularity and Network Flows (3 units) Outline Properties of Easy Problems Totally Unimodular Matrix Minimum Cost Network Flows Dijkstra Algorithm for Shortest Path Problem Ford-Fulkerson

More information

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I Instructor: Shaddin Dughmi Announcements Posted solutions to HW1 Today: Combinatorial problems

More information

CS675: Convex and Combinatorial Optimization Spring 2018 The Simplex Algorithm. Instructor: Shaddin Dughmi

CS675: Convex and Combinatorial Optimization Spring 2018 The Simplex Algorithm. Instructor: Shaddin Dughmi CS675: Convex and Combinatorial Optimization Spring 2018 The Simplex Algorithm Instructor: Shaddin Dughmi Algorithms for Convex Optimization We will look at 2 algorithms in detail: Simplex and Ellipsoid.

More information

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 1: Introduction to Optimization. Instructor: Shaddin Dughmi

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 1: Introduction to Optimization. Instructor: Shaddin Dughmi CS599: Convex and Combinatorial Optimization Fall 013 Lecture 1: Introduction to Optimization Instructor: Shaddin Dughmi Outline 1 Course Overview Administrivia 3 Linear Programming Outline 1 Course Overview

More information

Programming, numerics and optimization

Programming, numerics and optimization Programming, numerics and optimization Lecture C-4: Constrained optimization Łukasz Jankowski ljank@ippt.pan.pl Institute of Fundamental Technological Research Room 4.32, Phone +22.8261281 ext. 428 June

More information

Notes for Lecture 24

Notes for Lecture 24 U.C. Berkeley CS170: Intro to CS Theory Handout N24 Professor Luca Trevisan December 4, 2001 Notes for Lecture 24 1 Some NP-complete Numerical Problems 1.1 Subset Sum The Subset Sum problem is defined

More information

12.1 Formulation of General Perfect Matching

12.1 Formulation of General Perfect Matching CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: Perfect Matching Polytope Date: 22/02/2008 Lecturer: Lap Chi Lau Scribe: Yuk Hei Chan, Ling Ding and Xiaobing Wu In this lecture,

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A 4 credit unit course Part of Theoretical Computer Science courses at the Laboratory of Mathematics There will be 4 hours

More information

Numerical Optimization

Numerical Optimization Convex Sets Computer Science and Automation Indian Institute of Science Bangalore 560 012, India. NPTEL Course on Let x 1, x 2 R n, x 1 x 2. Line and line segment Line passing through x 1 and x 2 : {y

More information

AMS : Combinatorial Optimization Homework Problems - Week V

AMS : Combinatorial Optimization Homework Problems - Week V AMS 553.766: Combinatorial Optimization Homework Problems - Week V For the following problems, A R m n will be m n matrices, and b R m. An affine subspace is the set of solutions to a a system of linear

More information

Solutions for Operations Research Final Exam

Solutions for Operations Research Final Exam Solutions for Operations Research Final Exam. (a) The buffer stock is B = i a i = a + a + a + a + a + a 6 + a 7 = + + + + + + =. And the transportation tableau corresponding to the transshipment problem

More information

Unit.9 Integer Programming

Unit.9 Integer Programming Unit.9 Integer Programming Xiaoxi Li EMS & IAS, Wuhan University Dec. 22-29, 2016 (revised) Operations Research (Li, X.) Unit.9 Integer Programming Dec. 22-29, 2016 (revised) 1 / 58 Organization of this

More information

EC 521 MATHEMATICAL METHODS FOR ECONOMICS. Lecture 2: Convex Sets

EC 521 MATHEMATICAL METHODS FOR ECONOMICS. Lecture 2: Convex Sets EC 51 MATHEMATICAL METHODS FOR ECONOMICS Lecture : Convex Sets Murat YILMAZ Boğaziçi University In this section, we focus on convex sets, separating hyperplane theorems and Farkas Lemma. And as an application

More information

R n a T i x = b i} is a Hyperplane.

R n a T i x = b i} is a Hyperplane. Geometry of LPs Consider the following LP : min {c T x a T i x b i The feasible region is i =1,...,m}. X := {x R n a T i x b i i =1,...,m} = m i=1 {x Rn a T i x b i} }{{} X i The set X i is a Half-space.

More information