Skip to main content

Crate csp_solver

Crate csp_solver 

Source
Expand description

A generalized CSP (Constraint Satisfaction Problem) solver.

Isomorphic to the Python CSP solver. Supports:

  • Backtracking search with configurable pruning and variable ordering
  • AC-3 (Maintaining Arc Consistency) propagation
  • Forward checking
  • AC-FC hybrid
  • Conflict-directed backjumping
  • Lattice domains for monotonic fixed-point propagation

Re-exports§

pub use builder::assignment::AssignmentBuilder;
pub use builder::assignment::AssignmentError;
pub use builder::assignment::AssignmentSolution;
pub use builder::assignment::SENTINEL;
pub use builder::assignment::assignment;
pub use puzzles::sudoku;

Modules§

adjacency
Pre-built constraint dependency graph with flat arena storage.
builder
Fluent builders for common CSP / COP shapes.
constraint
Constraint trait, built-in implementations, and devirtualized dispatch.
domain
Domain trait and built-in implementations.
ordering
Variable ordering heuristics.
puzzles
Domain-specific puzzle modules.
solver
Solver dispatch: AC-3 propagation, forward checking, backtracking search.
variable
CSP variable with domain tracking and pruned-value undo log.

Structs§

Csp
The main CSP solver struct.
SolveConfig
Solve configuration, isomorphic to Python’s CSP constructor arguments.
SolveStats
Solver statistics.
Unsatisfiable
Error type for unsatisfiable constraints.

Enums§

OptimizationMode
Optimization mode for the solver.
PropagationStrategy
Propagation strategy for propagate_with().
Pruning
Pruning strategy for backtracking search.