Skip to contents

ChinesePostman: shortest closed walk covering every edge (odd vertices matched exactly, Hierholzer circuit). MultiDepotVrp: nearest-depot clustering then Clarke-Wright savings. SolomonVrptw: Solomon's I1 insertion with time windows. PickupDeliveryInsertion: pickup-and-delivery / dial-a-ride cheapest insertion. PeriodicVrp: evenly spaced visit patterns, then savings per day. StochasticRouteCost: expected length of an a-priori route with stochastic demands and restocking. Node and customer indices are 0-based as in the Python arm morie.fn.routing.

Usage

ChinesePostman(n, edges, start = 0L)

MultiDepotVrp(depots, customers, demand, capacity)

SolomonVrptw(points, demand, ready, due, service, capacity)

PickupDeliveryInsertion(points, requests, capacity, max_ride = NULL)

PeriodicVrp(points, demand, frequency, horizon, capacity)

StochasticRouteCost(route, points, demand_pmfs, capacity)

Arguments

n

Number of vertices.

edges

Matrix or list of (u, v, w) with 0-based vertices.

start

Start vertex.

depots, customers

Two-column matrices of coordinates.

demand

Demands (entry 1 is the depot where nodes include it).

capacity

Vehicle capacity.

points

Two-column matrix of node coordinates (row 1 = depot).

ready, due, service

Time windows and service times per node.

requests

Matrix of (pickup, delivery, load).

max_ride

Maximum ride length (dial-a-ride) or NULL.

frequency

Visits per horizon for each node.

horizon

Number of days.

route

Customer visiting order (0-based node indices).

demand_pmfs

List of named probability vectors (names are demands).

Value

List.

References

Edmonds, J. and Johnson, E. L. (1973). Matching, Euler tours and the Chinese postman. Mathematical Programming 5, 88-124.

Solomon, M. M. (1987). Algorithms for the vehicle routing and scheduling problems with time window constraints. Operations Research 35, 254-265.

Savelsbergh, M. W. P. and Sol, M. (1995). The general pickup and delivery problem. Transportation Science 29, 17-29.

Dror, M., Laporte, G. and Trudeau, P. (1989). Vehicle routing with stochastic demands. Transportation Science 23, 166-176.

Examples

ChinesePostman(4, rbind(c(0, 1, 1), c(1, 2, 1), c(2, 3, 1), c(3, 0, 1), c(0, 2, 2)))$length
#> [1] 8