Introduction to integer programming III:

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

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

Fixed interval scheduling problems under uncertainty

Introduction to integer programming II

Chapter 3: Discrete Optimization Integer Programming

Models and Cuts for the Two-Echelon Vehicle Routing Problem

Chapter 3: Discrete Optimization Integer Programming

3.3 Easy ILP problems and totally unimodular matrices

Combinatorial optimization problems

Part III: Traveling salesman problems

Linear and Integer Programming - ideas

Part III: Traveling salesman problems

Reconnect 04 Introduction to Integer Programming

Introduction to Integer Linear Programming

International ejournals

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

Integer linear programming models for a cement delivery problem

Introduction to Integer Programming

A maritime version of the Travelling Salesman Problem

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

Vehicle Routing and Scheduling. Martin Savelsbergh The Logistics Institute Georgia Institute of Technology

Scheduling and Optimization Course (MPRI)

Asymmetric Traveling Salesman Problem (ATSP): Models

Unit 1A: Computational Complexity

Exact and Heuristic Algorithms for the Symmetric and Asymmetric Vehicle Routing Problem with Backhauls

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

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748

Integer Linear Programming (ILP)

An Exact Algorithm for the Traveling Salesman Problem with Deliveries and Collections

Transportation II. Lecture 16 ESD.260 Fall Caplice

Node Edge Arc Routing Problems (NEARP)

Solving a Production Scheduling Problem as a Time-Dependent Traveling Salesman Problem

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

Vehicle Routing and MIP

Discrete Optimization in a Nutshell

Integer programming: an introduction. Alessandro Astolfi

Lecture 8 Network Optimization Algorithms

Lecture 8: Column Generation

(0)

Logic-based Benders Decomposition

Resource Constrained Project Scheduling Linear and Integer Programming (1)

Intro to Contemporary Math

Modeling with Integer Programming

Discrete Optimization 23

Notes on Dantzig-Wolfe decomposition and column generation

Algorithms and Complexity theory

Linear Programming Duality P&S Chapter 3 Last Revised Nov 1, 2004

Optimization Prof. A. Goswami Department of Mathematics Indian Institute of Technology, Kharagpur. Lecture - 20 Travelling Salesman Problem

Bounds on the Traveling Salesman Problem

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

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

Outline. Outline. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Scheduling CPM/PERT Resource Constrained Project Scheduling Model

A Column Generation Based Heuristic for the Dial-A-Ride Problem

Applied Integer Programming: Modeling and Solution

Finding optimal configurations ( combinatorial optimization)

Decomposition-based Methods for Large-scale Discrete Optimization p.1

CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs. Instructor: Shaddin Dughmi

Solving Elementary Shortest-Path Problems as Mixed-Integer Programs

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

Discrete Optimization 2010 Lecture 10 P, N P, and N PCompleteness

Discrete (and Continuous) Optimization WI4 131

Low-Complexity Algorithms for Sequencing Jobs with a Fixed Number of Job-Classes

Time Dependent Traveling Salesman Problem with Time Windows: Properties and an Exact Algorithm

Limitations of Algorithm Power

Pricing Routines for Vehicle Routing with Time Windows on Road Networks

Coin Changing: Give change using the least number of coins. Greedy Method (Chapter 10.1) Attempt to construct an optimal solution in stages.

The Stochastic Vehicle Routing Problem

An Optimization-Based Heuristic for the Split Delivery Vehicle Routing Problem

Algorithm Design Strategies V

Reformulation of chance constrained problems using penalty functions

The Fleet Size and Mix Location- Routing Problem with Time Windows: Formulations and a Heuristic Algorithm

8.5 Sequencing Problems

Flow Shop and Job Shop Models

Optimizing departure times in vehicle routes

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

A priori performance measures for arc-based formulations of the Vehicle Routing Problem

Transformations of node-balanced routing problems

3.4 Relaxations and bounds

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

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

Lecture 4: NP and computational intractability

An Integer Cutting-Plane Procedure for the Dantzig-Wolfe Decomposition: Theory

