|
FRODO Version 2.19.1
An open-source framework for Distributed Constraint Optimization (DCOP)
|
VALUE propagation protocol. More...

Classes | |
| class | AssignmentMessage |
| A message holding the optimal assignment to some variables, conditioned on the values of the parameters (if any). More... | |
Public Member Functions | |
| ParamVALUE () | |
| Default constructor. | |
| ParamVALUE (DCOPProblemInterface< Val, ? extends Addable<?> > problem, Boolean swap) | |
| Manual constructor that does not use XML elements. | |
| ParamVALUE (DCOPProblemInterface< Val, ? extends Addable<?> > problem, Element parameters) | |
| Constructor from XML elements. | |
| ParamVALUE (Element parameters, DCOPProblemInterface< Val, ?> problem) | |
| The constructor called in "statistics gatherer" mode. | |
| void | reset () |
| Collection< MessageType > | getMsgTypes () |
| void | setSilent (boolean silent) |
| void | notifyIn (Message msg) |
| void | getStatsFromQueue (Queue queue) |
| Map< String[], BasicUtilitySolutionSpace< Val, ArrayList< Val > > > | getParamSolution () |
| Public Member Functions inherited from frodo2.algorithms.dpop.VALUEpropagation< Val extends Addable< Val > > | |
| VALUEpropagation () | |
| Default constructor. | |
| VALUEpropagation (DCOPProblemInterface< Val, ?> problem, Boolean swap) | |
| Manual constructor that does not use XML elements. | |
| VALUEpropagation (DCOPProblemInterface< Val, ?> problem, Element parameters) | |
| Constructor from XML elements. | |
| void | setQueue (Queue queue) |
| Public Member Functions inherited from frodo2.communication.IncomingMsgPolicyInterface< T > | |
| default void | notifyIn (Message msg, Object toAgent) |
| Notifies the listener of an incoming message. | |
Static Public Attributes | |
| static final MessageType | PARAM_VALUE_MSG_TYPE = new MessageType ("Param-DPOP", "VALUE", "VALUE") |
| The type of the VALUE messages. | |
| static final MessageType | PARAM_OUTPUT_MSG_TYPE = new MessageType ("Param-DPOP", "VALUE", "Output") |
| The type of the output messages containing the optimal assignment to a variable. | |
| Static Public Attributes inherited from frodo2.algorithms.dpop.VALUEpropagation< Val extends Addable< Val > > | |
| static MessageType | START_MSG_TYPE = AgentInterface.START_AGENT |
| The type of the message telling the module to start. | |
| static MessageType | FINISH_MSG_TYPE = AgentInterface.AGENT_FINISHED |
| The type of the message telling the agent finished. | |
| static MessageType | DFS_MSG_TYPE = DFSgeneration.OUTPUT_MSG_TYPE |
| The type of the messages containing information about the DFS. | |
| static MessageType | UTIL_MSG_TYPE = UTILpropagation.OUTPUT_MSG_TYPE |
| The type of the messages containing optimal conditional assignments. | |
| static MessageType | SEPARATOR_MSG_TYPE = UTILpropagation.SEPARATOR_MSG_TYPE |
| The type of the messages containing information about separators. | |
| static final MessageType | VALUE_MSG_TYPE = new MessageType ("DPOP", "VALUEpropagation", "VALUE") |
| The type of the VALUE messages. | |
Private Member Functions | |
| void | sendVALUEmessage (String child, String[] separator, String[] vars, BasicUtilitySolutionSpace< Val, ArrayList< Val > > opt, VALUEmsg< Val > valueMsg) |
| Instantiates a VALUE message and sends it. | |
| void | computeOptValAndSendVALUEmsgs (String[] vars, BasicUtilitySolutionSpace< Val, ArrayList< Val > > optAssignments, VALUEmsg< Val > valueMsg) |
| Compute the optimal assignment to some variables, and sends VALUE messages to children accordingly. | |
Private Attributes | |
| HashMap< String, VALUEmsg< Val > > | valueMessages = new HashMap< String, VALUEmsg<Val> > () |
| For each variable, the VALUE message received containing its separator's optimal assignments. | |
| boolean | reportStats = true |
| Whether to report stats. | |
| HashMap< String[], BasicUtilitySolutionSpace< Val, ArrayList< Val > > > | solution = new HashMap< String[], BasicUtilitySolutionSpace< Val, ArrayList<Val> > > () |
| For an array of variables, their optimal values, conditioned on the values of the parameters (if any). | |
| HashSet< String > | roots = new HashSet<String> () |
| The subset of this agent's variables that are roots. | |
Additional Inherited Members | |
| Protected Member Functions inherited from frodo2.algorithms.dpop.VALUEpropagation< Val extends Addable< Val > > | |
| void | init () |
| Parses the problem. | |
| Protected Attributes inherited from frodo2.algorithms.dpop.VALUEpropagation< Val extends Addable< Val > > | |
| Queue | queue |
| The queue on which it should call sendMessage(). | |
| DCOPProblemInterface< Val, ?> | problem |
| The problem. | |
| boolean | started = false |
| Whether the execution of the algorithm has started. | |
| HashMap< String, String[]> | separators |
| For each variable, its separator. | |
| HashMap< String, List< String > > | allChildren |
| For each variable, the list of its children. | |
| HashMap< String, SolutionMessage< Val > > | condAssignments |
| For each variable, its optimal assignment conditioned on the assignments to its separator. | |
| int | nbrVarsDone = 0 |
| The number of variables owned by this agents that have already sent VALUE messages to all their children. | |
VALUE propagation protocol.
| <Val> | type used for variable values |
| frodo2.algorithms.dpop.param.ParamVALUE< Val extends Addable< Val > >.ParamVALUE | ( | ) |
Default constructor.
| frodo2.algorithms.dpop.param.ParamVALUE< Val extends Addable< Val > >.ParamVALUE | ( | DCOPProblemInterface< Val, ? extends Addable<?> > | problem, |
| Boolean | swap ) |
Manual constructor that does not use XML elements.
| problem | the problem |
| swap | if true, conditional optimal assignments are swapped until the VALUE message is received |
References frodo2.algorithms.dpop.VALUEpropagation< Val extends Addable< Val > >.problem, and frodo2.algorithms.dpop.VALUEpropagation< Val extends Addable< Val > >.swap.
| frodo2.algorithms.dpop.param.ParamVALUE< Val extends Addable< Val > >.ParamVALUE | ( | DCOPProblemInterface< Val, ? extends Addable<?> > | problem, |
| Element | parameters ) |
Constructor from XML elements.
| problem | description of the problem |
| parameters | not used because ParamVALUE cannot be parameterized |
References frodo2.algorithms.dpop.VALUEpropagation< Val extends Addable< Val > >.problem.
| frodo2.algorithms.dpop.param.ParamVALUE< Val extends Addable< Val > >.ParamVALUE | ( | Element | parameters, |
| DCOPProblemInterface< Val, ?> | problem ) |
The constructor called in "statistics gatherer" mode.
| problem | the overall problem |
| parameters | the description of what statistics should be reported (currently unused) |
References frodo2.algorithms.dpop.VALUEpropagation< Val extends Addable< Val > >.problem.
|
private |
Compute the optimal assignment to some variables, and sends VALUE messages to children accordingly.
| vars | the variables to be optimized |
| optAssignments | the conditional optimal assignments to variable var |
| valueMsg | the VALUE message received for variable var |
References frodo2.algorithms.AgentInterface< V extends Addable< V > >.AGENT_FINISHED, frodo2.algorithms.dpop.VALUEpropagation< Val extends Addable< Val > >.allChildren, frodo2.solutionSpaces.BasicUtilitySolutionSpace< V extends Addable< V >, U extends Serializable >.compose(), frodo2.algorithms.dpop.param.VALUEmsg< Val extends Addable< Val > >.getValues(), frodo2.algorithms.dpop.param.VALUEmsg< Val extends Addable< Val > >.getVariables(), frodo2.algorithms.dpop.VALUEpropagation< Val extends Addable< Val > >.queue, sendVALUEmessage(), frodo2.algorithms.dpop.VALUEpropagation< Val extends Addable< Val > >.separators, solution, and frodo2.algorithms.AgentInterface< V extends Addable< V > >.STATS_MONITOR.
Referenced by notifyIn().

| Collection< MessageType > frodo2.algorithms.dpop.param.ParamVALUE< Val extends Addable< Val > >.getMsgTypes | ( | ) |
Reimplemented from frodo2.algorithms.dpop.VALUEpropagation< Val extends Addable< Val > >.
References frodo2.algorithms.AgentInterface< V extends Addable< V > >.AGENT_FINISHED, frodo2.algorithms.dpop.UTILpropagation< Val extends Addable< Val >, U extends Addable< U > >.OUTPUT_MSG_TYPE, frodo2.algorithms.varOrdering.dfs.DFSgeneration< V extends Addable< V >, U extends Addable< U > >.OUTPUT_MSG_TYPE, PARAM_VALUE_MSG_TYPE, frodo2.algorithms.dpop.UTILpropagation< Val extends Addable< Val >, U extends Addable< U > >.SEPARATOR_MSG_TYPE, and frodo2.algorithms.dpop.VALUEpropagation< Val extends Addable< Val > >.START_MSG_TYPE.
| Map< String[], BasicUtilitySolutionSpace< Val, ArrayList< Val > > > frodo2.algorithms.dpop.param.ParamVALUE< Val extends Addable< Val > >.getParamSolution | ( | ) |
| void frodo2.algorithms.dpop.param.ParamVALUE< Val extends Addable< Val > >.getStatsFromQueue | ( | Queue | queue | ) |
| void frodo2.algorithms.dpop.param.ParamVALUE< Val extends Addable< Val > >.notifyIn | ( | Message | msg | ) |
Reimplemented from frodo2.algorithms.dpop.VALUEpropagation< Val extends Addable< Val > >.
References frodo2.algorithms.AgentInterface< V extends Addable< V > >.AGENT_FINISHED, computeOptValAndSendVALUEmsgs(), frodo2.algorithms.dpop.VALUEpropagation< Val extends Addable< Val > >.condAssignments, frodo2.communication.MessageType.equals(), frodo2.algorithms.dpop.VALUEpropagation< Val extends Addable< Val > >.init(), notifyIn(), frodo2.algorithms.dpop.UTILpropagation< Val extends Addable< Val >, U extends Addable< U > >.OUTPUT_MSG_TYPE, PARAM_OUTPUT_MSG_TYPE, frodo2.algorithms.dpop.VALUEpropagation< Val extends Addable< Val > >.started, and valueMessages.
Referenced by notifyIn().

