|
FRODO Version 2.19.1
An open-source framework for Distributed Constraint Optimization (DCOP)
|
The leaf node of a tree. More...

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. | |
The leaf node of a tree.
| <U> | the type used to represent a utility value |
| frodo2.algorithms.asodpop.goodsTree.innerNodeTree.LeafNode< U extends Addable< U > >.LeafNode | ( | ) |
Empty constructor.
Referenced by newInstance(), and newInstance().
| frodo2.algorithms.asodpop.goodsTree.innerNodeTree.LeafNode< U extends Addable< U > >.LeafNode | ( | int | confirmedCounter, |
| int[] | powersOf2 ) |
A constructor.
| confirmedCounter | the number of confirmed assignments to be received |
| powersOf2 | precomputed powers of 2 |
| frodo2.algorithms.asodpop.goodsTree.innerNodeTree.LeafNode< U extends Addable< U > >.LeafNode | ( | int | confirmedCounter, |
| U | util, | ||
| int[] | powersOf2 ) |
A constructor.
| confirmedCounter | the number of confirmed assignments to be received |
| util | the already receive utility |
| powersOf2 | precomputed powers of 2 |
| 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!
| upperBoundsSum | A list of all possible sums of the upper bounds |
| maximize |
References confirmedUtil, and frodo2.algorithms.odpop.goodsTree.InnerNodeTree.LeafNode< U >.real.
Referenced by updateLeafWithUB().
| 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!
| upperBoundsSum | A list of all possible sums of the upper bounds |
References confirmedUtil.
|
package |
Create a new instance of the leaf node.
| confirmedCounter | the number of children of this leaf node |
| powersOf2 | precomputed powers of 2 |
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().

|
package |
Create a new instance of the leaf node.
| confirmedCounter | the number of children of this leaf node |
| util | the utility of the local problem |
| powersOf2 | precomputed powers of 2 |
References LeafNode().

| void frodo2.algorithms.asodpop.goodsTree.innerNodeTree.LeafNode< U extends Addable< U > >.setInfeasable | ( | U | infeasibleUtil | ) |
| 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.
| g | the good currently being processed |
| utilityDelta | the difference with the previous utility received from sender for this assignment |
| sender | the sender of the good |
| powersOf2 | precomputed powers of 2 |
| maximize | when 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.

| void frodo2.algorithms.asodpop.goodsTree.innerNodeTree.LeafNode< U extends Addable< U > >.updateLeafWithUB | ( | frodo2.algorithms.odpop.Good<?, U > | g, |
| U | utilityDelta, | ||
| int | sender, | ||
| U[] | upperBoundSums, | ||
| int[] | powersOf2, | ||
| boolean | compatibleAssignmentReceived, | ||
| final boolean | maximize ) |
References calculateUB(), confirmedUtil, frodo2.algorithms.odpop.Good< Val extends Addable< Val >, U extends Addable< U > >.getUtility(), frodo2.algorithms.asodpop.Good< Val extends Addable< Val >, U extends Addable< U > >.isConfirmed(), and frodo2.algorithms.odpop.goodsTree.InnerNodeTree.LeafNode< U >.real.

| U frodo2.algorithms.asodpop.goodsTree.innerNodeTree.LeafNode< U extends Addable< U > >.confirmedUtil |
The amount of confirmed utility stored in this leaf.
Referenced by calculateUB(), calculateUBTest(), updateLeafNoUB(), and updateLeafWithUB().