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

Public Member Functions | |
| InnerNode (int nbrOfChildren) | |
| A constructor. | |
| InnerNode (Node< U >[] children) | |
| A constructor. | |
| void | setUtil (int index, boolean direct) |
| Set the maximal utility for this node. | |
| void | enlargeChildrenArray (int enlargement, boolean dummy) |
| If maxUBChild points to the dummy child, its value should be increased by 1. | |
| boolean | removeDummy () |
| Method to remove the dummy child. | |
| boolean | check1 () |
| boolean | check2 (final boolean maximize) |
| boolean | check4 () |
| boolean | recalculateUtil () |
| Public Member Functions inherited from frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNode< U, L > | |
| InnerNode (int nbrOfChildren) | |
| A constructor. | |
| Node< U > | getExample () |
| L | getMaxUB () |
| int | getMaxUBChild () |
| int | getMaxChild () |
| L | getMaxUtil () |
| void | setUtil (int index, boolean direct) |
| Set the maximal utility for this node. | |
| void | setUB (int index, boolean direct) |
| Set the maximal upper bound for this node. | |
| void | enlargeChildrenArray (int enlargement, boolean dummy) |
| If maxUBChild points to the dummy child, its value should be increased by 1. | |
| Node< U > | getChild (int i) |
| Return a specific child of this node. | |
| void | setChild (Node< U > child, int position) |
| Add a child in a particular position. | |
| void | retainOnly (int child) |
| This method is used when the assignment belonging to leaf child has been sent as a confirmed good. | |
| boolean | utilCandidate (U maxUtil, final boolean maximize) |
| boolean | ubCandidate (U maxUB, final boolean maximize) |
| U | getUtil () |
| U | getUB () |
| boolean | hasUtil () |
| boolean | hasUB () |
| boolean | check1 () |
| If there is a util, there must be an upperbound as well. | |
| boolean | check2 (final boolean maximize) |
| Either the utility is lower than the upperbound, or the utility is not up to date. | |
| boolean | check3 (final boolean maximize) |
| Either the utility is not up to date or it is not greater than the upper bound. | |
| boolean | check4 () |
| If there is an upper bound, and its utility is up to date, then there must also be a utility. | |
| boolean | check5 (U[] upperBoundSums, final boolean maximize) |
| Check whether the upperbound is up to date. | |
| boolean | recalculateUtil () |
Public Attributes | |
| boolean | real |
| True if this node is a dummy node, and false otherwise. | |
| Public Attributes inherited from frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNode< U, L > | |
| Node< U >[] | children |
| The children of this node. | |
Additional Inherited Members | |
| Protected Attributes inherited from frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNode< U, L > | |
| int | maxChild |
| the branch from this node to the assignment that has the highest utility | |
| int | maxUBChild |
| the branch from this node to the assignment that has the highest upper bound | |
| L | util |
| The utility stored in this node. | |
| L | UB |
| The UB stored in this node. | |
The inner node of a tree.
| <U> | the type used to represent a utility value |
| <L> | the type of LeafNode that is to be used |
| frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNode< U extends Addable< U >, L extends LeafNode< U > >.InnerNode | ( | int | nbrOfChildren | ) |
| frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNode< U extends Addable< U >, L extends LeafNode< U > >.InnerNode | ( | Node< U >[] | children | ) |
A constructor.
| children | the number of children of this node |
References frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNode< U, L >.children, and real.
| boolean frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNode< U extends Addable< U >, L extends LeafNode< U > >.check1 | ( | ) |
| boolean frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNode< U extends Addable< U >, L extends LeafNode< U > >.check2 | ( | final boolean | maximize | ) |
| maximize | true when maximizing, and false when minimizing |
References frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNode< U, L >.UB, and frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNode< U, L >.util.
Referenced by frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.fillTree(), and frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.updatePath().
| boolean frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNode< U extends Addable< U >, L extends LeafNode< U > >.check4 | ( | ) |
| void frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNode< U extends Addable< U >, L extends LeafNode< U > >.enlargeChildrenArray | ( | int | enlargement, |
| boolean | dummy ) |
If maxUBChild points to the dummy child, its value should be increased by 1.
| enlargement | the number of children slots that need to be added |
| dummy | true when this node contains a dummy value |
References frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNode< U, L >.children, and frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNode< U, L >.maxUBChild.
Referenced by frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.addNewDomainElementNoUB(), frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.initiateBounds(), and frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.updatePath().
| boolean frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNode< U extends Addable< U >, L extends LeafNode< U > >.recalculateUtil | ( | ) |
| boolean frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNode< U extends Addable< U >, L extends LeafNode< U > >.removeDummy | ( | ) |
Method to remove the dummy child.
if true then the UB has been removed and a new UB must be calculated
References frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNode< U, L >.children, frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.Node< U extends Addable< U > >.newInstance(), and removeDummy().
Referenced by frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.removeDummies(), and removeDummy().

| void frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNode< U extends Addable< U >, L extends LeafNode< U > >.setUtil | ( | int | index, |
| boolean | direct ) |
Set the maximal utility for this node.
| index | the index of the child that contains this maximal utility |
| direct | true when all the children are leafnodes, and false otherwise |
References frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNode< U, L >.children, InnerNode(), frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNode< U, L >.maxChild, setUtil(), and frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNode< U, L >.util.
Referenced by frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.addNewDomainElementNoUB(), frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.addVariableToTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.createPathNoUB(), frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.createPathWithUB(), frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.fillTree(), frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.initiateBounds(), setUtil(), and frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.updatePath().

| boolean frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNode< U extends Addable< U >, L extends LeafNode< U > >.real |
True if this node is a dummy node, and false otherwise.
Referenced by frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.addNewDomainElementNoUB(), frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.initiateBounds(), InnerNode(), InnerNode(), recalculateUtil(), and frodo2.algorithms.odpop.goodsTree.InnerNodeTree.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.updatePath().