| void frodo2.algorithms.dpop.param.ParamVALUE< Val extends Addable< Val > >.reset | ( | ) |
Reimplemented from frodo2.algorithms.dpop.VALUEpropagation< Val extends Addable< Val > >.
References roots, solution, and valueMessages.
|
private |
Instantiates a VALUE message and sends it.
| child | destination variable of the message |
| separator | separator of child, parameters included |
| vars | the variables whose optimal values have just been computed |
| opt | optimal values for variables in vars, conditioned on the values of the parameters (if any) |
| valueMsg | VALUE message received from parent |
References frodo2.solutionSpaces.BasicUtilitySolutionSpace< V extends Addable< V >, U extends Serializable >.clone(), frodo2.solutionSpaces.SolutionSpace< V extends Addable< V > >.getNumberOfSolutions(), frodo2.solutionSpaces.BasicUtilitySolutionSpace< V extends Addable< V >, U extends Serializable >.getUtility(), frodo2.algorithms.dpop.param.VALUEmsg< Val extends Addable< Val > >.getValues(), frodo2.algorithms.dpop.param.VALUEmsg< Val extends Addable< Val > >.getVariables(), frodo2.solutionSpaces.SolutionSpace< V extends Addable< V > >.getVariables(), frodo2.algorithms.dpop.VALUEpropagation< Val extends Addable< Val > >.problem, frodo2.algorithms.dpop.VALUEpropagation< Val extends Addable< Val > >.queue, and frodo2.solutionSpaces.BasicUtilitySolutionSpace< V extends Addable< V >, U extends Serializable >.setUtility().
Referenced by computeOptValAndSendVALUEmsgs().

| void frodo2.algorithms.dpop.param.ParamVALUE< Val extends Addable< Val > >.setSilent | ( | boolean | silent | ) |
Implements frodo2.algorithms.StatsReporter.
|
static |
The type of the output messages containing the optimal assignment to a variable.
Referenced by frodo2.algorithms.dpop.param.ParamVALUE< Val extends Addable< Val > >.AssignmentMessage< Val extends Addable< Val > >.AssignmentMessage(), frodo2.algorithms.dpop.param.test.ParamVALUEtest< U extends Addable< U > >.Listener.getMsgTypes(), getStatsFromQueue(), frodo2.algorithms.dpop.param.test.ParamVALUEtest< U extends Addable< U > >.Listener.getStatsFromQueue(), and notifyIn().
|
static |
The type of the VALUE messages.
Referenced by getMsgTypes(), and frodo2.algorithms.dpop.param.VALUEmsg< Val extends Addable< Val > >.VALUEmsg().
|
private |
Whether to report stats.
|
private |
The subset of this agent's variables that are roots.
Referenced by reset().
|
private |
For an array of variables, their optimal values, conditioned on the values of the parameters (if any).
Referenced by computeOptValAndSendVALUEmsgs(), and reset().
|
private |
For each variable, the VALUE message received containing its separator's optimal assignments.
Referenced by notifyIn(), and reset().