Vehicle Routing Outline Integer Programming DMP204 SCHEDULING, TIMETABLING AND ROUTING 1. Vehicle Routing Lecture 24 Vehicle Routing 2. Integer Programming Marco Chiarandini 2 Vehicle Routing Vehicle Routing Outline Problem Definition Integer Programming Integer Programming Vehicle Routing: distribution of goods between depots and customers. Delivery, collection, transportation. Examples: solid waste collection, street cleaning, school bus routing, dial-a-ride systems, transportation of handicapped persons, routing of 1. Vehicle Routing salespeople and maintenance unit. Vehicle Routing Problems 2. Integer Programming Input: Vehicles, depots, road network, costs and customers requirements. Output: Set of routes such that: requirement of customers are fulfilled, operational constraints are satisfied and a global transportation cost is minimized. 3 4
Vehicle Routing Vehicle Routing Refinement Integer Programming Integer Programming Road Network represented by a (directed or undirected) complete graph travel costs and travel times on the arcs obtained by shortest paths Customers vertices of the graph collection or delivery demands time windows for service service time subset of vehicles that can serve them priority (if not obligatory visit) 5 6 Vehicle Routing Vehicle Routing Integer Programming Integer Programming Vehicles capacity types of goods Objectives subsets of arcs traversable minimization of global transportation cost (variable + fixed costs) fix costs associated to the use of a vehicle minimization of the number of vehicles distance dependent costs balancing of the routes a-priori partition of customers minimization of penalties for un-served customers home depot in multi-depot systems drivers with union contracts History: Dantzig, Ramser “The truck dispatching problem”, Management Science, Operational Constraints 1959 vehicle capacity Clark, Wright, “Scheduling of vehicles from a central depot to a number delivery or collection of delivery points”. Operation Research. 1964 time windows working periods of the vehicle drivers precedence constraints on the customers 7 8
Vehicle Routing Vehicle Routing Vehicle Routing Problems Capacited Vehicle Routing (CVRP) Integer Programming Integer Programming Input: (common to all VRPs) Capacited (and Distance Constrained) VRP (CVRP and DCVRP) (di)graph (strongly connected, typically complete) G ( V, A ) , where VRP with Time Windows (VRPTW) V = { 0 , . . . , n } is a vertex set: VRP with Backhauls (VRPB) 0 is the depot. VRP with Pickup and Delivery (VRPPD) V ′ = V \{ 0 } is the set of n customers Periodic VRP (PVRP) A = { ( i, j ) : i, j ∈ V } is a set of arcs Multiple Depot VRP (MDVRP) C a matrix of non-negative costs or distances c ij between customers Split Delivery VRP (SDVRP) i and j (shortest path or Euclidean distance) VRP with Satellite Facilities (VRPSF) ( c ik + c kj ≥ c ij ∀ i, j ∈ V ) Site Dependent VRP a non-negative vector of costumer demands d i Open VRP Stochastic VRP (SVRP) a set of K (identical!) vehicles with capacity Q , d i ≤ Q ... 9 10 Vehicle Routing Vehicle Routing Integer Programming Integer Programming Task: A feasible solution is composed of: Find collection of K circuits with minimum cost, defined as the sum of a partition R 1 , . . . , R m of V ; the costs of the arcs of the circuits and such that: � 0 specifying the order of the customers on each circuit visits the depot vertex a permutation π i of R i route i . each customer vertex is visited by exactly one circuit; and the sum of the demands of the vertices visited by a circuit does not A route R i is feasible if � π m i = π 1 d i ≤ Q . exceed the vehicle capacity Q . The cost of a given route ( R i ) is given by: F ( R i ) = � π i Note: lower bound on K 0 c i,i +1 m i = π i ⌈ d ( V ′ ) /Q ⌉ The cost of the problem solution is: F V RP = � m number of bins in the associated Bin Packing Problem i =1 F ( R i ) . 11 12
Vehicle Routing Vehicle Routing Integer Programming Integer Programming Relation with TSP Variants of CVRP: VRP with K = 1 , no limits, no (any) depot, customers with no minimize number of vehicles demand ➜ TSP different vehicles Q k , k = 1 , . . . , K VRP is a generalization of the Traveling Salesman Problem (TSP) ➜ is NP-Hard. Distance-Constrained VRP: length t ij on arcs and total duration of a route cannot exceed T associated with each vehicle Generally c ij = t ij VRP with a depot, K vehicles with no limits, customers with no (Service times s i can be added to the travel times of the arcs: demand ➜ Multiple TSP = one origin and K salesman t ′ ij = t ij + s i / 2 + s j / 2 ) Multiple TSP is transformable in a TSP by adding K identical Distance constrained CVRP copies of the origin and making costs between copies infinite. 13 14 Vehicle Routing Vehicle Routing Vehicle Routing with Time Windows (VRPTW) Integer Programming Integer Programming Further Input: each vertex is also associated with a time interval [ a i , b j ] . each arc is associated with a travel time t ij each vertex is associated with a service time s i Task: Find a collection of K simple circuits with minimum cost, such that: each circuit visit the depot vertex each customer vertex is visited by exactly one circuit; and the sum of the demands of the vertices visited by a circuit does not exceed the vehicle capacity Q . for each customer i , the service starts within the time windows [ a i , b i ] (it is allowed to wait until a i if early arrive) Time windows induce an orientation of the routes. 15 16
Vehicle Routing Vehicle Routing Solution Techniques for CVRP Integer Programming Integer Programming Integer Programming Variants Minimize number of routes Construction Heuristics Minimize hierarchical objective function Local Search Makespan VRP with Time Windows (MPTW) minimizing the completion time Metaheuristics Delivery Man Problem with Time Windows (DMPTW) minimizing the sum of customers waiting times Hybridization with Constraint Programming 17 18 Vehicle Routing Vehicle Routing Outline Basic Models Integer Programming Integer Programming vehicle flow formulation integer variables on the edges counting the number of time it is traversed 1. Vehicle Routing two or three index variables commodity flow formulation 2. Integer Programming additional integer variables representing the flow of commodities along the paths traveled bu the vehicles set partitioning formulation 19 20
Recommend
More recommend