Documentation
d-d-document!
PyVRP is increasingly relying on VRPLIB and we are planning to extend the VRPLIB instance to support more VRP variants. I think it’s a good moment start making a proper docs to facilitate this process.
The primary difficulty that I'm facing in defining a standard for VRPLIB is how to incorporate the pickup and delivery VRP variants. I haven't worked enough with these type of problems to know what kind of format would make sense, specifically how we generalize locations/clients to these settings.
I know that LKH did some stuff with this. I should study these examples in more detail (see http://webhotel4.ruc.dk/~keld/research/LKH-3/).
BACKHAUL_SECTION
3 9 30 33 49 54 66 77 82 85 90 -1
BACKHAUL_SECTION : This section is used for specifying VRPB instances. It contains a list of backhaul nodes. This section is terminated by a -1.
In pickup and delivery, we are dealing with requests.
I'm not sure why it includes demand/time window/service time data.
Another way to go about this:
- First write down the problem formulation of the most important vehicle routing problems
- Then define a rich vehicle routing problem formulation that captures all these characteristics
- Then define a VRPLIB format that captures all of this
- Also think about generalization: can we include attributes that are not included?
https://github.com/jump-dev/MathOptFormat
- Document empty route data option
Route #1: 1 2 3
Route #2:
Route #3:
is allowed