pub trait PackSolver: Send + Sync {
// Required methods
fn id(&self) -> &'static str;
fn solve(&self, spec: &ProblemSpec) -> GateResult<(Value, SolverReport)>;
fn is_exact(&self) -> bool;
}Expand description
A solver within a pack
Each pack can have multiple solvers (e.g., greedy, exact, heuristic).
Required Methods§
Sourcefn solve(&self, spec: &ProblemSpec) -> GateResult<(Value, SolverReport)>
fn solve(&self, spec: &ProblemSpec) -> GateResult<(Value, SolverReport)>
Solve and produce plan payload + report