https://github.com/timefoldai/timefold-solver
The open source Solver AI for Java, Python and Kotlin to optimize scheduling and routing. Solve the vehicle routing problem, employee rostering, task assignment, maintenance scheduling and other planning problems.
https://github.com/timefoldai/timefold-solver
ai artificial-intelligence constraint-programming constraint-solver cvrp employee-scheduling java kotlin maintenance-scheduling operations-research optimization-algorithms planning-algorithms python resource-allocation solver solver-library vehicle-routing vehicle-routing-problem vrp vrptw
Last synced: 7 days ago
JSON representation
The open source Solver AI for Java, Python and Kotlin to optimize scheduling and routing. Solve the vehicle routing problem, employee rostering, task assignment, maintenance scheduling and other planning problems.
- Host: GitHub
- URL: https://github.com/timefoldai/timefold-solver
- Owner: TimefoldAI
- License: apache-2.0
- Created: 2023-03-28T14:33:35.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-28T08:05:29.000Z (7 days ago)
- Last Synced: 2025-04-28T09:33:28.806Z (7 days ago)
- Topics: ai, artificial-intelligence, constraint-programming, constraint-solver, cvrp, employee-scheduling, java, kotlin, maintenance-scheduling, operations-research, optimization-algorithms, planning-algorithms, python, resource-allocation, solver, solver-library, vehicle-routing, vehicle-routing-problem, vrp, vrptw
- Language: Java
- Homepage: http://solver.timefold.ai
- Size: 256 MB
- Stars: 1,319
- Watchers: 30
- Forks: 126
- Open Issues: 97
-
Metadata Files:
- Readme: README.adoc
- Contributing: CONTRIBUTING.adoc
- License: LICENSE.txt
Awesome Lists containing this project
README
:projectKey: ai.timefold:timefold-solver
:sonarBadge: image:https://sonarcloud.io/api/project_badges/measure?project={projectKey}
:sonarLink: link="https://sonarcloud.io/dashboard?id={projectKey}"
:branch: mainimage::docs/src/modules/ROOT/images/shared/timefold-logo.png[link="https://timefold.ai",Timefold,align="center"]
_Planning optimization made easy._ +
https://timefold.ai[timefold.ai]image:https://img.shields.io/github/discussions/TimefoldAI/timefold-solver?style=for-the-badge&logo=github["GitHub Discussions", link="https://github.com/TimefoldAI/timefold-solver/discussions"]
image:https://img.shields.io/github/commit-activity/m/TimefoldAI/timefold-solver?label=commits&style=for-the-badge["Commit Activity", link="https://github.com/TimefoldAI/timefold-solver/pulse"]
image:https://img.shields.io/github/issues/TimefoldAI/timefold-solver?style=for-the-badge&logo=github["GitHub Issues", link="https://github.com/TimefoldAI/timefold-solver/issues"]{sonarBadge}&style=for-the-badge&metric=reliability_rating["Reliability Rating", {sonarLink}]
{sonarBadge}&metric=security_rating["Security Rating", {sonarLink}]
{sonarBadge}&metric=sqale_rating["Maintainability Rating", {sonarLink}]
{sonarBadge}&metric=coverage["Coverage", {sonarLink}]Timefold Solver is an AI constraint solver for Java,
https://github.com/TimefoldAI/timefold-solver/tree/main/python#readme[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.
== Get started with Timefold Solver in Java
image:https://img.shields.io/maven-central/v/ai.timefold.solver/timefold-solver-bom?logo=apache-maven&style=for-the-badge["Maven artifact", link="https://ossindex.sonatype.org/component/pkg:maven/ai.timefold.solver/timefold-solver-bom"]
image:https://img.shields.io/badge/Java-17+-brightgreen.svg?style=for-the-badge["JVM support", link="https://sdkman.io"]* https://docs.timefold.ai/timefold-solver/latest/quickstart/overview[Read a Getting Started guide.]
* https://github.com/TimefoldAI/timefold-quickstarts[Clone the Quickstarts repository.]== Build from source
. Install JDK 17+ and Maven 3.9+, for example with https://sdkman.io[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
----== Contribute
This is an open source project, and you are more than welcome to contribute!
For more, see link:CONTRIBUTING.adoc[Contributing].== Editions
There are two editions of Timefold Solver:
- Timefold Solver Community Edition (this repo).
- https://timefold.ai/pricing[Timefold Solver Enterprise Edition], a licensed version of Timefold Solver.=== Key Features of Timefold Solver Enterprise Edition (EE)
- **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.=== Licensing and Usage
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 https://timefold.ai/contact[contact Timefold] to obtain the appropriate license.== Legal notice
Timefold Solver was https://timefold.ai/blog/2023/optaplanner-fork/[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.