|
FRODO Version 2.19.1
An open-source framework for Distributed Constraint Optimization (DCOP)
|
Helper class that contains all the info belonging to a specific variable. More...
Public Member Functions | |
| VariableInfo (String variableID, Val[] domain, U zero) | |
| Constructor. | |
| void | storeConstraint (UtilitySolutionSpace< Val, U > space) |
| Makes this variable responsible for this constraint. | |
| void | setDelta () |
| Given the current context, set the utilities for each value of this variable. | |
| void | setCurrentAssignmentSingleton () |
| This function is used to find the optimal decision of a singleton agent. | |
| void | setLowerBoundChild (String child, UtilitySolutionSpace< Val, U > bounds) |
Set the lower bound found by the Preprocessing module for child. | |
| void | setOwnLowerBound (UtilitySolutionSpace< Val, U > bounds) |
| Set the lower bound on ones own values, as determined by the Preprocessing module. | |
| void | initializeBounds (U upperBound) |
| Initializes the lower bounds to the value in lowerBounds, and set the upper bounds all to the same value upperBound. | |
| void | resetBounds (Val d, String child, U upperBound) |
| Resets the bounds for a particular value / child combination. | |
| void | updateBounds (Val value, int child, U newLb, U newUb) |
| Updates the bounds. | |
| void | computeLB (Val value) |
| Computes the sum of all child lower bounds for domain value "value". | |
| void | computeUB (Val value) |
| Computes the sum of all child upper bounds for domain value "value". | |
| void | resetChildThreshold (Val d, String child, U zero) |
| Resets the threshold for a particular value / child combination. | |
| void | resetChildContext (Val d, int i) |
| Resets the context for a particular value / child combination. | |
| void | setSeparator (String parent, List< String > pseudoParents) |
| Sets the separator of this variable. | |
| void | setLowerNeighbours (List< String > children, List< String > pseudoChildren, U zero) |
| Sets the lower neighbours of this variable. | |
| U | getCurrentDelta () |
| Getter function. | |
| boolean | isSingleton () |
| Check to see if this variable has any neighbours. | |
| boolean | isReady () |
| A Variable is ready to start adopt when it has received all preprocessing messages. | |
| boolean | checkUpperBounds () |
| This functions checks, for each value, whether the bounds add up and are equal to the overall bound. | |
| String | toString () |
Public Attributes | |
| boolean | initialized = false |
| false when the variable is not initialized yet and true otherwise | |
| boolean | terminate = false |
| true when the variable received a terminate message from its parent | |
| boolean | execution_terminated = false |
| true when execution has been terminated | |
| boolean | full_info = false |
| True when the variable has received a VALUE message from all its higher priority neighbours. | |
| int | full_info_counter = 0 |
| Counts from how many agents it has received a VALUE message. | |
| int | nbrOfSeparators = 0 |
| The number of higher priority neighbours. | |
| Message[] | lastValueSent |
| For each lower priority neighbour the last VALUE message that has been sent. | |
| Message | lastMessageReceived = null |
| Remembers the last message that has been received. | |
| String | variableID |
| This variable's ID. | |
| String[] | lowerNeighbours |
| This variable's a list of lower neighbours. | |
| HashMap< String, U > | hChild |
| The lower bounds for the children determined by the Preprocessing module. | |
| UtilitySolutionSpace< Val, U > | h |
| The variables own lower bounds determined by the Preprocessing module. | |
| int | numberOfChildren |
| This variable's number of children. | |
| String[] | separator |
| The variable's parent and pseudo parents, separator[0] = parent, rest is pseudo parent. | |
| HashMap< String, Integer > | neighbours |
| A list of my neighbours and their pointers in the separator and lowerNeighbours lists. | |
| ArrayList< ArrayList< U > > | lb |
| For each variable/value v/d combination it contains a list of lower bounds for v's children. | |
| U[] | lbSUM |
| Stores the sum of all the values in lb. | |
| ArrayList< ArrayList< U > > | ub |
| For each variable/value v/d combination it contains a list of upper bounds for v's children. | |
| U[] | ubSUM |
| Stores the sum of all the values in ub. | |
| U[][] | t |
| For each variable/value v/d combination it contains the distribution of v's threshold over its children. | |
| U | UB |
| The current minimal upper bound. | |
| ArrayList< U > | UBperD |
| For each value the upper bound. | |
| U | LB |
| The current minimal lower bound. | |
| ArrayList< U > | LBperD |
| For each value the lower bound. | |
| Val | lbD |
| The value that minimizes the lower bound. | |
| Val | ubD |
| The value that minimizes the upper bound. | |
| Val | currentAssignment |
| For each variable the current assignment. | |
| ArrayList< U > | delta |
| Given the current context, this map contains the utilities for each value of this variable. | |
| HashMap< Val, Integer > | valuePointer |
| For each value the position in the lb and ub arrays. | |
| ArrayList< Val > | domain |
| The domain of this variable. | |
| U | threshold |
| The current threshold. | |
| ArrayList< ArrayList< HashMap< String, Val > > > | context |
| For each value and child, its context. | |
| HashMap< String, Val > | currentContext |
| For each variable, its current context. | |
| BufferedWriter | logFile |
| This variables private log file. | |
Private Attributes | |
| U | zero |
| A zero utility. | |
| UtilitySolutionSpace< Val, U > | space |
| The join of all constraints this variable is responsible for. | |
Helper class that contains all the info belonging to a specific variable.
| <Val> | the type used for variable values |
| <U> | the type used for utility values |
| frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.VariableInfo | ( | String | variableID, |
| Val[] | domain, | ||
| U | zero ) |
Constructor.
| variableID | the name of the variable |
| domain | the variable's domain |
| zero | the zero utility |
References context, currentAssignment, currentContext, delta, domain, hChild, LB, lb, LBperD, lbSUM, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.LOG, logFile, neighbours, t, UB, ub, UBperD, ubSUM, valuePointer, variableID, VariableInfo(), and zero.
Referenced by VariableInfo().

| boolean frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.checkUpperBounds | ( | ) |
This functions checks, for each value, whether the bounds add up and are equal to the overall bound.
References delta, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.infinity, ub, UBperD, valuePointer, and zero.
| void frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.computeLB | ( | Val | value | ) |
Computes the sum of all child lower bounds for domain value "value".
| value | the domain value |
References frodo2.solutionSpaces.AddableDelayed< T extends Addable< T > >.addDelayed(), computeLB(), delta, h, LB, lb, lbD, LBperD, lbSUM, frodo2.solutionSpaces.AddableDelayed< T extends Addable< T > >.resolve(), valuePointer, and zero.
Referenced by computeLB(), resetBounds(), and updateBounds().

| void frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.computeUB | ( | Val | value | ) |
Computes the sum of all child upper bounds for domain value "value".
| value | the domain value |
References frodo2.solutionSpaces.AddableDelayed< T extends Addable< T > >.addDelayed(), delta, full_info, frodo2.solutionSpaces.AddableDelayed< T extends Addable< T > >.resolve(), UB, ub, ubD, UBperD, ubSUM, valuePointer, and zero.
Referenced by resetBounds(), and updateBounds().

| U frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.getCurrentDelta | ( | ) |
Getter function.
References currentAssignment, delta, and valuePointer.
| void frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.initializeBounds | ( | U | upperBound | ) |
Initializes the lower bounds to the value in lowerBounds, and set the upper bounds all to the same value upperBound.
| upperBound | the upper bound value |
References hChild, initializeBounds(), lbSUM, ubSUM, and zero.
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.init(), and initializeBounds().

| boolean frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.isReady | ( | ) |
A Variable is ready to start adopt when it has received all preprocessing messages.
That is, 1 message from its own preprocessing phase, and 1 for each one of its children.
true when ready to start, and false otherwise References h, hChild, and numberOfChildren.
| boolean frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.isSingleton | ( | ) |
Check to see if this variable has any neighbours.
References neighbours.
| void frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.resetBounds | ( | Val | d, |
| String | child, | ||
| U | upperBound ) |
Resets the bounds for a particular value / child combination.
| d | the value |
| child | the child |
| upperBound | the upper bound |
References computeLB(), computeUB(), lb, neighbours, ub, valuePointer, and zero.

| void frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.resetChildContext | ( | Val | d, |
| int | i ) |
Resets the context for a particular value / child combination.
| d | the value |
| i | the index of the child |
References context, and valuePointer.
| void frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.resetChildThreshold | ( | Val | d, |
| String | child, | ||
| U | zero ) |
Resets the threshold for a particular value / child combination.
| d | the value |
| child | the child |
| zero | the zero utility |
References neighbours, t, valuePointer, and zero.
| void frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.setCurrentAssignmentSingleton | ( | ) |
This function is used to find the optimal decision of a singleton agent.
References currentAssignment, delta, valuePointer, and zero.
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.decideSingleton().
| void frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.setDelta | ( | ) |
Given the current context, set the utilities for each value of this variable.
References delta, domain, full_info, LB, lbD, LBperD, lbSUM, UB, ubD, UBperD, ubSUM, valuePointer, and zero.
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.decideSingleton(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.handleTERMINATEmessage(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.handleVALUEmessage(), and frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.init().
| void frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.setLowerBoundChild | ( | String | child, |
| UtilitySolutionSpace< Val, U > | bounds ) |
Set the lower bound found by the Preprocessing module for child.
| child | The child to whom the bounds belong |
| bounds | The bounds themselves |
References frodo2.solutionSpaces.UtilitySolutionSpace< V extends Addable< V >, U extends Addable< U > >.blindProjectAll(), and hChild.

| void frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.setLowerNeighbours | ( | List< String > | children, |
| List< String > | pseudoChildren, | ||
| U | zero ) |
Sets the lower neighbours of this variable.
The first k are the children, the rest the pseudochildren
| children | the list of children |
| pseudoChildren | the list of pseudo-children |
| zero | the zero utility |
References lowerNeighbours, numberOfChildren, setLowerNeighbours(), valuePointer, and zero.
Referenced by setLowerNeighbours().

| void frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.setOwnLowerBound | ( | UtilitySolutionSpace< Val, U > | bounds | ) |
Set the lower bound on ones own values, as determined by the Preprocessing module.
| bounds | The bounds |
References h.
| void frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.setSeparator | ( | String | parent, |
| List< String > | pseudoParents ) |
Sets the separator of this variable.
| parent | the parent (or null if any) |
| pseudoParents | the list of pseudo-parents |
References nbrOfSeparators, neighbours, and separator.
| void frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.storeConstraint | ( | UtilitySolutionSpace< Val, U > | space | ) |
Makes this variable responsible for this constraint.
| space | the constraint |
References frodo2.solutionSpaces.UtilitySolutionSpace< V extends Addable< V >, U extends Addable< U > >.join(), and space.

| String frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.toString | ( | ) |
References context, currentAssignment, currentContext, delta, LB, lb, lbD, LBperD, numberOfChildren, separator, t, threshold, UB, ub, ubD, UBperD, and variableID.
| void frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.updateBounds | ( | Val | value, |
| int | child, | ||
| U | newLb, | ||
| U | newUb ) |
Updates the bounds.
| value | the value |
| child | the child |
| newUb | the new upper bound |
| newLb | the new lower bound |
References computeLB(), computeUB(), lb, ub, and valuePointer.

| ArrayList<ArrayList<HashMap<String, Val> > > frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.context |
For each value and child, its context.
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.checkChildInfo(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.handleCOSTmessage(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.reset(), resetChildContext(), toString(), and VariableInfo().
| Val frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.currentAssignment |
For each variable the current assignment.
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.decideSingleton(), getCurrentDelta(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.init(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.maintainAllocationInvariant(), setCurrentAssignmentSingleton(), toString(), and VariableInfo().
| HashMap<String, Val> frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.currentContext |
For each variable, its current context.
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.checkChildInfo(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.handleCOSTmessage(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.handleVALUEmessage(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.init(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.reset(), toString(), and VariableInfo().
| ArrayList<U> frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.delta |
Given the current context, this map contains the utilities for each value of this variable.
Referenced by checkUpperBounds(), computeLB(), computeUB(), getCurrentDelta(), setCurrentAssignmentSingleton(), setDelta(), toString(), and VariableInfo().
| ArrayList<Val> frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.domain |
The domain of this variable.
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.maintainChildThresholdInvariant(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.reset(), setDelta(), and VariableInfo().
| boolean frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.execution_terminated = false |
true when execution has been terminated
| boolean frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.full_info = false |
True when the variable has received a VALUE message from all its higher priority neighbours.
Referenced by computeUB(), and setDelta().
| int frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.full_info_counter = 0 |
Counts from how many agents it has received a VALUE message.
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.handleVALUEmessage(), and frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.init().
| UtilitySolutionSpace<Val, U> frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.h |
The variables own lower bounds determined by the Preprocessing module.
Referenced by computeLB(), isReady(), and setOwnLowerBound().
| HashMap<String, U> frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.hChild |
The lower bounds for the children determined by the Preprocessing module.
Referenced by initializeBounds(), isReady(), setLowerBoundChild(), and VariableInfo().
| boolean frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.initialized = false |
false when the variable is not initialized yet and true otherwise
| Message frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.lastMessageReceived = null |
Remembers the last message that has been received.
When the same message is received multiple times in a row, only the first message is processed. The other messages do not contain any new information and only generate more messages
| Message [] frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.lastValueSent |
For each lower priority neighbour the last VALUE message that has been sent.
| U frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.LB |
The current minimal lower bound.
Referenced by computeLB(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.init(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.maintainThresholdInvariant(), setDelta(), toString(), and VariableInfo().
| ArrayList<ArrayList<U> > frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.lb |
For each variable/value v/d combination it contains a list of lower bounds for v's children.
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.checkChildInfo(), computeLB(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.handleCOSTmessage(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.maintainAllocationInvariant(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.maintainChildThresholdInvariant(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.reset(), resetBounds(), toString(), updateBounds(), and VariableInfo().
| Val frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.lbD |
The value that minimizes the lower bound.
Referenced by computeLB(), setDelta(), and toString().
| ArrayList<U> frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.LBperD |
For each value the lower bound.
Referenced by computeLB(), setDelta(), toString(), and VariableInfo().
| U [] frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.lbSUM |
Stores the sum of all the values in lb.
Uses some more memory in order to prevent having to check the delta each time
Referenced by computeLB(), initializeBounds(), setDelta(), and VariableInfo().
| BufferedWriter frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.logFile |
This variables private log file.
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.log(), and VariableInfo().
| String [] frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.lowerNeighbours |
This variable's a list of lower neighbours.
The first m entries are its children, the rest are its pseudo children
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.init(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.reset(), and setLowerNeighbours().
| int frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.nbrOfSeparators = 0 |
The number of higher priority neighbours.
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.handleVALUEmessage(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.init(), and setSeparator().
| HashMap<String, Integer> frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.neighbours |
A list of my neighbours and their pointers in the separator and lowerNeighbours lists.
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.handleCOSTmessage(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.handleVALUEmessage(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.init(), isSingleton(), resetBounds(), resetChildThreshold(), setSeparator(), and VariableInfo().
| int frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.numberOfChildren |
This variable's number of children.
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.checkChildInfo(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.init(), isReady(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.maintainAllocationInvariant(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.maintainChildThresholdInvariant(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.reset(), setLowerNeighbours(), and toString().
| String [] frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.separator |
The variable's parent and pseudo parents, separator[0] = parent, rest is pseudo parent.
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.handleVALUEmessage(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.init(), setSeparator(), and toString().
|
private |
The join of all constraints this variable is responsible for.
Referenced by storeConstraint().
| U [][] frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.t |
For each variable/value v/d combination it contains the distribution of v's threshold over its children.
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.init(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.maintainAllocationInvariant(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.maintainChildThresholdInvariant(), resetChildThreshold(), toString(), and VariableInfo().
| boolean frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.terminate = false |
true when the variable received a terminate message from its parent
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.handleCOSTmessage(), and frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.handleVALUEmessage().
| U frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.threshold |
The current threshold.
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.maintainAllocationInvariant(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.maintainThresholdInvariant(), and toString().
| U frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.UB |
The current minimal upper bound.
Referenced by computeUB(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.init(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.maintainThresholdInvariant(), setDelta(), toString(), and VariableInfo().
| ArrayList<ArrayList<U> > frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.ub |
For each variable/value v/d combination it contains a list of upper bounds for v's children.
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.checkChildInfo(), checkUpperBounds(), computeUB(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.handleCOSTmessage(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.maintainAllocationInvariant(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.maintainChildThresholdInvariant(), resetBounds(), toString(), updateBounds(), and VariableInfo().
| Val frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.ubD |
The value that minimizes the upper bound.
Referenced by computeUB(), setDelta(), and toString().
| ArrayList<U> frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.UBperD |
For each value the upper bound.
Referenced by checkUpperBounds(), computeUB(), setDelta(), toString(), and VariableInfo().
| U [] frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.ubSUM |
Stores the sum of all the values in ub.
Uses some more memory in order to prevent having to check the delta each time
Referenced by computeUB(), initializeBounds(), setDelta(), and VariableInfo().
| HashMap<Val, Integer> frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.valuePointer |
For each value the position in the lb and ub arrays.
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.checkChildInfo(), checkUpperBounds(), computeLB(), computeUB(), getCurrentDelta(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.handleCOSTmessage(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.init(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.maintainAllocationInvariant(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.maintainChildThresholdInvariant(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.reset(), resetBounds(), resetChildContext(), resetChildThreshold(), setCurrentAssignmentSingleton(), setDelta(), setLowerNeighbours(), updateBounds(), and VariableInfo().
| String frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.variableID |
This variable's ID.
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.decideSingleton(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.handleCOSTmessage(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.init(), toString(), and VariableInfo().
|
private |
A zero utility.
Referenced by frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.checkChildInfo(), checkUpperBounds(), computeLB(), computeUB(), initializeBounds(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.maintainAllocationInvariant(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.reset(), resetBounds(), resetChildThreshold(), setCurrentAssignmentSingleton(), setDelta(), setLowerNeighbours(), and VariableInfo().