MultiAgentDecisionProcess
BGIP_SolverMaxPlus< JP > Class Template Reference

BGIP_SolverMaxPlus is a class that performs max plus for BGIPs (without agents independence) More...

#include <BGIP_SolverMaxPlus.h>

Inheritance diagram for BGIP_SolverMaxPlus< JP >:
[legend]

Public Member Functions

 BGIP_SolverMaxPlus (const boost::shared_ptr< const BayesianGameIdenticalPayoffInterface > &bg, size_t maxiter=1000, std::string updateType=std::string("PARALL"), size_t verbosity=2, double damping=0.0, size_t nrSolutions=1, size_t nrRestarts=1)
 Constructor. More...
 
bool IsExactSolver () const
 Methods should indicated whether they compute exact (optimal) solutions or not. More...
 
void SetCBGlowerBound (double lb)
 
void SetCBGupperBound (double upperbound)
 
double Solve ()
 Solve the BayesianGameIdenticalPayoffInterface. More...
 
- Public Member Functions inherited from BayesianGameIdenticalPayoffSolver_T< JP >
 BayesianGameIdenticalPayoffSolver_T (const boost::shared_ptr< const BayesianGameIdenticalPayoffInterface > &bg, size_t nrDesiredSolutions=1)
 (default) Constructor More...
 
virtual boost::shared_ptr
< JointPolicyDiscretePure
GetNewJpol () const
 this gives a implementation of GetNewJpol (specified in BayesianGameIdenticalPayoffSolver) More...
 
- Public Member Functions inherited from BayesianGameIdenticalPayoffSolver
void AddSolution (const JointPolicyPureVector &jp, double value)
 
void AddSolution (const JointPolicyPureVectorForClusteredBG &jp, double value)
 
void AddSolution (LIndex jpolIndex, double value)
 
 BayesianGameIdenticalPayoffSolver (const boost::shared_ptr< const BayesianGameIdenticalPayoffInterface > &bg, size_t nrDesiredSolutions=1)
 (default) Constructor More...
 
double Evaluate (const JointPolicyPureVector &jpolBG) const
 
double Evaluate (const JointPolicyPureVectorForClusteredBG &jpolBG) const
 
boost::shared_ptr< const
BayesianGameIdenticalPayoffInterface
GetBGIPI () const
 
double GetExpectedReward () const
 
const boost::shared_ptr
< JointPolicy
GetJointPolicy () const
 
const JointPolicyPureVectorGetJointPolicyPureVector () const
 
boost::shared_ptr< JPPVValuePairGetNextSolutionJPPV () const
 
boost::shared_ptr
< PartialJPDPValuePair
GetNextSolutionPJPDP () const
 
size_t GetNrDesiredSolutions () const
 
size_t GetNrFoundSolutions () const
 Gets the found number of solutions. More...
 
double GetPayoff () const
 
std::ofstream * GetResultsOFStream () const
 
std::ofstream * GetTimingsOFStream () const
 
bool GetWriteAnyTimeResults () const
 
bool IsEmptyJPPV () const
 
bool IsEmptyPJPDP () const
 
void PopNextSolutionJPPV ()
 
void PopNextSolutionPJPDP ()
 
void SaveSolution (const std::string &filename) const
 
void SetAnyTimeResults (bool turn_on, std::ofstream *results, std::ofstream *timings)
 Turns Anytime results on and of. More...
 
virtual void SetDeadline (double deadlineInSeconds)
 To limit the amount of time the solver uses. More...
 
void SetNrDesiredSolutions (size_t n)
 Gets the desired number of solutions to be returned. More...
 
std::string SoftPrintSolution () const
 
virtual ~BayesianGameIdenticalPayoffSolver ()
 Destructor. More...
 
- Public Member Functions inherited from MaxPlusSolverForBGs
 MaxPlusSolverForBGs (size_t maxiter=1000, std::string updateType=std::string("PARALL"), int verbosity=2, double damping=0.0, size_t nrSolutions=1, size_t nrRestarts=1)
 (default) Constructor More...
 
- Public Member Functions inherited from MaxPlusSolver
 MaxPlusSolver (size_t maxiter=1000, std::string updateType=std::string("PARALL"), int verbosity=2, double damping=0.0, size_t nrSolutions=1, size_t nrRestarts=1)
 (default) Constructor More...
 

Additional Inherited Members

- Static Public Member Functions inherited from MaxPlusSolverForBGs
static void Construct_AgentTypePair_Variables (const boost::shared_ptr< const BayesianGameIdenticalPayoffInterface > &bgip, vector< vector< Index > > &var_indices, vector< libDAI::Var > &vars, int verbosity)
 
static void Construct_JointType_Factors (const boost::shared_ptr< const BayesianGameIdenticalPayoffInterface > &bgip, const vector< vector< Index > > &var_indices, const vector< libDAI::Var > &vars, vector< libDAI::Factor > &facs, int verbosity)
 
- Protected Member Functions inherited from BayesianGameIdenticalPayoffSolver
virtual void CheckDeadline (const std::string &errorMessage) const
 Checks whether the deadline has expired. Throws EDeadline. More...
 
virtual void InitDeadline ()
 Should be called at the beginning of Solve(). More...
 
- Protected Attributes inherited from MaxPlusSolver
double _m_damping
 stores the damping factor More...
 
size_t _m_maxiter
 stores the MaxPlus parameter for the max. number of iterations More...
 
size_t _m_nrRestarts
 stores the number of restarts (for non-deterministic Max-Plus variants) More...
 
size_t _m_nrSolutions
 stores the (desired) number of solutions More...
 
std::string _m_updateType
 stores the MaxPlus parameter for the update type More...
 
int _m_verbosity
 stores the MaxPlus parameter for the verbosity level More...
 

Detailed Description

template<class JP>
class BGIP_SolverMaxPlus< JP >

BGIP_SolverMaxPlus is a class that performs max plus for BGIPs (without agents independence)

Note: if there is agent independence, you want to use BGCG_SolverMaxPlus instead!

Constructor & Destructor Documentation

template<class JP >
BGIP_SolverMaxPlus< JP >::BGIP_SolverMaxPlus ( const boost::shared_ptr< const BayesianGameIdenticalPayoffInterface > &  bg,
size_t  maxiter = 1000,
std::string  updateType = std::string("PARALL"),
size_t  verbosity = 2,
double  damping = 0.0,
size_t  nrSolutions = 1,
size_t  nrRestarts = 1 
)
inline

Constructor.

Directly Associates a problem with the planner Information regarding the problem is used to construct a joint policy of the proper shape.

Member Function Documentation

template<class JP >
bool BGIP_SolverMaxPlus< JP >::IsExactSolver ( ) const
inlinevirtual

Methods should indicated whether they compute exact (optimal) solutions or not.

Implements BayesianGameIdenticalPayoffSolver.

template<class JP >
void BGIP_SolverMaxPlus< JP >::SetCBGlowerBound ( double  lb)
inlinevirtual
template<class JP >
void BGIP_SolverMaxPlus< JP >::SetCBGupperBound ( double  upperbound)
inlinevirtual