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

A solver for MPC-Dis(W)CSP4. More...

Inheritance diagram for frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver< V extends Addable< V >, U extends Addable< U > >:

Public Member Functions

 MPC_DisWCSP4solver ()
 Constructor for MPC-DisWCSP4.
 MPC_DisWCSP4solver (String agentDescFile)
 Constructor from an agent configuration file.
 MPC_DisWCSP4solver (String agentDescFile, boolean useTCP)
 Constructor from an agent configuration file.
 MPC_DisWCSP4solver (Document agentDesc)
 Constructor.
 MPC_DisWCSP4solver (Document agentDesc, boolean useTCP)
 Constructor.
List< StatsReportergetSolGatherers ()
Solution< V, U > buildSolution ()
Solution< V, U > solve (Document problem, boolean measureMsgs, Long timeout, int infiniteCost, int maxTotalCost)
 Solves the input problem.
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.

Private Member Functions

void setMaxCost (int infiniteCost, int maxTotalCost)
 Sets the maximum total cost of any solution.

Private Attributes

SolutionCollector< V, U > solCollector
 The module that gathers solution statistics.

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.
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.

Detailed Description

A solver for MPC-Dis(W)CSP4.

MPC-DisWCSP4 is the MPC-DisCSP4, with the weak extension to DisWCSPs initially proposed for MPC-DisCSP2 in the following paper:

Marius-Calin Silaghi and Debasis Mitra. Distributed constraint satisfaction and optimization with privacy enforcement. In Proceedings of the 2004 IEEE/WIC/ACM International Conference on Intelligent Agent Technology (IAT'04), pages 531-535, Beijing, China, September 20-24 2004. IEEE Computer Society Press.

MPC-DisCSP4 is described in the following paper:

Marius-Calin Silaghi. Hiding absence of solution for a distributed constraint satisfaction problem (poster). In Proceedings of the Eighteenth International Florida Artificial Intelligence Research Society Conference (FLAIRS'05), pages 854-855, Clearwater Beach, FL, USA, May 15-17 2005. AAAI Press.

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

Constructor & Destructor Documentation

◆ MPC_DisWCSP4solver() [1/5]

Constructor for MPC-DisWCSP4.

◆ MPC_DisWCSP4solver() [2/5]

frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver< V extends Addable< V >, U extends Addable< U > >.MPC_DisWCSP4solver ( String agentDescFile)

Constructor from an agent configuration file.

Parameters
agentDescFilethe agent configuration file (either for MPC-DisCSP4 or MPC-DisWCSP4)

◆ MPC_DisWCSP4solver() [3/5]

frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver< V extends Addable< V >, U extends Addable< U > >.MPC_DisWCSP4solver ( String agentDescFile,
boolean useTCP )

Constructor from an agent configuration file.

Parameters
agentDescFilethe agent configuration file (either for MPC-DisCSP4 or MPC-DisWCSP4)
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.

◆ MPC_DisWCSP4solver() [4/5]

frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver< V extends Addable< V >, U extends Addable< U > >.MPC_DisWCSP4solver ( Document agentDesc)

Constructor.

Parameters
agentDescthe agent configuration file

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

◆ MPC_DisWCSP4solver() [5/5]

frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver< V extends Addable< V >, U extends Addable< U > >.MPC_DisWCSP4solver ( Document agentDesc,
boolean useTCP )

Constructor.

Parameters
agentDescthe agent configuration file
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.

Member Function Documentation

◆ buildSolution()

◆ getSolGatherers()

◆ setMaxCost()

void frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver< V extends Addable< V >, U extends Addable< U > >.setMaxCost ( int infiniteCost,
int maxTotalCost )
private

Sets the maximum total cost of any solution.

Parameters
infiniteCostprivate constraints are only allowed to be soft constraints; infeasibility is identified by a cost of infiniteCost
maxTotalCostmaximum total cost of any solution; should be greater than (infiniteCost * number of agents) to guarantee correctness

Referenced by solve().

◆ solve()

Solution< V, U > frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver< V extends Addable< V >, U extends Addable< U > >.solve ( Document problem,
boolean measureMsgs,
Long timeout,
int infiniteCost,
int maxTotalCost )

Solves the input problem.

Parameters
problemthe problem
measureMsgswhether message sizes should be measured
timeouttimeout in ms, if null, no timeout is used
infiniteCostprivate constraints are only allowed to be soft constraints; infeasibility is identified by a cost of infiniteCost
maxTotalCostmaximum total cost of any solution; should be greater than (infiniteCost * number of agents) to guarantee correctness
Returns
an optimal solution

References frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.problem, setMaxCost(), and frodo2.timeout.

Referenced by frodo2.algorithms.mpc_discsp.tests.MPC_DisWCSP4tests.test().

Here is the call graph for this function:

Member Data Documentation

◆ solCollector

SolutionCollector<V, U> frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver< V extends Addable< V >, U extends Addable< U > >.solCollector
private

The module that gathers solution statistics.


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