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

A DCOP solver using DUCT. More...

Inheritance diagram for frodo2.algorithms.duct.DUCTsolver< V extends Addable< V > >:

Public Member Functions

 DUCTsolver ()
 Default constructor.
 DUCTsolver (boolean useTCP)
 Constructor.
 DUCTsolver (String agentDesc)
 Constructor.
 DUCTsolver (String agentDesc, boolean useTCP)
 Constructor.
 DUCTsolver (Document agentDesc)
 Constructor.
 DUCTsolver (Document agentDesc, boolean useTCP)
 Constructor.
 DUCTsolver (Class< V > domClass, Class< AddableReal > utilClass)
 Constructor.
 DUCTsolver (Class< V > domClass, Class< AddableReal > utilClass, boolean useTCP)
 Constructor.
 DUCTsolver (String agentDescFile, Class< V > domClass, Class< AddableReal > utilClass)
 Constructor.
 DUCTsolver (String agentDescFile, Class< V > domClass, Class< AddableReal > utilClass, boolean useTCP)
 Constructor.
ArrayList< StatsReportergetSolGatherers ()
Solution< V, AddableRealbuildSolution () throws OutOfMemoryError
String plotStats (Solution< V, AddableReal > sol)
 Puts the statistics in a format that can easily be processed after the experiments.
String plotDummyStats (boolean maximize)
 Plots dummy stats.
void clear ()
 Clear this class' member attributes.
Public Member Functions inherited from frodo2.algorithms.AbstractDCOPsolver< V extends Addable< V >, U extends Addable< U >, S extends Solution< V, U >
 AbstractDCOPsolver (String agentDesc, boolean measureTime, boolean useTCP, boolean measureMsgs, Class<? extends XCSPparser< V, U > > parserClass, Class< V > domClass, Class< U > valuationClass)
 Constructor.
solve (Document problem, int nbrElectionRounds, boolean measureMsgs, Long timeout, boolean cleanAfterwards)
solve (DCOPProblemInterface< V, U > problem, int nbrElectionRounds, boolean measureMsgs, Long timeout, boolean cleanAfterwards)
solve (Document problem)
solve (DCOPProblemInterface< V, U > problem)
solve (Document problem, Long timeout)
solve (DCOPProblemInterface< V, U > problem, Long timeout)
solve (Document problem, boolean cleanAfterwards)
solve (DCOPProblemInterface< V, U > problem, boolean cleanAfterwards)
solve (Document problem, int nbrElectionRounds)
solve (DCOPProblemInterface< V, U > problem, int nbrElectionRounds)
solve (Document problem, int nbrElectionRounds, boolean measureMsgs)
solve (DCOPProblemInterface< V, U > problem, int nbrElectionRounds, boolean measureMsgs)
solve (Document problem, int nbrElectionRounds, boolean measureMsgs, Long timeout)
solve (DCOPProblemInterface< V, U > problem, int nbrElectionRounds, boolean measureMsgs, Long timeout)
solve (Document problem, int nbrElectionRounds, Long timeout)
solve (DCOPProblemInterface< V, U > problem, int nbrElectionRounds, Long timeout)
solve (Document problem, boolean cleanAfterwards, Long timeout)
solve (DCOPProblemInterface< V, U > problem, boolean cleanAfterwards, Long timeout) throws OutOfMemoryError
Public Member Functions inherited from frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >
void setProblem (P problem)
 Sets the problem.
void setFactory (AgentFactory< V, U > factory)
 Sets the agent factory.
void setDomClass (Class< V > domClass)
 Sets the class for variable values.
void setUtilClass (Class< U > utilClass)
 Sets the class for utility values.
Document getAgentDesc ()
abstract List<? extends StatsReportergetSolGatherers ()
abstract S buildSolution ()
solve (Document problem)
 Solves the input problem.
String plotStats (Solution< V, U > sol)
 Puts the statistics in a format that can easily be processed after the experiments.
String plotDummyStats (boolean maximize)
 Used when the solver was not able to solve the problem.

Protected Attributes

Sampling< V > samplingModule
 The util propagation phase listener.
DFSgeneration< V, AddableRealdfsModule
 The DFSgeneration module.
Protected Attributes inherited from frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >
Document agentDesc
 Description of the agent to be used.