On bilevel machine scheduling problems

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.


Branch and Price for the Vehicle Routing Problem with Discrete Split Deliveries and Time Windows

Advanced Linear Programming: The Exercises

Travelling Salesman Problem

The resource transfer problem

A Joint Routing and Speed Optimization Problem

Lecture 9: Dantzig-Wolfe Decomposition

A generalized formulation for vehicle routing problems

Column Generation. ORLAB - Operations Research Laboratory. Stefano Gualandi. June 14, Politecnico di Milano, Italy

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

Decomposition Methods for Integer Programming

- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs

IGERT Experience In SwitzerlandLogistics at Galenica Pharmaceutical p.1

Data Structures in Java

CS675: Convex and Combinatorial Optimization Fall 2016 Combinatorial Problems as Linear and Convex Programs. Instructor: Shaddin Dughmi

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

Transcription:

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 and Mathematical Statistics Computational Aspects of Optimization Martin Branda (KPMS MFF UK) 2017-04-03 1 / 36

Totally unimodular matrices and network flows Content 1 Totally unimodular matrices and network flows 2 Traveling salesman problem 3 Heuristic algorithms 4 Real VRP Martin Branda (KPMS MFF UK) 2017-04-03 2 / 36

Totally unimodular matrices and network flows Totally unimodular matrices Definition A matrix A is totally unimodular (TU) iff every square submatrix of A has determinant +1, -1, or 0. The linear program has an integral optimal solution for all integer r.h.s. b if and only if A is TU. Martin Branda (KPMS MFF UK) 2017-04-03 3 / 36

Totally unimodular matrices and network flows Totally unimodular matrices A set of sufficient conditions: a ij { 1, 0, 1} for all i, j Each column contains at most two nonzero coefficients, i.e. m i=1 a ij 2, There exists a partitioning M 1 M 2 = of the rows 1,..., m such that each column j containing two nonzero coefficients satisfies a ij = a ij. i M 1 i M 2 If A is TU, then A T and (A I ) are TU. Martin Branda (KPMS MFF UK) 2017-04-03 4 / 36

Totally unimodular matrices and network flows Minimum cost network flow problem G = (V, A) graph with vertices V and (oriented) arcs A h ij arc capacity c ij flow cost b i demand, ASS. i b i = 0 V + (i) = {k : (i, k) A} successors of i V (i) = {k : (k, i) A} predecessors of i min x ij s.t. (i,j) A k V + (i) c ij x ij x ik k V (i) 0 x ij h ij, (i, j) A. x ki = b i, i V, Martin Branda (KPMS MFF UK) 2017-04-03 5 / 36

Totally unimodular matrices and network flows Wolsey (1998), Ex. 3.1 (M 1 = {1,..., m}, M 2 = ) Martin Branda (KPMS MFF UK) 2017-04-03 6 / 36

Totally unimodular matrices and network flows Special cases Shortest path problem Critical (longest time) path problem in project scheduling (PERT = Program Evaluation and Review Technique) Fixed interval scheduling Transportation problem Martin Branda (KPMS MFF UK) 2017-04-03 7 / 36

Totally unimodular matrices and network flows Shortest path problem Find a minimum cost s t path given nonnegative arc costs c ij, set b i = 1 if i = s, b i = 1 if i = t, b i = 0 otherwise. Then the problem can be formulated as min c ij x ij x ij (i,j) A s.t. x ik k V + (i) k V + (i) k V + (i) x ik x ik k V (i) k V (i) k V (i) 0 x ij 1, (i, j) A. ˆx ij = 1 identifies the shortest path. x ki = 1, i = s, x ki = 0, i V \ {s, t}, x ki = 1, i = t, Martin Branda (KPMS MFF UK) 2017-04-03 8 / 36

Totally unimodular matrices and network flows Fixed interval scheduling Basic Fixed interval scheduling (FIS) problem: given J jobs with prescribed starting s j and finishing f j times, find a minimal number of identical machines that can process all jobs such that no processing intervals intersect. Martin Branda (KPMS MFF UK) 2017-04-03 9 / 36

