Applied Integer Programming: Modeling and Solution

Similar documents
Traveling Salesman Problem

The Traveling Salesman Problem: An Overview. David P. Williamson, Cornell University Ebay Research January 21, 2014

Asymmetric Traveling Salesman Problem (ATSP): Models

Node Edge Arc Routing Problems (NEARP)

The traveling salesman problem

A Survey on Travelling Salesman Problem

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

Hamiltonian Cycle. Hamiltonian Cycle

A maritime version of the Travelling Salesman Problem

International ejournals

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming

Edge Elimination for the Hamiltonian Cycle problem

The Traveling Salesman Problem: Inequalities and Separation

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

History, Analysis, and Implementation of Traveling Salesman Problem (TSP) and Related Problems

AM 121: Intro to Optimization Models and Methods Fall 2018

Bounds on the Traveling Salesman Problem

Scheduling and Optimization Course (MPRI)

8.3 Hamiltonian Paths and Circuits

LECTURE 1: INTRODUCTION

Resource Constrained Project Scheduling Linear and Integer Programming (1)

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

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

8.5 Sequencing Problems

Travelling Salesman Problem

Combinatorial optimization problems

Modeling with Integer Programming

18 hours nodes, first feasible 3.7% gap Time: 92 days!! LP relaxation at root node: Branch and bound

Analysis of Algorithms. Unit 5 - Intractable Problems

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

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

Transportation II. Lecture 16 ESD.260 Fall Caplice

CS/COE

Maximum Flow Problem (Ford and Fulkerson, 1956)

M. Jünger G. Reinelt G. Rinaldi

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

TRAVELING SALESMAN PROBLEM WITH TIME WINDOWS (TSPTW)

Single Machine Models

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

Introduction to integer programming III:

NP-Complete Problems. More reductions

Polynomial-Time Reductions

Lecture 8 Network Optimization Algorithms

A path that visits each vertex exactly once is a Hamiltonian path. A circuit that visits each vertex exactly once is a Hamiltonian circuit.

NP-complete problems. CSE 101: Design and Analysis of Algorithms Lecture 20

EXACT ALGORITHMS FOR THE ATSP

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

Sub-Optimal Scheduling of a Flexible Batch Manufacturing System using an Integer Programming Solution

Check off these skills when you feel that you have mastered them. Write in your own words the definition of a Hamiltonian circuit.

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

Models and Cuts for the Two-Echelon Vehicle Routing Problem

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

NP and Computational Intractability

Implementation of Travelling Salesman Problem Using ant Colony Optimization

A Branch-and-Cut Algorithm for the Dial-a-Ride Problem

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

The Traveling Salesman Problem New Mexico Supercomputing Challenge Final Report April 6 th, 2016 Team 104 School of Dreams Academy

Intro to Contemporary Math

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

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

2 Notation and Preliminaries

Chapter 34: NP-Completeness

Compact Formulations of the Steiner Traveling Salesman Problem and Related Problems

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

Unit 1A: Computational Complexity

Spatial Thinking and Modeling of Network-Based Problems

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

Exercises NP-completeness

The multi-modal traveling salesman problem

TSP Cuts Which Do Not Conform to the Template Paradigm

8.5 Sequencing Problems. Chapter 8. NP and Computational Intractability. Hamiltonian Cycle. Hamiltonian Cycle

Introduction to Integer Programming

Chapter 8. NP and Computational Intractability

Lecture 4: NP and computational intractability

No-Idle, No-Wait: When Shop Scheduling Meets Dominoes, Eulerian and Hamiltonian Paths

CS 583: Algorithms. NP Completeness Ch 34. Intractability

Solving Elementary Shortest-Path Problems as Mixed-Integer Programs

Chapter 2. Business Efficiency. Chapter Outline. Chapter Summary

Graphs. COMPSCI 355 Fall 2016

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

CSCI3390-Lecture 17: A sampler of NP-complete problems

Part III: Traveling salesman problems

Single-part-type, multiple stage systems

Algorithms and Complexity theory

La petite et la grande histoire du problème du voyageur de commerce

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

CMSC 722, AI Planning. Planning and Scheduling

Data Structures in Java

8. INTRACTABILITY I. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley. Last updated on 2/6/18 2:16 AM

Integer Linear Programming (ILP)

Lecture 6 January 21, 2013

