Kuifje02 / vrpy

A python framework for solving the VRP and its variants with column generation.
MIT License
179 stars 43 forks source link

Add benchmarks with other libraries #49

Open Kuifje02 opened 4 years ago

Kuifje02 commented 4 years ago

Following #42, It would be great to add benchmarks with:

Expected format: performance profiles such as

image

x axis : relative gap with best known solution y axis : % of data sets solved within gap

torressa commented 4 years ago

@Halvaros We can probably take this one

Kuifje02 commented 4 years ago

Perhaps we could create a separate folder dedicated to benchmarks with a script that can be run and automatically generates the performance profiles. This way, when the code evolves, we can easily update the benchmarks. I already have some code to run the tests and generate the profiles.

Also, regarding py-ga-VRPTW:

Kuifje02 commented 4 years ago

I have added a folder here with csv files with CVRP (Augerat) results run with Clarke&Wright, vrpy, ortools and a jupyter notebook where the performance profile is generated (for some reason the notebooks sometimes fail to load correctly on github).

torressa commented 4 years ago

Cool! Thanks man I think it's not displaying properly because the output of the cell is too long, so it's not closed. It might be plotly's fault. I've reran it and used matplotlib and it looks good :ok_hand: @Halvaros is writing some code to write the csv files. It'll super useful to compare all the different solving variants (pricing strategies, subproblem solver, diving, ...) So we can update the vrpy tables soon!

Kuifje02 commented 4 years ago

I have done some tests with py-ga-VRPTW and here is what I think :

Unless we are able to find feasible solutions, I no longer think benchmarks with the library are relevant. Perhaps a little paragraph in the paper is sufficient. To be fair, the author does warn that the performances are poor.

I will continue trying to find a feasible solution just in case. I have also raised an issue, maybe they can help us out.

Kuifje02 commented 4 years ago

Other (non python) VRP libraries that could be mentioned in the paper (#44 ) (and benchmarked if doable, or if results found in some paper ?) include:

Also, note that some of these libraries non open source and/or free for academic use only.

torressa commented 4 years ago

PR #51 is the csv writer

Kuifje02 commented 4 years ago

Unless we are able to find feasible solutions, I no longer think benchmarks with the library are relevant. Perhaps a little paragraph in the paper is sufficient. To be fair, the author does warn that the performances are poor.

I will continue trying to find a feasible solution just in case. I have also raised an issue, maybe they can help us out.

From here : https://github.com/iRB-Lab/py-ga-VRPTW/issues/12#issuecomment-656851376 :

"You are right. I am afraid that this project is not even close to a robust solution"