Totally unimodular matrices and network flows Fixed interval scheduling 7 8 4 5 6 1 2 3 s 1,s 4 s 7 f 4 f 1 f 7 s 2 s 5 f 2,s 8 s 3 f 5 s 6,f 8 f 6 7 2 3 4 8 1 5 6 s 1,s 4 s 7 f 4 f 1 f 7 s 2 s 5 f 2,s 8 s 3 f 5 s 6,f 8 f 6 Martin Branda (KPMS MFF UK) 2017-04-03 10 / 36

Totally unimodular matrices and network flows FIS network flow reformulation 3 1 2 s 1 f 1 s 3 s 2 f 3 f 2 s 1 f 1 7 0 s 2 f 2 7 0 s 3 f 3 Martin Branda (KPMS MFF UK) 2017-04-03 11 / 36

Totally unimodular matrices and network flows FIS network flow reformulation Network structure: 1 2J + 2 vertices V: {0, s 1, f 1,... s J, f J, 2J + 1}; vertices 0, 2J + 1 correspond to the source and sink, 2 oriented edges E: {0, s j }, {s j, f j }, j J, {f i, s j } if f i s j, {f j, 2J + 1}, j J, (2J + 1, 0) 3 demands: d 0 = d 2J+1 = 0, d sj = 1, d fj = 1, j J, 4 return edge (2J + 1, 0): capacity u 2J+1,0 = M, c 2J+1,0 = 1, 5 edge capacities u uv = 1, and costs c uv = 0, (u, v) E \ (2J + 1, 0). Solve the min-cost network flow problem. Martin Branda (KPMS MFF UK) 2017-04-03 12 / 36

Content Traveling salesman problem 1 Totally unimodular matrices and network flows 2 Traveling salesman problem 3 Heuristic algorithms 4 Real VRP Martin Branda (KPMS MFF UK) 2017-04-03 13 / 36

Traveling salesman problem Traveling salesman problem Consider n towns and in one of them there is a traveling salesman. Traveling salesman must visit all towns and return back. For each pair of towns the traveling costs are known and the traveling salesman is looking for the cheapest route. = Finding a Hamilton cycle in a graph with edge prices. Martin Branda (KPMS MFF UK) 2017-04-03 14 / 36

Traveling salesman problem Assignment problem min n i=1 j=1 n c ij x ij (1) n x ij = 1, j = 1,..., n, (2) i=1 n x ij = 1, i = 1,..., n, (3) j=1 x ij {0, 1}. (4) We minimize the traveling costs, we arrive to j from exactly one i, we leave i to exactly one j. Martin Branda (KPMS MFF UK) 2017-04-03 15 / 36

Traveling salesman problem Example 5 towns cycle and subcycles (subroute) Kafka (2013) Martin Branda (KPMS MFF UK) 2017-04-03 16 / 36

Traveling salesman problem Subroute elimination conditions I x ii = 0, c ii = x ij + x ji 1 x ij + x jk + x ki 2... i S j S x ij S 1, S {1,..., n}, 2 S n 1 Approximately 2 n inequalities, it is possible to reduce to S n/2. Martin Branda (KPMS MFF UK) 2017-04-03 17 / 36

Traveling salesman problem Subroute elimination conditions II Other valid inequalities: u i u j + nx ij n 1, i, j = 2,..., n. Eliminate subroutes: There is at least one route which does not go through vertex 1, denote this route by C and the number of edges by E(C). If we sum all these inequalities over all edges {i, j}, which are in C, i.e. the corresponding variables x ij = 1, we obtain which is a contradiction. n E(C) (n 1) E(C), (5) Martin Branda (KPMS MFF UK) 2017-04-03 18 / 36

