Class ACSSolver<T>

java.lang.Object
org.ddolib.acs.core.solver.ACSSolver<T>
Type Parameters:
T - The type representing a state in the problem.
All Implemented Interfaces:
Solver

public final class ACSSolver<T> extends Object implements Solver
Implementation of an Anytime Column Search (ACS) solver for decision diagram-based optimization problems.

The solver uses a combination of a lower bound, dominance rules, and variable heuristics to explore the search space efficiently. It maintains open and closed lists of subproblems organized by depth (columns) and attempts to minimize the objective function while keeping track of the best known solution (incumbent).

Features:

  • Maintains a frontier of subproblems using a priority queue at each column.
  • Applies a FastLowerBound to prune subproblems unlikely to improve the incumbent.
  • Optionally uses DominanceChecker to avoid exploring dominated states.
  • Supports variable selection heuristics through VariableHeuristic.
  • Can report search statistics and provide the best solution found at any time.
See Also: