Chapter 3: Discrete Optimization Integer Programming

Size: px
Start display at page:

Download "Chapter 3: Discrete Optimization Integer Programming"

Transcription

1 Chapter 3: Discrete Optimization Integer Programming Edoardo Amaldi DEIB Politecnico di Milano Sito web: A.A Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

2 3.1 Integer Programming models A huge variety of practical decision-making problems arising in science, engineering and management can be formulated/approximated as linear optimization problems where (some of) the variables must take integer/discrete values. Generic discrete optimization problem: min x X c(x) where X is a discrete set and c : X R is the objective function. Example: X family of all subsets of a given finite set. A natural and systematic way to study/investigate such problems is to express them as integer (programming) optimization problems. Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

3 Definitions: A Mixed Integer Linear Programming (MILP) problem is an optimization problem like min c t 1 x + ct 2 y s.t. A 1x + A 2y b x 0 integer, y 0 with matrices A 1 Z m n 1 and A 2 Z m n 2, and vectors c 1 Z n 1, c 2 Z n 2 and b Z m. If all the variables are restricted to be integer, we have an Integer Linear Programming (ILP) problem: min c t x s.t. Ax b x 0 integer. If all the variables must take binary values, we have a Binary Linear Programming (0-1-ILP) problem. Without loss of generality: only inequalities and all coefficients are integer. Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

4 Observation: The integrality restriction on x is a nonlinear constraint since it can be formulated as sin(πx) = 0 Proposition: 0-1-ILP is NP-hard, and ILP/MILP are at least as difficult. Theory: No algorithm can find, for every instance of 0-1-ILP (ILP/MILP), an optimal solution in polynomial time (in the instance size), unless P=NP. Practice: Many medium-size (M)ILPs are extremely challenging! Examples of feasible regions of an ILP and a MILP: (Mixed) Integer Linear Programming is a powerful and versatile modeling framework for expressing and tackling discrete optimization problems. Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

5 Modeling techniques and examples Binary variables allow to model a choice between two (several) alternatives and the association between two (several) entities. Example 1: Binary Knapsack problem Given n objects profit p i and weight a i for each object i, with 1 i n knapsack maximum total weight b (capacity) decide which objects to select so as to maximize total profit while respecting the capacity constraint. ILP formulation Decision variables: x i = 1 if the i-th object is selected and x i = 0 otherwise, 1 i n max n i=1 p ix i n i=1 a ix i b x i {0, 1} i Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

6 A number of direct applications (projects, investments,...) or indirect applications (as subproblem). Proposition: Binary Knapsack is NP-hard. Variants with additional constraints - at most one object among a given subset of objects - if i-th object selected then also j-th one - multiple resource constraints (e.g., on volume, cost,...) -... Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

7 Example 2: Assignment problem Given n projects (jobs) and n persons (machines) cost c ij for assigning project i to person j, i, j {1,..., n} decide which project to assign to each person so as to minimize the total cost to complete all the projects. Assumption: every person can perform any project, and each person (project) must be assigned to a single project (person). n! feasible solutions (permutations) ILP formulation Decision variables: x ij = 1 if i-th project is assigned to j-th person and x ij = 0 otherwise, min s.t. n i=1 n j=1 c ijx ij n i=1 x ij = 1 n j=1 x ij = 1 x ij {0, 1} j i i, j with 1 i, j n Variants with: bipartite graph representing competences, different number of projects and persons, resource constraints,... Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

8 Example 3: Set Covering problem (SC) Given finite groundset M = {1, 2,..., m} collection {M 1,..., M n} of n subsets of M ( M j M for j = 1,..., n) cost c j of M j for each j, with 1 j n decide which subsets to select so as to minimize the total cost while covering all the elements of M. Example: ILP formulation Decision variables: x j = 1 if subset M j is selected and x j = 0 otherwise, with 1 j n min s.t. n j=1 c jx j j:i M j x j 1 i (1) x j {0, 1} j where the inequalities (1) are the so-called covering constraints. Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

9 Set Covering problem: { n } min c j x j : Ax 1, x {0, 1} n j=1 where A = [a ij ] with a ij = 1 if i M j and a ij = 0 otherwise, and 1 = (1, 1,..., 1) t Example: emergency service location (ambulances or fire stations) M = { areas to be covered }, M j = { areas reachable in at most 10 minutes from candidate site j } Proposition: Set Covering is NP-hard. Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

10 Set Packing problem: { n } max c j x j : Ax 1, x {0, 1} n j=1 where the parameters c j represent profits Example: location of facilities with large environmental impact (rubbish dump or incinerators) M = { cities }, M j = { cities with environmental impact level for candidate site j above threshold } Proposition: Set Packing is NP-hard. Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

11 Set Partitioning problem: { n } min or max c j x j : Ax = 1, x {0, 1} n where the parameters c j may represent costs or profits j=1 Example: aircrew scheduling (assign flights to pilots) Consider a predefined planning horizon M = { flights } where flight = single flight leg (takeoff-landing) to be carried out within a predefined time window M j = { feasible subsets of flights } where feasible subset of flights = a subset that can be combined and carried out by a single pilot while respecting different constraints (e.g., compatible flights, rest periods, total flight time,...) N.B.: Possibly huge number of feasible subsets of flights Other example: distribution planning (assign customers to routes) Proposition: Set Partitioning is NP-hard. Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

12 Example 4: Asymmetric Traveling Salesman Problem (ATSP) Given a complete directed graph G = (V, A) with n = V nodes a cost c ij R for each arc (i, j) A (in case c ij = ) determine a Hamiltonian circuit (tour), i.e., a circuit that visits exactly once each node and comes back to the starting node, of minimum total cost. Example: Since G is complete, there are (n 1)! Hamiltonian circuits. Proposition: ATSP is NP-hard. Variety of applications: planning, logistics, microchip manufacturing, (DNA) sequencing,... Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

13 Also symmetric TSP version with undirected graph G. Website devoted to TSP: Many variants with - time windows (earliest and latest arrival time) - precedence constraints - capacity constraint - several vehicles ( Vehicle Routing Problem ) -... Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

14 An ILP formulation Decision variables: x ij = 1 if arc (i, j) is included in the Hamiltonian circuit and x ij = 0 otherwise, with (i, j) A min (i,j) A c ijx ij s.t. j V :j i x ij = 1 i (2) i V :i j x ij = 1 j (3) (i,j) δ + (S) x ij 1 S V, S (4) x ij {0, 1} (i, j) A where equations (2) and (3) are the assignment constraints, δ + (S) = {(i, j) A : i S, j V \ S}, constraints (4) are the so-called cut-set inequalities. Observation: The number of constraints (4) grows exponentially with the number of nodes n. Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

15 Alternative ILP formulation Substitute the cut-set inequalities x ij 1 (i,j) δ + (S) S V, S with the so-called subtour elimination inequalities: x ij S 1 S V, 2 S n 1 (5) (i,j) E(S) where E(S) = {(i, j) A : i S, j S} for S V. Example: Observation: The number of constraints (5) grows exponentially with the number of nodes n. Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

16 MILP models A pair of continuous and binary variables allow to model a typical nonlinear fixed charge cost function. Example 5: Uncapacitated Facility Location (UFL) Given M = {1, 2,..., m} set of clients N = {1, 2,..., n} set of candidate sites where a depot can be located fixed cost f j for opening a depot in candidate site j, j N c ij transportation cost if the whole demand of client i is served from depot j, i M and j N decide where to locate the depots and how to serve the clients so as to minimize the total (transportation and fixed) costs while satisfying all demands. Example: Proposition: UFL is NP-hard. Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

17 MILP formulation Decision variables: x ij = fraction of demand of client i served by depot j, with 1 i m and 1 j n y j = 1 if depot j is opened and y j = 0 otherwise, with 1 j n min i M j N c ijx ij + j N f jy j s.t. j N x ij = 1 i M i M x ij my j j N (6) y j {0, 1} j N 0 x ij 1 i M, j N where the n constraints (6) link the corresponding variables x ij and y j. Capacitated FL variant: If d i is the demand of client i and k j the capacity of depot j, capacity constraints: d i x ij k j y j j N i M N.B.: The solution with, for all i and a given j, x ij = 0 and y j = 1 is feasible for MILP, but it cannot be optimal (minimization with f j > 0). Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

18 Example 6: Uncapacitated Lot-Sizing (ULS) A company has to plan the production of a single type of product for the next n periods. Suppose that the stock is empty at the beginning of the planning horizon and that 50 units must be in stock at the end. Given f t fixed cost for producing during period t p t unit production cost in period t h t unit storage cost in period t d t demand in period t determine a production plan for the next n periods that minimizes the total (production and storage) costs, while satisfying the demand in each period. MILP formulation Decision variables: x t = amount produced in period t, with 1 t n s t = amount in stock at the end of period t, with 0 t n y t = 1 if production occurs in period t and y t = 0 otherwise, with 1 t n Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

19 MILP formulation Decision variables: x t = amount produced in period t, with 1 t n s t = amount in stock at the end of period t, with 0 t n y t = 1 if production occurs in period t and y t = 0 otherwise, with 1 t n min n t=1 ptxt + n t=1 htst + n t=1 ftyt s.t. s t = s t 1 + x t d t t x t My t s 0 = 0, s n = 50 s t, x t 0 y t {0, 1} where M > 0 is large enough (upper bound on the maximum amount produced during any period). For instance: x t ( n t=1 dt + sn s0)yt N.B.: Since s t = t i=1 x i + s 0 t i=1 d i, it is possible to delete the storage variables s t How can we account for a minimum lot size? t t t t Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

20 An appropriate combination of continuous and binary variables allows to model arbitrary piecewise linear cost functions. Example 7: Minimization of piecewise linear cost functions Consider an arbitrary (not necessarily convex) piecewise linear function f (x), with f : [x 1, x k ] R. Suppose that x 1 < x 2 <... < x k and that f (x) is specified by the points (x i, f (x i )), for i = 1,..., k. Example of min x [x 1,x k ] f (x): Any x [x 1, x k ] and the corresponding value f (x) can be expressed as k k k x = λ i x i and f (x) = λ i f (x i ) with λ i = 1 and λ 1,..., λ k 0, i=1 i=1 i=1 Clearly, the choice of the coefficients λ i is not unique. Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

21 It becomes unique if we require that at most two consecutive λ i can be nonzero. Any x [x i, x i+1 ] is then represented as x = λ i x i + λ i+1 x i+1 with λ i + λ i+1 = 1 and λ i 0, λ i+1 0. By defining y i = 1 if x i x x i+1 and y i = 0 otherwise, for i = 1,..., k 1 the problem min x [x 1,x k ] f (x) can be formulated as follows: min s.t. k i=1 λ if (x i ) λ 1 y 1, λ k y k 1 λ i y i 1 + y i i = 2,..., k 1 k i=1 λ i = 1 k 1 i=1 y i = 1 λ i 0, y i {0, 1} i = 1,..., k N.B.: If y j = 1 then λ i = 0 for all i, 1 i n, different from j or j + 1. Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

