You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue keeps track of plans for a new major release of VRPLIB. This is a long-term goal and will be developed in parallel with the needs of PyVRP.
vrplib (v1) was originally designed to support any kind of free-form VRPLIB instance, mainly because the VRPLIB format was not well defined. Its main use cases were reading the instances for the CVRP X-instances, the VRPTW EURO-NeurIPS instances and some of the LKH-3 instances.
PyVRP is continuously adding support for new VRP variants and we are extending the VRPLIB format to support this. At some point, we will have a large collection of VRPLIB instances and a better well-defined format.
In view of these developments, I propose the following todos for the next major release:
Supersede TSPLIB #94. We should probably not supersede TSPLIB95, because it contains a lot of specifications that are just not relevant. But we should definitely take inspiration from TSPLIB95.
Handle rounding conventions #111. A common annoyance in benchmarking is how to deal with rounding conventions. This should be better defined.
This VRPLIB format definition can be version-controlled and could evolve together with the vrplib package.
Reading instances and solutions should return a Instance or Solution object with well-defined VRPLIB attributes.
It would be nice to keep a flexible way of reading VRPLIB instances with undefined specifications/sections, so that we can easily extend the VRPLIB format.
We can switch over to a parsing grammar like lark or pyparsing.
Maintain a library of VRPLIB instances
We already do this in PyVRP/Instances, but we only keep selected instances for benchmarking. There are many more VRPLIB instances that I have created that we don't have a place for anywhere. It would be nice to have these stored somewhere as well for others to use.
Drop support for downloading instances. This is a legacy feature that originated from when this package was called cvrplib.
Read/write should be a no-op, meaning that when you read an instance and then write the instance, then this give precisely the same instance again.
Drop support for Solomon instances.
The text was updated successfully, but these errors were encountered:
[ ] Read/write should be a no-op, meaning that when you read an instance and then write the instance, then this give precisely the same instance again.
I was going to write this out into a separate issue, but since it's already tracked here I won't have to :). It'll be good to have this in because it makes adapting instances to VRPLIB much easier.
This issue keeps track of plans for a new major release of VRPLIB. This is a long-term goal and will be developed in parallel with the needs of PyVRP.
vrplib
(v1) was originally designed to support any kind of free-form VRPLIB instance, mainly because the VRPLIB format was not well defined. Its main use cases were reading the instances for the CVRP X-instances, the VRPTW EURO-NeurIPS instances and some of the LKH-3 instances.PyVRP is continuously adding support for new VRP variants and we are extending the VRPLIB format to support this. At some point, we will have a large collection of VRPLIB instances and a better well-defined format.
In view of these developments, I propose the following todos for the next major release:
vrplib
package.Instance
orSolution
object with well-defined VRPLIB attributes.cvrplib
.The text was updated successfully, but these errors were encountered: