Skip to main content

Crate unifier

Crate unifier 

Source
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 API

Re-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§

CancellationToken
Thread-safe cancellation handle allowing external interruption of running solvers.