FRODO Version 2.19.1
An open-source framework for Distributed Constraint Optimization (DCOP)
Loading...
Searching...
No Matches
frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > > Class Template Referenceabstract
Inheritance diagram for frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >:

Classes

class  Assignment
 Convenience class to store assignment/utility combinations in a priority queue. More...

Public Member Functions

 GoodsTree (String ownVariable, Val[] ownVariableDomain, UtilitySolutionSpace< Val, U > space, U zero, int numberOfChildren, U infeasibleUtil, boolean maximize, boolean collectStats)
 A constructor.
 GoodsTree (String ownVariable, Val[] ownVariableDomain, List< UtilitySolutionSpace< Val, U > > spaces, U zero, int numberOfChildren, U infeasibleUtil, boolean maximize, boolean collectStats)
 A constructor.
abstract boolean add (Good< Val, U > g, int sender, HashMap< String, Val[]> domains)
 Adds a good to the tree.
abstract Good< Val, U > getAmax ()
 This method obtains the aMax.
abstract void getBestAssignmentForOwnVariable (HashMap< String, Val > context)
 Given the assignment of variables in its separator, this method updates the context with the best value for the variable that owns the tree.
abstract void setChildrenSeparator (int child, String[] variables)
 Initializes the separator of a child.
abstract String[] getChildSeparatorReportingOrder (int child)
 Returns the variables in the childs separator in the order it reported them.
abstract HashMap< String, Val > getChildValues (HashMap< String, Val > parentContext, int child)
 Given a map that maps variables to values, this method returns the values belonging to the variables in a child's separator.
abstract int[] getFinalDomainSize ()
 Method to obtain the information on the final domain size.
abstract Val[][] getDomains ()
double getTreeFillPercentage ()
long getNumberOfDummies ()
double getDummiesFillPercentage ()
boolean greaterThanOrEqual (U u1, U u2)
 Compares two values.
boolean greaterThan (U u1, U u2)
 Compares two values.
abstract boolean hasFullInfo ()
abstract boolean hasMore ()
 Used to determine whether there are any unsent assignments in the tree.
abstract boolean isValuationSufficient ()
abstract boolean knowsVariable (String variable)
abstract boolean notEnoughInfo ()
 If there is only one variable in this tree, that means that there is not enough information to send a good.
abstract void removeAMax ()
 Removes Amax from the tree.
abstract boolean setChildDone (int child)
 If a child has send a DONE message, the upper bound should be set to -infinity.
abstract void setFinalDomainSize (String[] variables, int[] domainSize)
 Sets the final domain size of the given variables.
abstract boolean stillToSend ()
abstract boolean pathExists (Val[] values)
 Tests whether a path, given by an array of value assignments, exists in the tree.
getMaximalCut ()
long getNumberOfGoodsSent ()
long getSizeOfSpace ()

Public Attributes

final boolean COLLECT_STATISTICS
 true when statistics should be collected, and false otherwise

Protected Member Functions

void solveLocalProblem ()
 Method used to solve the local problem and create an ordered list of all feasible assignments.
void countLeafNode ()
 Method used to count the number of leaf nodes created (includes the dummy nodes).
void countLeafNode (boolean real)
 Method used to count the number of leaf nodes created (includes the dummy nodes).
void countGoodsProduced ()
 Count rhe number of goods produced.

Protected Attributes

UtilitySolutionSpace< Val, U > localProblem
 The list of spaces this variable is responsible for.
int numberOfLocalVariables
 The number of local variables in the local problem.
IteratorBestFirst< Val, U > localProblemIterator
 Iterator that returns solutions to the local problem in a best first order.
final U infeasibleUtil
 The -infinite utility.
final U zero
 The zero utility.
int numberOfSpaces
 The number of spaces that together comprise the local problem.
Class<?> domainElementClass
 domain element used for reflection
int numberOfVariables
 The number of variables in the local problem.
String[] depthToVariable
 Links a level in the tree with its corresponding variable.
String ownVariable
 The variable that controls this LeafNodeTree.
int depthFinalVariable
 The depth of the last variable in the tree.
Val[] ownVarDomain
 The domain of ownVariable.
String[] outsideVariables
 The variables as they should be communicated with the outside world.
int[] valuesToBeRemoved
 Contains the indices of the values that need to be removed from the assigment before being send upwards.
int depthOfFirstToBeRemovedVariables
 All variables below this depth must be removed when sending a good.
HashMap< String, Integer > outsideVariablesMapping
 A mapping from outside variables to inside variables.
final boolean maximize
 true when we are maximizing, and false otherwise
long totalSeparatorSpaceSize = 1
 The size of the separator space.

Private Member Functions

