solverforge_core/score/
mod.rs

1//! Score types for representing solution quality
2//!
3//! Scores are used to compare solutions and guide the optimization process.
4//! All score types are immutable and implement arithmetic operations.
5
6mod bendable;
7mod hard_medium_soft;
8mod hard_soft;
9mod hard_soft_decimal;
10mod simple;
11mod traits;
12
13pub use bendable::BendableScore;
14pub use hard_medium_soft::HardMediumSoftScore;
15pub use hard_soft::HardSoftScore;
16pub use hard_soft_decimal::HardSoftDecimalScore;
17pub use simple::SimpleScore;
18pub use traits::{ParseableScore, Score, ScoreParseError};
19
20/// Score level representing different constraint priorities
21#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
22pub enum ScoreLevel {
23    /// Hard constraints - must be satisfied for feasibility
24    Hard,
25    /// Medium constraints - secondary priority
26    Medium,
27    /// Soft constraints - optimization objectives
28    Soft,
29}