|
FRODO Version 2.19.1
An open-source framework for Distributed Constraint Optimization (DCOP)
|
The original adopt version. More...

Public Member Functions | |
| Original (ADOPT< Val, U > adopt) | |
| Constructor. | |
| void | init (VariableInfo< Val, U > variable) |
| void | handleTERMINATEmessage (VariableInfo< Val, U > variable, ENDmsg< Val > msg) |
| Handle the reception of a terminate message. | |
| void | handleVALUEmessage (VariableInfo< Val, U > variable, VALUEmsg< Val, U > msg) |
| Handle the reception of a value message. | |
| void | handleCOSTmessage (VariableInfo< Val, U > variable, COSTmsg< Val, U > msg) |
| Handle the reception of a cost message. | |
| void | reset (VariableInfo< Val, U > variable) |
| Resets the bounds, child thresholds and context of any child whose context does not match the current context. | |
| boolean | checkChildInfo (VariableInfo< Val, U > variable) |
| This function checks whether the info from all children is consistent with the current context. | |
| void | notify (Message msg) |
| Collection< MessageType > | getMsgTypes () |
| Public Member Functions inherited from frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Version< Val, U > | |
| void | init (VariableInfo< Val, U > variable) |
| This function is called when we received both the HEURISTICS_MSG_TYPE and the DFSgeneration.OUTPUT_MSG_TYPE message for the variable. | |
| void | notify (Message msg) |
| Tells ADOPT how to respond to certain messages specific to this version. | |
| Collection< MessageType > | getMsgTypes () |
| Returns a collection with messages this version is interested in. | |
Static Public Attributes | |
| static final MessageType | VALUE_MSG_TYPE = new MessageType ("ADOPT", "VALUE") |
| The message type for the value message. | |
| static final MessageType | THRESHOLD_MSG_TYPE = new MessageType ("ADOPT", "Threshold") |
| The message type for the threshold message. | |
| static final MessageType | COST_MSG_TYPE = new MessageType ("ADOPT", "COST") |
| The message type for the cost message. | |
| static final MessageType | TERMINATE_MSG_TYPE = new MessageType ("ADOPT", "TERMINATE") |
| The message type for the terminate message. | |
Private Member Functions | |
| void | maintainChildThresholdInvariant (VariableInfo< Val, U > variable) |
| Maintains the child threshold invariant, i.e. | |
| void | maintainThresholdInvariant (VariableInfo< Val, U > variable) |
| Maintains the threshold invariant, i.e. | |
| void | maintainAllocationInvariant (VariableInfo< Val, U > variable) |
| Maintains the allocation invariant. | |
| void | backTrack (VariableInfo< Val, U > variable) |
| Backtrack method. | |
Private Attributes | |
| ADOPT< Val, U > | adopt |
| A link to the outer class. | |
The original adopt version.
| <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 > >.Original< Val extends Addable< Val >, U extends Addable< U > >.Original | ( | ADOPT< Val, U > | adopt | ) |
Constructor.
| adopt | the ADOPT module |
References frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.ADOPT(), and adopt.

|
private |
Backtrack method.
| variable | the variable info |
References frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.ADOPT(), adopt, backTrack(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.LOG, and maintainAllocationInvariant().
Referenced by backTrack(), handleCOSTmessage(), handleTERMINATEmessage(), handleVALUEmessage(), and init().

| boolean frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.checkChildInfo | ( | VariableInfo< Val, U > | variable | ) |
This function checks whether the info from all children is consistent with the current context.
| variable | the variable info |
true when consistent and false otherwise References adopt, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.context, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.currentContext, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.lb, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.numberOfChildren, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.ub, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.valuePointer, and frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.zero.
| Collection< MessageType > frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.getMsgTypes | ( | ) |
| void frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.handleCOSTmessage | ( | VariableInfo< Val, U > | variable, |
| COSTmsg< Val, U > | msg ) |
Handle the reception of a cost message.
| variable | the recipient variable's info |
| msg | the message |
References adopt, backTrack(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.context, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.currentContext, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.execution_terminated, frodo2.algorithms.adopt.COSTmsg< Val extends Addable< Val >, U extends Addable< U > >.getContext(), frodo2.algorithms.adopt.COSTmsg< Val extends Addable< Val >, U extends Addable< U > >.getLB(), frodo2.algorithms.adopt.COSTmsg< Val extends Addable< Val >, U extends Addable< U > >.getSender(), frodo2.algorithms.adopt.COSTmsg< Val extends Addable< Val >, U extends Addable< U > >.getUB(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.lb, maintainChildThresholdInvariant(), maintainThresholdInvariant(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.neighbours, reset(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.terminate, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.ub, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.updateBounds(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.valuePointer, and frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.variableID.

| void frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.handleTERMINATEmessage | ( | VariableInfo< Val, U > | variable, |
| ENDmsg< Val > | msg ) |
Handle the reception of a terminate message.
| variable | the recipient variable's info |
| msg | the message |
References backTrack(), frodo2.algorithms.adopt.ENDmsg< Val extends Addable< Val > >.getContext(), maintainThresholdInvariant(), reset(), and frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.setDelta().

| void frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.handleVALUEmessage | ( | VariableInfo< Val, U > | variable, |
| VALUEmsg< Val, U > | msg ) |
Handle the reception of a value message.
| variable | the recipient variable's info |
| msg | the message |
References backTrack(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.checkUpperBounds(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.currentContext, 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, frodo2.algorithms.adopt.VALUEmsg< Val extends Addable< Val >, U extends Addable< U > >.getSender(), frodo2.algorithms.adopt.VALUEmsg< Val extends Addable< Val >, U extends Addable< U > >.getThreshold(), frodo2.algorithms.adopt.VALUEmsg< Val extends Addable< Val >, U extends Addable< U > >.getValue(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.initialized, maintainThresholdInvariant(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.nbrOfSeparators, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.neighbours, reset(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.separator, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.setDelta(), and frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.terminate.

| void frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.init | ( | VariableInfo< Val, U > | variable | ) |
References adopt, backTrack(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.currentAssignment, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.currentContext, 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, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.initializeBounds(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.isSingleton(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.LB, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.lowerNeighbours, maintainThresholdInvariant(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.nbrOfSeparators, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.neighbours, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.numberOfChildren, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.separator, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.setDelta(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.t, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.UB, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.valuePointer, and frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.variableID.

|
private |
Maintains the allocation invariant.
That is, makes sure that the threshold for currentAssignment is properly distributed over the variable's children
| variable | the variable info |
References frodo2.solutionSpaces.AddableDelayed< T extends Addable< T > >.addDelayed(), adopt, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.currentAssignment, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.getCurrentDelta(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.lb, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.numberOfChildren, frodo2.solutionSpaces.AddableDelayed< T extends Addable< T > >.resolve(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.t, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.threshold, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.ub, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.valuePointer, and frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.zero.
Referenced by backTrack().

|
private |
Maintains the child threshold invariant, i.e.
makes sure that the threshold for each child is between its last reported upper and lower bounds
| variable | the variable info |
References frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.domain, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.lb, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.numberOfChildren, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.t, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.ub, and frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.valuePointer.
Referenced by handleCOSTmessage().
|
private |
Maintains the threshold invariant, i.e.
makes sure the threshold is always between LB and UB.
| variable | the variable info |
References frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.LB, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.threshold, and frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.UB.
Referenced by handleCOSTmessage(), handleTERMINATEmessage(), handleVALUEmessage(), and init().
| void frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.notify | ( | Message | msg | ) |
References frodo2.algorithms.AgentInterface< V extends Addable< V > >.ALL_AGENTS_IDLE, COST_MSG_TYPE, frodo2.communication.MessageType.equals(), and notify().
Referenced by notify().

| void frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.reset | ( | VariableInfo< Val, U > | variable | ) |
Resets the bounds, child thresholds and context of any child whose context does not match the current context.
| variable | the variable info |
References adopt, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.context, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.currentContext, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.domain, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.lb, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.lowerNeighbours, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.numberOfChildren, frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.resetBounds(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.resetChildContext(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.resetChildThreshold(), frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.valuePointer, and frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.VariableInfo< Val extends Addable< Val >, U extends Serializable &Addable< U > >.zero.
Referenced by handleCOSTmessage(), handleTERMINATEmessage(), and handleVALUEmessage().

|
private |
A link to the outer class.
Referenced by backTrack(), checkChildInfo(), handleCOSTmessage(), init(), maintainAllocationInvariant(), Original(), and reset().
|
static |
The message type for the cost message.
Referenced by frodo2.algorithms.adopt.COSTmsg< Val extends Addable< Val >, U extends Addable< U > >.COSTmsg(), frodo2.algorithms.adopt.COSTmsg< Val extends Addable< Val >, U extends Addable< U > >.COSTmsg(), getMsgTypes(), and notify().
|
static |
The message type for the terminate message.
Referenced by frodo2.algorithms.adopt.ENDmsg< Val extends Addable< Val > >.ENDmsg(), frodo2.algorithms.adopt.ENDmsg< Val extends Addable< Val > >.ENDmsg(), and getMsgTypes().
|
static |
The message type for the threshold message.
Referenced by getMsgTypes().
|
static |
The message type for the value message.
Referenced by getMsgTypes(), frodo2.algorithms.adopt.VALUEmsg< Val extends Addable< Val >, U extends Addable< U > >.VALUEmsg(), and frodo2.algorithms.adopt.VALUEmsg< Val extends Addable< Val >, U extends Addable< U > >.VALUEmsg().