Frontier

org.ddolibscala.tools.ddo.frontier.Frontier
trait Frontier[T] extends Frontier[T]

Attributes

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

Members list

Value members

Abstract methods

override def bestInFrontier(): Double

Returns the current '''best upper bound''' among all subproblems stored in the frontier.

Returns the current '''best upper bound''' among all subproblems stored in the frontier.

The "best" bound depends on the problem type (e.g., maximum upper bound for minimization problems). This method is generally used by the solver to monitor convergence or update global bounds.

Attributes

Returns

the best upper bound value among subproblems in the frontier

Note

Implementations should throw an exception if this method is called when the frontier is empty.

Definition Classes
Frontier
override def clear(): Unit

Removes all subproblems currently stored in the frontier.

Removes all subproblems currently stored in the frontier.

This operation resets the internal structure and is typically used when restarting a search or reinitializing the solver.

Attributes

Definition Classes
Frontier
override def cutSetType(): CutSetType

Returns the type of cut set associated with this frontier.

Returns the type of cut set associated with this frontier.

The cut set type determines the strategy used to define which nodes belong to the frontier (e.g., CutSetType.LastExactLayer or CutSetType.Frontier). This affects how the solver manages layers during compilation.

Attributes

Returns

the CutSetType representing the frontier strategy

Definition Classes
Frontier
override def pop(): SubProblem[T]

Extracts and returns the most promising subproblem from the frontier.

Extracts and returns the most promising subproblem from the frontier.

The solver assumes that subproblems are popped in descending order of upper bound, i.e., the node with the best potential objective value should be returned first.

If the frontier is empty, this method may return null.

Attributes

Returns

the subproblem with the highest priority in the frontier, or null if empty

Definition Classes
Frontier
override def push(subProblem: SubProblem[T]): Unit

Adds a new subproblem to the frontier for future exploration.

Adds a new subproblem to the frontier for future exploration.

This method inserts a node into the internal priority structure of the frontier (e.g., a priority queue ordered by the subproblem’s upper bound or heuristic value).

Value parameters

subProblem

the subproblem to be added to the frontier

Attributes

Definition Classes
Frontier
override def size(): Int

Returns the number of subproblems currently stored in the frontier.

Returns the number of subproblems currently stored in the frontier.

Attributes

Returns

the number of nodes in the frontier

Definition Classes
Frontier

Concrete methods

override def isEmpty: Boolean

Checks whether the frontier is empty.

Checks whether the frontier is empty.

Attributes

Returns

whether the frontier is empty

Definition Classes
Frontier