|
FRODO Version 2.19.1
An open-source framework for Distributed Constraint Optimization (DCOP)
|
The AFB algorithm by Gershman, Meisels, and Zivan (JAIR'09). More...

Classes | |
| class | ConvergenceMessage |
| A message reporting the convergence for a given component. More... | |
| class | ClusterInfo |
| Information about a cluster of variables owned by this agent. More... | |
| class | ComponentInfo |
| The information about a particular component of the constraint graph. More... | |
Public Member Functions | |
| AFB () | |
| Empty constructor. | |
| AFB (Element parameters, DCOPProblemInterface< V, U > problem) | |
| The constructor called in "statistics gatherer" mode. | |
| AFB (DCOPProblemInterface< V, U > problem, Element parameters) | |
| Constructor. | |
| void | reset () |
| Collection< MessageType > | getMsgTypes () |
| void | getStatsFromQueue (Queue queue) |
| void | setSilent (boolean silent) |
| void | setQueue (Queue queue) |
| void | notifyIn (Message msg) |
| HashMap< String, ArrayList< CurrentAssignment< V > > > | getAssignmentHistories () |
| Map< String, V > | getCurrentSolution () |
| 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 message telling AFB to start. | |
| static MessageType | ORDER_MSG_TYPE = OrderMsg.ORDER_MSG_TYPE |
| The types of the messages containing the chosen linear order of clusters of variables. | |
| static MessageType | ORDER_STATS_MSG_TYPE = OrderMsg.STATS_MSG_TYPE |
| The types of the messages containing the chosen linear order of clusters of variables sent to the stats gatherer. | |
| static final MessageType | FB_CPA_TYPE = new MessageType ("AFB", "FB_CPA") |
| The type of the FB_CPA messages, sent to request estimations from unassigned agents. | |
| static final MessageType | CPA_MSG_TYPE = new MessageType ("AFB", "CPA") |
| The type of the CPA messages, sent to the next variable in the ordering. | |
| static final MessageType | FB_ESTIMATE_TYPE = new MessageType ("AFB", "FB_ESTIMATE") |
| The type of the FB_ESTIMATE messages, sent as response to a FB_CPA message. | |
| static final MessageType | OUTPUT_MSG_TYPE = new MessageType ("AFB", "Solution") |
| The type of the message containing the optimal solution found. | |
| static final MessageType | UB_MSG_TYPE = new MessageType ("AFB", "UB") |
| The type of the messages broadcast by the last variable containing the current upper bound. | |
| static final MessageType | STATS_MSG_TYPE = new MessageType ("AFB", "SolutionStats") |
| The type of the message containing the optimal solution found sent to the stats gatherer. | |
Private Member Functions | |
| void | start () |
| Parses the problem. | |
| boolean | checkAllCostsNonNeg () |
| void | processCpaMsg (CPAmsg< V, U > msgCast, Comparable<?> componentID, ComponentInfo compInfo, int clusterIndex, ClusterInfo info) |
| void | processFbEstimate (FbEstimateMsg< V, U > msgCast, Comparable<?> componentID, ComponentInfo compInfo, int clusterIndex, ClusterInfo info) |
| void | processFbCpa (FbCpaMsg< V, U > msgCast, ComponentInfo compInfo, int clusterIndex, ClusterInfo info) |
| void | processLinearOrdering (OrderMsg< V, U > msg, List< String > agents, Comparable<?> componentID, List< List< String > > order, ComponentInfo compInfo) |
| void | initiate (Comparable<?> compID, ComponentInfo compInfo) |
| Chooses a first value for the first variable and starts the algorithm. | |
| UtilitySolutionSpace< V, U > | h (final int i, ComponentInfo compInfo) |
| UtilitySolutionSpace< V, U > | f (int clusterIndex, ComponentInfo compInfo, PA< V, U > pa) |
| Method to compute the value f for a given cluster and some assigned value. | |
| UtilitySolutionSpace< V, U > | getLocalSpace (ComponentInfo compInfo, int clusterIndex, PA< V, U > pa, final boolean groundClusterVars) |
| Method to compute the local space for a given cluster of variables and an assigned values, as a function of the variables in the current cluster. | |
| void | assign_CPA (Comparable<?> compID, ComponentInfo compInfo, final int clusterIndex) |
| Method to assign a value to a variable. | |
| void | backtrack (Comparable<?> componentID, ComponentInfo compInfo, ClusterInfo info, int clusterIndex) |
| void | terminate (Comparable<?> compID, ComponentInfo compInfo) |
| Sends output and termination messages. | |
Private Attributes | |
| final boolean | verbose = false |
| If set to true, information about each sent and received message will be printed to the console. | |
| final boolean | convergence |
true when the convergence history is to be stored | |
| HashMap< String, ArrayList< CurrentAssignment< V > > > | assignmentHistoriesMap |
| For each variable, its assignment history. | |
| HashMap< Comparable<?>, ComponentInfo > | compInfos |
| The information about each component in the constraint graph. | |
| HashMap< String, Comparable<?> > | compOfCluster |
| For each cluster of variables, its component ID. | |
| Queue | queue |
| This module's queue. | |
| DCOPProblemInterface< V, U > | problem |
| The problem. | |
| boolean | started = false |
| Whether the module has already started the algorithm. | |
| boolean | finished = false |
| Whether the module has already finished the algorithm. | |
| U | zero |
| The 0 cost. | |
| HashMap< String, V > | solution |
| The solution. | |
| Class< V > | valClass |
| The class of V. | |
| Class< V[]> | valArrayClass |
| The class of V[]. | |
| LinkedList< SolutionMsg< V, U > > | pendingSolMsgs |
| Used to store solution messages received before their corresponding linear order. | |
| LinkedList< ConvergenceMessage< V > > | pendingConvMsgs |
| Used to store convergence messages received by the stats gatherer before their corresponding linear order. | |
| LinkedList< FbCpaMsg< V, U > > | pendingFbCpaMsgs |
| For some clusters, a FbCpaMsg that was received before the var order message. | |
| HashMap< String, CPAmsg< V, U > > | pendingCPAmsgs |
| For some clusters, a CPAmsg that was received before the var order message. | |
Static Private Attributes | |
| static final MessageType | CONV_STATS_MSG_TYPE = new MessageType ("AFB", "Convergence") |
| The type of the message reporting the convergence for a given component. | |
The AFB algorithm by Gershman, Meisels, and Zivan (JAIR'09).
| <V> | the type used for variable values |
| <U> | the type used for utility values |
| frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.AFB | ( | ) |
Empty constructor.
| frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.AFB | ( | Element | parameters, |
| DCOPProblemInterface< V, U > | problem ) |
The constructor called in "statistics gatherer" mode.
| parameters | the description of what statistics should be reported (currently unused) |
| problem | the overall problem |
References problem.
| frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.AFB | ( | DCOPProblemInterface< V, U > | problem, |
| Element | parameters ) |
|
private |
Method to assign a value to a variable.
| compID | the ID of the component in the constraint graph |
| compInfo | the information about the component in the constraint graph |
| clusterIndex | the index of the cluster for which we are assigning values |
References frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.agents, assign_CPA(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.assignmentCounter, frodo2.algorithms.afb.PA< V extends Addable< V >, U extends Addable< U > >.assignments, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.B, backtrack(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.bestSol, frodo2.algorithms.afb.PA< V extends Addable< V >, U extends Addable< U > >.c, frodo2.algorithms.afb.PA< V extends Addable< V >, U extends Addable< U > >.clone(), frodo2.algorithms.afb.Timestamp.clone(), frodo2.solutionSpaces.UtilitySolutionSpace< V extends Addable< V >, U extends Addable< U > >.clone(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.clusterAgents, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.clusterInfos, convergence, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.cpa, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.domains, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.estimates, f(), frodo2.communication.Queue.getCurrentTime(), frodo2.solutionSpaces.ProblemInterface< V extends Addable< V >, U extends Addable< U > >.getMinInfUtility(), frodo2.solutionSpaces.ProblemInterface< V extends Addable< V >, U extends Addable< U > >.getPlusInfUtility(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.h, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.history, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.iterator, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.nextAgent, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.order, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.prevCost, frodo2.communication.Queue.sendMessage(), frodo2.communication.Queue.sendMessageToMulti(), frodo2.algorithms.afb.Timestamp.setCounter(), terminate(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.timestamp, UB_MSG_TYPE, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.vars, and verbose.
Referenced by assign_CPA(), initiate(), processCpaMsg(), and processFbEstimate().

|
private |
| componentID | the ID of the component in the constraint graph |
| compInfo | the information about the component in the constraint graph |
| info | the CLusterInfo of the cluster for which we are assigning a value |
| clusterIndex | the index of the cluster for which we are assigning values |
References frodo2.algorithms.afb.PA< V extends Addable< V >, U extends Addable< U > >.assignments, frodo2.algorithms.afb.PA< V extends Addable< V >, U extends Addable< U > >.clone(), frodo2.algorithms.afb.Timestamp.clone(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.cpa, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.estimates, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.iterator, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.order, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.prevAgent, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.prevCost, frodo2.communication.Queue.sendMessage(), frodo2.algorithms.afb.Timestamp.setCounter(), terminate(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.timestamp, frodo2.algorithms.afb.PA< V extends Addable< V >, U extends Addable< U > >.toString(), and verbose.
Referenced by assign_CPA(), and processCpaMsg().

|
private |
true if all utilities in all spaces are non-negative, false otherwise References frodo2.solutionSpaces.DCOPProblemInterface< V extends Addable< V >, U extends Addable< U > >.getSolutionSpaces(), frodo2.solutionSpaces.SolutionSpace< V extends Addable< V > >.Iterator< V >.hasNext(), and zero.
Referenced by start().

|
private |
Method to compute the value f for a given cluster and some assigned value.
| clusterIndex | Index of the cluster for which we want to compute f |
| compInfo | The ComponentInfo of the component the variable belongs to |
| pa | Current partial assignment. |
References getLocalSpace(), and frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.h.
Referenced by assign_CPA(), and processFbCpa().

| HashMap< String, ArrayList< CurrentAssignment< V > > > frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.getAssignmentHistories | ( | ) |
| Map< String, V > frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.getCurrentSolution | ( | ) |
Implements frodo2.algorithms.StatsReporterWithConvergence< Val extends Addable< Val > >.
|
private |
Method to compute the local space for a given cluster of variables and an assigned values, as a function of the variables in the current cluster.
| compInfo | The ComponentInfo of the current component. |
| clusterIndex | Index of the cluster for which we want to get the local space |
| pa | The PA |
| groundClusterVars | Whether the variables in the current cluster should also be grounded |
References getLocalSpace(), frodo2.solutionSpaces.UtilitySolutionSpace< V extends Addable< V >, U extends Addable< U > >.join(), frodo2.solutionSpaces.UtilitySolutionSpace< V extends Addable< V >, U extends Addable< U > >.slice(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.spaces, and frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.vars.
Referenced by f(), and getLocalSpace().

| Collection< MessageType > frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.getMsgTypes | ( | ) |
| void frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.getStatsFromQueue | ( | Queue | queue | ) |
Implements frodo2.algorithms.StatsReporter.
References CONV_STATS_MSG_TYPE, ORDER_STATS_MSG_TYPE, and queue.
Referenced by frodo2.algorithms.afb.test.AFBagentTest< V extends Addable< V >, U extends Addable< U > >.setUp().
|
private |
| i | The index of the cluster to compute h for |
| compInfo | the ComponentInfo of the component this variable belongs to |
References frodo2.solutionSpaces.DCOPProblemInterface< V extends Addable< V >, U extends Addable< U > >.getSolutionSpaces(), h(), frodo2.solutionSpaces.UtilitySolutionSpace< V extends Addable< V >, U extends Addable< U > >.join(), problem, valArrayClass, and valClass.
Referenced by h().

|
private |
Chooses a first value for the first variable and starts the algorithm.
| compID | the ID of the component in the constraint graph |
| compInfo | the information about the component in the constraint graph |
References assign_CPA(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.clusterInfos, frodo2.solutionSpaces.ProblemInterface< V extends Addable< V >, U extends Addable< U > >.getPlusInfUtility(), and frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.order.
Referenced by processLinearOrdering().

| void frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.notifyIn | ( | Message | msg | ) |
Implements frodo2.communication.IncomingMsgPolicyInterface< T >.
References frodo2.communication.MessageType.equals(), notifyIn(), and ORDER_STATS_MSG_TYPE.
Referenced by notifyIn(), and processLinearOrdering().

|
private |
| msgCast | A message of type CPA_MSG_TYPE containing the current PA |
| componentID | The current componentID |
| compInfo | The ComponentInfo corresponding to componentID |
| clusterIndex | The index of the current cluster |
| info | The ClusterInfo corresponding to clusterIndex |
References assign_CPA(), frodo2.algorithms.afb.PA< V extends Addable< V >, U extends Addable< U > >.assignments, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.B, backtrack(), frodo2.algorithms.afb.PA< V extends Addable< V >, U extends Addable< U > >.c, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.cpa, frodo2.algorithms.afb.AFBBaseMsg< V extends Addable< V >, U extends Addable< U > >.dest, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.iterator, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.order, frodo2.algorithms.afb.AFBBaseMsg< V extends Addable< V >, U extends Addable< U > >.pa, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.prevCost, frodo2.algorithms.afb.CPAmsg< V extends Addable< V >, U extends Addable< U > >.sender, frodo2.algorithms.afb.PA< V extends Addable< V >, U extends Addable< U > >.toString(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.varIndexes, and verbose.

|
private |
| msgCast | A message of type FB_CPA. |
| compInfo | The ComponentInfo corresponding to componentID |
| clusterIndex | The index of the current cluster |
| info | The VarInfo corresponding to varIndex |
References frodo2.algorithms.afb.PA< V extends Addable< V >, U extends Addable< U > >.clone(), frodo2.algorithms.afb.Timestamp.clone(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.clusterAgents, frodo2.algorithms.afb.AFBBaseMsg< V extends Addable< V >, U extends Addable< U > >.dest, f(), frodo2.algorithms.afb.AFBBaseMsg< V extends Addable< V >, U extends Addable< U > >.pa, frodo2.algorithms.afb.FbCpaMsg< V extends Addable< V >, U extends Addable< U > >.sender, frodo2.communication.Queue.sendMessage(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.timestamp, frodo2.algorithms.afb.PA< V extends Addable< V >, U extends Addable< U > >.toString(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.varIndexes, and verbose.

|
private |
| msgCast | A message of type FB_ESTIMATE |
| componentID | The current componentID |
| compInfo | The ComponentInfo corresponding to componentID |
| clusterIndex | The index of the current cluster |
| info | The ClusterInfo corresponding to clusterIndex |
References assign_CPA(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.B, frodo2.algorithms.afb.PA< V extends Addable< V >, U extends Addable< U > >.c, frodo2.algorithms.afb.AFBBaseMsg< V extends Addable< V >, U extends Addable< U > >.dest, frodo2.algorithms.afb.FbEstimateMsg< V extends Addable< V >, U extends Addable< U > >.estimate, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.estimates, frodo2.algorithms.afb.AFBBaseMsg< V extends Addable< V >, U extends Addable< U > >.pa, frodo2.algorithms.afb.FbEstimateMsg< V extends Addable< V >, U extends Addable< U > >.sender, frodo2.algorithms.afb.PA< V extends Addable< V >, U extends Addable< U > >.toString(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.varIndexes, and verbose.

|
private |
| msg | A message of type ORDER_MSG_TYPE |
| agents | The agent list received. |
| componentID | The componentID of the component for which we received the linear ordering. |
| order | The variable ordering received. |
| compInfo | The ComponentInfo corresponding to componentID |
References frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.bestSol, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.clusterAgents, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.clusterInfos, frodo2.algorithms.afb.SolutionMsg< V extends Addable< V >, U extends Addable< U > >.getCompID(), frodo2.solutionSpaces.DCOPProblemInterface< V extends Addable< V >, U extends Addable< U > >.getMyVars(), frodo2.solutionSpaces.DCOPProblemInterface< V extends Addable< V >, U extends Addable< U > >.getSolutionSpaces(), frodo2.solutionSpaces.DCOPProblemInterface< V extends Addable< V >, U extends Addable< U > >.getVariables(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.h, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.infoForCluster, initiate(), notifyIn(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.order, problem, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.spaces, valArrayClass, valClass, and frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.varIndexes.

| void frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.reset | ( | ) |
Implements frodo2.algorithms.StatsReporter.
| void frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.setQueue | ( | Queue | queue | ) |
Implements frodo2.communication.MessageListener< T >.
References queue.
| void frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.setSilent | ( | boolean | silent | ) |
|
private |
Parses the problem.
References checkAllCostsNonNeg(), frodo2.solutionSpaces.ProblemInterface< V extends Addable< V >, U extends Addable< U > >.getZeroUtility(), and frodo2.solutionSpaces.DCOPProblemInterface< V extends Addable< V >, U extends Addable< U > >.maximize().

|
private |
Sends output and termination messages.
| compID | the ID of the component in the constraint graph |
| compInfo | the information about the component in the constraint graph |
References frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.agents, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.B, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.bestSol, frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.history, OUTPUT_MSG_TYPE, frodo2.communication.Queue.sendMessage(), frodo2.communication.Queue.sendMessageToMulti(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.solutionSent, frodo2.algorithms.AgentInterface< V extends Addable< V > >.STATS_MONITOR, and verbose.
Referenced by assign_CPA(), and backtrack().

|
private |
For each variable, its assignment history.
|
private |
The information about each component in the constraint graph.
|
private |
For each cluster of variables, its component ID.
|
staticprivate |
The type of the message reporting the convergence for a given component.
Referenced by frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ConvergenceMessage< V extends Addable< V > >.ConvergenceMessage(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ConvergenceMessage< V extends Addable< V > >.ConvergenceMessage(), and getStatsFromQueue().
|
private |
true when the convergence history is to be stored
Referenced by assign_CPA(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.ComponentInfo(), and frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ComponentInfo.ComponentInfo().
|
static |
The type of the CPA messages, sent to the next variable in the ordering.
Referenced by frodo2.algorithms.afb.CPAmsg< V extends Addable< V >, U extends Addable< U > >.CPAmsg(), frodo2.algorithms.afb.CPAmsg< V extends Addable< V >, U extends Addable< U > >.CPAmsg(), and getMsgTypes().
|
static |
The type of the FB_CPA messages, sent to request estimations from unassigned agents.
Referenced by frodo2.algorithms.afb.FbCpaMsg< V extends Addable< V >, U extends Addable< U > >.FbCpaMsg(), frodo2.algorithms.afb.FbCpaMsg< V extends Addable< V >, U extends Addable< U > >.FbCpaMsg(), and getMsgTypes().
|
static |
The type of the FB_ESTIMATE messages, sent as response to a FB_CPA message.
Referenced by frodo2.algorithms.afb.FbEstimateMsg< V extends Addable< V >, U extends Addable< U > >.FbEstimateMsg(), frodo2.algorithms.afb.FbEstimateMsg< V extends Addable< V >, U extends Addable< U > >.FbEstimateMsg(), and getMsgTypes().
|
private |
Whether the module has already finished the algorithm.
|
static |
The types of the messages containing the chosen linear order of clusters of variables.
Referenced by getMsgTypes().
|
static |
The types of the messages containing the chosen linear order of clusters of variables sent to the stats gatherer.
Referenced by getStatsFromQueue(), and notifyIn().
|
static |
The type of the message containing the optimal solution found.
Referenced by getMsgTypes(), and terminate().
|
private |
Used to store convergence messages received by the stats gatherer before their corresponding linear order.
|
private |
For some clusters, a CPAmsg that was received before the var order message.
|
private |
For some clusters, a FbCpaMsg that was received before the var order message.
|
private |
Used to store solution messages received before their corresponding linear order.
|
private |
The problem.
Referenced by AFB(), AFB(), frodo2.algorithms.afb.AFB< V extends Addable< V >, U extends Addable< U > >.ClusterInfo.ClusterInfo(), h(), and processLinearOrdering().
|
private |
This module's queue.
Referenced by getStatsFromQueue(), and setQueue().
|
private |
The solution.
|
static |
The type of the message telling AFB to start.
Referenced by getMsgTypes().
|
private |
Whether the module has already started the algorithm.
|
static |
The type of the message containing the optimal solution found sent to the stats gatherer.
|
static |
The type of the messages broadcast by the last variable containing the current upper bound.
Referenced by assign_CPA(), and getMsgTypes().
|
private |
The class of V[].
Referenced by h(), and processLinearOrdering().
|
private |
The class of V.
Referenced by h(), and processLinearOrdering().
|
private |
If set to true, information about each sent and received message will be printed to the console.
Referenced by assign_CPA(), backtrack(), processCpaMsg(), processFbCpa(), processFbEstimate(), and terminate().
|
private |
The 0 cost.
Referenced by checkAllCostsNonNeg().