TestModel

org.ddolibscala.util.testbench.TestModel
trait TestModel[S]

Defines the model configuration and components used to solve a problem instance during tests.

This trait acts as a container for the specific strategies (Lower Bound, Relaxation, Ranking, Dominance) required to solve a problem. It corresponds to the specific configuration needed to instantiate the solver for a given test case.

Type parameters

S

the type of the state in the problem

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

def dominance: DominanceChecker[S]

Specifies the dominance checking strategy to prune dominated states.

Specifies the dominance checking strategy to prune dominated states.

Attributes

Returns

the dominance checker instance, defaulting to org.ddolibscala.tools.dominance.DefaultDominanceChecker.

Specifies the Fast Lower Bound (FLB) implementation to use.

Specifies the Fast Lower Bound (FLB) implementation to use.

Attributes

Returns

the fast lower bound instance, defaulting to org.ddolibscala.modeling.DefaultFastLowerBound.

Specifies the state ranking heuristic used to select nodes when the width limit is reached.

Specifies the state ranking heuristic used to select nodes when the width limit is reached.

Attributes

Returns

the state ranking strategy, defaulting to org.ddolibscala.modeling.DefaultStateRanking.

def relaxation: Option[Relaxation[S]]

Specifies the Relaxation logic to use, if any.

Specifies the Relaxation logic to use, if any.

Attributes

Returns

the relaxation implementation if the problem requires it, or None if no relaxation is defined.