|
FRODO Version 2.19.1
An open-source framework for Distributed Constraint Optimization (DCOP)
|

Classes | |
| class | VariableInfo |
| Convenience class to hold variable information. More... | |
| class | State |
| Convenience class to store a context. More... | |
Public Member Functions | |
| Sampling (Element parameters, DCOPProblemInterface< V, AddableReal > problem) | |
| Constructor for the stats reporter. | |
| Sampling (DCOPProblemInterface< V, AddableReal > problem, Element parameters) | |
| Constructor. | |
| void | notifyIn (Message msg) |
| AddableReal | getFinalBound () |
| void | setQueue (Queue queue) |
| Collection< MessageType > | getMsgTypes () |
| void | getStatsFromQueue (Queue queue) |
| void | setSilent (boolean silent) |
| void | reset () |
| 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 | VALUE_MSG_TYPE = new MessageType ("DUCT", "Sampling", "value") |
| The type of a VALUE message. | |
| static final MessageType | VALUE_FIN_MSG_TYPE = new MessageType ("DUCT", "Sampling", "value_fin") |
| The type of a VALUE message. | |
| static final MessageType | COST_MSG_TYPE = new MessageType ("DUCT", "Sampling", "cost") |
| The type of a COST message. | |
| static final MessageType | OUTPUT_MSG_TYPE = new MessageType ("DUCT", "Sampling", "Output") |
| The type of the output message. | |
| static final MessageType | BOUND_MSG_TYPE = new MessageType ("DUCT", "Sampling", "final_bound") |
| The type of the final bound statistics message. | |
Protected Member Functions | |
| VariableInfo | newVariableInfo (String variableID, V[] domain, String parent, List< String > children) |
| void | reportValue (VariableInfo varInfo, boolean finished) |
| Method used to report the value to all children and pseudo children. | |
| void | init () |
| Initialization method called when the start message is received. | |
Protected Attributes | |
| final boolean | IGNORE_INF |
When true, infeasible utilities should be ignored. | |
| boolean | started |
true when the start message has been received, and false otherwise | |
| final boolean | maximize |
true when maximizing, and false when minimizing | |
| boolean | reportStats = true |
| Whether to report stats. | |
| HashMap< String, VariableInfo > | infos |
| For each variable the available information. | |
| Queue | queue |
| The queue the listener is connected to. | |
| Map< String, String > | owners |
| For each variable, the name of the owner. | |
| DCOPProblemInterface< V, AddableReal > | problem |
| The agent's problem. | |
| int | numberOfActiveVariables |
| The number of variables that have not yet finished. | |
| double | error |
| If the error bound is smaller than error, we stop. | |
| double | delta |
| The delta that is used to calculate the error bound. | |
| Class< SamplingProcedure< V > > | samplingClass |
| Class of the sampling methods. | |
| Class< TerminationCondition< V > > | terminationClass |
| Class of the termination method. | |
| Class< Bound< V > > | boundClass |
| Class of the bound method. | |
| AddableReal | infeasibleUtility |
| Utility of an infeasible solution. | |
| AddableReal | penalty |
| penalty used to replace an infeasible solution | |
| AddableReal | scalingFactor |
| The factor by which all utilities are scaled down. | |
| AddableReal | finalBound |
| The final bound on the solution quality. | |
| <V> | type used for domain values |
| frodo2.algorithms.duct.Sampling< V extends Addable< V > >.Sampling | ( | Element | parameters, |
| DCOPProblemInterface< V, AddableReal > | problem ) |
Constructor for the stats reporter.
| parameters | listeners parameters (not used for the moment) |
| problem | problem description |
References problem.
Referenced by Sampling().
| frodo2.algorithms.duct.Sampling< V extends Addable< V > >.Sampling | ( | DCOPProblemInterface< V, AddableReal > | problem, |
| Element | parameters ) |
Constructor.
| problem | problem description |
| parameters | listeners parameters (not used for the moment) |
References frodo2.algorithms.duct.VALUEmsg< V extends Addable< V > >.DOMAIN_VALUE, maximize, problem, and Sampling().

