FRODO Version 2.19.1
An open-source framework for Distributed Constraint Optimization (DCOP)
Loading...
Searching...
No Matches
frodo2.algorithms.dpop.memory.LabelingPhase< V extends Addable< V > > Class Template Reference

MB-DPOP's labeling phase that identifies cluster roots (CRs) and cycle-cut (CC) nodes. More...

Inheritance diagram for frodo2.algorithms.dpop.memory.LabelingPhase< V extends Addable< V > >:

Classes

class  VarInfo
 A class containing all the useful information about one of the agent's variables. More...
class  StatsMsg
 A message containing stats about a variable. More...
class  OutputMsg
 The output message for a given variable. More...

Public Member Functions

 LabelingPhase (DCOPProblemInterface< V, ?> problem, Element params)
 Constructor.
 LabelingPhase (Element params, DCOPProblemInterface< V, ?> problem)
 Constructor in stats gatherer mode.
void setQueue (Queue queue)
Collection< MessageTypegetMsgTypes ()
void getStatsFromQueue (Queue queue)
void setSilent (boolean silent)
void notifyIn (Message msg)
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 OUTPUT_MSG_TYPE = new MessageType ("MB-DPOP", "LabelingPhase", "Output")
 The type of the output messages.

Private Member Functions

void printDFS ()
 Prints the DFS with the clusters.
void start ()
 Starts the algorithm.

Private Attributes

Queue queue
 The agent's queue.
DCOPProblemInterface< V, ?> problem
 The agent's subproblem.
final short maxDim
 The maximum number of variables in a UTIL message.
boolean started = false
 Whether the algorithm has already started.
HashMap< String, VarInfovarInfos
 Each interval variable's VarInfo.
boolean reportStats = true
 Whether to report stats.
String dotRendererClass = ""
 The name of the class of the DOT renderer.

Static Private Attributes

static final MessageType STATS_MSG_TYPE = new MessageType ("MB-DPOP", "LabelingPhase", "ClusterStats")
 The type of the stats messages.

Detailed Description

MB-DPOP's labeling phase that identifies cluster roots (CRs) and cycle-cut (CC) nodes.