void init (String ownVariable, Val[] ownVariableDomain, U zero, int numberOfChildren, List< UtilitySolutionSpace< Val, U > > spaces)
 Method to initialize all the variables.

Private Attributes

long numberOfLeafNodes
 Used to collect statistics about the sparsity of the tree.
long numberOfDummyLeafNodes
 Used to collect statistics about the number of dummynodes in the tree.
long numberOfGoodsProduced
 counts the number of goods that have been send

Static Private Attributes

static final long serialVersionUID = -4177378479261482364L
 Used for serialization.

Detailed Description

Author
Brammert Ottens, 9 nov 2009
Parameters
<Val>type used for variable values
<U>type used for utility values
<L>type used for the leaf node

Constructor & Destructor Documentation

◆ GoodsTree() [1/2]

frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.GoodsTree ( String ownVariable,
Val[] ownVariableDomain,
UtilitySolutionSpace< Val, U > space,
U zero,
int numberOfChildren,
U infeasibleUtil,
boolean maximize,
boolean collectStats )

A constructor.

Parameters
ownVariableThe variable that owns this tree
ownVariableDomainThe domain of ownVariable
spaceThe space controlled by this tree
zeroThe zero utility
numberOfChildrenThe number of children of this tree
infeasibleUtilThe infeasible utility
maximizewhen true we are maximizing, when false we are minimizing
collectStatstrue when statistics should be collected, and false otherwise

References COLLECT_STATISTICS, infeasibleUtil, init(), maximize, numberOfSpaces, ownVariable, and zero.

Here is the call graph for this function:

◆ GoodsTree() [2/2]

frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.GoodsTree ( String ownVariable,
Val[] ownVariableDomain,
List< UtilitySolutionSpace< Val, U > > spaces,
U zero,
int numberOfChildren,
U infeasibleUtil,
boolean maximize,
boolean collectStats )

A constructor.

Parameters
ownVariableThe variable that owns this tree
ownVariableDomainThe domain of ownVariable
spacesThe space controlled by this tree
zeroThe zero utility
numberOfChildrenThe number of children of this tree
infeasibleUtilThe infeasible utility
maximizewhen true we are maximizing, when false we are minimizing\
collectStatstrue when statistics should be collected, and false otherwise

References COLLECT_STATISTICS, infeasibleUtil, init(), maximize, numberOfSpaces, ownVariable, and zero.

Here is the call graph for this function:

Member Function Documentation

◆ add()

abstract boolean frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.add ( Good< Val, U > g,
int sender,
HashMap< String, Val[]> domains )
abstract

Adds a good to the tree.

Author
Brammert Ottens, 10 nov 2009
Parameters
gthe good to be added
senderthe child that reported the good
domainsreported variable domains
Returns
true when a new variable has been added, and false otherwise

Reimplemented in frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >, and frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.

◆ countGoodsProduced()

void frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.countGoodsProduced ( )
protected

Count rhe number of goods produced.

Author
Brammert Ottens, 8 dec 2010

◆ countLeafNode() [1/2]

◆ countLeafNode() [2/2]

void frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.countLeafNode ( boolean real)
protected

Method used to count the number of leaf nodes created (includes the dummy nodes).

Author
Brammert Ottens, 21 okt 2010
Parameters
realif true the leaf is a real leafnode, otherwise it is a dummy node

◆ getAmax()

abstract Good< Val, U > frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.getAmax ( )
abstract

◆ getBestAssignmentForOwnVariable()

abstract void frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.getBestAssignmentForOwnVariable ( HashMap< String, Val > context)
abstract

Given the assignment of variables in its separator, this method updates the context with the best value for the variable that owns the tree.

Parameters
contextA collection of assignments of variables in the separator

Reimplemented in frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >, and frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.

◆ getChildSeparatorReportingOrder()

abstract String[] frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.getChildSeparatorReportingOrder ( int child)
abstract

Returns the variables in the childs separator in the order it reported them.

Author
Brammert Ottens, 19 aug 2009
Parameters
childthe child who's separator we want to know
Returns
the separator variables of the child

Reimplemented in frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >, and frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.

◆ getChildValues()

abstract HashMap< String, Val > frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.getChildValues ( HashMap< String, Val > parentContext,
int child )
abstract

Given a map that maps variables to values, this method returns the values belonging to the variables in a child's separator.

Author
Brammert Ottens, 19 aug 2009
Parameters
parentContextthe value map
childthe child for who we want to know the separator values
Returns
an array containing the values of the child's separator variables

Reimplemented in frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >, and frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.

◆ getDomains()

◆ getDummiesFillPercentage()

double frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.getDummiesFillPercentage ( )
Returns
the percentage of dummies created

◆ getFinalDomainSize()

◆ getMaximalCut()

U frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.getMaximalCut ( )
Author
Brammert Ottens, 28 jan. 2011
Returns
the maximal value with which the utility had to be cut to guarantee best first order

References localProblem, and frodo2.solutionSpaces.UtilitySolutionSpace< V extends Addable< V >, U extends Addable< U > >.IteratorBestFirst< V, U >.maximalCut().

Here is the call graph for this function:

◆ getNumberOfDummies()

long frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.getNumberOfDummies ( )
Returns
thte total number of dummies created

◆ getNumberOfGoodsSent()

long frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.getNumberOfGoodsSent ( )
Author
Brammert Ottens, 8 dec 2010
Returns
the number of goods that have been sent

◆ getSizeOfSpace()

long frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.getSizeOfSpace ( )
Author
Brammert Ottens, 8 dec 2010
Returns
the size of the separator space

◆ getTreeFillPercentage()

double frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.getTreeFillPercentage ( )
Author
Brammert Ottens, 4 dec 2009
Returns
the percentage of the tree that has been filled

◆ greaterThan()

◆ greaterThanOrEqual()

◆ hasFullInfo()

◆ hasMore()

◆ init()

void frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.init ( String ownVariable,
Val[] ownVariableDomain,
U zero,
int numberOfChildren,
List< UtilitySolutionSpace< Val, U > > spaces )
private

Method to initialize all the variables.

Author
Brammert Ottens, 12 nov 2009
Parameters
ownVariableThe variable that owns this tree
ownVariableDomainThe domain of the own variable
zeroThe zero utility
numberOfChildrenThe number of children of this tree
spacesThe local problem

References depthFinalVariable, depthOfFirstToBeRemovedVariables, depthToVariable, init(), localProblem, numberOfLocalVariables, numberOfSpaces, numberOfVariables, outsideVariables, ownVarDomain, ownVariable, and zero.

Referenced by GoodsTree(), GoodsTree(), and init().

Here is the call graph for this function:

◆ isValuationSufficient()

◆ knowsVariable()

abstract boolean frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.knowsVariable ( String variable)
abstract

◆ notEnoughInfo()

◆ pathExists()

abstract boolean frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.pathExists ( Val[] values)
abstract

Tests whether a path, given by an array of value assignments, exists in the tree.

Note that this method assumes that position in the array corresponds to the depth of the corresponding variable

Author
Brammert Ottens, 29 jun 2009
Parameters
valuesthe value assignments
Returns
true when the path exists, and false otherwise

Reimplemented in frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >, and frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.

◆ removeAMax()

◆ setChildDone()

abstract boolean frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.setChildDone ( int child)
abstract

If a child has send a DONE message, the upper bound should be set to -infinity.

Author
Brammert Ottens, 30 sep 2009
Parameters
childthe child that sent the DONE message
Returns
true when the remaining local problem became infeasible, and false otherwise

Reimplemented in frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >, and frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.

◆ setChildrenSeparator()

abstract void frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.setChildrenSeparator ( int child,
String[] variables )
abstract

Initializes the separator of a child.

This method should only be called when one receives the first message from a particular child. After that, the process of adding new variables should take care of the rest.

Parameters
childthe child whose separator must be set
variablesthe variables in its separator

Reimplemented in frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >, and frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.

◆ setFinalDomainSize()

abstract void frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.setFinalDomainSize ( String[] variables,
int[] domainSize )
abstract

Sets the final domain size of the given variables.

Author
Brammert Ottens, 26 jun 2009
Parameters
variablesthe variables whose final domain sizes are known
domainSizethe domain sizes of the variables given in variables

Reimplemented in frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >, and frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.

◆ solveLocalProblem()

◆ stillToSend()

Member Data Documentation

◆ COLLECT_STATISTICS

◆ depthFinalVariable

int frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.depthFinalVariable
protected

The depth of the last variable in the tree.

