ReductionStrategy

org.ddolibscala.tools.ddo.heuristics.cluster.ReductionStrategy
trait ReductionStrategy[T] extends ReductionStrategy[T]

Interface defining a strategy to reduce the number of nodes in a layer of a decision diagram by clustering nodes for restriction and relaxation.

Implementations of this interface determine how to group nodes into clusters when the layer exceeds a desired maximum width. All nodes assigned to clusters are removed from the original layer.

Type parameters

T

the type of states in the decision diagram

Attributes

Graph
Supertypes
trait ReductionStrategy[T]
class Object
trait Matchable
class Any

Members list

Value members

Abstract methods

def cluster(layer: Buffer[NodeSubProblem[T]], maxWidth: Int): Seq[Seq[NodeSubProblem[T]]]

Generates clusters of nodes for restriction and relaxation from the given layer.

Generates clusters of nodes for restriction and relaxation from the given layer.

Each cluster is represented as a list of NodeSubProblem objects. All nodes included in clusters are removed from the input layer.

Value parameters

layer

the list of nodes at the current layer

maxWidth

the target maximum width of the layer after reduction

Attributes

Returns

an array of clusters, each cluster being a list of nodes

Concrete methods

final override def defineClusters(layer: List[NodeSubProblem[T]], maxWidth: Int): Array[List[NodeSubProblem[T]]]

Used by the solver. Converts the input and output of cluster from java to scala and vice versa.

Used by the solver. Converts the input and output of cluster from java to scala and vice versa.

Attributes

Definition Classes
ReductionStrategy