Planning optimization made easy.
timefold.ai
Timefold Solver is an AI constraint solver for Java, Python and Kotlin. You can use Timefold Solver to optimize the Vehicle Routing Problem, Employee Rostering, Maintenance Scheduling, Task Assignment, School Timetabling, Cloud Optimization, Conference Scheduling, Job Shop Scheduling and many more planning problems.
Developed by the original OptaPlanner team, our aim is to free the world of wasteful planning.
-
Install JDK 17+ and Maven 3.9+, for example with Sdkman:
$ sdk install java $ sdk install maven
-
Git clone this repository:
$ git clone https://github.com/TimefoldAI/timefold-solver.git $ cd timefold-solver
-
Build it from source:
$ mvn clean install -Dquickly
This is an open source project, and you are more than welcome to contribute! For more, see Contributing.
There are 2 editions of Timefold Solver:
-
Timefold Solver Community Edition (CE) (this repo).
-
Timefold Solver Enterprise Edition (EE), a licensed version of Timefold Solver.
-
Multi-threaded Solving: Experience enhanced performance with multi-threaded solving capabilities.
-
Nearby Selection: Get better solutions quicker, especially with spatial problems.
-
Dedicated Support: Get direct support from the Timefold team for all your questions and requirements.
Unlike the Apache-2.0 licensed Community Edition in this repo, the Enterprise Edition is not open source. If you wish to use the Enterprise Edition in a production environment, please contact Timefold to obtain the appropriate license.
Timefold Solver was forked on 20 April 2023 from OptaPlanner, which was entirely Apache-2.0 licensed (a permissive license).
Timefold Solver is a derivative work of OptaPlanner and OptaPy, which includes copyrights of the original creator, Red Hat Inc., affiliates, and contributors, that were all entirely licensed under the Apache-2.0 license. Every source file has been modified.