Open source planning software in Rust

Describe your problem → a running solver, today.

Tell your coding agent what has to be decided, what makes a plan invalid, and what makes it good. The solverforge-modeling skill turns that description into a SolverForge app with its domain model, hard and soft constraints, demo data, and an API, web, CLI, or MCP shell, and solves it before handing it back. The model stays in ordinary Rust you can read and change.

Apache-2.0, no account or licence key Scalar and list planning variables Eight worked planning apps

From a paragraph of English to a plan that survives a breakdown.

An agent turns a bus depot's repair requirements into a Rust app. Once the app is built and running, its solver finds the first feasible plan in 153 ms. Then a bus breaks down mid-solve and the running plan is repaired in 17 ms.

One real session with the solverforge-modeling skill, on solverforge 0.25.1 and solverforge-cli 3.9.0. The current release is newer.

Jump to a scene

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 rule definitions, score analysis, and solver control close to the domain types your team already understands.

constraints.rs
let required_skill = ConstraintFactory::<Plan, HardSoftDecimalScore>::new()
    .shifts()
    .filter(|shift: &Shift| shift.employee_idx.is_some())
    .join((
        Plan::employees_slice,
        equal_bi(
            |shift: &Shift| shift.employee_idx,
            |employee: &Employee| Some(employee.index),
        ),
    ))
    .filter(|shift: &Shift, employee: &Employee| {
        !employee.skills.contains(&shift.required_skill)
    })
    .penalize(HardSoftDecimalScore::of_hard_scaled(1_000_000))
    .named("Required skill");

Open source implementation

Solver core, app scaffolding, UI controls, and routing helpers you can inspect.

Use cases

Eight planning surfaces you can watch, inspect, and run.

Machine scheduling, warehouse picking, crew rotas, asset readiness, hospital coverage, school timetabling, delivery routing, and field service routing. Each case carries its data shape, its constraints, a narrated walkthrough of the running app, and annotated screenshots of the same retained solve.

1:47

Built on SolverForge

Planner123: a calendar that plans your week.

A terminal calendar that schedules your to-do list around real meetings, deadlines, and focus hours. It runs in your terminal, keeps your events in a local file, and changes nothing until you approve the proposal.

Watch it plan a week

Evaluate SolverForge

Everything you need to decide is public.

In practice

"Working like a charm, A+"
Dr. Fawaz Halwani, Pathologist, The Ottawa Hospital