Traveling salesman problem Subroute elimination conditions II u i u j + nx ij n 1, i, j = 2,..., n. Hamilton cycle is feasible: let the vertices be ordered as v 1 = 1, v 2,..., v n. We set u i = l, if v l = i, i.e. u i represent the order. For each edge of the cycle {i, j} it holds u i u j = 1, i.e. u i u j + nx ij = 1 + n n 1. (6) For edges, which are not in the cycle, the inequality holds too: u i u j n 1 a x ij = 0. Martin Branda (KPMS MFF UK) 2017-04-03 19 / 36

Traveling salesman problem Subroute elimination conditions example Consider subroutes: 1 4 5, 2 3 Add inequalities u 2 u 3 + 5x 23 4, u 3 u 2 + 5x 32 4, or x 23 + x 32 1. Martin Branda (KPMS MFF UK) 2017-04-03 20 / 36

Traveling salesman problem TSP computational complexity N P (Nondeterministic Polynomial) is the class of decision problems with the property that: for any instance for which the answer is YES, there is a polynomial proof of the YES. Martin Branda (KPMS MFF UK) 2017-04-03 21 / 36

Traveling salesman problem Traveling Salesman Problem with Time Windows t i time when customer i is visited T ij time necessary to reach j from i l i, u i lower and upper bound (time window) for visiting customer i M a large constant min x ij,t i n i=1 n c ij x ij j=1 (7) n x ij = 1, j = 1,..., n, (8) i=1 n x ij = 1, i = 1,..., n, (9) j=1 t i + T ij t j M(1 x ij ) i, j = 1,..., n, (10) l i t i u i, i = 1,..., n, (11) x ij {0, 1}. Martin Branda (KPMS MFF UK) 2017-04-03 22 / 36

Traveling salesman problem Capacitated Vehicle Routing Problem Parameters n number of customers 0 depo (starting and finishing point of each vehicle) K number of vehicles (homogeneous) d j 0 customer demand, for depo d 0 = 0 Q > 0 vehicle capacity ( KQ n j=1 d j) c ij transportation costs from i to j (usually c ii = 0) Decision variables x ij equal to 1, if j follows after i on the route, 0 otherwise u j upper bound on transported amount after visiting customer j Martin Branda (KPMS MFF UK) 2017-04-03 23 / 36

Traveling salesman problem Capacitated Vehicle Routing Problem min x ij,u i n i=0 n c ij x ij j=0 (12) n x ij = 1, j = 1,..., n, (13) i=0 n x ij = 1, i = 1,..., n, (14) j=0 n x i0 = K, (15) i=1 n x 0j = K, (16) j=1 u i u j + d j Q(1 x ij ) i, j = 1,..., n, (17) d i u i Q, i = 1,..., n, (18) x ij {0, 1}. Martin Branda (KPMS MFF UK) 2017-04-03 24 / 36

Traveling salesman problem Capacitated Vehicle Routing Problem (12) minimization of transportation costs (13) exactly one vehicle arrives to customer j (14) exactly one vehicle leaves customer i (15) exactly K vehicles return to depot 0 (16) exactly K vehicles leave depot 0 (17) balance conditions of transported amount (serve also as subroute elimination conditions) (18) bounds on the vehicle capacity (All vehicles are employed.) Martin Branda (KPMS MFF UK) 2017-04-03 25 / 36

Content Heuristic algorithms 1 Totally unimodular matrices and network flows 2 Traveling salesman problem 3 Heuristic algorithms 4 Real VRP Martin Branda (KPMS MFF UK) 2017-04-03 26 / 36

Greedy heuristic Heuristic algorithms Start with an empty set (solution) and choose the item with the best immediate reward at each step. Example: Traveling Salesman Problem with the (symmetric) distance matrix 9 2 8 12 11 7 19 10 32 29 18 6 24 3 19 Greedy steps: 1 3 (2), 3 6 (6), 6 4 (3), 4 5 (24), 5 2 (10), 2 1 (9), i.e. the route length is 54. Martin Branda (KPMS MFF UK) 2017-04-03 27 / 36