AgentFactory< V, U > factory
 The agent factory.
Class< ? extends XCSPparser< V, U > > parserClass
 The class of the parser to be used.
List<? extends StatsReportersolGatherers
 The list of modules that record statistics about problem solving.
problem
 The problem.
final boolean useTCP
 Whether to use TCP pipes or shared memory pipes.

Private Attributes

SolutionCollector< V, AddableRealsolCollector
 The solution collector.

Additional Inherited Members

Static Public Member Functions inherited from frodo2.algorithms.AbstractDCOPsolver< V extends Addable< V >, U extends Addable< U >, S extends Solution< V, U >
static void main (String[] args) throws Exception
 Solves a problem and writes statistics to a file.
Protected Member Functions inherited from frodo2.algorithms.AbstractDCOPsolver< V extends Addable< V >, U extends Addable< U >, S extends Solution< V, U >
String getFileHeader (Document problemFile)
 Returns the header for the output CSV file.
String getParamsHeader ()
String getParamsToLine ()
String getProbStats (Document problemFile, String probFilename)
 Parses the statistics about the problem instance.
String getTimeoutLine (String algoName, Document problemFile, String probFilename)
 Returns a timeout line for the output CSV file.
 AbstractDCOPsolver ()
 Dummy constructor.
 AbstractDCOPsolver (String agentDescFile)
 Constructor from an agent configuration file.
 AbstractDCOPsolver (String agentDescFile, boolean useTCP)
 Constructor from an agent configuration file.
 AbstractDCOPsolver (String agentDescFile, boolean useTCP, int shift)
 Constructor from an agent configuration file.
 AbstractDCOPsolver (Document agentDesc)
 Constructor.
void parseParams (String[] params)
 Parses solver parameters.
 AbstractDCOPsolver (Document agentDesc, boolean useTCP)
 Constructor.
 AbstractDCOPsolver (Document agentDesc, Class< ? extends XCSPparser< V, U > > parserClass)
 Constructor.
 AbstractDCOPsolver (Document agentDesc, Class< ? extends XCSPparser< V, U > > parserClass, boolean useTCP)
 Constructor.
void setNbrElectionRounds (int nbrElectionRounds)
 Sets the number of rounds of VariableElection.
void setProblemRescalerShift (int shift)
 Sets the shift parameter of the ProblemRescaler module (if used).
void overrideMsgTypes ()
 Overrides message types if necessary.
Protected Member Functions inherited from frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >
 AbstractSolver ()
 Dummy constructor.
void clear ()
 Clears the parser.

Detailed Description

A DCOP solver using DUCT.

Author
Brammert Ottens, Thomas Leaute
Parameters
<V>type used for variable values

Constructor & Destructor Documentation

◆ DUCTsolver() [1/10]

Default constructor.

◆ DUCTsolver() [2/10]

frodo2.algorithms.duct.DUCTsolver< V extends Addable< V > >.DUCTsolver ( boolean useTCP)

Constructor.

Parameters
useTCPWhether to use TCP pipes or shared memory pipes
Warning
Using TCP pipes automatically disables simulated time.

References frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.useTCP.

◆ DUCTsolver() [3/10]

frodo2.algorithms.duct.DUCTsolver< V extends Addable< V > >.DUCTsolver ( String agentDesc)

Constructor.

Parameters
agentDescthe agent description

References frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.agentDesc.

◆ DUCTsolver() [4/10]

frodo2.algorithms.duct.DUCTsolver< V extends Addable< V > >.DUCTsolver ( String agentDesc,
boolean useTCP )

Constructor.

Parameters
agentDescthe agent description
useTCPWhether to use TCP pipes or shared memory pipes
Warning
Using TCP pipes automatically disables simulated time.

References frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.agentDesc, and frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.useTCP.

◆ DUCTsolver() [5/10]

frodo2.algorithms.duct.DUCTsolver< V extends Addable< V > >.DUCTsolver ( Document agentDesc)

Constructor.

Parameters
agentDescthe agent description

References frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.agentDesc.

◆ DUCTsolver() [6/10]

frodo2.algorithms.duct.DUCTsolver< V extends Addable< V > >.DUCTsolver ( Document agentDesc,
boolean useTCP )

Constructor.

Parameters
agentDescthe agent description
useTCPWhether to use TCP pipes or shared memory pipes
Warning
Using TCP pipes automatically disables simulated time.

References frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.agentDesc, and frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.useTCP.

◆ DUCTsolver() [7/10]

frodo2.algorithms.duct.DUCTsolver< V extends Addable< V > >.DUCTsolver ( Class< V > domClass,
Class< AddableReal > utilClass )

Constructor.

Parameters
domClassthe class to use for variable values
utilClassthe class to use for utilities

References frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.setDomClass(), and frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.setUtilClass().

Here is the call graph for this function:

◆ DUCTsolver() [8/10]

frodo2.algorithms.duct.DUCTsolver< V extends Addable< V > >.DUCTsolver ( Class< V > domClass,
Class< AddableReal > utilClass,
boolean useTCP )

Constructor.

Parameters
domClassthe class to use for variable values
utilClassthe class to use for utilities
useTCPWhether to use TCP pipes or shared memory pipes
Warning
Using TCP pipes automatically disables simulated time.

References frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.setDomClass(), frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.setUtilClass(), and frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.useTCP.

Here is the call graph for this function:

◆ DUCTsolver() [9/10]

frodo2.algorithms.duct.DUCTsolver< V extends Addable< V > >.DUCTsolver ( String agentDescFile,
Class< V > domClass,
Class< AddableReal > utilClass )

Constructor.

Parameters
agentDescFilelocation of the agent description file
domClassthe class to be used for variable values
utilClassthe class to use for utilities

References frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.setDomClass(), and frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.setUtilClass().

Here is the call graph for this function:

◆ DUCTsolver() [10/10]

frodo2.algorithms.duct.DUCTsolver< V extends Addable< V > >.DUCTsolver ( String agentDescFile,
Class< V > domClass,
Class< AddableReal > utilClass,
boolean useTCP )

Constructor.

Parameters
agentDescFilelocation of the agent description file
domClassthe class to be used for variable values
utilClassthe class to use for utilities
useTCPWhether to use TCP pipes or shared memory pipes
Warning
Using TCP pipes automatically disables simulated time.

References frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.setDomClass(), frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.setUtilClass(), and frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.useTCP.

Here is the call graph for this function:

Member Function Documentation

◆ buildSolution()

◆ clear()

void frodo2.algorithms.duct.DUCTsolver< V extends Addable< V > >.clear ( )

Clear this class' member attributes.

◆ getSolGatherers()

◆ plotDummyStats()

String frodo2.algorithms.duct.DUCTsolver< V extends Addable< V > >.plotDummyStats ( boolean maximize)

Plots dummy stats.

◆ plotStats()

String frodo2.algorithms.duct.DUCTsolver< V extends Addable< V > >.plotStats ( Solution< V, AddableReal > sol)

Puts the statistics in a format that can easily be processed after the experiments.

Author
Brammert Ottens, Dec 29, 2011
Parameters
solthe solution
Returns
string representation of the statistics

References frodo2.algorithms.duct.DUCTSolution< V extends Addable< V > >.getFinalBound(), frodo2.algorithms.Solution< V, U >.getNbrMsgs(), frodo2.algorithms.Solution< V, U >.getNcccCount(), frodo2.algorithms.Solution< V, U >.getTimeNeeded(), frodo2.algorithms.Solution< V, U >.getTotalMsgSize(), frodo2.algorithms.Solution< V, U >.getTreeWidth(), and frodo2.algorithms.Solution< V, U >.getUtility().

Here is the call graph for this function:

Member Data Documentation

◆ dfsModule

DFSgeneration<V, AddableReal> frodo2.algorithms.duct.DUCTsolver< V extends Addable< V > >.dfsModule
protected

The DFSgeneration module.

Referenced by buildSolution(), and getSolGatherers().

◆ samplingModule

Sampling<V> frodo2.algorithms.duct.DUCTsolver< V extends Addable< V > >.samplingModule
protected

The util propagation phase listener.

Referenced by buildSolution(), and getSolGatherers().

◆ solCollector

SolutionCollector<V, AddableReal> frodo2.algorithms.duct.DUCTsolver< V extends Addable< V > >.solCollector
private

The solution collector.


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