Getting Started
Follow the CLI-first path and the longer employee scheduling walkthrough.
AI Optimization Framework and Solver
SolverForge keeps domain models, constraints, runtime control, and static documentation in one inspectable codebase. You write the business rules in Rust, the solver stays zero-erasure all the way down, and the docs remain readable both on disk and on the web.
Write constraints like you write code
Model shifts, routes, tasks, workers, vehicles, and inventories as ordinary application code. SolverForge keeps the runtime concrete and inspectable while Bridgetown turns the same repository into a polished documentation site.
let required_skill = factory
.shifts()
.join((
|s: &Schedule| &s.employees,
equal_bi(
|shift: &Shift| shift.employee,
|emp: &Employee| Some(emp.id),
),
))
.filter(|shift: &Shift, emp: &Employee| {
!emp.skills.contains(&shift.required_skill)
})
.penalize_hard()
.named("Required skill");
An entire Free, Open Source Ecosystem
Scaffold a neutral project shell, then grow the domain with generators.
Ship scheduling views, retained-job controls, and embedded frontend assets.
Model matrices, route geometry, and map-backed planning systems.
Inspect the zero-erasure runtime surface, phases, moves, and score analysis tools.
Public docs and code
The docs, APIs, tutorials, and source are public, so teams can inspect SolverForge directly before deciding whether it fits their system.
In practice
Operator feedback
I have incorporated SolverForge in my new Rust application for staff scheduling and it's working like a charm, A+
Fawaz Halwani, Pathologist, The Ottawa Hospital
Read the project framing, companion libraries, and common operational problem spaces.