Heuristic algorithms Local search heuristic Choose an initial solution x and search its neighborhood U(x). Repeat until you are able to find a better solution, i.e. if y U(x), f (y) < f (x), set x = y. Example: Traveling Salesman Problem, define the neighborhood U(x) as 2-exchange, i.e. if S = {(i, j) A : x ij = 1} is a feasible solution, then U(x) = {S : S S = n 2}, in other words: replace edges (i, j), (i, j ) by (i, i ), (j, j ). Greedy steps: 1 3 (2), 3 6 (6), 6 4 (3), 4 5 (24), 5 2 (10), 2 1 (9), i.e. the route length is 54. 2-exchange: 1 3 (2), 3 4 (29), 4 6 (3), 6 5 (19), 5 2 (10), 2 1 (9), i.e. the route length is 72. Martin Branda (KPMS MFF UK) 2017-04-03 28 / 36

Heuristic algorithms Basic heuristics for VRP Insertion heuristic: Start with empty routes. FOR all customers DO: Insert the customer to the place in a route where it causes the lowest increase of the traveled distance. Clustering: Cluster the customers according to their geographic positions ( angles ). Solve 1 the traveling salesman problem in each cluster. Possible difficulties: time windows, vehicle capacities,... 1..exactly, if the clusters are not large. Martin Branda (KPMS MFF UK) 2017-04-03 29 / 36

Heuristic algorithms Tabu search for VRP For a given number of iteration, run the following steps: Find the best solution in a neighborhood of the current solution. Such solution can be worse than the current one or even infeasible (use a penalty function). Forbid moving back for a random number of steps by actualizing the tabu list. Remember the best solution. The tabu search algorithm enables moving from local solutions (compared with a simple hill climbing alg. ). Martin Branda (KPMS MFF UK) 2017-04-03 30 / 36

Heuristic algorithms Genetic algorithms Iterative procedure: Population finite set of individuals with genes Generation Evaluation fitness Parent selection Crossover produces one or two new solutions (offspring). Mutation Population selection Martin Branda (KPMS MFF UK) 2017-04-03 31 / 36

Content Real VRP 1 Totally unimodular matrices and network flows 2 Traveling salesman problem 3 Heuristic algorithms 4 Real VRP Martin Branda (KPMS MFF UK) 2017-04-03 32 / 36

Norway... Real VRP Martin Branda (KPMS MFF UK) 2017-04-03 33 / 36

Real VRP Rich Vehicle Routing Problems Goal maximization of the ship filling rate (operational planning), optimization of fleet composition, i.e. number and capacity of the ships (strategic planning) Rich Vehicle Routing Problem time windows heterogeneous fleet (vehicles with different capacities and speed) several depots with inter-depot trips several routes during the planning horizon non-euclidean distances (fjords) Mixed-integer programming :-(, constructive heuristics for getting an initial feasible solution and tabu search M. Branda, K. Haugen, J. Novotný, A. Olstad, Downstream logistics optimization at EWOS Norway. Research report. Martin Branda (KPMS MFF UK) 2017-04-03 34 / 36

Real VRP Rich Vehicle Routing Problems Our approach Mathematical formulation GAMS implementation Heuristic (insertion heuristic, tabu search) implementation Decision Support System (DSS) Martin Branda (KPMS MFF UK) 2017-04-03 35 / 36

Literature Real VRP M. Branda, J. Novotný, A. Olstad: Fixed interval scheduling under uncertainty - a tabu search algorithm for an extended robust coloring formulation. Computers & Industrial Engineering 93, 45 54. O. Kafka: Optimální plánování rozvozu pomocí dopravních prostředků, Diploma thesis MFF UK, 2013. (IN CZECH) P. Toth, D. Vigo (2002). The vehicle routing problem, SIAM, Philadelphia. L.A. Wolsey (1998). Integer Programming. Wiley, New York. L.A. Wolsey, G.L. Nemhauser (1999). Integer and combinatorial optimization. Wiley, New York. Martin Branda (KPMS MFF UK) 2017-04-03 36 / 36