Adrian Petcu and Boi Faltings. MB-DPOP: A new memory-bounded algorithm for distributed optimization. In Manuela M. Veloso, editor, Proceedings of the Twentieth International Joint Conference on Artificial Intelligence (IJCAI'07), pages 1452-1457, Hyderabad, India, January 6-12 2007.

Author
Thomas Leaute
Parameters
<V>the type used for variable values

Constructor & Destructor Documentation

◆ LabelingPhase() [1/2]

frodo2.algorithms.dpop.memory.LabelingPhase< V extends Addable< V > >.LabelingPhase ( DCOPProblemInterface< V, ?> problem,
Element params )

Constructor.

Parameters
problemthe agent's subproblem
paramsthe module parameters

References problem.

◆ LabelingPhase() [2/2]

frodo2.algorithms.dpop.memory.LabelingPhase< V extends Addable< V > >.LabelingPhase ( Element params,
DCOPProblemInterface< V, ?> problem )

Constructor in stats gatherer mode.

Parameters
paramsthe module parameters
problemthe overall problem

References frodo2.solutionSpaces.DCOPProblemInterface< V extends Addable< V >, U extends Addable< U > >.getNbrVars(), and problem.

Here is the call graph for this function:

Member Function Documentation

◆ getMsgTypes()

◆ getStatsFromQueue()

◆ notifyIn()

void frodo2.algorithms.dpop.memory.LabelingPhase< V extends Addable< V > >.notifyIn ( Message msg)
See also
StatsReporter.notifyIn(Message)
Todo
This is not optimal; subtrees should coordinate to choose common CCs
Todo
Make the heuristic customizable
Todo
Ignore virtual messages once the output of project() has been made intensional

Implements frodo2.communication.IncomingMsgPolicyInterface< T >.

References frodo2.algorithms.dpop.memory.LabelingPhase< V extends Addable< V > >.VarInfo.ccs, frodo2.algorithms.dpop.memory.LabelingPhase< V extends Addable< V > >.VarInfo.dfsView, frodo2.communication.MessageType.equals(), frodo2.algorithms.varOrdering.dfs.DFSgeneration< V extends Addable< V >, U extends Addable< U > >.DFSview< V extends Addable< V >, U extends Addable< U > >.getAllPseudoChildren(), frodo2.algorithms.dpop.memory.LabelMsg< V extends Addable< V > >.getCCs(), 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.dpop.memory.LabelMsg< V extends Addable< V > >.getDest(), frodo2.solutionSpaces.DCOPProblemInterface< V extends Addable< V >, U extends Addable< U > >.getDomain(), frodo2.algorithms.varOrdering.dfs.DFSgeneration< V extends Addable< V >, U extends Addable< U > >.MessageDFSoutput< V extends Addable< V >, U extends Addable< U > >.getNeighbors(), frodo2.solutionSpaces.DCOPProblemInterface< V extends Addable< V >, U extends Addable< U > >.getOwner(), frodo2.communication.MessageWith3Payloads< T1 extends Serializable, T2 extends Serializable, T3 extends Serializable >.getPayload1(), frodo2.communication.MessageWith3Payloads< T1 extends Serializable, T2 extends Serializable, T3 extends Serializable >.getPayload2(), frodo2.communication.MessageWith3Payloads< T1 extends Serializable, T2 extends Serializable, T3 extends Serializable >.getPayload3(), frodo2.algorithms.dpop.memory.LabelMsg< V extends Addable< V > >.getSender(), frodo2.algorithms.dpop.memory.LabelMsg< V extends Addable< V > >.getSep(), frodo2.communication.Message.getType(), frodo2.algorithms.varOrdering.dfs.DFSgeneration< V extends Addable< V >, U extends Addable< U > >.MessageDFSoutput< V extends Addable< V >, U extends Addable< U > >.getVar(), frodo2.algorithms.dpop.memory.LabelMsg< V extends Addable< V > >.LABEL_MSG_TYPE, frodo2.algorithms.dpop.memory.LabelingPhase< V extends Addable< V > >.VarInfo.name, frodo2.algorithms.dpop.memory.LabelingPhase< V extends Addable< V > >.VarInfo.nbrMsgsLeft, frodo2.algorithms.dpop.memory.LabelingPhase< V extends Addable< V > >.VarInfo.neighbors, frodo2.algorithms.varOrdering.dfs.DFSgeneration< V extends Addable< V >, U extends Addable< U > >.OUTPUT_MSG_TYPE, printDFS(), frodo2.communication.Queue.sendMessage(), frodo2.communication.Queue.sendMessageToSelf(), frodo2.algorithms.dpop.memory.LabelingPhase< V extends Addable< V > >.VarInfo.sep, start(), frodo2.algorithms.AgentInterface< V extends Addable< V > >.START_AGENT, frodo2.algorithms.AgentInterface< V extends Addable< V > >.STATS_MONITOR, and STATS_MSG_TYPE.

Here is the call graph for this function:

◆ printDFS()

◆ reset()

void frodo2.algorithms.dpop.memory.LabelingPhase< V extends Addable< V > >.reset ( )
See also
StatsReporter.reset()
Todo
Auto-generated method stub

Implements frodo2.algorithms.StatsReporter.

◆ setQueue()

◆ setSilent()

void frodo2.algorithms.dpop.memory.LabelingPhase< V extends Addable< V > >.setSilent ( boolean silent)

◆ start()

void frodo2.algorithms.dpop.memory.LabelingPhase< V extends Addable< V > >.start ( )
private

Starts the algorithm.

References frodo2.solutionSpaces.DCOPProblemInterface< V extends Addable< V >, U extends Addable< U > >.getNbrIntVars().

Referenced by notifyIn().

Here is the call graph for this function:

Member Data Documentation

◆ dotRendererClass

String frodo2.algorithms.dpop.memory.LabelingPhase< V extends Addable< V > >.dotRendererClass = ""
private

The name of the class of the DOT renderer.

Referenced by printDFS().

◆ maxDim

final short frodo2.algorithms.dpop.memory.LabelingPhase< V extends Addable< V > >.maxDim
private

The maximum number of variables in a UTIL message.

◆ OUTPUT_MSG_TYPE

◆ problem

The agent's subproblem.

Referenced by LabelingPhase(), and LabelingPhase().

◆ queue

The agent's queue.

Referenced by getStatsFromQueue(), and setQueue().

◆ reportStats

boolean frodo2.algorithms.dpop.memory.LabelingPhase< V extends Addable< V > >.reportStats = true
private

Whether to report stats.

◆ started

boolean frodo2.algorithms.dpop.memory.LabelingPhase< V extends Addable< V > >.started = false
private

Whether the algorithm has already started.

◆ STATS_MSG_TYPE

final MessageType frodo2.algorithms.dpop.memory.LabelingPhase< V extends Addable< V > >.STATS_MSG_TYPE = new MessageType ("MB-DPOP", "LabelingPhase", "ClusterStats")
staticprivate

◆ varInfos

HashMap<String, VarInfo> frodo2.algorithms.dpop.memory.LabelingPhase< V extends Addable< V > >.varInfos
private

Each interval variable's VarInfo.


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