22 Binary variables also allow to impose disjunctive constraints: either a 1 x b 1 or a 2 x b 2 with x R and 0 x u, where u is the upper bound vector. Example 8: Scheduling problem Given m machines and n products for each product j, we know the deadline d j and the time p jk needed to process product j on machine k, for k m determine an optimal schedule so as to minimize the time needed to complete all products, while satisfying all deadlines. Assumptions: - Each product must be processed on all the machines according to the order of the machine indices. - Products cannot be processed simultaneously (on the same machine) and, when processed, they cannot be stopped. Edoardo Amaldi (PoliMI) Ottimizzazione A.A / 23

23 Extension: each product must be processed on (a subset) of machines in a possibly different Edoardorder. Amaldi (PoliMI) Ottimizzazione A.A / 23 MILP formulation Decision variables: t jk = time when product j is started on machine k, with 1 j n and 1 k m t time in when all the products are completed y ijk = 1 if product i is processed before product j on machine k, and y ijk = 0 otherwise, with 1 i, j n and 1 k m min t s.t. t jm + p jm t j t jm + p jm d j t jk + p jk t j,k+1 j, k {1,..., m 1} j t ik + p ik t jk + M(1 y ijk ) k, i, j with i < j (7) t jk + p jk t ik + My ijk k, i, j with i < j (8) t 0, t jk 0 y ijk {0, 1} j, k i, j, k where M is a large enough parameter (e.g., M = n j=1 d j) Constraints (7) and (8) ensure that no pair i, j of products are processed simultaneously on the same machine (either i preceds j or j preceds i).

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming Chapter 3: Discrete Optimization Integer Programming Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Website: http://home.deib.polimi.it/amaldi/opt-16-17.shtml Academic year 2016-17

More information

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1 5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1 Definition: An Integer Linear Programming problem is an optimization problem of the form (ILP) min

More information

3.7 Cutting plane methods

3.7 Cutting plane methods 3.7 Cutting plane methods Generic ILP problem min{ c t x : x X = {x Z n + : Ax b} } with m n matrix A and n 1 vector b of rationals. According to Meyer s theorem: There exists an ideal formulation: conv(x

More information

3.10 Lagrangian relaxation

3.10 Lagrangian relaxation 3.10 Lagrangian relaxation Consider a generic ILP problem min {c t x : Ax b, Dx d, x Z n } with integer coefficients. Suppose Dx d are the complicating constraints. Often the linear relaxation and the

More information

3.4 Relaxations and bounds

3.4 Relaxations and bounds 3.4 Relaxations and bounds Consider a generic Discrete Optimization problem z = min{c(x) : x X} with an optimal solution x X. In general, the algorithms generate not only a decreasing sequence of upper

More information

3.3 Easy ILP problems and totally unimodular matrices

3.3 Easy ILP problems and totally unimodular matrices 3.3 Easy ILP problems and totally unimodular matrices Consider a generic ILP problem expressed in standard form where A Z m n with n m, and b Z m. min{c t x : Ax = b, x Z n +} (1) P(b) = {x R n : Ax =

More information

Modeling with Integer Programming

Modeling with Integer Programming Modeling with Integer Programg Laura Galli December 18, 2014 We can use 0-1 (binary) variables for a variety of purposes, such as: Modeling yes/no decisions Enforcing disjunctions Enforcing logical conditions

More information

Travelling Salesman Problem

Travelling Salesman Problem Travelling Salesman Problem Fabio Furini November 10th, 2014 Travelling Salesman Problem 1 Outline 1 Traveling Salesman Problem Separation Travelling Salesman Problem 2 (Asymmetric) Traveling Salesman

More information

3.10 Column generation method

3.10 Column generation method 3.10 Column generation method Many relevant decision-making (discrete optimization) problems can be formulated as ILP problems with a very large (exponential) number of variables. Examples: cutting stock,

More information

3.7 Strong valid inequalities for structured ILP problems

3.7 Strong valid inequalities for structured ILP problems 3.7 Strong valid inequalities for structured ILP problems By studying the problem structure, we can derive strong valid inequalities yielding better approximations of conv(x ) and hence tighter bounds.

More information

3.10 Column generation method

3.10 Column generation method 3.10 Column generation method Many relevant decision-making problems can be formulated as ILP problems with a very large (exponential) number of variables. Examples: cutting stock, crew scheduling, vehicle

More information

OPTIMIZATION. joint course with. Ottimizzazione Discreta and Complementi di R.O. Edoardo Amaldi. DEIB Politecnico di Milano

OPTIMIZATION. joint course with. Ottimizzazione Discreta and Complementi di R.O. Edoardo Amaldi. DEIB Politecnico di Milano OPTIMIZATION joint course with Ottimizzazione Discreta and Complementi di R.O. Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Website: http://home.deib.polimi.it/amaldi/opt-15-16.shtml

More information

3.8 Strong valid inequalities

3.8 Strong valid inequalities 3.8 Strong valid inequalities By studying the problem structure, we can derive strong valid inequalities which lead to better approximations of the ideal formulation conv(x ) and hence to tighter bounds.

More information

What is an integer program? Modelling with Integer Variables. Mixed Integer Program. Let us start with a linear program: max cx s.t.

What is an integer program? Modelling with Integer Variables. Mixed Integer Program. Let us start with a linear program: max cx s.t. Modelling with Integer Variables jesla@mandtudk Department of Management Engineering Technical University of Denmark What is an integer program? Let us start with a linear program: st Ax b x 0 where A

More information

MVE165/MMG630, Applied Optimization Lecture 6 Integer linear programming: models and applications; complexity. Ann-Brith Strömberg

MVE165/MMG630, Applied Optimization Lecture 6 Integer linear programming: models and applications; complexity. Ann-Brith Strömberg MVE165/MMG630, Integer linear programming: models and applications; complexity Ann-Brith Strömberg 2011 04 01 Modelling with integer variables (Ch. 13.1) Variables Linear programming (LP) uses continuous

More information

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

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 21 Dr. Ted Ralphs IE406 Lecture 21 1 Reading for This Lecture Bertsimas Sections 10.2, 10.3, 11.1, 11.2 IE406 Lecture 21 2 Branch and Bound Branch

More information

where X is the feasible region, i.e., the set of the feasible solutions.

where X is the feasible region, i.e., the set of the feasible solutions. 3.5 Branch and Bound Consider a generic Discrete Optimization problem (P) z = max{c(x) : x X }, where X is the feasible region, i.e., the set of the feasible solutions. Branch and Bound is a general semi-enumerative

More information

Combinatorial optimization problems

Combinatorial optimization problems Combinatorial optimization problems Heuristic Algorithms Giovanni Righini University of Milan Department of Computer Science (Crema) Optimization In general an optimization problem can be formulated as:

More information

CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY. E. Amaldi Foundations of Operations Research Politecnico di Milano 1

CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY. E. Amaldi Foundations of Operations Research Politecnico di Milano 1 CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY E. Amaldi Foundations of Operations Research Politecnico di Milano 1 Goal: Evaluate the computational requirements (this course s focus: time) to solve

More information

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs Computational Integer Programming Lecture 2: Modeling and Formulation Dr. Ted Ralphs Computational MILP Lecture 2 1 Reading for This Lecture N&W Sections I.1.1-I.1.6 Wolsey Chapter 1 CCZ Chapter 2 Computational

More information

15.081J/6.251J Introduction to Mathematical Programming. Lecture 24: Discrete Optimization

15.081J/6.251J Introduction to Mathematical Programming. Lecture 24: Discrete Optimization 15.081J/6.251J Introduction to Mathematical Programming Lecture 24: Discrete Optimization 1 Outline Modeling with integer variables Slide 1 What is a good formulation? Theme: The Power of Formulations

More information

Integer Linear Programming Modeling

Integer Linear Programming Modeling DM554/DM545 Linear and Lecture 9 Integer Linear Programming Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. Assignment Problem Knapsack Problem

More information

2 GRAPH AND NETWORK OPTIMIZATION. E. Amaldi Introduction to Operations Research Politecnico Milano 1

2 GRAPH AND NETWORK OPTIMIZATION. E. Amaldi Introduction to Operations Research Politecnico Milano 1 2 GRAPH AND NETWORK OPTIMIZATION E. Amaldi Introduction to Operations Research Politecnico Milano 1 A variety of decision-making problems can be formulated in terms of graphs and networks Examples: - transportation

More information

Asymmetric Traveling Salesman Problem (ATSP): Models

Asymmetric Traveling Salesman Problem (ATSP): Models Asymmetric Traveling Salesman Problem (ATSP): Models Given a DIRECTED GRAPH G = (V,A) with V = {,, n} verte set A = {(i, j) : i V, j V} arc set (complete digraph) c ij = cost associated with arc (i, j)

More information

MODELING (Integer Programming Examples)

MODELING (Integer Programming Examples) MODELING (Integer Programming Eamples) IE 400 Principles of Engineering Management Integer Programming: Set 5 Integer Programming: So far, we have considered problems under the following assumptions:

More information

Integer programming: an introduction. Alessandro Astolfi

Integer programming: an introduction. Alessandro Astolfi Integer programming: an introduction Alessandro Astolfi Outline Introduction Examples Methods for solving ILP Optimization on graphs LP problems with integer solutions Summary Introduction Integer programming

More information

Lecture 8: Column Generation

Lecture 8: Column Generation Lecture 8: Column Generation (3 units) Outline Cutting stock problem Classical IP formulation Set covering formulation Column generation A dual perspective Vehicle routing problem 1 / 33 Cutting stock

More information

Introduction into Vehicle Routing Problems and other basic mixed-integer problems

Introduction into Vehicle Routing Problems and other basic mixed-integer problems Introduction into Vehicle Routing Problems and other basic mixed-integer problems Martin Branda Charles University in Prague Faculty of Mathematics and Physics Department of Probability and Mathematical

More information

4/12/2011. Chapter 8. NP and Computational Intractability. Directed Hamiltonian Cycle. Traveling Salesman Problem. Directed Hamiltonian Cycle

4/12/2011. Chapter 8. NP and Computational Intractability. Directed Hamiltonian Cycle. Traveling Salesman Problem. Directed Hamiltonian Cycle Directed Hamiltonian Cycle Chapter 8 NP and Computational Intractability Claim. G has a Hamiltonian cycle iff G' does. Pf. Suppose G has a directed Hamiltonian cycle Γ. Then G' has an undirected Hamiltonian

More information

Totally unimodular matrices. Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems

Totally unimodular matrices. Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems Totally unimodular matrices Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems Martin Branda Charles University in Prague Faculty of Mathematics and

More information

Modelling linear and linear integer optimization problems An introduction

Modelling linear and linear integer optimization problems An introduction Modelling linear and linear integer optimization problems An introduction Karen Aardal October 5, 2015 In optimization, developing and analyzing models are key activities. Designing a model is a skill

More information

Exercises NP-completeness

Exercises NP-completeness Exercises NP-completeness Exercise 1 Knapsack problem Consider the Knapsack problem. We have n items, each with weight a j (j = 1,..., n) and value c j (j = 1,..., n) and an integer B. All a j and c j

More information

NP-Completeness. NP-Completeness 1

NP-Completeness. NP-Completeness 1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979. NP-Completeness 1 General Problems, Input Size and

More information

Scheduling and Optimization Course (MPRI)

Scheduling and Optimization Course (MPRI) MPRI Scheduling and optimization: lecture p. /6 Scheduling and Optimization Course (MPRI) Leo Liberti LIX, École Polytechnique, France MPRI Scheduling and optimization: lecture p. /6 Teachers Christoph

More information

16.410/413 Principles of Autonomy and Decision Making

16.410/413 Principles of Autonomy and Decision Making 6.4/43 Principles of Autonomy and Decision Making Lecture 8: (Mixed-Integer) Linear Programming for Vehicle Routing and Motion Planning Emilio Frazzoli Aeronautics and Astronautics Massachusetts Institute

More information

Introduction to integer programming III:

Introduction to integer programming III: Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems Martin Branda Charles University in Prague Faculty of Mathematics and Physics Department of Probability

More information

Introduction to Bin Packing Problems

Introduction to Bin Packing Problems Introduction to Bin Packing Problems Fabio Furini March 13, 2015 Outline Origins and applications Applications: Definition: Bin Packing Problem (BPP) Solution techniques for the BPP Heuristic Algorithms

More information

Optimization Exercise Set n. 4 :

Optimization Exercise Set n. 4 : Optimization Exercise Set n. 4 : Prepared by S. Coniglio and E. Amaldi translated by O. Jabali 2018/2019 1 4.1 Airport location In air transportation, usually there is not a direct connection between every

More information

Models and Cuts for the Two-Echelon Vehicle Routing Problem

Models and Cuts for the Two-Echelon Vehicle Routing Problem Models and Cuts for the Two-Echelon Vehicle Routing Problem Guido Perboli Roberto Tadei Francesco Masoero Department of Control and Computer Engineering, Politecnico di Torino Corso Duca degli Abruzzi,

More information

Integer Linear Programming (ILP)

Integer Linear Programming (ILP) Integer Linear Programming (ILP) Zdeněk Hanzálek, Přemysl Šůcha hanzalek@fel.cvut.cz CTU in Prague March 8, 2017 Z. Hanzálek (CTU) Integer Linear Programming (ILP) March 8, 2017 1 / 43 Table of contents

More information

Algorithms. NP -Complete Problems. Dong Kyue Kim Hanyang University

Algorithms. NP -Complete Problems. Dong Kyue Kim Hanyang University Algorithms NP -Complete Problems Dong Kyue Kim Hanyang University dqkim@hanyang.ac.kr The Class P Definition 13.2 Polynomially bounded An algorithm is said to be polynomially bounded if its worst-case

More information

21. Set cover and TSP

21. Set cover and TSP CS/ECE/ISyE 524 Introduction to Optimization Spring 2017 18 21. Set cover and TSP ˆ Set covering ˆ Cutting problems and column generation ˆ Traveling salesman problem Laurent Lessard (www.laurentlessard.com)

More information

Outline. Relaxation. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Lagrangian Relaxation. Lecture 12 Single Machine Models, Column Generation

Outline. Relaxation. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Lagrangian Relaxation. Lecture 12 Single Machine Models, Column Generation Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING 1. Lagrangian Relaxation Lecture 12 Single Machine Models, Column Generation 2. Dantzig-Wolfe Decomposition Dantzig-Wolfe Decomposition Delayed Column

More information

International ejournals

International ejournals ISSN 0976 1411 Available online at www.internationalejournals.com International ejournals International ejournal of Mathematics and Engineering 2 (2017) Vol. 8, Issue 1, pp 11 21 Optimization of Transportation

More information

Determine the size of an instance of the minimum spanning tree problem.

Determine the size of an instance of the minimum spanning tree problem. 3.1 Algorithm complexity Consider two alternative algorithms A and B for solving a given problem. Suppose A is O(n 2 ) and B is O(2 n ), where n is the size of the instance. Let n A 0 be the size of the

More information

15.083J/6.859J Integer Optimization. Lecture 2: Efficient Algorithms and Computational Complexity

15.083J/6.859J Integer Optimization. Lecture 2: Efficient Algorithms and Computational Complexity 15.083J/6.859J Integer Optimization Lecture 2: Efficient Algorithms and Computational Complexity 1 Outline Efficient algorithms Slide 1 Complexity The classes P and N P The classes N P-complete and N P-hard

More information

Discrete (and Continuous) Optimization WI4 131

Discrete (and Continuous) Optimization WI4 131 Discrete (and Continuous) Optimization WI4 131 Kees Roos Technische Universiteit Delft Faculteit Electrotechniek, Wiskunde en Informatica Afdeling Informatie, Systemen en Algoritmiek e-mail: C.Roos@ewi.tudelft.nl

More information

Recoverable Robustness in Scheduling Problems

Recoverable Robustness in Scheduling Problems Master Thesis Computing Science Recoverable Robustness in Scheduling Problems Author: J.M.J. Stoef (3470997) J.M.J.Stoef@uu.nl Supervisors: dr. J.A. Hoogeveen J.A.Hoogeveen@uu.nl dr. ir. J.M. van den Akker

More information

Part III: Traveling salesman problems

Part III: Traveling salesman problems Transportation Logistics Part III: Traveling salesman problems c R.F. Hartl, S.N. Parragh 1/282 Motivation Motivation Why do we study the TSP? c R.F. Hartl, S.N. Parragh 2/282 Motivation Motivation Why

More information

Optimization Exercise Set n.5 :

Optimization Exercise Set n.5 : Optimization Exercise Set n.5 : Prepared by S. Coniglio translated by O. Jabali 2016/2017 1 5.1 Airport location In air transportation, usually there is not a direct connection between every pair of airports.

More information

Computational complexity theory

Computational complexity theory Computational complexity theory Introduction to computational complexity theory Complexity (computability) theory deals with two aspects: Algorithm s complexity. Problem s complexity. References S. Cook,

More information

Computational complexity theory

Computational complexity theory Computational complexity theory Introduction to computational complexity theory Complexity (computability) theory deals with two aspects: Algorithm s complexity. Problem s complexity. References S. Cook,

More information

The Multiple Traveling Salesman Problem with Time Windows: Bounds for the Minimum Number of Vehicles

The Multiple Traveling Salesman Problem with Time Windows: Bounds for the Minimum Number of Vehicles The Multiple Traveling Salesman Problem with Time Windows: Bounds for the Minimum Number of Vehicles Snežana Mitrović-Minić Ramesh Krishnamurti School of Computing Science, Simon Fraser University, Burnaby,

More information

Methods and Models for Combinatorial Optimization

Methods and Models for Combinatorial Optimization Methods and Models for Combinatorial Optimization Modeling by Linear Programming Luigi De Giovanni, Marco Di Summa Dipartimento di Matematica, Università di Padova De Giovanni, Di Summa MeMoCO 1 / 35 Mathematical

More information

Vehicle Routing and MIP

Vehicle Routing and MIP CORE, Université Catholique de Louvain 5th Porto Meeting on Mathematics for Industry, 11th April 2014 Contents: The Capacitated Vehicle Routing Problem Subproblems: Trees and the TSP CVRP Cutting Planes

More information

Bounds on the Traveling Salesman Problem

Bounds on the Traveling Salesman Problem Bounds on the Traveling Salesman Problem Sean Zachary Roberson Texas A&M University MATH 613, Graph Theory A common routing problem is as follows: given a collection of stops (for example, towns, stations,

More information

CS 301: Complexity of Algorithms (Term I 2008) Alex Tiskin Harald Räcke. Hamiltonian Cycle. 8.5 Sequencing Problems. Directed Hamiltonian Cycle

CS 301: Complexity of Algorithms (Term I 2008) Alex Tiskin Harald Räcke. Hamiltonian Cycle. 8.5 Sequencing Problems. Directed Hamiltonian Cycle 8.5 Sequencing Problems Basic genres. Packing problems: SET-PACKING, INDEPENDENT SET. Covering problems: SET-COVER, VERTEX-COVER. Constraint satisfaction problems: SAT, 3-SAT. Sequencing problems: HAMILTONIAN-CYCLE,

More information

How to Relax. CP 2008 Slide 1. John Hooker Carnegie Mellon University September 2008

How to Relax. CP 2008 Slide 1. John Hooker Carnegie Mellon University September 2008 How to Relax Slide 1 John Hooker Carnegie Mellon University September 2008 Two ways to relax Relax your mind and body. Relax your problem formulations. Slide 2 Relaxing a problem Feasible set of original

More information

ON COST MATRICES WITH TWO AND THREE DISTINCT VALUES OF HAMILTONIAN PATHS AND CYCLES

ON COST MATRICES WITH TWO AND THREE DISTINCT VALUES OF HAMILTONIAN PATHS AND CYCLES ON COST MATRICES WITH TWO AND THREE DISTINCT VALUES OF HAMILTONIAN PATHS AND CYCLES SANTOSH N. KABADI AND ABRAHAM P. PUNNEN Abstract. Polynomially testable characterization of cost matrices associated

More information

A Mixed-Integer Linear Program for the Traveling Salesman Problem with Structured Time Windows

A Mixed-Integer Linear Program for the Traveling Salesman Problem with Structured Time Windows A Mixed-Integer Linear Program for the Traveling Salesman Problem with Structured Time Windows Philipp Hungerländer Christian Truden 5th January 2017 Abstract In this extended abstract we introduce the

More information

Part III: Traveling salesman problems

Part III: Traveling salesman problems Transportation Logistics Part III: Traveling salesman problems c R.F. Hartl, S.N. Parragh 1/74 Motivation Motivation Why do we study the TSP? it easy to formulate it is a difficult problem many significant

More information

Discrete (and Continuous) Optimization WI4 131

Discrete (and Continuous) Optimization WI4 131 Discrete (and Continuous) Optimization WI4 131 Kees Roos Technische Universiteit Delft Faculteit Electrotechniek, Wiskunde en Informatica Afdeling Informatie, Systemen en Algoritmiek e-mail: C.Roos@ewi.tudelft.nl

More information

Unit 1A: Computational Complexity

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

More information

Advanced linear programming

Advanced linear programming Advanced linear programming http://www.staff.science.uu.nl/~akker103/alp/ Chapter 10: Integer linear programming models Marjan van den Akker 1 Intro. Marjan van den Akker Master Mathematics TU/e PhD Mathematics

More information

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502)

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502) Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik Combinatorial Optimization (MA 4502) Dr. Michael Ritter Problem Sheet 1 Homework Problems Exercise

More information

ECS122A Handout on NP-Completeness March 12, 2018

ECS122A Handout on NP-Completeness March 12, 2018 ECS122A Handout on NP-Completeness March 12, 2018 Contents: I. Introduction II. P and NP III. NP-complete IV. How to prove a problem is NP-complete V. How to solve a NP-complete problem: approximate algorithms

More information

Advanced Topics in Operations Research

Advanced Topics in Operations Research Advanced Topics in Operations Research jla@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark 1 Why look at the Set Partitioning Problem? The Set Partitioning Problem has

More information

Integer Linear Programming

Integer Linear Programming Integer Linear Programming Solution : cutting planes and Branch and Bound Hugues Talbot Laboratoire CVN April 13, 2018 IP Resolution Gomory s cutting planes Solution branch-and-bound General method Resolution

More information

Analysis of Algorithms. Unit 5 - Intractable Problems

Analysis of Algorithms. Unit 5 - Intractable Problems Analysis of Algorithms Unit 5 - Intractable Problems 1 Intractable Problems Tractable Problems vs. Intractable Problems Polynomial Problems NP Problems NP Complete and NP Hard Problems 2 In this unit we

More information

Introduction to optimization and operations research

Introduction to optimization and operations research Introduction to optimization and operations research David Pisinger, Fall 2002 1 Smoked ham (Chvatal 1.6, adapted from Greene et al. (1957)) A meat packing plant produces 480 hams, 400 pork bellies, and

More information

Traveling Salesman Problem

Traveling Salesman Problem Traveling Salesman Problem Zdeněk Hanzálek hanzalek@fel.cvut.cz CTU in Prague April 17, 2017 Z. Hanzálek (CTU) Traveling Salesman Problem April 17, 2017 1 / 33 1 Content 2 Solved TSP instances in pictures

More information

New Integer Programming Formulations of the Generalized Travelling Salesman Problem

New Integer Programming Formulations of the Generalized Travelling Salesman Problem American Journal of Applied Sciences 4 (11): 932-937, 2007 ISSN 1546-9239 2007 Science Publications New Integer Programming Formulations of the Generalized Travelling Salesman Problem Petrica C. Pop Department

More information

Complexity of Routing Problems with Release Dates and Deadlines

Complexity of Routing Problems with Release Dates and Deadlines Complexity of Routing Problems with Release Dates and Deadlines Alan Erera, Damian Reyes, and Martin Savelsbergh H. Milton Stewart School of Industrial and Systems Engineering Georgia Institute of Technology

More information

Automata Theory CS S-18 Complexity Theory II: Class NP

Automata Theory CS S-18 Complexity Theory II: Class NP Automata Theory CS411-2015S-18 Complexity Theory II: Class NP David Galles Department of Computer Science University of San Francisco 18-0: Language Class P A language L is polynomially decidable if there

More information

8.5 Sequencing Problems

8.5 Sequencing Problems 8.5 Sequencing Problems Basic genres. Packing problems: SET-PACKING, INDEPENDENT SET. Covering problems: SET-COVER, VERTEX-COVER. Constraint satisfaction problems: SAT, 3-SAT. Sequencing problems: HAMILTONIAN-CYCLE,

More information

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini In the name of God Network Flows 6. Lagrangian Relaxation 6.3 Lagrangian Relaxation and Integer Programming Fall 2010 Instructor: Dr. Masoud Yaghini Integer Programming Outline Branch-and-Bound Technique

More information

Introduction to Integer Programming

Introduction to Integer Programming Lecture 3/3/2006 p. /27 Introduction to Integer Programming Leo Liberti LIX, École Polytechnique liberti@lix.polytechnique.fr Lecture 3/3/2006 p. 2/27 Contents IP formulations and examples Total unimodularity

More information

Resource Constrained Project Scheduling Linear and Integer Programming (1)

Resource Constrained Project Scheduling Linear and Integer Programming (1) DM204, 2010 SCHEDULING, TIMETABLING AND ROUTING Lecture 3 Resource Constrained Project Linear and Integer Programming (1) Marco Chiarandini Department of Mathematics & Computer Science University of Southern

More information

Branch-and-Bound. Leo Liberti. LIX, École Polytechnique, France. INF , Lecture p. 1

Branch-and-Bound. Leo Liberti. LIX, École Polytechnique, France. INF , Lecture p. 1 Branch-and-Bound Leo Liberti LIX, École Polytechnique, France INF431 2011, Lecture p. 1 Reminders INF431 2011, Lecture p. 2 Problems Decision problem: a question admitting a YES/NO answer Example HAMILTONIAN

More information

Classification of Dantzig-Wolfe Reformulations for MIP s

Classification of Dantzig-Wolfe Reformulations for MIP s Classification of Dantzig-Wolfe Reformulations for MIP s Raf Jans Rotterdam School of Management HEC Montreal Workshop on Column Generation Aussois, June 2008 Outline and Motivation Dantzig-Wolfe reformulation

More information

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65 Undecidable Problems Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, 2018 1/ 65 Algorithmically Solvable Problems Let us assume we have a problem P. If there is an algorithm solving

More information

A Time Bucket Formulation for the TSP with Time Windows

A Time Bucket Formulation for the TSP with Time Windows A Time Bucket Formulation for the TSP with Time Windows Sanjeeb Dash, Oktay Günlük IBM Research Andrea Lodi, Andrea Tramontani University of Bologna November 10, 2009 Abstract The Traveling Salesman Problem

More information

Applied Integer Programming: Modeling and Solution

Applied Integer Programming: Modeling and Solution Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6. - 6.3 Blekinge Institute of Technology April 5, 05 Modeling Combinatorical Optimization Problems II Traveling Salesman Problem

More information

AM 121: Intro to Optimization Models and Methods Fall 2018

AM 121: Intro to Optimization Models and Methods Fall 2018 AM 121: Intro to Optimization Models and Methods Fall 2018 Lecture 11: Integer programming Yiling Chen SEAS Lesson Plan Integer programs Examples: Packing, Covering, TSP problems Modeling approaches fixed

More information

A comparison of sequencing formulations in a constraint generation procedure for avionics scheduling

A comparison of sequencing formulations in a constraint generation procedure for avionics scheduling A comparison of sequencing formulations in a constraint generation procedure for avionics scheduling Department of Mathematics, Linköping University Jessika Boberg LiTH-MAT-EX 2017/18 SE Credits: Level:

More information

Week Cuts, Branch & Bound, and Lagrangean Relaxation

Week Cuts, Branch & Bound, and Lagrangean Relaxation Week 11 1 Integer Linear Programming This week we will discuss solution methods for solving integer linear programming problems. I will skip the part on complexity theory, Section 11.8, although this is

More information

A Mixed Integer Linear Program for Optimizing the Utilization of Locomotives with Maintenance Constraints

A Mixed Integer Linear Program for Optimizing the Utilization of Locomotives with Maintenance Constraints A Mixed Integer Linear Program for with Maintenance Constraints Sarah Frisch Philipp Hungerländer Anna Jellen Dominic Weinberger September 10, 2018 Abstract In this paper we investigate the Locomotive

More information

NP-COMPLETE PROBLEMS. 1. Characterizing NP. Proof

NP-COMPLETE PROBLEMS. 1. Characterizing NP. Proof T-79.5103 / Autumn 2006 NP-complete problems 1 NP-COMPLETE PROBLEMS Characterizing NP Variants of satisfiability Graph-theoretic problems Coloring problems Sets and numbers Pseudopolynomial algorithms

More information

Workforce Scheduling. Outline DM87 SCHEDULING, TIMETABLING AND ROUTING. Outline. Workforce Scheduling. 1. Workforce Scheduling.

Workforce Scheduling. Outline DM87 SCHEDULING, TIMETABLING AND ROUTING. Outline. Workforce Scheduling. 1. Workforce Scheduling. Outline DM87 SCHEDULING, TIMETABLING AND ROUTING Lecture 17 Workforce Scheduling 2. Crew Scheduling and Roering Marco Chiarandini DM87 Scheduling, Timetabling and Routing 2 Outline Workforce Scheduling

More information

Discrete Optimization 23

Discrete Optimization 23 Discrete Optimization 23 2 Total Unimodularity (TU) and Its Applications In this section we will discuss the total unimodularity theory and its applications to flows in networks. 2.1 Total Unimodularity:

More information

Revisiting the Hamiltonian p-median problem: a new formulation on directed graphs and a branch-and-cut algorithm

Revisiting the Hamiltonian p-median problem: a new formulation on directed graphs and a branch-and-cut algorithm Revisiting the Hamiltonian p-median problem: a new formulation on directed graphs and a branch-and-cut algorithm Tolga Bektaş 1, Luís Gouveia 2, Daniel Santos 2 1 Centre for Operational Research, Management

More information

The traveling salesman problem

The traveling salesman problem Chapter 58 The traveling salesman problem The traveling salesman problem (TSP) asks for a shortest Hamiltonian circuit in a graph. It belongs to the most seductive problems in combinatorial optimization,

More information

The Multiple Traveling Salesperson Problem on Regular Grids

The Multiple Traveling Salesperson Problem on Regular Grids Philipp Hungerländer Anna Jellen Stefan Jessenitschnig Lisa Knoblinger Manuel Lackenbucher Kerstin Maier September 10, 2018 Abstract In this work we analyze the multiple Traveling Salesperson Problem (mtsp)

More information

Partial Path Column Generation for the Vehicle Routing Problem with Time Windows

Partial Path Column Generation for the Vehicle Routing Problem with Time Windows Partial Path Column Generation for the Vehicle Routing Problem with Time Windows Bjørn Petersen & Mads Kehlet Jepsen } DIKU Department of Computer Science, University of Copenhagen Universitetsparken 1,