| AddableReal frodo2.algorithms.duct.Sampling< V extends Addable< V > >.getFinalBound | ( | ) |
| Collection< MessageType > frodo2.algorithms.duct.Sampling< V extends Addable< V > >.getMsgTypes | ( | ) |
Implements frodo2.communication.MessageListener< T >.
References frodo2.algorithms.AgentInterface< V extends Addable< V > >.AGENT_FINISHED, COST_MSG_TYPE, frodo2.algorithms.duct.Normalize< V extends Addable< V > >.OUT_MSG_TYPE, frodo2.algorithms.varOrdering.dfs.DFSgeneration< V extends Addable< V >, U extends Addable< U > >.OUTPUT_MSG_TYPE, frodo2.algorithms.AgentInterface< V extends Addable< V > >.START_AGENT, VALUE_FIN_MSG_TYPE, and VALUE_MSG_TYPE.
| void frodo2.algorithms.duct.Sampling< V extends Addable< V > >.getStatsFromQueue | ( | Queue | queue | ) |
Implements frodo2.algorithms.StatsReporter.
References BOUND_MSG_TYPE, and queue.
|
protected |
Initialization method called when the start message is received.
References infos, owners, and problem.
Referenced by notifyIn().
|
protected |
| variableID | the name of the variable |
| domain | the domain of the variable |
| parent | the parent of the variable |
| children | list of the children of the variable |
References samplingClass, and terminationClass.
Referenced by notifyIn().
| void frodo2.algorithms.duct.Sampling< V extends Addable< V > >.notifyIn | ( | Message | msg | ) |
Implements frodo2.communication.IncomingMsgPolicyInterface< T >.
References frodo2.algorithms.AgentInterface< V extends Addable< V > >.AGENT_FINISHED, BOUND_MSG_TYPE, COST_MSG_TYPE, frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.currentValue, delta, frodo2.communication.MessageType.equals(), error, finalBound, frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.finishedSampling(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.getAssignmentMessage(), frodo2.algorithms.varOrdering.dfs.DFSgeneration< V extends Addable< V >, U extends Addable< U > >.DFSview< V extends Addable< V >, U extends Addable< U > >.getChildren(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.getCostMessage(), frodo2.algorithms.duct.BoundStatsMsg.getFinalBound(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.getFinalBound(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.getParent(), frodo2.algorithms.varOrdering.dfs.DFSgeneration< V extends Addable< V >, U extends Addable< U > >.DFSview< V extends Addable< V >, U extends Addable< U > >.getParent(), frodo2.algorithms.duct.COSTmsg.getReceiver(), frodo2.algorithms.duct.VALUEmsg< V extends Addable< V > >.getReceiver(), frodo2.algorithms.duct.OUTmsg< V extends Addable< V > >.getScalingFactor(), frodo2.algorithms.duct.VALUEmsg< V extends Addable< V > >.getSender(), frodo2.algorithms.duct.OUTmsg< V extends Addable< V > >.getSeparators(), frodo2.algorithms.duct.OUTmsg< V extends Addable< V > >.getSize(), frodo2.algorithms.duct.OUTmsg< V extends Addable< V > >.getSpaces(), frodo2.communication.Message.getType(), frodo2.algorithms.duct.VALUEmsg< V extends Addable< V > >.getValues(), frodo2.algorithms.duct.OUTmsg< V extends Addable< V > >.getVariable(), frodo2.algorithms.duct.VALUEmsg< V extends Addable< V > >.getVariables(), infos, init(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.leaf, maximize, newVariableInfo(), frodo2.algorithms.duct.Normalize< V extends Addable< V > >.OUT_MSG_TYPE, frodo2.algorithms.varOrdering.dfs.DFSgeneration< V extends Addable< V >, U extends Addable< U > >.OUTPUT_MSG_TYPE, owners, frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.parent, frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.parentFinished, penalty, frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.penalty, problem, queue, frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.receivedNormalize, reportValue(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.sample(), scalingFactor, frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.setContext(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.setSeparator(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.setSize(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.solveLeaf(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.solveSingleton(), started, frodo2.algorithms.AgentInterface< V extends Addable< V > >.STATS_MONITOR, frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.storeConstraint(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.storeCOSTmsg(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.toBeProcessed, VALUE_FIN_MSG_TYPE, VALUE_MSG_TYPE, and frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.variableID.

|
protected |
Method used to report the value to all children and pseudo children.
| varInfo | the variable information object |
| finished | true when the variable is ready with sampling, and false otherwise |
References frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.getChildren(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.getNewValueMessage(), owners, and queue.
Referenced by notifyIn().

| void frodo2.algorithms.duct.Sampling< V extends Addable< V > >.reset | ( | ) |
Implements frodo2.algorithms.StatsReporter.
| void frodo2.algorithms.duct.Sampling< V extends Addable< V > >.setQueue | ( | Queue | queue | ) |
Implements frodo2.communication.MessageListener< T >.
References queue.
| void frodo2.algorithms.duct.Sampling< V extends Addable< V > >.setSilent | ( | boolean | silent | ) |
Implements frodo2.algorithms.StatsReporter.
|
static |
The type of the final bound statistics message.
Referenced by frodo2.algorithms.duct.BoundStatsMsg.BoundStatsMsg(), getStatsFromQueue(), and notifyIn().
|
protected |
Class of the bound method.
Referenced by frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.setSize().
|
static |
The type of a COST message.
Referenced by frodo2.algorithms.duct.COSTBmsg.COSTBmsg(), frodo2.algorithms.duct.COSTmsg.COSTmsg(), getMsgTypes(), and notifyIn().
|
protected |
The delta that is used to calculate the error bound.
Referenced by frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.finishedSampling(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.getFinalBound(), notifyIn(), and frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.toString().
|
protected |
If the error bound is smaller than error, we stop.
Referenced by frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.finishedSampling(), and notifyIn().
|
protected |
The final bound on the solution quality.
Referenced by notifyIn().
|
protected |
When true, infeasible utilities should be ignored.
Referenced by frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.createNode(), and frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.setContext().
|
protected |
Utility of an infeasible solution.
Referenced by frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.sample(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.setContext(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.solveLeaf(), and frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.storeCOSTmsg().
|
protected |
For each variable the available information.
Referenced by init(), and notifyIn().
|
protected |
true when maximizing, and false when minimizing
Referenced by frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.createNode(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.finishedSampling(), notifyIn(), Sampling(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.setContext(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.solveLeaf(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.solveSingleton(), and frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.storeCOSTmsg().
|
protected |
The number of variables that have not yet finished.
|
static |
The type of the output message.
|
protected |
For each variable, the name of the owner.
Referenced by init(), notifyIn(), and reportValue().
|
protected |
penalty used to replace an infeasible solution
Referenced by notifyIn().
|
protected |
The agent's problem.
Referenced by init(), notifyIn(), Sampling(), and Sampling().
|
protected |
The queue the listener is connected to.
Referenced by getStatsFromQueue(), notifyIn(), reportValue(), and setQueue().
|
protected |
Whether to report stats.
|
protected |
Class of the sampling methods.
Referenced by newVariableInfo(), and frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.VariableInfo().
|
protected |
The factor by which all utilities are scaled down.
Referenced by frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.getFinalBound(), and notifyIn().
|
protected |
true when the start message has been received, and false otherwise
Referenced by notifyIn().
|
protected |
Class of the termination method.
Referenced by newVariableInfo(), and frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.VariableInfo().
|
static |
The type of a VALUE message.
Referenced by getMsgTypes(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.getNewValueMessage(), and notifyIn().
|
static |
The type of a VALUE message.
Referenced by getMsgTypes(), frodo2.algorithms.duct.Sampling< V extends Addable< V > >.VariableInfo.getNewValueMessage(), and notifyIn().