Open LucasBerger opened 5 months ago
Failed conditions
C Reliability Rating on New Code (required ≥ A)
See analysis details on SonarCloud
Catch issues before they fail your Quality Gate with our IDE extension
SonarLint
TODOs:
How to install Rust: (1) curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh (2) rustup install nightly-2023-07-01 (3) grab specific version name on machine... (4) rustup default nightly-2023-07-01 (... specific version name on machine) (5) cargo build
pipeline will be installed in target/.. directory
Questions: We could either let the user compile the pipeline & lkh solver for themselves, or we could add default binaries that work on standard windows, linux, and mac. (1) We have to differentiate the used binary during runtime. Currently all paths are handled over the applications.properties file. We would have to implement some kind of OS-checker there. For instance, by adding multiple application.properties files. Or multiple paths to the existing files.
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.
@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!
Issues
9 New issues
0 Accepted issues
Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code
This PR adds a few solvers in regards to a newly added vehicle routing optimization problem (VRP). The corresponding PR on web is: https://github.com/ProvideQ/toolbox-web/pull/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.