Employee Scheduling
A comprehensive quickstart guide to understanding and building intelligent employee scheduling with SolverForge
This page introduces the SolverForge Python quickstarts: what is included, how the repository is organised, and simple steps to try the examples locally.
SolverForge Quickstarts provide Python examples demonstrating common constraint-solver use cases and patterns. They are fully Timefold-compatible and focus on practical, performant Python implementations.
This page covers:
The repository is organised so you can choose between pedagogical, reference implementations and optimized, performance-minded variants:
legacy/ — Original quickstarts that use unified Pydantic models. Great for learning and understanding the domain modelling approach.fast/ — Refactored quickstarts that minimize runtime overhead by constraining Pydantic to the API boundary and using lighter-weight models during solver moves.benchmarks/ — Benchmarks, results and a short performance report comparing implementations and use cases.Common fast quickstarts available now:
fast/meeting-scheduling-fastfast/vehicle-routing-fastfast/employee-scheduling-fastEach use case folder includes a README describing how to run the example, expected inputs, and any implementation-specific details.
Typical requirements (may vary per quickstart):
Some examples expose a small FastAPI UI or HTTP API and will list FastAPI and related packages in their requirements.txt or pyproject.toml.
Clone or download the SolverForge quickstarts repository.
Create and activate a virtual environment:
python -m venv .venvsource .venv/bin/activatepython -m venv .venv.\\.venv\\Scripts\\activateInstall dependencies from the chosen quickstart directory:
pip install -r requirements.txtpyproject.toml instructions if provided.Each quickstart README documents any extra dependencies or optional tooling.
Most quickstarts offer one or both run modes:
To try a quick example:
fast/meeting-scheduling-fast).python -m <module> or uvicorn for FastAPI-based examples.python run_demo.py or similar CLI entrypoints described in the README.Check these README files for concrete run commands:
legacy/vehicle-routing/README.MDfast/vehicle-routing-fast/README.MDfast/meeting-scheduling-fast/README.adocfast/employee-scheduling-fast/README.MDPerformance-focused work and benchmark artifacts live in the benchmarks/ folder:
benchmarks/results_meeting-scheduling.mdbenchmarks/results_vehicle-routing.mdbenchmarks/report.mdThe fast/ refactors prioritise reducing runtime overhead (limiting Pydantic to the API boundary, using compact domain models, etc.) to close the performance gap with Java/Kotlin implementations.
benchmarks/ for performance comparisons and technical rationale.This repository derives from prior quickstarts and carries permissive licensing details documented in the top-level README and LICENSE files. Refer to those files for full copyright and licensing information.
A comprehensive quickstart guide to understanding and building intelligent employee scheduling with SolverForge
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.