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
I used to like the idea of passing all VRP parameters to the solver to simplify the life of the users. However, I now realize this process is not clear at all. It's not natural to copy all the params when simply changing the solver and it's very strange to talk about trips or use_rpp when using a simple VRP model.
As development went on, VRP params are repeated all over the place (model, solver, solution). This resulted in cases where I would update a param and the older version would reside in other objects. For this reason, and to reduce code, I suggest always passing and using all information within the model object.
For this, I suggest the following refactor:
Add the models to the API, requiring the users to define it before passing it to the solver. This object will be used throughout the code and doesn't need to be modified in order to change the solver.
The base models need a refactor, as they contain internal parameters and are used in a different way in Google OR-Tools.
I currenty have 5 distinct models (e.g. ConstantCVRP and MultiCVRP), whose names and differences are mere details for end users. I suggest abstracting this to 2 models: CVRP and RPP. They can be simple wrappers which will return the previous models.
The text was updated successfully, but these errors were encountered:
The issues with the current code:
use_rpp
when using a simple VRP model.For this, I suggest the following refactor:
The text was updated successfully, but these errors were encountered: