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

The MGM algorithm. More...

Inheritance diagram for frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >:

Classes

enum  StateValue
 The state of the current variable: More...
class  VariableInfo
 Convenience class that contains all necessary information on a single variable. More...

Public Member Functions

 MGM2 (Element parameters, DCOPProblemInterface< V, U > problem)
 Constructor for the stats reporter.
 MGM2 (DCOPProblemInterface< V, U > problem, Element parameters)
 Constructor.
void getStatsFromQueue (Queue queue)
void setSilent (boolean silent)
void reset ()
void notifyIn (Message msg)
void setQueue (Queue queue)
Collection< MessageTypegetMsgTypes ()
HashMap< String, ArrayList< frodo2.algorithms.StatsReporterWithConvergence.CurrentAssignment< V > > > getAssignmentHistories ()
Map< String, V > getCurrentSolution ()
boolean processOK (OK< V > msg, VariableInfo< V, U > varInfo)
 Method to process an OK message.
void storeOffer (OFFER< V, U > msgOFFER, VariableInfo< V, U > varInfo)
 Stores an offer made.
void processOFFER (VariableInfo< V, U > varInfo)
 checks whether all offers have been received, and acts accordingly
void storeIMPROVE (IMPROVE< U > msg, VariableInfo< V, U > varInfo)
 Store an IMPROVE message received.
void processIMPROVE (VariableInfo< V, U > varInfo)
 Method used to check whether all IMPROVE messages have been received.
boolean processGO (VariableInfo< V, U > varInfo, boolean move)
 Method used to process a GO or NOGO message.
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 MessageType START_MSG_TYPE = AgentInterface.START_AGENT
 The type of the START message.
static final MessageType OFFER_MSG_TYPE = new MessageType ("MGM2", "offer")
 The type of an OFFER message.
static final MessageType ACCEPT_MSG_TYPE = new MessageType ("MGM2", "accept")
 The type of a ACCEPT message.
static final MessageType REJECT_MSG_TYPE = new MessageType ("MGM2", "reject")
 The type of a REJECT message.
static final MessageType IMPROVE_MSG_TYPE = MGM.IMPROVE_MSG_TYPE
 Type used for the IMPROVE message.
static final MessageType GO_MSG_TYPE = new MessageType ("MGM2", "go")
 Type used for the GO message.
static final MessageType NO_GO_MSG_TYPE = new MessageType ("MGM2", "nogo")
 Type used for the NO GO message.
static final MessageType CONV_STATS_MSG_TYPE = new MessageType ("MGM2", "ConvStats")
 The type of the message containing the assignment history.

Protected Member Functions

void init ()
 Called when the first message is received, initializes all the fields and variables that are needed.
void sendOK (VariableInfo< V, U > varInfo)
 Sending an OK message to all neighbors.
void log (String variableID, String message)
 Log function used to print the variables state during debugging.
VariableInfo< V, U > createVariableInfo (String variableID, DCOPProblemInterface< V, U > problem, List<? extends UtilitySolutionSpace< V, U > > spaces, boolean maximize)
 method used to create a VariableInfo object

Protected Attributes

Queue queue
 The queue to which this listener is registered.
final boolean LOG = false
 When true, every variable writes log information to a log file.
HashMap< String, BufferedWriter > loggers
 A list of buffered writers used to log information during debugging.
final boolean maximize
 true when solving a maximization problem, and false otherwise
Map< String, String > owners
 Maps variables to the agent that owns it.
HashMap< String, VariableInfo< V, U > > infos
 Contains, for each variable, an object containing all information needed by the algorithm.
final boolean convergence
 If true, the assignment history must be stored.
HashMap< String, ArrayList< CurrentAssignment< V > > > assignmentHistoriesMap
 For each variable its assignment history.

Private Attributes

int cycles
 The maximal number of rounds to be performed.
boolean started
 true when the START_AGENT message has been received, and false otherwise
DCOPProblemInterface< V, U > problem
 The local problem definition.
int variables_finished
 The number of variables that are finished.
double q
 value between 0 and 1, used to determine whether a variable is offering or receiving
boolean terminated
 true when the agent has terminated upon initialization, and false otherwise

Detailed Description

The MGM algorithm.

Author
Brammert Ottens, 21 feb. 2011
Parameters
<V>type used for domain values
<U>type used for utility values

Constructor & Destructor Documentation

◆ MGM2() [1/2]

frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.MGM2 ( Element parameters,
DCOPProblemInterface< V, U > problem )

Constructor for the stats reporter.

Parameters
parametersparameters of the stats reporter
problemthe problem that is being solved

References assignmentHistoriesMap, and problem.

◆ MGM2() [2/2]

frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.MGM2 ( DCOPProblemInterface< V, U > problem,
Element parameters )

Constructor.

Parameters
problemthe local problem definition
parametersparameters of the listener

References cycles, problem, and q.

Member Function Documentation

◆ createVariableInfo()

VariableInfo< V, U > frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.createVariableInfo ( String variableID,
DCOPProblemInterface< V, U > problem,
List<? extends UtilitySolutionSpace< V, U > > spaces,
boolean maximize )
protected

method used to create a VariableInfo object

Author
Brammert Ottens, 16 feb. 2011
Parameters
variableIDthe ID of the variable
problemthe local problem definition
spaceslist of spaces owned by the agent
maximizetrue when the problem is a maximization problem, and false otherwise
Returns
a VariablInfo object for variableID

References maximize, and problem.

Referenced by init().

◆ getAssignmentHistories()

◆ getCurrentSolution()

◆ getMsgTypes()

◆ getStatsFromQueue()

◆ init()

◆ log()

void frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.log ( String variableID,
String message )
protected

Log function used to print the variables state during debugging.

Parameters
variableIDThe ID of the variable that is logging
messageThe message that must be logged

References LOG, and loggers.

Referenced by processOK(), and storeOffer().

◆ notifyIn()

◆ processGO()

◆ processIMPROVE()

void frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.processIMPROVE ( VariableInfo< V, U > varInfo)

Method used to check whether all IMPROVE messages have been received.

Author
Brammert Ottens, 21 feb. 2011
Parameters
varInfoinfo on the variable that is responsible for the messages

References frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.bestOfferer, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.can_move, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.committed, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.StateValue.GO, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.goMsgToProcess, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.improveMsgReceived, notifyIn(), frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.number_of_neighbors, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.okMsgsToProcess, processOK(), queue, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.reset(), sendOK(), and frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.terminated.

Here is the call graph for this function:

◆ processOFFER()

void frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.processOFFER ( VariableInfo< V, U > varInfo)

checks whether all offers have been received, and acts accordingly

Author
Brammert Ottens, 6 apr. 2011
Parameters
varInfothe variable that checks whether all offers have been received

References frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.bestOffer, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.bestOfferer, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.committed, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.determinePossibleImprovement(), frodo2.algorithms.localSearch.mgm.mgm2.BinaryAssignment< Val extends Addable< Val > >.getOwnValue(), frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.StateValue.IMPROVE, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.improve, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.improveMsgsToProcess, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.neighbors, notifyIn(), frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.number_of_neighbors, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.offeringVariables, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.offersReceived, owners, queue, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.setNewValue(), frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.terminated, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.variableID, and frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.zeroConflicts.

Referenced by processOK().

Here is the call graph for this function:

◆ processOK()

boolean frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.processOK ( OK< V > msg,
VariableInfo< V, U > varInfo )

Method to process an OK message.

Author
Brammert Ottens, 21 feb. 2011
Parameters
msgthe message to be processed
varInfoinfo on the variable that is responsible for the message
Returns
true when the message needs to be stored for later processing, and false otherwise

References frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.calculateCurrentUtility(), frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.calculateOffer(), frodo2.algorithms.localSearch.mgm.mgm2.OFFER< Val extends Addable< Val >, U extends Addable< U > >.getReceiver(), frodo2.algorithms.localSearch.mgm.OK< V extends Addable< V > >.getSender(), frodo2.algorithms.localSearch.mgm.OK< V extends Addable< V > >.getValue(), LOG, log(), frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.neighbors, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.number_of_neighbors, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.StateValue.OFFER, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.offer, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.offerMsgsToProcess, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.StateValue.OK, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.okMsgsReceived, owners, processOFFER(), q, queue, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.setNeighborValue(), frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.state, storeOffer(), frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.terminated, and frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.variableID.

Referenced by processGO(), and processIMPROVE().

Here is the call graph for this function:

◆ reset()

◆ sendOK()

void frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.sendOK ( VariableInfo< V, U > varInfo)
protected

Sending an OK message to all neighbors.

Author
Brammert Ottens, 21 feb. 2011
Parameters
varInfothe variable that is sending the messages

References frodo2.algorithms.AgentInterface< V extends Addable< V > >.AGENT_FINISHED, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.agent_view, assignmentHistoriesMap, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.can_move, CONV_STATS_MSG_TYPE, convergence, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.currentValue, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.currentValueIndex, cycles, infos, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.neighborDomains, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.neighbors, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.newValue, owners, queue, frodo2.algorithms.AgentInterface< V extends Addable< V > >.STATS_MONITOR, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.termination_counter, and frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.variableID.

Referenced by processGO(), and processIMPROVE().

◆ setQueue()

◆ setSilent()

void frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.setSilent ( boolean silent)

◆ storeIMPROVE()

◆ storeOffer()

void frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.storeOffer ( OFFER< V, U > msgOFFER,
VariableInfo< V, U > varInfo )

Stores an offer made.

