VEHICLE ROUTING PROBLEM



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

P13 Route Plan. E216 Distribution &Transportation

The Trip Scheduling Problem

Cost Models for Vehicle Routing Problems Stanford Boulevard, Suite 260 R. H. Smith School of Business

Research Paper Business Analytics. Applications for the Vehicle Routing Problem. Jelmer Blok

Load Building and Route Scheduling

Waste Collection Vehicle Routing Problem Considering Similarity Pattern of Trashcan

Fowler Distributing Company Logistics Network Routing Analysis. Anthony Vatterott, Brian Vincenz, Tiffany Bowen. Executive Summary

Transportation. Transportation decisions. The role of transportation in the SC. A key decision area within the logistics mix

Constraint Programming for the Vehicle Routing Problem. Philip Kilby

Dave Sly, PhD, MBA, PE Iowa State University

Transvision Waste Planner

Managing Transportation in a Supply Chain Chapter 14 Sections 4.3, 4.4 and 4.5

Load Planning for Less-than-truckload Carriers. Martin Savelsbergh

Scheduling and Routing Milk from Farm to Processors by a Cooperative

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

VEHICLE ROUTING AND SCHEDULING PROBLEMS: A CASE STUDY OF FOOD DISTRIBUTION IN GREATER BANGKOK. Kuladej Panapinun and Peerayuth Charnsethikul.

Dynamic Vehicle Routing in MATSim

Outline. IEEM241 Routing and Fleet Management. Course - Objectives. Background. Course summary Essence of decision models Decision models - examples

Learning Objectives. Required Resources. Tasks. Deliverables

Two objective functions for a real life Split Delivery Vehicle Routing Problem

Integrated support system for planning and scheduling /4/24 page 75 #101. Chapter 5 Sequencing and assignment Strategies

Simulation of processes in a mining enterprise with Tecnomatix Plant Simulation

vii TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION DEDICATION ACKNOWLEDGEMENT ABSTRACT ABSTRAK

A Branch-Cut-and-Price Approach to the Bus Evacuation Problem with Integrated Collection Point and Shelter Decisions

Tactical Routing. The leading solution for optimizing your transport on a tactical level

A Hybrid Heuristic Method for the Compressed Natural Gas (CNG) Truck Routing Problem with Fueling Stations. I-NUF 2015, Long Beach

E-Logistics Successes and Failures

INTEGRATED OPTIMIZATION OF SAFETY STOCK

AN ABSTRACT OF THE THESIS OF

Application of Business Intelligence in Transportation for a Transportation Service Provider

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Discrete Optimization

TRANSPORTATION ROUTING MANAGEMENT SOFTWARE REQUEST FOR PROPOSAL SPECIFICATIONS SPECIFICATION DESCRIPTION YES NO COMMENTS

Seminar. Path planning using Voronoi diagrams and B-Splines. Stefano Martina

Solving the Vehicle Routing Problem with Multiple Trips by Adaptive Memory Programming

Models for Incorporating Block Scheduling in Blood Drive Staffing Problems

A Road Timetable TM to aid vehicle routing and scheduling

Hybrid Heterogeneous Electric Fleet Routing Problem with City Center Restrictions

Transportation Management

Client Overview. Engagement Situation. Key Requirements

Stochastic Ship Fleet Routing with Inventory Limits YU YU

Model, Analyze and Optimize the Supply Chain

Network (Tree) Topology Inference Based on Prüfer Sequence

Production Planning Solution Techniques Part 1 MRP, MRP-II

Flexible Manufacturing System

LECTURE - 3 RESOURCE AND WORKFORCE SCHEDULING IN SERVICES

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Factors to Describe Job Shop Scheduling Problem

It s Time to Think Big.

Charles Fleurent Director - Optimization algorithms

CAB TRAVEL TIME PREDICTI - BASED ON HISTORICAL TRIP OBSERVATION

A Column Generation Model for Truck Routing in the Chilean Forest Industry

Integer Programming. subject to: (i = 1, 2,..., m),

Design and Analysis of ACO algorithms for edge matching problems

Optimization Modeling for Mining Engineers

Strategic Planning and Vehicle Routing Algorithm for Newspaper Delivery Problem: Case study of Morning Newspaper, Bangkok, Thailand

Unit Load Storage Policies

A Library of Local Search Heuristics for the Vehicle Routing Problem

On the Impact of Real-Time Information on. Field Service Scheduling. Ioannis Petrakis, Christian Hass, Martin Bichler 1

Title: Integrating Management of Truck and Rail Systems in LA. INTERIM REPORT August 2015

Real-Life Vehicle Routing with Non-Standard Constraints

Scheduling Resources and Costs

Chapter 6: Graph Theory

5 Systems of Equations

An Instructional Aid System for Driving Schools Based on Visual Simulation

A Logistic Management System Integrating Inventory Management and Routing

Towards Participatory Design of Multi-agent Approach to Transport Demands

Social Media Mining. Graph Essentials

Fleet Size and Mix Optimization for Paratransit Services

A WEB-BASED TRAFFIC INFORMATION SYSTEM USING WIRELESS COMMUNICATION TECHNIQUES

Project Time Management

Zorba Asset Tracking Solution

Un algorithme génétique hybride à gestion adaptative de diversité pour le problème de tournées de véhicules et ses variantes

Modeling and Solving the Capacitated Vehicle Routing Problem on Trees

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET)

Backward Scheduling An effective way of scheduling Warehouse activities

AS-D1 SIMULATION: A KEY TO CALL CENTER MANAGEMENT. Rupesh Chokshi Project Manager

Project Time Management

Internet Firewall CSIS Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS net15 1. Routers can implement packet filtering

Material Requirements Planning MRP

Multi-Agent Technology & Scheduling Solutions

MODELLING FRAMEWORK AND SOFTWARE TOOLS FOR CITY LOGISTICS PLANNING AND OPERATIONS

3.7 Logistics Execution

Transcription:

VEHICLE ROUTING PROBLEM Readings: E&M 0 Topics: versus TSP Solution methods Decision support systems for Relationship between TSP and Vehicle routing problem () is similar to the Traveling salesman problem (TSP) but with more constraints such as vehicle capacity. Consider a TSP problem: Depot Suppose that the vehicle has a capacity of 0 and each customer has an order size as shown below, then the TSP solution is no longer feasible. Depot

A simple method : Use the TSP as usual When exceeding the vehicle capacity, go back to the depot Start another tour with the nearest customer as the first customer Repeat b. and c. until all customers are served. Depot Can we use only three tours to serve all customers? Depot As a Decision Problem Decisions Assignment of orders to vehicles The sequence of orders to be served Constraints Vehicle capacity (in terms of volume or weight normally) Objectives Minimizing mileages or time Considerations Known demand Delivery or pickup

Solution Strategy Tour construction heuristics Insertion methods (e.g. nearest insertion, min cost insertion) Savings methods (e.g. ClarkeWright savings) Generalized assignment methods (e.g FisherJaikumar method) Tour improvement Intraroute improvement methods (e.g. Opt, Opt) Interroute improvement methods (e.g. Relocate) Tour construction method : ClarkeWright savings method 0 9 Given depot customers with known demand Vehicle capacity (00) Costs for traveling between customers 60 7 7 Demand for customer Depot Basic Steps Identify the distance matrix Identify the savings matrix Combine routes

s(, ) = + 9 = 9 s(, ) = c(, ) + c(, ) c(, ) = + 7 = 8 9 9 8 8 s(, ) = c(, ) + c(, ) c(, ) = + = 7 7 s(, ) = c(, ) + c(, ) c(, ) = + 7 = 8 Begin combining tours: starting with the highest savings and (a) the combined tour cannot exceed vehicle capacity, (b) insertion cannot be in the interior of a tour. 9 9 8 8 7 7 Demand () = 60 Demand () = Vehicle capacity = 00 Decision: combine the tour Depo 6

Next highest savings: Demand () = 0 Demand (+) = 9 Vehicle capacity = 00 Decision: cannot combine the 9 9 8 8 7 7 Depot 7

All nodes are visited once and the total cost is. How to speed up the ClarkeWright Savings Method? We can use Heap to store the savings (from the largest to the smallest). The use of Heap can speed up the operations. Tour construction method : Generalized assignment method (also called Fisher Jaikumar Method) Assign seed points for each route Evaluate insertion cost for each customer Assign customers to routes Parameters d i u k : demand of customer i : capacity of vehicle k 8

