Expand description
unifier — constraint satisfaction / optimization (CSP/COP) modeling
and solver framework for Rust, built on pathwise.
Concept and scope: see README.md. Implementation plan: plan/.
Layered architecture:
model — variable, domain, interval, activity, resource, group
constraint — equal, not_equal, all_different, no_overlap, cumulative
propagation — constraint graph, AC-3 propagator engine
score — hard/soft priority scoring, incremental updates
solver — backtracking (MRV), branch_and_bound
dsl — problem-building surface APIRe-exports§
pub use constraint::AllDifferent;pub use constraint::AllowedValues;pub use constraint::Assignment;pub use constraint::AtLeast;pub use constraint::AtMost;pub use constraint::BucketRange;pub use constraint::BucketedTask;pub use constraint::Constraint;pub use constraint::Cumulative;pub use constraint::Equal;pub use constraint::ExactlyOne;pub use constraint::Explanation;pub use constraint::ForbiddenValues;pub use constraint::LessThanOrEqual;pub use constraint::MaximumBucketLoad;pub use constraint::MinimumDistance;pub use constraint::NoOverlap;pub use constraint::NotEqual;pub use constraint::PeriodicValues;pub use constraint::Precedence;pub use constraint::TaskDemand;pub use dsl::ModelBuilder;pub use model::Activity;pub use model::Domain;pub use model::Group;pub use model::Interval;pub use model::Resource;pub use model::TrailedDomains;pub use model::Variable;pub use model::VariableId;pub use propagation::ConstraintGraph;pub use propagation::ConstraintViolation;pub use propagation::ModelError;pub use propagation::PropagationEngine;pub use propagation::ValidatedGraph;pub use score::CategorizedObjective;pub use score::HardSoftScore;pub use score::Objective;pub use score::ScoreCalculator;pub use score::ScoreLevel;pub use score::WeightedSum;pub use solver::AbortReason;pub use solver::BacktrackingSolver;pub use solver::BranchAndBoundSolver;pub use solver::LnsSolver;pub use solver::LocalSearchSolver;pub use solver::ParallelSolver;pub use solver::SearchStatistics;pub use solver::Solution;pub use solver::SolveOutcome;pub use solver::SolveStatus;pub use solver::SolverOptions;
Modules§
- constraint
- Constraint definitions and propagation traits for CSP/COP modeling.
- dsl
- High-level DSL surface API for building CSP/COP models.
- model
- Domain modeling components for variables, domains, intervals, resources, activities, and groups.
- propagation
- Constraint hypergraph network and AC-3 propagation engine.
- score
- Hard/Soft scoring model and incremental evaluation engine.
- solver
- Constraint satisfaction and optimization solvers.
Structs§
- Cancellation
Token - Thread-safe cancellation handle allowing external interruption of running solvers.