-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vehicle Routing Meta Solvers added #70
Vehicle Routing Meta Solvers added #70
Conversation
|
TODOs:
How to install Rust: pipeline will be installed in target/.. directory Questions: |
48c5c9d
to
f65f729
Compare
5f63835
to
37f8d36
Compare
…s, started to re-implement k-means. Currently still bugged, needs to be rebased to fix on dev
…some Names of Descriptors.
914516c
to
0be2a1a
Compare
… LKH3 currently only runs on mac
…directory refatoring
…S-specifc binary to the python wrapper
Overall the checkstyle plugin should be run in the IDE. Because this branch is on Lucas's repository, it doesn't run those workflows but once we merged this into dev it would complain at the check stage. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good so far! Just some changes needed.
src/main/java/edu/kit/provideq/toolbox/meta/setting/MetaSolverSetting.java
Outdated
Show resolved
Hide resolved
src/main/java/edu/kit/provideq/toolbox/process/MultiFileProcessResultReader.java
Show resolved
Hide resolved
src/main/java/edu/kit/provideq/toolbox/qubo/solvers/DwaveQuboSolver.java
Show resolved
Hide resolved
src/main/java/edu/kit/provideq/toolbox/qubo/solvers/QrispQuboSolver.java
Outdated
Show resolved
Hide resolved
src/main/java/edu/kit/provideq/toolbox/process/SimpleProcessResultReader.java
Show resolved
Hide resolved
src/main/java/edu/kit/provideq/toolbox/tsp/solvers/QuboTspSolver.java
Outdated
Show resolved
Hide resolved
// write solutions of the clusters into files: | ||
for (var entry : clusterSolutionMap.entrySet()) { | ||
String fileName = entry.getKey().getFileName().toString().replace(".vrp", ".sol"); | ||
Path solutionFilePath = Path.of(problemDirectoryPath, ".vrp", fileName); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might be worth adding a comment so it's clear what's done here, I don't quite understand tbh :D
src/main/java/edu/kit/provideq/toolbox/vrp/solvers/QrispVrpSolver.java
Outdated
Show resolved
Hide resolved
@koalamitice Thanks for the changes! I found some minor things and resolved pretty much all threads but one. Btw, my Checkstyle currently still reports Checkstyle violations in QuboSolverTest.java and VrpSolverTest.java. Could you check those out? Once all that is done this is ready to be merged! |
|
This pull Request was Merged with #78 -> will be closed and continued there. |
This PR adds a few solvers in regards to a newly added vehicle routing optimization problem (VRP). The corresponding PR on web is: ProvideQ/toolbox-web#46
It adds the following Solvers:
VRP:
lkh
folder on the root has to be installed and a LKH binary compiled from source http://webhotel4.ruc.dk/~keld/research/LKH-3/ has to be put intolkh/vrp/bin/
)CLUSTERABLE_VRP:
cluster
option. by default this option is 3)QUBO:
dwave
folder. To make this script work, one has to install the python packages in thedwave
folder (Note: It seams the python version for installing has to be 3.10 or !lower!). There are 4 different Quantum Anealling functions in the script that can be choosen from with a settings option on the DwaveQuboSolver, though for any function other thansim
, an API Token for Dwave's Leap is needed https://cloud.dwavesys.com/leap/login)!For all the clusterers and the QuboTspSolver there needs to be a current version of the binary compiled from: https://github.com/LucasBerger/quantum-vrp
copy this binary into the
bin
folderFor the python solver: All the new python folders in JAVA are referred to as if there is a virtual environment in the folder /venv (e.g. lkh/venv). This is needed as some python packages need lower versions of python (e.g. qrisp, dwave)
In addition to those solvers these are further features:
!THIS PR is based on the refactor/solve-get-request-to-solution branch. this branch should be added first and then this branch should be rebased with develop afterwards.