More information

TRAVELING SALESMAN PROBLEM WITH TIME WINDOWS (TSPTW)

TRAVELING SALESMAN PROBLEM WITH TIME WINDOWS (TSPTW) TRAVELING SALESMAN PROBLEM WITH TIME WINDOWS (TSPTW) Aakash Anuj 10CS30043 Surya Prakash Verma 10AE30026 Yetesh Chaudhary 10CS30044 Supervisor: Prof. Jitesh Thakkar TSP Given a list of cities and the distances

More information

Data Structures and Algorithms (CSCI 340)

Data Structures and Algorithms (CSCI 340) University of Wisconsin Parkside Fall Semester 2008 Department of Computer Science Prof. Dr. F. Seutter Data Structures and Algorithms (CSCI 340) Homework Assignments The numbering of the problems refers

More information

Data Structures in Java

Data Structures in Java Data Structures in Java Lecture 21: Introduction to NP-Completeness 12/9/2015 Daniel Bauer Algorithms and Problem Solving Purpose of algorithms: find solutions to problems. Data Structures provide ways

More information

CS/COE

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

More information

and to estimate the quality of feasible solutions I A new way to derive dual bounds:

and to estimate the quality of feasible solutions I A new way to derive dual bounds: Lagrangian Relaxations and Duality I Recall: I Relaxations provide dual bounds for the problem I So do feasible solutions of dual problems I Having tight dual bounds is important in algorithms (B&B), and

More information