Branch-and-price algorithms for the Bi-Objective Vehicle Routing Problem with Time Windows

Similar documents
BoxPlot++ Zeina Azmeh, Fady Hamoui, Marianne Huchard. To cite this version: HAL Id: lirmm

A column generation algorithm for the team orienteering problem with time windows

Setup of epiphytic assistance systems with SEPIA

Blind Browsing on Hand-Held Devices: Touching the Web... to Understand it Better

How to simulate a volume-controlled flooding with mathematical morphology operators?

Computing and maximizing the exact reliability of wireless backhaul networks

HySCaS: Hybrid Stereoscopic Calibration Software

SDLS: a Matlab package for solving conic least-squares problems

DANCer: Dynamic Attributed Network with Community Structure Generator

The optimal routing of augmented cubes.

Fault-Tolerant Storage Servers for the Databases of Redundant Web Servers in a Computing Grid

The Connectivity Order of Links

NP versus PSPACE. Frank Vega. To cite this version: HAL Id: hal

The Proportional Colouring Problem: Optimizing Buffers in Radio Mesh Networks

Traffic Grooming in Bidirectional WDM Ring Networks

Relabeling nodes according to the structure of the graph

Study on Feebly Open Set with Respect to an Ideal Topological Spaces

Multimedia CTI Services for Telecommunication Systems

Multi-objective branch and bound. Application to the bi-objective spanning tree problem

Every 3-connected, essentially 11-connected line graph is hamiltonian

A Voronoi-Based Hybrid Meshing Method

Mokka, main guidelines and future

Comparison of spatial indexes

Catalogue of architectural patterns characterized by constraint components, Version 1.0

KeyGlasses : Semi-transparent keys to optimize text input on virtual keyboard

QuickRanking: Fast Algorithm For Sorting And Ranking Data

Linux: Understanding Process-Level Power Consumption

Tacked Link List - An Improved Linked List for Advance Resource Reservation

From medical imaging to numerical simulations

Privacy-preserving carpooling

Service Reconfiguration in the DANAH Assistive System

Robust IP and UDP-lite header recovery for packetized multimedia transmission

Malware models for network and service management

Motion-based obstacle detection and tracking for car driving assistance

An Experimental Assessment of the 2D Visibility Complex

A N-dimensional Stochastic Control Algorithm for Electricity Asset Management on PC cluster and Blue Gene Supercomputer

Lossless and Lossy Minimal Redundancy Pyramidal Decomposition for Scalable Image Compression Technique

An Efficient Numerical Inverse Scattering Algorithm for Generalized Zakharov-Shabat Equations with Two Potential Functions

Continuous Control of Lagrangian Data

Representation of Finite Games as Network Congestion Games

Linked data from your pocket: The Android RDFContentProvider

LaHC at CLEF 2015 SBS Lab

Very Tight Coupling between LTE and WiFi: a Practical Analysis

Simulations of VANET Scenarios with OPNET and SUMO

Efficient implementation of interval matrix multiplication

Regularization parameter estimation for non-negative hyperspectral image deconvolution:supplementary material

Natural Language Based User Interface for On-Demand Service Composition

MUTE: A Peer-to-Peer Web-based Real-time Collaborative Editor

Fuzzy sensor for the perception of colour

Preliminary analysis of the drive system of the CTA LST Telescope and its integration in the whole PLC architecture

Real-time FEM based control of soft surgical robots

Comparator: A Tool for Quantifying Behavioural Compatibility

lambda-min Decoding Algorithm of Regular and Irregular LDPC Codes

Synthesis of fixed-point programs: the case of matrix multiplication

SIM-Mee - Mobilizing your social network

Taking Benefit from the User Density in Large Cities for Delivering SMS

Formal modelling of ontologies within Event-B

An FCA Framework for Knowledge Discovery in SPARQL Query Answers

Real-Time Collision Detection for Dynamic Virtual Environments

Syrtis: New Perspectives for Semantic Web Adoption

IntroClassJava: A Benchmark of 297 Small and Buggy Java Programs

Kernel perfect and critical kernel imperfect digraphs structure

Is GPU the future of Scientific Computing?

Quality of Service Enhancement by Using an Integer Bloom Filter Based Data Deduplication Mechanism in the Cloud Storage Environment

Moveability and Collision Analysis for Fully-Parallel Manipulators

FIT IoT-LAB: The Largest IoT Open Experimental Testbed

QAKiS: an Open Domain QA System based on Relational Patterns

Prototype Selection Methods for On-line HWR

DSM GENERATION FROM STEREOSCOPIC IMAGERY FOR DAMAGE MAPPING, APPLICATION ON THE TOHOKU TSUNAMI

Improving figures using TikZ/PGF for LATEX: An Introduction

ASAP.V2 and ASAP.V3: Sequential optimization of an Algorithm Selector and a Scheduler

Comparison of radiosity and ray-tracing methods for coupled rooms

Efficient Gradient Method for Locally Optimizing the Periodic/Aperiodic Ambiguity Function

Assisted Policy Management for SPARQL Endpoints Access Control

Acyclic Coloring of Graphs of Maximum Degree

Experimental Evaluation of an IEC Station Bus Communication Reliability

Multi-atlas labeling with population-specific template and non-local patch-based label fusion

BugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs

A Resource Discovery Algorithm in Mobile Grid Computing based on IP-paging Scheme

X-Kaapi C programming interface

Reverse-engineering of UML 2.0 Sequence Diagrams from Execution Traces

A Practical Evaluation Method of Network Traffic Load for Capacity Planning

Global Optimization based on Contractor Programming: an Overview of the IBEX library

THE COVERING OF ANCHORED RECTANGLES UP TO FIVE POINTS

Primitive roots of bi-periodic infinite pictures

Self-optimisation using runtime code generation for Wireless Sensor Networks Internet-of-Things

An Object Oriented Finite Element Toolkit

Modularity for Java and How OSGi Can Help

YAM++ : A multi-strategy based approach for Ontology matching task

Scan chain encryption in Test Standards

Solving Geometric Constraints by Homotopy

Change Detection System for the Maintenance of Automated Testing

YANG-Based Configuration Modeling - The SecSIP IPS Case Study

Zigbee Wireless Sensor Network Nodes Deployment Strategy for Digital Agricultural Data Acquisition

Structuring the First Steps of Requirements Elicitation

Constraint Programming and Combinatorial Optimisation in Numberjack

Efficient algorithms for the 2-Way Multi Modal Shortest Path Problem

Emerging and scripted roles in computer-supported collaborative learning

Open Digital Forms. Hiep Le, Thomas Rebele, Fabian Suchanek. HAL Id: hal

Accurate Conversion of Earth-Fixed Earth-Centered Coordinates to Geodetic Coordinates

Transcription:

Branch-and-price algorithms for the Bi-Objective Vehicle Routing Problem with Time Windows Estèle Glize, Nicolas Jozefowiez, Sandra Ulrich Ngueveu To cite this version: Estèle Glize, Nicolas Jozefowiez, Sandra Ulrich Ngueveu. Branch-and-price algorithms for the Bi- Objective Vehicle Routing Problem with Time Windows. Multiple Objective Programming and Goal Programming (MOPGP), Oct 2017, Metz, France. 4p., 2017. <hal-01706540> HAL Id: hal-01706540 https://hal.archives-ouvertes.fr/hal-01706540 Submitted on 12 Feb 2018 HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

MOPGP 2017 Branch-and-price algorithms for the Bi-Objective Vehicle Routing Problem with Time Windows Estèle Glize 1,2, Nicolas Jozefowiez 1,2, Sandra Ulrich Ngueveu 1,3 1 CNRS, LAAS, 2 INSA Toulouse, 3 INP Toulouse, F-31400 Toulouse, France {glize,njozefow,ngueveu}@laas.fr Keywords: Combinatorial MOP, vehicle routing problem, exact method, column generation This paper presents generic exact methods for the bi-objective vehicle routing problems (BOVRP). The first part explains the BOVRP. Then, an efficient mono-objective solution method used as a component of bi-objective methods is introduced. After that, the methods are presented. The computational evaluation is performed on a specific variant of the VRP, the VRP with time windows (VRPTW). 1 Context The Vehicle Routing Problem was first introduced in 1959 by Dantzig and Ramser [3] which aimed to minimize the cost of gasoline transportation between a bulk terminal and several service stations. The bi-objective VRP with time windows (BOVRPTW) is a variant of the VRP. Let G = (V, E) be a non-oriented graph. A node i V \v 0 is called a customer and has a demand q i. These demands are satisfied by a fleet of K vehicles of capacity Q. A vehicle k starts and returns at a node v 0 called the depot and performs a route r k by passing through a set of customers. The route r k is said to be feasible if each customer i served by the route is visited between the due time dt i and the end time et i and if the total capacity of a vehicle is not exceeded. An edge of the graph has two costs c 1 and c 2. Each route r k provides two costs c 1 k and c2 k representing the sum of the two costs on the used edges. The aim of the BOVRP is to minimize the sum of each cost of the routes used. Let Ω be the set of feasible routes r k, k [1,.., K] and a ik be equal to 1 if the customer i belongs to the route r k. The Set Partitioning formulation of the BOVRPRTW [2] can be stated as follows: minimize ( c 1 k θ k, c 2 k θ k) a ik θ k 1 (v i V \{v 0 }), (1) θ k {0, 1} (r k Ω). where θ k is a variable that indicates if the route r k, k [1,.., K], is selected in the solution (θ k = 1) or not (θ k = 0). This formulation has an exponential number of variables and a polynomial number of constraints. It is therefore suitable for a column-generation-based solution method such as the method of Baldacci et al. [1] presented in section 2.

The ɛ-constraint method, introduced in section 3, is one of the most efficient exact method for bi-objective integer problems as for the bi-objective prize-collecting steiner tree problem[4]. To compare our methods, the reference method (3.1) reproduced a classical ɛ-constraint. 2 Solution in mono-objective vehicle routing problems Solving the BOVRP requires a method that optimally solve the mono-objective VRP (MOVRP). One of the state-of-the-art methods is the one of Baldacci et al. [1]: an exact method to solve the MOVRP, based on the set partitioning formulation (1) with only one cost to minimize. This method allows to restrict the number of routes to obtain the optimal integer solution with a three steps algorithm: 1. Compute a good lower bound LB with column generation and a good upper bound UB via a heuristic. Compute the gap γ = UB LB. 2. Generate all routes with a reduced cost less or equal to γ. Indeed, it can be proven that routes with a reduced cost higher than γ can not be in the optimal integer solution [4]. 3. Solve the initial integer problem on the restricted set of routes from step 2 to obtain the optimal (integer) solution. As previously mentioned, this method will be used to solve the BOVRP. In the following, we will refer to the step 2 by BALD(UB,LB) with UB and LB the upper bound and the lower bound previously computed. It returns a restricted set of routes Ω. 3 Methods This section presents three methods that compute the minimum complete Pareto front of the BOVRPTW introduced in section 1. So, all supported and non-supported non-dominated points are given, but only one efficient solution is provided for each one. They are based on the Baldacci et al. method, presented in section 2. 3.1 Reference method The first method is called the reference method as it is the more direct way to use the Baldacci et al. method in a BOVRP with an ɛ-constraint method. The algorithm, summarized in Algorithm 1, is based on the ɛ-constraint formulation that aims to minimize the first cost c 1 under the constraint that the second cost has to be lower than a certain value ɛ. This formulation CMP(ɛ) can be stated as follows: minimize c 1 k θ k c 2 k θ k ɛ r k Ω a ik θ k 1 (v i V \{v 0 }), θ k N (r k Ω). (2) where all notations are the same as in the formulation (1). The reference method consists in finding LB, the optimal value of the linear relaxation of the problem (2) (LCMP) and UB, a feasible solution of the integer problem (2) (RCMP). Then, it applies BALD(U B,LB) to obtain Ω, the restricted set of routes with their reduced cost within the gap γ. And finally, the algorithm optimally solves the ɛ-constraint formulation (2). This process is repeated from ɛ = + to a certain value for which there is no more solution.

Algorithm 1 Algorithm of the reference method ɛ + while a solution do Solve LCMP(ɛ) to obtain LB Solve RCMP (ɛ) to obtain UB Ω BALD(UB, LB) Solve CMP (ɛ) on Ω to obtain S OP T Set ɛ S 2 OP T 1 end while 3.2 Generate-one-time The second method requires as input: LB: the cost c 1 of the optimal solution of the linear relaxation of the problem which minimizes the cost c 1. UB: the cost c 1 of the optimal solution of the linear relaxation of the problem which minimizes the cost c 2. The method applies BALD(U B,LB) and performs an ɛ-constraint method of the formulation (2) on this new set of routes. It is summarized in the Algorithm 2. Algorithm 2 Algorithm of generate-one-time Ω BALD(UB, LB) ɛ + while a solution do Solve CMP (ɛ) on Ω to obtain S OP T Set ɛ S 2 OP T 1 end while 3.3 Two-steps This method is based on the parametrized formulation that optimizes a weighted-sum of the two objectives. The formulation is noted PMP(λ): minimize λ c 1 k θ k + (1 λ) c 2 k θ k a ik θ k 1 (v i V \{v 0 }), (3) θ k N (r k Ω). We also need to introduce the call of the second step of Baldacci et al. method for the direction λ : BALD(UB,LB,λ), where the cost of a solution is computed for the weight λ. It requires as input the list of N points LB (the front of the linear relaxation of the BOVRPTW obtained by the parametric simplex) and their associated dual solutions. It also needs a list of N +1 directions λ in which the points LB i and LB i+1, i [1,.., N 1] are optimal. The method is composed of two steps. First, a non-complete Pareto front of S points is computed and then, the area in which non dominated point could be are explored. The first step iteratively takes a point LB i, i [1,.., N], its dual solutions and its direction λ i. In this direction, a feasible solution UB i is computed and BALD(UB i,lb i,λ i ) is applied to obtain a non-dominated point. The second step searches all non-dominated points between two successive points found in the first step. The search between two points S i and S i+1, i [1,.., S 1], can be summarized as follows:

Algorithm 3 Second step of two-steps method Require: Point S i and S i+1 Compute direction λ i, gradient between S i and S i+1 Solve LPMP(λ i ) to obtain LB i (in practice LB i is in the initial list of N points LB) Solve RPMP(λ i ) to obtain UB i (in practice UB i is the nadir point) Ω BALD(LB i,ub i,λ i ) Solve PMP(λ i ) on Ω to obtain S i if PMP(λ i ) is feasible then Repeat algorithm for S i and S i and for S i and S i+1 end if 4 Results Each method returns the minimum complete set of non-dominated points. To compare the three methods introduced in Section 3, pairs of Solomon s instances have been merged to create BOVRPTW. The implementation is in C++ and the linear problems and the integer problems are solved with Gurobi 7.1. The following table shows the results of the execution with the CPU time in seconds and on a graph with 25 customers. The column called BALD represents the number of calls to procedure BALD and the one called col is the average number of generated columns per call. Ref. generate-one-time two-steps Instance time BALD col. time BALD col. time BALD col. R101_C101 10 24 735 2 1 1192 5 30 420 R101_C201 8 22 745 2 1 1224 3 25 438 R105_RC105 43 37 3736 22 1 7119 119 66 2505 R105_C201 47 35 3911 30 1 6225 108 57 2471 R109_C101 750 26 33149 318 1 62 072 2611 56 1492 R109_RC105 1112 48 30559 259 1 53 513 4828 82 7666 RC101_C101 15 10 5128 4 1 4850 15 17 3423 RC105_R101 248 18 26797 137 1 42 602 189 32 8298 RC106_C101 373 14 45113 35 1 18 280 243 18 11 985 It demonstrates that the generate-one-time is more efficient than the two others and also that two-steps method is a lot less efficient. Regarding the number of calls to the procedure BALD, we can notice that two-steps method has a very high number of calls, but the number of generated routes is lower than for generate-one-time method. 5 Conclusion and perspectives The results in Section 4 show that two-steps method is less efficient, but the resulting integer problems are easier to solve than for the generate-one-time method. For larger graphs, the generate-one-time method could produce a prohibitively high number of routes. Therefore, the two-steps can not be disregarded based only on the results on small graphs, although it remains to be improved, for example using parallelism or a hybridization of the two methods. References [1] Roberto Baldacci, Nicos Christofides, and Aristide Mingozzi. An exact algorithm for the vehicle routing problem based on the set partitioning formulation with additional cuts. Mathematical Programming, 115(2):351 385, 2008. [2] Michel L Balinski and Richard E Quandt. On an integer program for a delivery problem. Operations Research, 12(2):300 304, 1964. [3] George B Dantzig and John H Ramser. The truck dispatching problem. Management science, 6(1):80 91, 1959. [4] Markus Leitner, Ivana Ljubic, and Markus Sinnl. The bi-objective prize-collecting steiner tree problem. Technical report, Technical report, University of Vienna, Austria, 2013.