An application to solve scheduling problems written in Java.
This library can solve all three types of scheduling problems (Flow-Shop, Job-Shop, and Open-Shop).
Problem and solution space encoding schemes are optimized across all three types with a permutation schedule definition.
It is extremely easy to implement any "Solver" for any of these types by inheriting from the base abstract Solver class and overriding corresponding methods.
This project is built with JDK11 & Maven. It uses JavaFX 11 with some JFoenix 9 components for UI. JMH toolkit is included for micro-benchmarks. JDK 11 can be downloaded from the OpenJDK archive here : https://jdk.java.net/archive/.
After automatically installing dependencies through Maven, the project can be run through the javafx-maven-plugin :
mvn clean
mvn javafx:compile
mvn javafx:run
If you would like to run using IntelliJ's built in runtime, you will need to have JavaFX 11 installed, and include the VM directives :
--module-path $PATH_TO_JAVAFX --add-modules javafx.controls,javafx.fxml
To run the test suite :
mvn clean
mvn surefire:test
The tests are done through the TestFX package. As it tests every UI use-case, kindly do not move the mouse while the tests are running. It takes one minute on average.
- Build initial framework.
- Add benchmarking tools for algorithm comparison.
- Add test suite.
- Add example(s) of local search algorithm(s).
- Add example(s) of genetic algorithm(s).
- Add integrations for GPU computation (CUDA).
Distributed under the Apache license. See LICENSE
for more information.