FRODO Version 2.19.1
An open-source framework for Distributed Constraint Optimization (DCOP)
Loading...
Searching...
No Matches
frodo2.algorithms.dpop.param.ParamUTIL< Val extends Addable< Val >, U extends Addable< U > > Class Template Reference

A UTIL propagation protocol that supports parameters (i.e. More...

Inheritance diagram for frodo2.algorithms.dpop.param.ParamUTIL< Val extends Addable< Val >, U extends Addable< U > >:

Classes

class  OptUtilMessage
 Message sent by roots containing the optimal utility value of their DFS tree, conditioned on the values of the parameters (if any). More...

Public Member Functions

 ParamUTIL ()
 Default constructor.
 ParamUTIL (DCOPProblemInterface< Val, U > problem, Element parameters)
 Constructor from XML descriptions.
 ParamUTIL (Element parameters, DCOPProblemInterface< Val, U > problem)
 The constructor called in "statistics gatherer" mode.
void reset ()
void notifyIn (Message msg)
void getStatsFromQueue (Queue queue)
UtilitySolutionSpace< Val, U > getOptParamUtil ()
Public Member Functions inherited from frodo2.algorithms.dpop.UTILpropagation< Val extends Addable< Val >, U extends Addable< U > >
MessageType getStartMsgType ()
MessageType getDFSMsgType ()
 UTILpropagation ()
 Default constructor.
 UTILpropagation (DCOPProblemInterface< Val, U > problem)
 Constructor.
 UTILpropagation (DCOPProblemInterface< Val, U > problem, Element parameters)
 Constructor from XML descriptions.
 UTILpropagation (Element parameters, DCOPProblemInterface< Val, U > problem)
 The constructor called in "statistics gatherer" mode.
Collection< MessageTypegetMsgTypes ()
void setQueue (Queue queue)
void setSilent (boolean silent)
Integer getMaxMsgDim ()
getOptUtil ()
long getFinalTime ()
 Returns the time at which this module has finished, determined by looking at the timestamp of the stat messages.
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 OPT_PARAM_UTIL_MSG_TYPE = new MessageType ("Param-DPOP", "UTIL", "OptParamUtil")
 The type of the messages containing parametric optimal utility values sent by roots.
Static Public Attributes inherited from frodo2.algorithms.dpop.UTILpropagation< Val extends Addable< Val >, U extends Addable< U > >
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 final MessageType UTIL_MSG_TYPE = new MessageType ("DPOP", "UTILpropagation", "UTIL")
 The type of the messages containing utilities.
static final MessageType OUTPUT_MSG_TYPE = new MessageType ("DPOP", "UTILpropagation", "UTILoutput")
 The type of the messages containing conditional optimal assignments.
static final MessageType SEPARATOR_MSG_TYPE = new MessageType ("DPOP", "UTILpropagation", "Separator")
 The type of the messages containing separators.
static final MessageType OPT_UTIL_MSG_TYPE = new MessageType ("DPOP", "UTILpropagation", "OptUtil")
 The type of the messages containing optimal utility values sent by roots.
static final MessageType UTIL_STATS_MSG_TYPE = new MessageType ("DPOP", "UTILpropagation", "UTILstats")
 The type of messages sent to the statistics monitor.

Protected Member Functions

void sendOutput (UtilitySolutionSpace< Val, U > space, String root)
Protected Member Functions inherited from frodo2.algorithms.dpop.UTILpropagation< Val extends Addable< Val >, U extends Addable< U > >
void init ()
 Parses the problem.
ClusterInfo newClusterInfo ()
void sendSeparator (String senderVar, String senderAgent, String dest, String[] separator)
 Sends a message to the VALUEpropagation module containing the separator of a variable.
void record (String senderVar, UtilitySolutionSpace< Val, U > space, ClusterInfo info)
 Records the input space until spaces from all children have been received.
void projectAndSend (ClusterInfo info)
 Projects out a variable and sends the result to its parent (if any) or to itself (to initiate VALUE propagation).
ProjOutput< Val, U > project (UtilitySolutionSpace< Val, U > space, String[] vars)
 Projects the input variable from the input space.
void sendToParent (String var, String parentVar, String parentAgent, UtilitySolutionSpace< Val, U > space)
 Sends a UTIL message.

Package Functions

public< S extends UtilitySolutionSpace< Val, U > > ParamUTIL (DCOPProblemInterface< Val, U > problem)
 Constructor.

Private Attributes

UtilitySolutionSpace< Val, U > optUtil
 Optimal utility computed by the algorithm, depending on the values of the parameters.

Additional Inherited Members

Protected Attributes inherited from frodo2.algorithms.dpop.UTILpropagation< Val extends Addable< Val >, U extends Addable< U > >
boolean withAnonymVars = false
 Whether the parser should consider variables with no specified owner.
DCOPProblemInterface< Val, U > problem
 The problem.
boolean started = false
 Whether the execution of the algorithm has been started.
boolean maximize = true
 true if we want to maximize utility, false if we want to minimize cost
Queue queue
 The queue on which it should call sendMessage().
Map< String, ClusterInfoinfos
 For each variable this agent owns, its relevant information.
String myID
 This agent's name.
optUtil
 The optimal utility found to the problem.
boolean reportStats = true
 Whether to report stats.

Detailed Description

A UTIL propagation protocol that supports parameters (i.e.

variables with no owner that are never projected out)

Author
Thomas Leaute
Parameters
<Val>type used for variable values
<U>type used for utility values

Constructor & Destructor Documentation

◆ ParamUTIL() [1/4]

frodo2.algorithms.dpop.param.ParamUTIL< Val extends Addable< Val >, U extends Addable< U > >.ParamUTIL ( )

Default constructor.

◆ ParamUTIL() [2/4]

◆ ParamUTIL() [3/4]

frodo2.algorithms.dpop.param.ParamUTIL< Val extends Addable< Val >, U extends Addable< U > >.ParamUTIL ( DCOPProblemInterface< Val, U > problem,
Element parameters )

◆ ParamUTIL() [4/4]

frodo2.algorithms.dpop.param.ParamUTIL< Val extends Addable< Val >, U extends Addable< U > >.ParamUTIL ( Element parameters,
DCOPProblemInterface< Val, U > problem )

Member Function Documentation

◆ getOptParamUtil()

UtilitySolutionSpace< Val, U > frodo2.algorithms.dpop.param.ParamUTIL< Val extends Addable< Val >, U extends Addable< U > >.getOptParamUtil ( )
Returns
the optimal utility found to the problem
Warning
Only works if the module is instantiated in stats gatherer mode.

◆ getStatsFromQueue()

◆ notifyIn()

◆ reset()

◆ sendOutput()

Member Data Documentation

◆ OPT_PARAM_UTIL_MSG_TYPE

◆ optUtil

UtilitySolutionSpace<Val, U> frodo2.algorithms.dpop.param.ParamUTIL< Val extends Addable< Val >, U extends Addable< U > >.optUtil
private

Optimal utility computed by the algorithm, depending on the values of the parameters.


The documentation for this class was generated from the following file: