|
FRODO Version 2.19.1
An open-source framework for Distributed Constraint Optimization (DCOP)
|
A solver for MPC-Dis(W)CSP4. More...

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< StatsReporter > | getSolGatherers () |
| 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. | |
| S | solve (Document problem, int nbrElectionRounds, boolean measureMsgs, Long timeout, boolean cleanAfterwards) |
| S | solve (DCOPProblemInterface< V, U > problem, int nbrElectionRounds, boolean measureMsgs, Long timeout, boolean cleanAfterwards) |
| S | solve (Document problem) |
| S | solve (DCOPProblemInterface< V, U > problem) |
| S | solve (Document problem, Long timeout) |
| S | solve (DCOPProblemInterface< V, U > problem, Long timeout) |
| S | solve (Document problem, boolean cleanAfterwards) |
| S | solve (DCOPProblemInterface< V, U > problem, boolean cleanAfterwards) |
| S | solve (Document problem, int nbrElectionRounds) |
| S | solve (DCOPProblemInterface< V, U > problem, int nbrElectionRounds) |
| S | solve (Document problem, int nbrElectionRounds, boolean measureMsgs) |
| S | solve (DCOPProblemInterface< V, U > problem, int nbrElectionRounds, boolean measureMsgs) |
| S | solve (Document problem, int nbrElectionRounds, boolean measureMsgs, Long timeout) |
| S | solve (DCOPProblemInterface< V, U > problem, int nbrElectionRounds, boolean measureMsgs, Long timeout) |
| S | solve (Document problem, int nbrElectionRounds, Long timeout) |
| S | solve (DCOPProblemInterface< V, U > problem, int nbrElectionRounds, Long timeout) |
| S | solve (Document problem, boolean cleanAfterwards, Long timeout) |
| S | 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 StatsReporter > | getSolGatherers () |
| abstract S | buildSolution () |
| S | 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 StatsReporter > | solGatherers |
| The list of modules that record statistics about problem solving. | |
| P | problem |
| The problem. | |
| final boolean | useTCP |
| Whether to use TCP pipes or shared memory pipes. | |
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.
| <V> | the type used for variable values |
| <U> | the type used for utility values |
| frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver< V extends Addable< V >, U extends Addable< U > >.MPC_DisWCSP4solver | ( | ) |
Constructor for MPC-DisWCSP4.
| frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver< V extends Addable< V >, U extends Addable< U > >.MPC_DisWCSP4solver | ( | String | agentDescFile | ) |
Constructor from an agent configuration file.
| agentDescFile | the agent configuration file (either for MPC-DisCSP4 or MPC-DisWCSP4) |
| 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.
| agentDescFile | the agent configuration file (either for MPC-DisCSP4 or MPC-DisWCSP4) |
| useTCP | whether to use TCP pipes or shared memory pipes |
References frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.useTCP.
| frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver< V extends Addable< V >, U extends Addable< U > >.MPC_DisWCSP4solver | ( | Document | agentDesc | ) |
Constructor.
| agentDesc | the agent configuration file |
References frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.agentDesc.
| frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver< V extends Addable< V >, U extends Addable< U > >.MPC_DisWCSP4solver | ( | Document | agentDesc, |
| boolean | useTCP ) |
Constructor.
| agentDesc | the agent configuration file |
| useTCP | Whether to use TCP pipes or shared memory pipes |
References frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.agentDesc, and frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.useTCP.
| Solution< V, U > frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver< V extends Addable< V >, U extends Addable< U > >.buildSolution | ( | ) |
References frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.factory, frodo2.algorithms.SolutionCollector< V extends Addable< V >, U extends Addable< U > >.getSolution(), frodo2.algorithms.SolutionCollector< V extends Addable< V >, U extends Addable< U > >.getUtility(), and frodo2.algorithms.AbstractSolver< DCOPProblemInterface< V, U >, V, U, S >.problem.

| List< StatsReporter > frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver< V extends Addable< V >, U extends Addable< U > >.getSolGatherers | ( | ) |
References frodo2.algorithms.SolutionCollector< V extends Addable< V >, U extends Addable< U > >.setSilent().

|
private |
Sets the maximum total cost of any solution.
| infiniteCost | private constraints are only allowed to be soft constraints; infeasibility is identified by a cost of infiniteCost |
| maxTotalCost | maximum total cost of any solution; should be greater than (infiniteCost * number of agents) to guarantee correctness |
Referenced by 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.
| problem | the problem |
| measureMsgs | whether message sizes should be measured |
| timeout | timeout in ms, if null, no timeout is used |
| infiniteCost | private constraints are only allowed to be soft constraints; infeasibility is identified by a cost of infiniteCost |
| maxTotalCost | maximum total cost of any solution; should be greater than (infiniteCost * number of agents) to guarantee correctness |
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().

|
private |
The module that gathers solution statistics.