On the strength of approximate linear programming relaxations for the traveling salesman problem

SAT, Coloring, Hamiltonian Cycle, TSP

Valid Inequalities and Separation for the Symmetric Sequential Ordering Problem

The Traveling Salesman Problem with Pickup and Delivery. A polyhedral approach. IBM Research - Australia. Irina Dumitrescu

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

arxiv:cs/ v3 [cs.dm] 25 Sep 2008

Chapter 8. NP and Computational Intractability. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

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

Transcription:

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 Importance of the TSP 3 Machine Sequencing Problems in Various Manufacturing Systems Sequencing Problems in Electronic Industry Vehicle Routing for Delivery and Dispatching

Importance of the TSP Traveling Salesman Problem A traveling salesman is to visit a number of cities and the distance connecting two cities are known; the problem is to find a shortest route that starts from a home city, visits other cities exactly once, and returns to the home city.

Importance of the TSP Traveling Salesman Problem A traveling salesman is to visit a number of cities and the distance connecting two cities are known; the problem is to find a shortest route that starts from a home city, visits other cities exactly once, and returns to the home city. Became popular in (954) (Dantzig, Fulkerson and Johnson) Perhaps the most well-studied COP Thousands of publications. Over 000 distinct papers cited Representative of N P-hard COPs Primary driving force in novel optimization and solution algorithms Many AI algorithms, GA, SA, Tabu search, heuristics developed to (at least partly) solve the TSP

Importance of the TSP Milestones of TSP instances solved to optimality Year No. of Cities Data Set Research Team 954 49 dantzig4 Dantzig, Fulkerson, Johnson 97 64 random points Held and Karp 975 67 random points Camerini, Fratta, Maffioli 977 0 grl0 Grötschel 980 38 lin38 Crowder and Padberg 987 53 att53 Padberg and Rinaldi 987 666 gr666 Grötschel and Holland 987 39 pr39 Padberg and Rinaldi 994 7397 pla7397 Applegate, Bixby, Chvátal, Cook 998 3, 509 usa3509 Applegate, Bixby, Chvátal, Cook 00 5, dl5 Applegate, Bixby, Chvátal, Cook 004 4, 978 sw4978 Applegate, Bixby, Chvátal, Cook 004 33, 80 pla3380 Applegate, Bixby, Chvátal, Cook 006 85, 900 pla85900 Applegate, Bixby, Chvátal, Cook

Importance of the TSP Slow progress (950 to mid-970s ) Lack of applications. Could only solve small instances of the problem

Importance of the TSP Slow progress (950 to mid-970s ) Lack of applications. Could only solve small instances of the problem Rapid progression (mid-970s - mid-000s) Increased computational capability and introduction of branch-and-cut technique TSP can be used as a benchmark for IP algorithms

Importance of the TSP Some definitions Definition Let G = (V, E) be a graph where V is the set of vertices (nodes) and E is the set of edges (arcs). If the TSP is defined over a directed graph, then we have a asymmetric TSP. If the the TSP is defined over a undirected graph, then we have a symmetric TSP.

Importance of the TSP Some definitions Definition Let G = (V, E) be a graph where V is the set of vertices (nodes) and E is the set of edges (arcs). If the TSP is defined over a directed graph, then we have a asymmetric TSP. If the the TSP is defined over a undirected graph, then we have a symmetric TSP. Definition A route is sequence of distinct nodes (v, v,..., v n, v n ) such that (v i, v i+ ) E, i =,... n. If the route contains all nodes of the graph, it is called a Hamiltonian route

Importance of the TSP Definition A cycle is sequence of distinct nodes (v, v,..., v n, v n, v ) such that (v i, v i+ ), (v n, v ) E, i =..., n. If the cycle contains all nodes of the graph, it is called a Hamiltonian cycle

Importance of the TSP Definition A cycle is sequence of distinct nodes (v, v,..., v n, v n, v ) such that (v i, v i+ ), (v n, v ) E, i =..., n. If the cycle contains all nodes of the graph, it is called a Hamiltonian cycle Finding the shortest Hamiltonian cycle gives is a solution to the TSP.

Importance of the TSP Example of Hamiltonian cycle 5 4 8 9 7 6 3 6 5

Importance of the TSP Example of Hamiltonian cycle 5 4 8 9 7 6 3 6 5

Shortest Hamiltonian Paths Finding the shortest Hamiltonian path in graph G = (V, E) can be transformed into a TSP in the following way:

Shortest Hamiltonian Paths Finding the shortest Hamiltonian path in graph G = (V, E) can be transformed into a TSP in the following way: Construct a new graph G by: adding a virtual node to G connect the new node with all the others with distance zero

Shortest Hamiltonian Paths Finding the shortest Hamiltonian path in graph G = (V, E) can be transformed into a TSP in the following way: Construct a new graph G by: adding a virtual node to G connect the new node with all the others with distance zero Solve the TSP in the new graph G

5 4 8 9 7 6 3 6 5

5 4 8 9 7 6 3 6 5 7

5 4 8 9 7 6 3 0 6 0 5 0 0 0 0 7

5 4 8 9 7 6 3 0 6 0 5 0 0 0 0 7

If a starting position for the salesman is given, say node. Then we do the following transformation:

If a starting position for the salesman is given, say node. Then we do the following transformation: Add the arcs (v i, v ), i =,... n with distance zero to the graph Solve the TSP

If a starting position for the salesman is given, say node. Then we do the following transformation: Add the arcs (v i, v ), i =,... n with distance zero to the graph Solve the TSP 0 0 5 4 8 9 7 6 0 3 0 0 6 5

Suppose we require that the salesman has to visit each city at least once, instead of exactly once. Consider the following transformation:

Suppose we require that the salesman has to visit each city at least once, instead of exactly once. Consider the following transformation: Whenever there exists a route from v n to v k in G. Construct a new graph with arcs (v n, v k ) where the distance equals the total cost of the shortest path between them.

5 4 0 9 3 4

5 3 4 0 6 8 5 7 7 3 4

In the multiple TSP, m salesmen has to visit n customer cities. Let f p, p =,,... n be the fixed cost if salesman p is activated. The problem is determine how many of the salesmen should be utilized such that their total traveling distance is minimized and each city is visited once by one and only one salesman and then return to the home city (node 0). If the network is directed we can transform the multiple TSP to to a standard asymmetric TSP by the following steps:

Arrange the fixed cost in ascending order f 0 f... f m Add dummy nodes labeled,,..., (m ) as a home city for salesman, 3,... m, respectively. 3 Add the arcs ( i, j), i =,,..., m and each (0, j) A with distance c i,j = c 0,j + f i 4 Add the arcs (j, i) whenever (j, 0) A with distance c j, i = c j,0 + f i 5 Add the arcs ( i, (i )) for every pair of i =,,..., m with distance c i, (i ) = f i f i.

0 3 4 3 4

0 3-4 3-4

+ f 0 0 + f 0 + f + f 3 + f 0-3 + f 4 + f 0 + f 4 + f 3 + f 3 + f - 4 + f 4

+ f 0 0 (f 0 f ) + f + f + f 0 3 + f 0-3 + f 4 + f 0 (f f ) + f + f 4 + f 3 3 + f - 4 + f 4

Suppose we obtain the solution (0, ), (, 4), (4, ), (, )(, ), (, 3), (3, 0). 0-3 - 4 Salesman 0 visites cities and 4; salesman visits none and salesman visits cities and 3.

Let G = (N, A) be a digraph where the nodes have been partioned into k disjoint subsets N i, i =,,... k. The problem of the clustered TSP is to find the minimum cost Hamiltonian cycle with the constraint that nodes within the same cluster must be visited consecutively. The problem can be transformed to the standard TSP by adding an (large) additional cost to the arcs between nodes that do not belong to the same cluster.

Let G = (N, A) be a graph with a positive or negative arc value c ij, (i, j) A. The problem is to find a Hamiltonian cycle (v, v,... v n, v ) such that c, +... + c n,n + c n, is maximal. The problem can be transformed into a standard (minimum) TSP by setting c ij = c ij or c ij = c ij + M (M large constant) if c ij becomes negative.

Machine Sequencing Problems in Various Manufacturing Systems Sequencing Problems in Electronic Industry Vehicle Routing for Delivery and Dispatching Machine Sequencing Problems in Various Manufacturing Systems Job scheduling Suppose that n jobs with a given processing time has to be processed on a single machine. The jobs can be processed in any order but some machine job setup times are dependent, e.g. job i must precede job j. Objective is to find a sequence of jobs so all jobs are processed such that the total process time is minimized.

Machine Sequencing Problems in Various Manufacturing Systems Sequencing Problems in Electronic Industry Vehicle Routing for Delivery and Dispatching Machine Sequencing Problems in Various Manufacturing Systems Job scheduling Suppose that n jobs with a given processing time has to be processed on a single machine. The jobs can be processed in any order but some machine job setup times are dependent, e.g. job i must precede job j. Objective is to find a sequence of jobs so all jobs are processed such that the total process time is minimized. Assembly line In assembly line systems, jobs can be grouped together as clusters. The job within the same cluster must be completed before proceding to the next cluster. This type of sequencing can be considered as a clustered TSP.

Machine Sequencing Problems in Various Manufacturing Systems Sequencing Problems in Electronic Industry Vehicle Routing for Delivery and Dispatching Cellular manufacturing In cellular manufacturing the aim of to group together similair parts to be processed in a machine cell together. Aneja and Kamoun (999) showed that the problem of sequencing jobs by a robot in a machine cell can be formulated as a TSP.

Machine Sequencing Problems in Various Manufacturing Systems Sequencing Problems in Electronic Industry Vehicle Routing for Delivery and Dispatching Cellular manufacturing In cellular manufacturing the aim of to group together similair parts to be processed in a machine cell together. Aneja and Kamoun (999) showed that the problem of sequencing jobs by a robot in a machine cell can be formulated as a TSP. Flow shop sequencing Suppose we have n jobs with given process time that are to be processed on m machines in the same order. Each machine can work on one job at the time and must be completed without interruption. No waiting time is assumed, that is when job j is completed the j + job in the queue is starting immediatly. The objective is to finish the last job as soon as possible. This problem can be considered as a n-city shortest Hamiltonian path problem which in turn can be tranformed into an n + node TSP by adding a virtual node.

Machine Sequencing Problems in Various Manufacturing Systems Sequencing Problems in Electronic Industry Vehicle Routing for Delivery and Dispatching Sequencing Problems in Electronic Industry Drilling holes on IC boards A number of holes are needed on integrated circuit (IC) boards for mounting chips and other hardware. The holes are typically produced by a programmed drilling machine. The TSP is to minimize the the total traveling time of the drill.

Machine Sequencing Problems in Various Manufacturing Systems Sequencing Problems in Electronic Industry Vehicle Routing for Delivery and Dispatching Vehicle Routing for Delivery and Dispatching School bus routing The problem to schedule school buses to pick up and transport children to and from schools can be viewed as a multiple TSP if it possible to neglect the time windows and bus capacities constraints. Otherwise the problem is a vehicle routing problem

Machine Sequencing Problems in Various Manufacturing Systems Sequencing Problems in Electronic Industry Vehicle Routing for Delivery and Dispatching Vehicle Routing for Delivery and Dispatching School bus routing The problem to schedule school buses to pick up and transport children to and from schools can be viewed as a multiple TSP if it possible to neglect the time windows and bus capacities constraints. Otherwise the problem is a vehicle routing problem Parcel/postal delivery/dispatching This problem is a modified problem of the TSP where a vehicle is has to visit a set of streets (arcs) instad of nodes. A path traversing all arcs exactly once is called an Eulerian path.

Machine Sequencing Problems in Various Manufacturing Systems Sequencing Problems in Electronic Industry Vehicle Routing for Delivery and Dispatching Vehicle Routing for Delivery and Dispatching School bus routing The problem to schedule school buses to pick up and transport children to and from schools can be viewed as a multiple TSP if it possible to neglect the time windows and bus capacities constraints. Otherwise the problem is a vehicle routing problem Parcel/postal delivery/dispatching This problem is a modified problem of the TSP where a vehicle is has to visit a set of streets (arcs) instad of nodes. A path traversing all arcs exactly once is called an Eulerian path.

Machine Sequencing Problems in Various Manufacturing Systems Sequencing Problems in Electronic Industry Vehicle Routing for Delivery and Dispatching Meals/Clinic on wheels This version of the TSP is about dispatching a fleet of vehicles in urban or rural environments to satisfy the demand for some commodity or service, e.g. deliver food to elderly on regular basis or medical services in communities.

Machine Sequencing Problems in Various Manufacturing Systems Sequencing Problems in Electronic Industry Vehicle Routing for Delivery and Dispatching Thank you for listening!