FRODO Version 2.19.1
An open-source framework for Distributed Constraint Optimization (DCOP)
Loading...
Searching...
No Matches
frodo2.algorithms.varOrdering.linear.CentralLinearOrdering< V extends Addable< V >, U extends Addable< U > >.MaxWidthMinDom< V extends Addable< V >, U extends Addable< U > > Class Template Reference

A linear ordering heuristic that chooses first variables with highest numbers of links with previous variables, breaking ties by minimizing domain size. More...

Inheritance diagram for frodo2.algorithms.varOrdering.linear.CentralLinearOrdering< V extends Addable< V >, U extends Addable< U > >.MaxWidthMinDom< V extends Addable< V >, U extends Addable< U > >:

Public Member Functions

 MaxWidthMinDom (Element parameters, DCOPProblemInterface< V, U > problem)
 The constructor called in "statistics gatherer" mode.
 MaxWidthMinDom (DCOPProblemInterface< V, U > problem, Element parameters)
 Constructor.
void reset ()
void notifyIn (Message msg)
Public Member Functions inherited from frodo2.algorithms.varOrdering.linear.CentralLinearOrdering< V, U >
 CentralLinearOrdering (Element parameters, DCOPProblemInterface< V, U > problem)
 The constructor called in "statistics gatherer" mode.
void reset ()
void setSilent (boolean silent)
void setQueue (Queue queue)
void getStatsFromQueue (Queue queue)
Collection< MessageTypegetMsgTypes ()
void notifyIn (Message msg)

Protected Member Functions

void init ()
void reportVars ()
String[] chooseOrder ()
Protected Member Functions inherited from frodo2.algorithms.varOrdering.linear.CentralLinearOrdering< V, U >
void init ()
 Parses the problem.
abstract void reportVars ()
 Sends all necessary information about variables to the dictator.
abstract String[] chooseOrder ()

Private Attributes

HashMap< String, Collection< String > > neighborhoods
 For each variable, its list of neighbors.
HashMap< String, Integer > domSizes
 The domain size of each variable.

Additional Inherited Members

Static Public Attributes inherited from frodo2.algorithms.varOrdering.linear.CentralLinearOrdering< V, U >
static MessageType START_MSG_TYPE
 The type of the message telling the module to start.
static final MessageType REPORT_MSG_TYPE
 The type of messages sent by agents to the dictator with information on their variables.
Protected Attributes inherited from frodo2.algorithms.varOrdering.linear.CentralLinearOrdering< V, U >
Queue queue
 This module's queue.
DCOPProblemInterface< V, U > problem
 The problem.
boolean started
 Whether the module has already started the algorithm.
String dictator
 The name of the agent that chooses the variable order.
Map< String, String > owners
 Who owns each agent.
String myID
 This agent's ID.

Detailed Description

A linear ordering heuristic that chooses first variables with highest numbers of links with previous variables, breaking ties by minimizing domain size.

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

Constructor & Destructor Documentation

◆ MaxWidthMinDom() [1/2]

frodo2.algorithms.varOrdering.linear.CentralLinearOrdering< V extends Addable< V >, U extends Addable< U > >.MaxWidthMinDom< V extends Addable< V >, U extends Addable< U > >.MaxWidthMinDom ( Element parameters,
DCOPProblemInterface< V, U > problem )

The constructor called in "statistics gatherer" mode.

Parameters
problemthe overall problem
parametersthe description of what statistics should be reported (currently unused)

References frodo2.algorithms.varOrdering.linear.CentralLinearOrdering< V, U >.problem.

◆ MaxWidthMinDom() [2/2]

frodo2.algorithms.varOrdering.linear.CentralLinearOrdering< V extends Addable< V >, U extends Addable< U > >.MaxWidthMinDom< V extends Addable< V >, U extends Addable< U > >.MaxWidthMinDom ( DCOPProblemInterface< V, U > problem,
Element parameters )

Constructor.

Parameters
problemthis agent's problem
parametersthe parameters for MaxWidthMinDom

References frodo2.algorithms.varOrdering.linear.CentralLinearOrdering< V, U >.problem.

Member Function Documentation

◆ chooseOrder()

◆ init()

◆ notifyIn()

void frodo2.algorithms.varOrdering.linear.CentralLinearOrdering< V extends Addable< V >, U extends Addable< U > >.MaxWidthMinDom< V extends Addable< V >, U extends Addable< U > >.notifyIn ( Message msg)

◆ reportVars()

◆ reset()

void frodo2.algorithms.varOrdering.linear.CentralLinearOrdering< V extends Addable< V >, U extends Addable< U > >.MaxWidthMinDom< V extends Addable< V >, U extends Addable< U > >.reset ( )

Member Data Documentation

◆ domSizes

HashMap<String, Integer> frodo2.algorithms.varOrdering.linear.CentralLinearOrdering< V extends Addable< V >, U extends Addable< U > >.MaxWidthMinDom< V extends Addable< V >, U extends Addable< U > >.domSizes
private

The domain size of each variable.

Referenced by reportVars().

◆ neighborhoods

HashMap< String, Collection<String> > frodo2.algorithms.varOrdering.linear.CentralLinearOrdering< V extends Addable< V >, U extends Addable< U > >.MaxWidthMinDom< V extends Addable< V >, U extends Addable< U > >.neighborhoods
private

For each variable, its list of neighbors.

Referenced by reportVars().


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