Timefold Solver is an open source constraint solver library for Java and Kotlin designed to optimize complex planning and scheduling problems. The project addresses real-world operational challenges such as vehicle routing, employee rostering, maintenance scheduling, task assignment, school timetabling, cloud optimization, conference scheduling, and job shop scheduling. Developed by the original OptaPlanner team, the solver applies artificial intelligence and constraint programming techniques to find efficient solutions to combinatorial optimization problems that would be computationally expensive or impossible to solve through brute force methods.
The repository is written primarily in Java and requires JDK 21 or higher for building from source. It is distributed through Maven Central, making it straightforward for developers to integrate into their projects. The codebase supports both Java and Kotlin, providing flexibility for teams using either language. The project maintains active community engagement through GitHub Discussions and a dedicated Discord server, indicating a commitment to user support and collaboration.
Timefold Solver is available in three editions: the Community Edition under Apache-2.0 license in this repository, plus commercial Plus and Enterprise editions. The Community Edition is a derivative work of OptaPlanner, forked on April 20, 2023, with every source file modified while maintaining the original Apache-2.0 licensing from its predecessor. This heritage provides a stable foundation built on years of optimization solver development.
The solver addresses the Vehicle Routing Problem, Capacitated Vehicle Routing Problem, and Vehicle Routing Problem with Time Windows, among other classic operations research challenges. It enables developers to model complex constraints and objectives, then leverages optimization algorithms to discover high-quality solutions efficiently. The project's classification across machine learning, optimization algorithms, constraint solving, and decision-making domains reflects its sophisticated approach to planning problems that require balancing multiple competing objectives and constraints.