MultiAgentDecisionProcess
BGIPSolution Class Reference

BGIPSolution represents a solution for BayesianGameIdenticalPayoff. More...

#include <BGIPSolution.h>

Public Member Functions

void AddSolution (const JointPolicyPureVector &jp, double value)
 Adds a JPPVValuePair to the priority queue that maintains the best _m_nrSolutions solutions. More...
 
void AddSolution (const JointPolicyPureVectorForClusteredBG &jp, double value)
 
void AddSolution (LIndex jpolIndex, double value)
 
 BGIPSolution (const Interface_ProblemToPolicyDiscretePure *pu, size_t nrDesiredSolutions=1)
 (default) Constructor More...
 
 BGIPSolution (const I_PtPDpure_constPtr &pu, size_t nrDesiredSolutions=1)
 
const boost::shared_ptr
< JointPolicy
GetJointPolicy () const
 
const JointPolicyPureVectorGetJointPolicyPureVector () const
 
const
JointPolicyPureVectorForClusteredBG
GetJointPolicyPureVectorForClusteredBG () const
 
boost::shared_ptr< JPPVValuePairGetNextSolutionJPPV () const
 
boost::shared_ptr
< PartialJPDPValuePair
GetNextSolutionPJPDP () const
 
size_t GetNrDesiredSolutions () const
 
size_t GetNrFoundSolutions () const
 
double GetPayoff () const
 
bool IsEmptyJPPV () const
 
bool IsEmptyPJPDP () const
 
void Load (const std::string &filename)
 
void PopNextSolutionJPPV ()
 
void PopNextSolutionPJPDP ()
 
void Print () const
 
void Save (const std::string &filename) const
 
void SetNrDesiredSolutions (size_t n)
 
std::string SoftPrint () const
 
 ~BGIPSolution ()
 Destructor. More...
 

Protected Member Functions

void GiveOverFlowWarning ()
 

Private Attributes

bool _m_issuedOverFlowWarning
 
std::set< LIndex_m_jpolIndices
 
size_t _m_nrDesiredSolutions
 This variable gives the number of solutions to return (k). More...
 
const
Interface_ProblemToPolicyDiscretePure
_m_pu
 
I_PtPDpure_constPtr _m_puShared
 
FixedCapacityPriorityQueue
< boost::shared_ptr
< JPPVValuePair > > 
_m_qFixedK
 if we want to return the best k solutions, we store them in a priority queue. More...
 
std::priority_queue
< boost::shared_ptr
< JPPVValuePair > > * 
_m_qInfSize
 
FixedCapacityPriorityQueue
< boost::shared_ptr
< PartialJPDPValuePair > > 
_m_qpFixedK
 
std::priority_queue
< boost::shared_ptr
< PartialJPDPValuePair > > * 
_m_qpInfSize
 
bool _m_useFixedCapacityPriorityQueue
 whether we use the fixed capacity priority queue More...
 

Detailed Description

BGIPSolution represents a solution for BayesianGameIdenticalPayoff.

Constructor & Destructor Documentation

BGIPSolution::BGIPSolution ( const Interface_ProblemToPolicyDiscretePure pu,
size_t  nrDesiredSolutions = 1 
)

(default) Constructor

References _m_nrDesiredSolutions, and SetNrDesiredSolutions().

BGIPSolution::BGIPSolution ( const I_PtPDpure_constPtr pu,
size_t  nrDesiredSolutions = 1 
)

Member Function Documentation

void BGIPSolution::AddSolution ( const JointPolicyPureVector jp,
double  value 
)

Adds a JPPVValuePair to the priority queue that maintains the best _m_nrSolutions solutions.

Any old solutions that are no longer needed are automatically deleted.

References _m_jpolIndices, _m_qFixedK, _m_qInfSize, _m_useFixedCapacityPriorityQueue, Globals::CastLIndexToIndex(), JointPolicyPureVector::GetIndex(), GiveOverFlowWarning(), and FixedCapacityPriorityQueue< T, _Compare >::insert().

Referenced by AddSolution(), and BayesianGameIdenticalPayoffSolver::AddSolution().

void BGIPSolution::AddSolution ( LIndex  jpolIndex,
double  value 
)
const JointPolicyPureVectorForClusteredBG & BGIPSolution::GetJointPolicyPureVectorForClusteredBG ( ) const
size_t BGIPSolution::GetNrDesiredSolutions ( ) const
inline
void BGIPSolution::GiveOverFlowWarning ( )
inlineprotected

Referenced by AddSolution().

void BGIPSolution::Load ( const std::string &  filename)
void BGIPSolution::Print ( ) const
inline

References SoftPrint().

void BGIPSolution::Save ( const std::string &  filename) const
void BGIPSolution::SetNrDesiredSolutions ( size_t  n)

Member Data Documentation

bool BGIPSolution::_m_issuedOverFlowWarning
private
std::set<LIndex> BGIPSolution::_m_jpolIndices
private

Referenced by AddSolution().

size_t BGIPSolution::_m_nrDesiredSolutions
private

This variable gives the number of solutions to return (k).

Referenced by BGIPSolution(), GetNrDesiredSolutions(), and SetNrDesiredSolutions().

const Interface_ProblemToPolicyDiscretePure* BGIPSolution::_m_pu
private

Referenced by AddSolution().

I_PtPDpure_constPtr BGIPSolution::_m_puShared
private

Referenced by AddSolution().

FixedCapacityPriorityQueue<boost::shared_ptr<JPPVValuePair> > BGIPSolution::_m_qFixedK
private