AI Optimization Framework and Solver

Build planning software without switching to a solver language.

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.

Neutral app shell from the CLI Incremental domain generation after scaffolding Step-by-step employee scheduling tutorial

Write constraints like you write code

Readable rules, explicit tradeoffs, real application shapes.

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.

constraints.rs
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

Solver core, UI primitives, routing helpers, and reference docs in one surface.

Public docs and code

Everything important is visible.

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