Author
Brammert Ottens, 6 apr. 2011
Parameters
msgOFFERthe offer
varInfothe variable that received the offer

References frodo2.solutionSpaces.AddableConflicts< U extends Addable< U > >.add(), frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.calculateGain(), frodo2.algorithms.localSearch.mgm.mgm2.OFFER< Val extends Addable< Val >, U extends Addable< U > >.getAssignments(), frodo2.algorithms.localSearch.mgm.mgm2.OFFER< Val extends Addable< Val >, U extends Addable< U > >.getSender(), frodo2.algorithms.localSearch.mgm.mgm2.OFFER< Val extends Addable< Val >, U extends Addable< U > >.getUtilities(), frodo2.solutionSpaces.AddableConflicts< U extends Addable< U > >.getUtility(), frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.improve, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.infeasibleUtility, LOG, log(), frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.offer, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.offeringVariables, frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.offersReceived, owners, queue, and frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.VariableInfo< V extends Addable< V >, U extends Addable< U > >.variableID.

Referenced by processOK().

Here is the call graph for this function:

Member Data Documentation

◆ ACCEPT_MSG_TYPE

◆ assignmentHistoriesMap

HashMap<String, ArrayList<CurrentAssignment<V> > > frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.assignmentHistoriesMap
protected

For each variable its assignment history.

Referenced by init(), MGM2(), and sendOK().

◆ CONV_STATS_MSG_TYPE

final MessageType frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.CONV_STATS_MSG_TYPE = new MessageType ("MGM2", "ConvStats")
static

The type of the message containing the assignment history.

Referenced by init(), notifyIn(), and sendOK().

◆ convergence

final boolean frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.convergence
protected

If true, the assignment history must be stored.

Referenced by init(), and sendOK().

◆ cycles

int frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.cycles
private

The maximal number of rounds to be performed.

Referenced by MGM2(), and sendOK().

◆ GO_MSG_TYPE

final MessageType frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.GO_MSG_TYPE = new MessageType ("MGM2", "go")
static

Type used for the GO message.

Referenced by getMsgTypes(), and frodo2.algorithms.localSearch.mgm.mgm2.GO.GO().

◆ IMPROVE_MSG_TYPE

final MessageType frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.IMPROVE_MSG_TYPE = MGM.IMPROVE_MSG_TYPE
static

Type used for the IMPROVE message.

Referenced by getMsgTypes(), and frodo2.algorithms.localSearch.mgm.mgm2.GO.GO().

◆ infos

HashMap<String, VariableInfo<V, U> > frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.infos
protected

Contains, for each variable, an object containing all information needed by the algorithm.

Referenced by init(), and sendOK().

◆ LOG

final boolean frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.LOG = false
protected

When true, every variable writes log information to a log file.

Referenced by init(), log(), processOK(), and storeOffer().

◆ loggers

HashMap<String, BufferedWriter> frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.loggers
protected

A list of buffered writers used to log information during debugging.

Referenced by init(), and log().

◆ maximize

final boolean frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.maximize
protected

true when solving a maximization problem, and false otherwise

Referenced by createVariableInfo(), init(), and storeIMPROVE().

◆ NO_GO_MSG_TYPE

final MessageType frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.NO_GO_MSG_TYPE = new MessageType ("MGM2", "nogo")
static

◆ OFFER_MSG_TYPE

◆ owners

Map<String, String> frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.owners
protected

Maps variables to the agent that owns it.

Referenced by init(), processOFFER(), processOK(), sendOK(), and storeOffer().

◆ problem

◆ q

double frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.q
private

value between 0 and 1, used to determine whether a variable is offering or receiving

Referenced by MGM2(), and processOK().

◆ queue

Queue frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.queue
protected

The queue to which this listener is registered.

Referenced by getStatsFromQueue(), init(), processIMPROVE(), processOFFER(), processOK(), sendOK(), setQueue(), and storeOffer().

◆ REJECT_MSG_TYPE

final MessageType frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.REJECT_MSG_TYPE = new MessageType ("MGM2", "reject")
static

◆ START_MSG_TYPE

MessageType frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.START_MSG_TYPE = AgentInterface.START_AGENT
static

The type of the START message.

Referenced by getMsgTypes().

◆ started

boolean frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.started
private

true when the START_AGENT message has been received, and false otherwise

Referenced by init(), and notifyIn().

◆ terminated

boolean frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.terminated
private

true when the agent has terminated upon initialization, and false otherwise

Referenced by init().

◆ variables_finished

int frodo2.algorithms.localSearch.mgm.mgm2.MGM2< V extends Addable< V >, U extends Addable< U > >.variables_finished
private

The number of variables that are finished.


The documentation for this class was generated from the following file:
  • src/frodo2/algorithms/localSearch/mgm/mgm2/MGM2.java