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

A UTIL propagation phase that maximizes worst-case utility with respect to the random variables. More...

Inheritance diagram for frodo2.algorithms.dpop.stochastic.robust.WorstCaseUTIL< Val extends Addable< Val >, U extends Addable< U > >:

Public Member Functions

 WorstCaseUTIL (Element parameters, DCOPProblemInterface< Val, U > problem)
 The constructor called in "statistics gatherer" mode.
 WorstCaseUTIL (DCOPProblemInterface< Val, U > problem, Element parameters)
 Constructor.
Public Member Functions inherited from frodo2.algorithms.dpop.stochastic.ExpectedUTIL< Val extends Addable< Val >, U extends Addable< U > >
 ExpectedUTIL (DCOPProblemInterface< Val, U > problem, Element parameters)
 Constructor.
 ExpectedUTIL (Element parameters, DCOPProblemInterface< Val, U > problem)
 The constructor called in "statistics gatherer" mode.
void reset ()
Collection< MessageTypegetMsgTypes ()
void getStatsFromQueue (Queue queue)
getWorstUtil ()
getExpectedUtil ()
getProbOfOptimality ()
void notifyIn (Message msg)
HashMap< String, Val > getSolution ()
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.
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.

Protected Member Functions

void parseMethod (Element parameters)
ProjOutput< Val, U > project (UtilitySolutionSpace< Val, U > space, String[] vars)
void sendToParent (String var, String parentVar, String parentAgent, UtilitySolutionSpace< Val, U > space)
void sendOutput (UtilitySolutionSpace< Val, U > space, String root)
Protected Member Functions inherited from frodo2.algorithms.dpop.stochastic.ExpectedUTIL< Val extends Addable< Val >, U extends Addable< U > >
void sendSeparator (String sender, String senderAgent, String dest, String[] separator)
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 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).

Additional Inherited Members

Static Public Attributes inherited from frodo2.algorithms.dpop.stochastic.ExpectedUTIL< Val extends Addable< Val >, U extends Addable< U > >
static MessageType RAND_VARS_PROJ_MSG_TYPE = SamplingPhase.RAND_VARS_PROJ_MSG_TYPE
 The type of the messages containing information about the where random variables should be projected out.
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 Attributes inherited from frodo2.algorithms.dpop.stochastic.ExpectedUTIL< Val extends Addable< Val >, U extends Addable< U > >
HashMap< String, HashSet< String > > randVarsProj = new HashMap< String, HashSet<String> > ()
 For each variable, the random variables that should be projected out of its UTIL message.
Method method = Method.EXPECTATION
 The method to use.
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 phase that maximizes worst-case utility with respect to the random variables.

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

Constructor & Destructor Documentation

◆ WorstCaseUTIL() [1/2]

frodo2.algorithms.dpop.stochastic.robust.WorstCaseUTIL< Val extends Addable< Val >, U extends Addable< U > >.WorstCaseUTIL ( Element parameters,
DCOPProblemInterface< Val, U > problem )

The constructor called in "statistics gatherer" mode.

Parameters
problemthe overall problem
parametersthe description of what statistics should be reported

References frodo2.algorithms.dpop.UTILpropagation< Val extends Addable< Val >, U extends Addable< U > >.problem.

◆ WorstCaseUTIL() [2/2]

frodo2.algorithms.dpop.stochastic.robust.WorstCaseUTIL< Val extends Addable< Val >, U extends Addable< U > >.WorstCaseUTIL ( DCOPProblemInterface< Val, U > problem,
Element parameters )

Constructor.

Parameters
problemthe agent's subproblem
parametersthe parameters for the module

References frodo2.algorithms.dpop.UTILpropagation< Val extends Addable< Val >, U extends Addable< U > >.problem.

Member Function Documentation

◆ parseMethod()

◆ project()

◆ sendOutput()

◆ sendToParent()

void frodo2.algorithms.dpop.stochastic.robust.WorstCaseUTIL< Val extends Addable< Val >, U extends Addable< U > >.sendToParent ( String var,
String parentVar,
String parentAgent,
UtilitySolutionSpace< Val, U > space )
protected

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