FRODO Version 2.19.1
An open-source framework for Distributed Constraint Optimization (DCOP)
Loading...
Searching...
No Matches
frodo2.algorithms.asodpop.goodsTree.innerNodeTree.LeafNode< U extends Addable< U > > Class Template Reference

The leaf node of a tree. More...

Inheritance diagram for frodo2.algorithms.asodpop.goodsTree.innerNodeTree.LeafNode< U extends Addable< U > >:

Public Member Functions

 LeafNode ()
 Empty constructor.
 LeafNode (int confirmedCounter, int[] powersOf2)
 A constructor.
 LeafNode (int confirmedCounter, U util, int[] powersOf2)
 A constructor.
calculateUB (U[] upperBoundsSum, boolean maximize)
 Method to calculate the current upper bound.
calculateUBTest (U[] upperBoundsSum)
 Method to calculate the current upper bound.
void updateLeafNoUB (frodo2.algorithms.odpop.Good<?, U > g, U utilityDelta, int sender, int[] powersOf2, final boolean maximize)
 Update the utility information in this leaf node.
void updateLeafWithUB (frodo2.algorithms.odpop.Good<?, U > g, U utilityDelta, int sender, U[] upperBoundSums, int[] powersOf2, boolean compatibleAssignmentReceived, final boolean maximize)
void setInfeasable (U infeasibleUtil)
Public Member Functions inherited from frodo2.algorithms.odpop.goodsTree.InnerNodeTree.LeafNode< U >
 LeafNode ()
 Empty constructor.
calculateUB (U[] upperBoundsSum, final boolean maximize)
 Method to calculate the current upper bound.
calculateUBTest (U[] upperBoundsSum)
 Method to calculate the current upper bound.
void updateLeafWithUB (Good<?, U > g, U utilityDelta, int sender, U[] upperBoundSums, int[] powersOf2, boolean compatibleAssignmentReceived, final boolean maximize)
 Update both the utility and the UB information in this leaf node.
boolean utilCandidate (U maxUtil, final boolean maximize)

Public Attributes

confirmedUtil
 The amount of confirmed utility stored in this leaf.
Public Attributes inherited from frodo2.algorithms.odpop.goodsTree.InnerNodeTree.LeafNode< U >
boolean real
 True if this node is a dummy node, and false otherwise.

Package Functions

public< L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > > L newInstance (int confirmedCounter, int[] powersOf2)
 Create a new instance of the leaf node.
public< L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > > L newInstance (int confirmedCounter, U util, int[] powersOf2)
 Create a new instance of the leaf node.
Package Functions inherited from frodo2.algorithms.odpop.goodsTree.InnerNodeTree.LeafNode< U >
public< L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > > L newInstance (int confirmedCounter, int[] powersOf2)
 Create a new instance of the leaf node.

Detailed Description

The leaf node of a tree.

Author
brammert
Parameters
<U>the type used to represent a utility value

Constructor & Destructor Documentation

◆ LeafNode() [1/3]

Empty constructor.

Referenced by newInstance(), and newInstance().

◆ LeafNode() [2/3]

frodo2.algorithms.asodpop.goodsTree.innerNodeTree.LeafNode< U extends Addable< U > >.LeafNode ( int confirmedCounter,
int[] powersOf2 )

A constructor.

Parameters
confirmedCounterthe number of confirmed assignments to be received
powersOf2precomputed powers of 2

◆ LeafNode() [3/3]

frodo2.algorithms.asodpop.goodsTree.innerNodeTree.LeafNode< U extends Addable< U > >.LeafNode ( int confirmedCounter,
U util,
int[] powersOf2 )

A constructor.

Parameters
confirmedCounterthe number of confirmed assignments to be received
utilthe already receive utility
powersOf2precomputed powers of 2

Member Function Documentation

◆ calculateUB()

U frodo2.algorithms.asodpop.goodsTree.innerNodeTree.LeafNode< U extends Addable< U > >.calculateUB ( U[] upperBoundsSum,
boolean maximize )

Method to calculate the current upper bound.

Note that the UB field is not updated. That should only happen when this method is called from a leaf node!

Parameters
upperBoundsSumA list of all possible sums of the upper bounds
maximize
Todo
Returns
the current upper bound

References confirmedUtil, and frodo2.algorithms.odpop.goodsTree.InnerNodeTree.LeafNode< U >.real.

Referenced by updateLeafWithUB().

◆ calculateUBTest()

U frodo2.algorithms.asodpop.goodsTree.innerNodeTree.LeafNode< U extends Addable< U > >.calculateUBTest ( U[] upperBoundsSum)

Method to calculate the current upper bound.

Note that the UB field is not updated. That should only happen when this method is called from a leaf node!

Parameters
upperBoundsSumA list of all possible sums of the upper bounds
Returns
the current upper bound

References confirmedUtil.

◆ newInstance() [1/2]

public< L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > > L frodo2.algorithms.asodpop.goodsTree.innerNodeTree.LeafNode< U extends Addable< U > >.newInstance ( int confirmedCounter,
int[] powersOf2 )
package

Create a new instance of the leaf node.

Author
Brammert Ottens, 1 july 2009
Parameters
confirmedCounterthe number of children of this leaf node
powersOf2precomputed powers of 2
Returns
a new leaf node

References LeafNode().

Referenced by frodo2.algorithms.asodpop.goodsTree.innerNodeTree.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U > >.createLeaf(), and frodo2.algorithms.asodpop.goodsTree.innerNodeTree.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U > >.createLeaf().

Here is the call graph for this function:

◆ newInstance() [2/2]

public< L extends frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U > > L frodo2.algorithms.asodpop.goodsTree.innerNodeTree.LeafNode< U extends Addable< U > >.newInstance ( int confirmedCounter,
U util,
int[] powersOf2 )
package

Create a new instance of the leaf node.

Author
Brammert Ottens, 1 july 2009
Parameters
confirmedCounterthe number of children of this leaf node
utilthe utility of the local problem
powersOf2precomputed powers of 2
Returns
a new leaf node

References LeafNode().

Here is the call graph for this function:

◆ setInfeasable()

◆ updateLeafNoUB()

void frodo2.algorithms.asodpop.goodsTree.innerNodeTree.LeafNode< U extends Addable< U > >.updateLeafNoUB ( frodo2.algorithms.odpop.Good<?, U > g,
U utilityDelta,
int sender,
int[] powersOf2,
final boolean maximize )

Update the utility information in this leaf node.

Author
Brammert Ottens, 4 July 2009
Parameters
gthe good currently being processed
utilityDeltathe difference with the previous utility received from sender for this assignment
senderthe sender of the good
powersOf2precomputed powers of 2
maximizewhen true we are maximizing, when false we are minimizing

References confirmedUtil, frodo2.algorithms.asodpop.Good< Val extends Addable< Val >, U extends Addable< U > >.isConfirmed(), and frodo2.algorithms.odpop.goodsTree.InnerNodeTree.LeafNode< U >.real.

Here is the call graph for this function:

◆ updateLeafWithUB()

Member Data Documentation

◆ confirmedUtil

The amount of confirmed utility stored in this leaf.

Referenced by calculateUB(), calculateUBTest(), updateLeafNoUB(), and updateLeafWithUB().


The documentation for this class was generated from the following file:
  • src/frodo2/algorithms/asodpop/goodsTree/innerNodeTree/LeafNode.java