Decision variables y x ik ijk if customer i is assigned to route k = 0 otherwise if i is visited followed by visiting j on route k = 0 otherwise Define: N(y k ) = all nodes on route k f(y k ) = the cost of route k Our objective is to minimize the route cost while satisfying the demand. Therefore, we can write the problem as follows: Example Vehicle y y = = 0 N( y ) = {,, } 0 6 Vehicle y y = 0 = N( y ) = {,, 6} subject to min f( y ) k dy i y k y k i ik ik ik u k k i= 0 = i=,..., n {0,} The cost of route f (y k ) is defined as follows: 9

f( y ) = min k c x ij ij ijk subject to x = y j = 0,..., n i x j ijk ijk i Q j Q ik ik x, Q N( y ) A big problem: f (y k ) is a complex, nonlinear function. Solution idea: Approximate f (y k ) by some linear function: ijk = f (y k ) ~ ik ik i The coefficient, c ik, represents the approximated cost of putting customer i on route k. y c y k How do we get c ik? Idea : cheapest insertion cost Idea : use the concept of opportunity cost Steps of the generalized assignment Step : Assign a seed to each vehicle (or route) where the seeds are farthest away from each other (Suppose that we have vehicles) D 0

Step : Evaluate the cost of inserting the customers into the existing routes. Option : Approximate by the cheapest insertion cost a 9 9 D Customer 7 Best choice for customer : c cost = 7 Best choice for customer : b cost = Best choice for customer : b not available Second best for customer : a cost = 9 Total cost: 8 c Customer b Customer Option : Approximate by Opportunity cost or Regret Regret = Cost for second best choice cost for the best choice Customer with the highest opportunity cost should be inserted first a 9 9 D Customer 7 c Opportunity cost for customer : Opportunity cost for customer : Opportunity cost for customer : 6 Opportunity cost for customer : Opportunity cost for customer : Customer b Customer customer to b: customer to c: 7 customer to a: Total:

Step : Rank customers from highest to lowest regret. Example: Regret () > Regret () a Customer From to c route: From to b route: 7 From to a route: 8 Regret() = 6 From to c route: 0 From to a route: From to b route: D c Regret() = Customer b Step : Insert the customers according to the rank of regrets one at a time. Notice that the regrets may need to be updated. Tour improvement Methods There are general types of methods:. Intraroute improvement (changing the sequence of customers within a route) Examples: Opt Opt. Interroute improvement Exchanging customers between routes Exchanging segments of routes between routes Example of Intraroute improvement: opt algorithm Do a swap of arc pairs in a route if it can reduce the cost (or time). Below we consider a case where customers may impose delivery timewindows.

opt Note: the indices i and j are in the order of the nodes being visited in a given tour. For simplicity, we represent the route as a chain and ignore the physical shape of the route opt swapping illustration i i+ j j+ opt i i+ j+ j

o Flow chart: For the node pairs of i, j, consider swapping? Y d(i,j)+d(i+, j+)< d(i, i+) +d(j, j+)? N Y After the swap, is the resulting tour feasible? N Y Swap the arcs (Note that the arcs from i+ to j are reversed Stop? N Y Return new solution We can continue the swapping until the two cost savings of two consecutive swaps is smaller than some small values or the number of swapping has reached a predefined maximum number of swaps. In implementing Opt algorithm, there are several possible ways to select which pairs of arcs to be considered for swapping. Select the pair of arcs with the best cost savings and then make swap; Select several pair of arcs with the best cost savings and swap the best pair. From the second swap on, this method will check the feasibility before making it since the route has been changed after the first swap.

Randomly consider a pair of arcs and makes swap if it is feasible and can produce cost savings; Traverse the route from the starting point and make the swap once an eligible pair of arcs (feasible and cost savings) is found. Example of Interroute improvement: Relocate Consider the swapping between two existing routes. One way is to relocate a node in a route (say route B) to another route (say route A) i Route A j j+ i i+ Route B Depot We need to choose the route from which one node will be removed (route B) and the route to which the node will be inserted (route A). Then, we can follow the procedure below:

Expanding route A, Shrinking route B For each node i in B Y Find a new feasible position for i in Route A, say between j and j+ Y d(j,i)+d(i, j+) +d(i, i+)< d(i, i+) +d(j, j+) +d(i, i)? N Y Insert i between (j, j+) & Connect i, i+ Y Finish expanding/shrinking N Return In implementing the relocate algorithm, we have several options: For each node in the shrinking route, find the first position in the expanding route after which the node can be inserted and the relocation of the node results in cost saving. Similar to the above, except that for each node in the shrinking route, it will find the position in the expanding route that the relocation will result in the largest saving. For each node in the shrinking route, find the best position as well as the best expanding route Other Implementation issues Time window constraints Each customer has a specified time period during which the vehicle can visit 6

Backhaul (pickup and delivery) Not just delivery goods from the depot, but also pick up goods from customers Multiple depots Vehicles can be coming from different depots Split orders May have more than one delivery to a customer The case of a chemical product manufacturer: orders Customer service Production unit Warehouse Information system Fleet unit delivery Sites Multiple factories in Pearl River Delta Supply petrol chemical products to customers in PRD 7

Production Justintime production Distribution 0 0 trucks per factory Order cutoff at pm More than trip per vehicle Divide region in zones and one route per zone Process Receive an order Estimate the order finishing time Sort the orders to be finished on tomorrow Estimate the delivery schedules According to the delivery schedules, reestimate the production schedules When the orders are ready, ask warehouse people prepare for the loading Ask fleet unit to send trucks to warehouse for loading Operation Issues Information is not synchronized Paper work between units Spend hours in determining initial delivery schedules Low truck utilization Difficult to entertain customer s request on exact/approximate delivery time Urgent orders (some trucks are reserved to handle urgent order) DECISION SUPPORT SYSTEMS FOR What is a decision support system? What are the differences between Databases, Enterprise systems, Decision support systems? Database Organized storage of data Minimize data redundancy and inconsistency Data retrieval, search, and sort Enterprise system Minimize inconsistency across databases Realtime data Integrating databases Decision support system A system to support decision making Extract data and process data intelligently 8

The Components of DSS:. Database. Modelbase. User interface Decision support system development Analyzing the needs o Focus on causes, not symptoms o What will be the reasonable expectation? Data Development o Data administration is a critical requirement for longterm success o DSS requires their own database to produce effective results o Is historical data available? Is the data telling the truth? Modelbase o Model contents should be consistent with its goals: strategic, tactical, or operational? o What class of models do you want? Descriptive? Prescriptive? Performance how to measure? What assumptions do you make? Are we assuming: o Perfect data o Dispatchers follow instruction exactly o Drivers follow instruction exactly o Shippers with perfectly predictable demands o Personnel from different department have the same goal 9

Source: P.7, Mazza, Faircloug, Melton, de Pablo, Scheffer, Stevens, Software Engineering Standards, Prentice Hall Major phases in DSS development (and examples of activities) User Requirement Definition Capture, determine, specify and verify user requirements Software Requirement Definition Construct logical model Specify functional, performance, documentation, acceptance testing requirements, etc. Architectural Design Decompose software into components Define data input and output requirement, data structure, etc. Select programming languages Detailed Design and Production Detailed design of lowerlevel components Coding Integrating components Testing Transfer Installation Acceptance tests Operations and Maintenance Final acceptance 0

Data Preparation for DSS: Customer independent Customer dependent Static Raw location data: Road, speed limit, tolls, major intersections, landmarks, etc. Processed data: Distances, costs, times, etc. between points of interests (via shortest path methods on raw location data) Locations Trucks Details (e.g. capacity, loading and unloading time, running cost) Drivers Details (e.g. salary, overtime) Products Details (e.g. size, weight, price) Dynamic Travel flow pattern Road restriction Demand data: Orders Details (e.g. daily demand, amount) Items Details (e.g. product to be ordered, quantity) Processing on preliminary static data: Use shortest path engine to compute the distance, cost, or time, etc. between customers or between depot and customers.

Engine for the DSS A combination of Saving Heuristics, Generalized assignment (FisherJaikumar method), tour improvement (Opt, OrOpt), and different insertion methods. Resulting handling and tools for analysis Visualizing results o Gantt charts o Static route display o Animation Allow users to make changes Measure performance Compare scenarios Whatif analysis Typical decision support What are some good suggested solutions? What is the impact of changing the sequence of orders being served? What orders should be outsourced? Can an urgent pickup order be accepted? By what vehicle? At what time? What are the costs if different numbers of vehicles are used?