######################################################################################################################### This "readme" file explains the naming and file format for the instance files provided in this repository. If using these instances, please consider citing the paper: A. Izadkhah, A. Wang, J.M. Lainez-Aguirre, J.M. Pinto and C.E. Gounaris, "Periodic Vehicle Routing Problem with Multi-Day Trips", Transportation Research Part E, XXX:XXXXXX, (2026). DOI XXXXXX ######################################################################################################################### (I) Benchmark Instances from Literature The instances were adapted from original multi-depot MDPVRP instances with 4-day (instances "pr01"-"pr06") and 6-day planning horizons (instances "pr07"-"pr10") that can themselves be found in: "A Hybrid Genetic Algorithm for Multidepot and Periodic Vehicle Routing Problems" by Vidal, Crainic, Gendreau, Lahrichi, and Rei Operations Research, 60(3), (2012) The file name "prXX-YY-Z" signifies that the instance: -) originates from the original prXX MDPVRP dataset -) involves a total of YY customers -) it is the Z^th (out of a total of 4) such instance (different subset of customers selected from original dataset) The format of data files is as follows: a) The first line contains the following information: n N Q pi where n = number of customers N = number of vehicles (single class) Q = vehicle capacity pi = number of days in planning horizon b) The remaining lines contain the following information: i x y f q nu a list where i = customer number ("0" being the unique depot) x = x coordinate y = y coordinate f = service duration q = demand nu = frequency of visit (number of visits to be scheduled within the planning horizon) a = number of possible visit day combinations list = list of all possible visit day combinations Each visit day combination is coded with the decimal equivalent of the corresponding binary bit string (days are numbered from left to right). For example, in a 5-day planning horizon, the entry "10" (which is equivalent to the bit string "01010") signifies that the customer is to be visited on days 2 and 4. Furthermore: For instances with pi = 4 (pr01-pr06), the maximum durations of a route are: day1 day2 day3 day1+day2 day1+day2+day3 180 160 135 270 355 For instances with pi = 6 (pr07-pr10), the maximum duration of a route are: day1 day2 day3 day1+day2 day1+day2+day3 160 145 125 245 325 Note: As explained in the paper, in all instances we consider 3 days to be the maximum length of a multi-day trip. ######################################################################################################################### (II) Industrial Case Study The instance "linde_1" involves data originating from a PVRPMDT with Service Choice real-life application. The format of this data file is as follows: a) The first line contains the following information: n H pi lc where n = number of customers H = number of vehicle classes (in a heterogeneous fleet) pi = number of days in planning horizon lc = the layover cost (per night away from depot, per vehicle) b) The "SCHEDULE_SECTION" provides the possible visit day combinations for all of the customers Each visit day combination is coded with the decimal equivalent of the corresponding binary bit string (days are numbered from left to right). In particular, in the 6-day planning horizon: -- 63 = 111111 (every day visit) -- 42 = 101010 (every other day visit, starting on day 1) -- 21 = 010101 (every other day visit, starting on day 2) -- etc. c) The "CUMULATIVE_DEMAND_RATE_SECTION" provides the total demand (across the whole planning horizon) for each customer d) The "VEHICLE_SECTION" provides information for the vehicles in the fleet, with each line corresponding to a separate vehicle class Each line contains the following information: N Q T d D where N = number of vehicles in the class Q = vehicle capacity T = maximum allowable day segments in a route d = vector (size T) with route duration limit during each day segment D = vector (size T-1) with cumulative route duration limit up until and including that day segment (omits value for first day segment) e) The "TRAVEL_DISTANCE_SECTION" is the distance cost matrix f) The "TRAVEL_TIME_SECTION" is the travel time matrix g) The "SERVICE_TIME_PER_UNIT_DEMAND_SECTION" provides the "variable" service time to deliver one unit of product for each customer h) The "CONSTANT_SERVICE_TIME_SECTION" provides the "fixed" (irrepsective of the delivery amount) service time to deliver to each customer for clarity, for the first customer: - 0.010 in SERVICE_TIME_PER_UNIT_DEMAND_SECTION - 0.283 in CONSTANT_SERVICE_TIME_SECTION - 204 in CUMULATIVE_DEMAND_RATE_SECTION - assuming a single visit throughout the planning horizon (e.g., visit day combination code "4"), we have that the total service time for that one delivery is 204 * 0.010 + 0.283 = 2.323 - assuming every other day visit (e.g., visit day combination code "21"), we have that the total service time for each one of those two deliveries is (204/2) * 0.010 + 0.283 = 1.303