timefold-solver
by
timefoldai

Description: The open source Solver AI for Java and Kotlin to optimize scheduling and routing. Solve the vehicle routing problem, employee rostering, task assignment, maintenance scheduling and other planning problems.

View timefoldai/timefold-solver on GitHub ↗

Summary Information

Updated 4 minutes ago
Added to GitGenius on May 2nd, 2023
Created on March 28th, 2023
Open Issues/Pull Requests: 74 (+0)
Number of forks: 180
Total Stargazers: 1,580 (+0)
Total Subscribers: 22 (+0)
Detailed Description

The TimeXL Solver, hosted on GitHub at [https://github.com/timefoldai/timefold-solver](https://github.com/timefoldai/timefold-solver), is a powerful, commercially-licensed, constraint-based optimization solver developed by TimeXL. It’s designed to tackle complex scheduling and resource allocation problems, particularly in industries like transportation, logistics, manufacturing, and healthcare. Unlike traditional optimization solvers that rely heavily on mathematical programming formulations, TimeXL leverages a unique approach called ‘Constraint Programming’ or ‘CSP’ – a more intuitive and human-readable way to define problems. This allows users, even those without deep mathematical expertise, to effectively model and solve intricate scheduling challenges.

The core of the TimeXL Solver is its ‘Problem Definition Language’ (PDL), a declarative language where users describe the problem by specifying constraints, objectives, and resources. Instead of writing complex equations, users define relationships between items, resources, and time periods. For example, a delivery route optimization problem can be defined by stating that a vehicle can only carry a certain number of packages, a driver has a limited working hours, and deliveries must be made within a specific timeframe. The solver then automatically explores all possible solutions, finding the optimal one that satisfies all constraints and maximizes the defined objective (e.g., minimizing distance, cost, or time).

The repository contains the core solver engine, along with extensive documentation, examples, and a growing community forum. The code is written in Java and utilizes a sophisticated constraint satisfaction engine. It’s designed for both standalone use and integration into existing applications through APIs. The solver supports various data types, including integers, decimals, and booleans, and can handle complex relationships between these data types. It’s particularly strong at problems involving vehicle routing, workforce scheduling, and production planning.

Key features of the TimeXL Solver include: a visual problem builder for easier model creation, a robust API for integration, support for various data formats, and a focus on performance and scalability. The solver’s architecture is designed to handle large-scale problems efficiently. The repository also includes a ‘TimeXL Studio’ – a graphical user interface (GUI) that simplifies the process of building and testing problem models. This allows users to visually represent constraints and objectives, making the modeling process more accessible.

While the core solver is commercially licensed, TimeXL offers a free ‘TimeXL Community Edition’ with limited features and problem size capabilities. The GitHub repository serves as the primary source for updates, bug fixes, and community contributions. The TimeXL team actively maintains the project and provides ongoing support to users. Ultimately, the TimeXL Solver represents a significant advancement in optimization technology, providing a practical and accessible solution for a wide range of complex scheduling and resource allocation problems.

timefold-solver
by
timefoldaitimefoldai/timefold-solver

Repository Details

Fetching additional details & charts...