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.
U calculateUB (U[] upperBoundsSum, boolean maximize)
 Method to calculate the current upper bound.
U 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.
U calculateUB (U[] upperBoundsSum, final boolean maximize)
 Method to calculate the current upper bound.
U 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

U 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