Skip to content

TimefoldAI/timefold-solver

Repository files navigation

timefold solver logo

Planning optimization made easy.
timefold.ai

GitHub Discussions Community Discord Commit Activity GitHub Issues

Reliability Rating Security Rating Maintainability Rating Coverage

Timefold Solver is an AI constraint solver for Java 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

Build from source

  1. Install JDK 21+ and Maven 3.9.11+, for example with Sdkman:

    $ sdk install java
    $ sdk install maven
  2. Git clone this repository:

    $ git clone https://github.com/TimefoldAI/timefold-solver.git
    $ cd timefold-solver
  3. Build it from source:

    $ ./mvnw clean install -Dquickly

Contribute

This is an open source project, and you are more than welcome to contribute! For more, see Contributing.

Editions

There are three editions of Timefold Solver:

  • Timefold Solver Community Edition,

  • Timefold Solver Plus

  • and Timefold Solver Enterprise.

The Community Edition (this repo) is open-source and licensed under the Apache-2.0 license. The latter two are non-open-source commercial offerings and require a Timefold license to run.

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.

Documentation icon libraries