Referenced by frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.addNewVariable(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.addToTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.compareWithHypercube(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.createPathNoUB(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.createPathWithUB(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.fillTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.findMaxUB(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.generateAssignments(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.getBestAssignmentForOwnVariable(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.getFinalDomainSize(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.getOwnAssignment(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.getOwnVariableOptions(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.getOwnVariableOptions(), init(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.init(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.init(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.initiateBounds(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.localPathAlive(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.pathAlive(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.removeInconsistencies(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.UBexists(), and frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.Utilexists().

◆ depthOfFirstToBeRemovedVariables

◆ depthToVariable

String [] frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.depthToVariable
protected

Links a level in the tree with its corresponding variable.

Referenced by frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.addNewVariable(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.addToTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.compareWithHypercube(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.compareWithHypercube(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.createPathNoUB(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.createPathWithUB(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.fillTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.generateAssignments(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.getAmax(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.getBestAssignmentForOwnVariable(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.getDomains(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.getDomains(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.getOwnAssignment(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.getOwnVariableOptions(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.getUtilityLocalProblem(), init(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.init(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.init(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.initiateBounds(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.pathExists(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.pathExists(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.pathExists(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.removePath(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.toString(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.updateLocalProblem(), and frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.updatePath().

◆ domainElementClass

◆ infeasibleUtil

final U frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.infeasibleUtil
protected

The -infinite utility.

Referenced by frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.add(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.checkLeaf(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.createLeaf(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.createLeaf(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.findMaxUB(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.getAmax(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.getOwnVariableOptions(), GoodsTree(), GoodsTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.hasSupport(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.isValuationSufficient(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.recalculateUB(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.removeAMax(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.removeInconsistencies(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.setChildDone(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.setOldUB(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.treeSize(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.updateLocalProblem(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.updatePath(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.updateUpperBoundSums(), and frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.upperBoundChangesUtil().

◆ localProblem

UtilitySolutionSpace<Val, U> frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.localProblem
protected

The list of spaces this variable is responsible for.

Referenced by frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.getDomains(), getMaximalCut(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.getUtilityLocalProblem(), init(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.init(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.init(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), and solveLocalProblem().

◆ localProblemIterator

◆ maximize

final boolean frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.maximize
protected

true when we are maximizing, and false otherwise

Referenced by frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.addVariableToTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.createPathNoUB(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.createPathWithUB(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.fillTree(), GoodsTree(), GoodsTree(), greaterThan(), greaterThanOrEqual(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.initiateBounds(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.LeafNodeTree(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.LeafNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.removeInconsistencies(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.removePath(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.setChildDone(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.setOldUB(), solveLocalProblem(), and frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.updatePath().

◆ numberOfDummyLeafNodes

long frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.numberOfDummyLeafNodes
private

Used to collect statistics about the number of dummynodes in the tree.

◆ numberOfGoodsProduced

long frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.numberOfGoodsProduced
private

counts the number of goods that have been send

◆ numberOfLeafNodes

long frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.numberOfLeafNodes
private

Used to collect statistics about the sparsity of the tree.

◆ numberOfLocalVariables

int frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.numberOfLocalVariables
protected

◆ numberOfSpaces

◆ numberOfVariables

int frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.numberOfVariables
protected

The number of variables in the local problem.

Referenced by frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.add(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.addNewVariable(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.addVariableToTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.compareWithHypercube(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.finalDomainSizeReceiver(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.getAmax(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.getBestAssignmentForOwnVariable(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.getDomains(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.getDomains(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.getOwnAssignment(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.getOwnVariableOptions(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.IntArrayWrapper.getPartialAssignment(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.getUtilityLocalProblem(), init(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.init(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.init(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.notEnoughInfo(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.notEnoughInfo(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.pathExists(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.pathExists(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.toKey(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.toString(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.treeSize(), and frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.updateLocalProblem().

◆ outsideVariables

String [] frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.outsideVariables
protected

◆ outsideVariablesMapping

HashMap<String, Integer> frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.outsideVariablesMapping
protected

A mapping from outside variables to inside variables.

◆ ownVarDomain

◆ ownVariable

String frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.ownVariable
protected

The variable that controls this LeafNodeTree.

Referenced by frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.getOwnAssignment(), GoodsTree(), GoodsTree(), init(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.init(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.LeafNodeTree(), and frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.LeafNodeTree().

◆ serialVersionUID

final long frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.serialVersionUID = -4177378479261482364L
staticprivate

Used for serialization.

◆ totalSeparatorSpaceSize

◆ valuesToBeRemoved

int [] frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.valuesToBeRemoved
protected

Contains the indices of the values that need to be removed from the assigment before being send upwards.

◆ zero

final U frodo2.algorithms.odpop.goodsTree.GoodsTree< Val extends Addable< Val >, U extends Addable< U >, L extends Node< U > >.zero
protected

The zero utility.

Referenced by frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.add(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.checkLeaf(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.checkUpperBoundSums(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.getUtilityLocalProblem(), GoodsTree(), GoodsTree(), init(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.init(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.init(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.initializeUpperBoundSums(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.InnerNodeTree(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.LeafNodeTree(), frodo2.algorithms.odpop.goodsTree.leafNodeTree.LeafNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > >.LeafNodeTree(), and frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.updateUpperBoundSums().


The documentation for this class was generated from the following file: