Concepts

Understand the core concepts behind SolverForge

This section covers the foundational concepts you need to understand when working with SolverForge.

In This Section

Overview

SolverForge solves constraint satisfaction and optimization problems (CSPs). Given:

  • A set of planning entities with planning variables to assign
  • A set of constraints that define valid and preferred solutions
  • An objective function (score) to optimize

The solver searches for an assignment of values to planning variables that:

  1. Satisfies all hard constraints (feasibility)
  2. Optimizes soft constraints (quality)

Example: Employee Scheduling

ConceptExample
Planning EntityShift
Planning VariableShift.employee
Problem FactEmployee, Skill
Hard ConstraintEmployee must have required skill
Soft ConstraintBalance assignments fairly
ScoreHardSoftScore (e.g., 0hard/-5soft)

The solver tries different employee assignments for each shift, evaluating constraints until it finds a feasible, high-quality solution.


Architecture

How SolverForge uses WASM and HTTP to solve constraints

Constraint Satisfaction

Core concepts of constraint satisfaction and optimization problems