Relaxation

org.ddolibscala.modeling.Relaxation
trait Relaxation[T] extends Relaxation[T]

Defines the relaxation that may be applied to the given problem. In particular, the merge method from this trait defines how the nodes of a layer may be combined to provide an upper bound approximation standing for an arbitrarily selected set of nodes.

Type parameters

T

the type of states

Attributes

Graph
Supertypes
trait Relaxation[T]
class Object
trait Matchable
class Any
Known subtypes

Members list

Value members

Abstract methods

def merge(statesToMerge: Iterable[T]): T

Merges the given states to create a NEW state which is an over approximation of all the covered states.

Merges the given states to create a NEW state which is an over approximation of all the covered states.

Value parameters

statesToMerge

the set of states that must be merged

Attributes

Returns

a new state which is an over approximation of all the considered states.

override def relaxEdge(from: T, to: T, merged: T, decision: Decision, cost: Double): Double

Relaxes the edge that used to go from the from state to the to state and computes the cost of the new edge going from the from state to the merged state. The decision which is being relaxed is given by decision and the value of the not relaxed arc is cost.

Relaxes the edge that used to go from the from state to the to state and computes the cost of the new edge going from the from state to the merged state. The decision which is being relaxed is given by decision and the value of the not relaxed arc is cost.

Value parameters

cost

the cost of the not relaxed arc which used to go from the from state to the to state

decision

the decision which is being challenged

from

the origin of the relaxed arc

merged

the destination of the relaxed arc (after relaxation)

to

the destination of the relaxed arc (before relaxation)

Attributes

Returns

the cost of the relaxed edge

Definition Classes
Relaxation

Concrete methods

final override def mergeStates(states: Iterator[T]): T

Used by the solver. Converts the input and output of merge from Java to Scala and vice versa.

Used by the solver. Converts the input and output of merge from Java to Scala and vice versa.

Attributes

Definition Classes
Relaxation