Alps
2.0.2
|
The base class of knowledge broker class. More...
#include <AlpsKnowledgeBroker.h>
Public Member Functions | |
Constructor and Destructor. | |
AlpsKnowledgeBroker () | |
Default constructor. More... | |
AlpsKnowledgeBroker (AlpsModel &model) | |
Constructor that sets the model. More... | |
virtual | ~AlpsKnowledgeBroker () |
Destructor. More... | |
Funcitons related to register knowledge. | |
void | registerClass (int name, AlpsKnowledge *userKnowledge) |
Every user derived knowledge class must register. More... | |
const AlpsKnowledge * | decoderObject (int name) const |
This method returns the pointer to an empty object of the registered class name . More... | |
Funcitons related to exploring subtree. | |
virtual void | initializeSearch (int argc, char *argv[], AlpsModel &model, bool showBanner=true)=0 |
Do some initialization for search. More... | |
virtual void | rootSearch (AlpsTreeNode *root)=0 |
Explore the tree rooted as the given root. More... | |
virtual void | search (AlpsModel *model) |
Search best solution for a given model. More... | |
Get/set phase. | |
AlpsPhase | getPhase () |
void | setPhase (AlpsPhase ph) |
AlpsModel * | getModel () |
void | setModel (AlpsModel *m) |
int | getTreeDepth () |
Get tree depth. More... | |
void | setPeakMemory (double size) |
Set peak memory usage. More... | |
double | getPeakMemory () |
Get peak memory usage. More... | |
Interface with the knowledge pools | |
void | setupKnowledgePools () |
Set up knowledge pools for this broker. More... | |
void | addKnowledgePool (AlpsKnowledgeType kt, AlpsKnowledgePool *kp) |
Add a knowledge pool into the Knowledge pools. More... | |
AlpsKnowledgePool * | getKnowledgePool (AlpsKnowledgeType kt) const |
Retrieve a knowledge pool in the Knowledge base. More... | |
virtual int | getNumKnowledges (AlpsKnowledgeType kt) const |
Query the number of knowledge in the given type of a knowledge pool. More... | |
virtual int | getMaxNumKnowledges (AlpsKnowledgeType kt) const |
Query the max number of knowledge can be stored in a given type of knowledge pools. More... | |
virtual void | setMaxNumKnowledges (AlpsKnowledgeType kt, int num) |
Set the max number of knowledge can be stored in a given type o fknowledge pools. More... | |
virtual bool | hasKnowledge (AlpsKnowledgeType kt) const |
Query whether there are knowledges in the given type of knowledge pools. More... | |
virtual std::pair< AlpsKnowledge *, double > | getKnowledge (AlpsKnowledgeType kt) const |
Get a knowledge, but doesn't remove it from the pool. More... | |
virtual void | popKnowledge (AlpsKnowledgeType kt) |
Remove the a knowledge from the given type of knowledge pools. More... | |
virtual std::pair< AlpsKnowledge *, double > | getBestKnowledge (AlpsKnowledgeType kt) const |
Get the best knowledge in the given type of knowledge pools. More... | |
virtual void | getAllKnowledges (AlpsKnowledgeType kt, std::vector< std::pair< AlpsKnowledge *, double > > &kls) const |
Get all knowledges in the given type of knowledge pools. More... | |
virtual void | addKnowledge (AlpsKnowledgeType kt, AlpsKnowledge *kl, double value) |
Add a knowledge in the given type of knowledge pools. More... | |
Querty and set statistics | |
int | getNumNodesProcessed () const |
Query the number of node processed by this process. More... | |
int | getNumNodesBranched () const |
Query the number of node processed by this process. More... | |
int | getNumNodesDiscarded () const |
Query the number of node processed by this process. More... | |
int | getNumNodesPartial () const |
Query the number of node in the queue that are pregnant. More... | |
int | getNumNodesProcessedSystem () const |
Query the number of node processed by the system. More... | |
virtual int | updateNumNodesLeft () |
Update the number of left nodes on this process. More... | |
virtual AlpsTreeNode * | getBestNode () const |
Query the best node in the subtree pool. More... | |
AlpsExitStatus | getSolStatus () const |
Query search termination status. More... | |
void | setExitStatus (AlpsExitStatus status) |
Set terminate status. More... | |
AlpsTimer & | timer () |
Query timer. More... | |
AlpsTimer & | subTreeTimer () |
Query subtree timer. More... | |
AlpsTimer & | tempTimer () |
Query secondary timer. More... | |
virtual void | searchLog ()=0 |
Search statistics log. More... | |
Query and set the approximate memory size of a tree node | |
int | getNodeMemSize () |
void | setNodeMemSize (int ms) |
Query and set the approximate node processing time | |
double | getNodeProcessingTime () |
void | setNodeProcessingTime (double npTime) |
int | getLargeSize () const |
Report the best result | |
virtual double | getIncumbentValue () const =0 |
The process queries the objective value of the incumbent that it stores. More... | |
virtual double | getBestQuality () const =0 |
The process (serial) / the master (parallel) queries the quality of the best solution that it knows. More... | |
virtual double | getBestEstimateQuality () |
Get best estimalted quality in system. More... | |
virtual int | getNumNodeLeftSystem () |
virtual void | printBestSolution (char *outputFile=0) const =0 |
The process (serial) / the master (parallel) outputs the best solution that it knows to a file or std::out. More... | |
virtual int | getProcRank () const |
Qeury the global rank of process. More... | |
virtual int | getMasterRank () const |
Query the global rank of the Master. More... | |
virtual AlpsProcessType | getProcType () const |
Query the type (master, hub, or worker) of the process. More... | |
Query and set node index | |
AlpsNodeIndex_t | nextNodeIndex () |
Query the next index assigned to a newly created node, and then increment the nextIndex_ by 1. More... | |
AlpsNodeIndex_t | getNextNodeIndex () const |
Query the next index assigned to a newly created node. More... | |
void | setNextNodeIndex (AlpsNodeIndex_t s) |
Set nextIndex_. More... | |
AlpsNodeIndex_t | getMaxNodeIndex () const |
Queriy the upper bound of node indices. More... | |
void | setMaxNodeIndex (AlpsNodeIndex_t s) |
Set the upper bound of node indices. More... | |
Query and set comparision | |
AlpsSearchStrategy< AlpsSubTree * > * | getSubTreeSelection () const |
void | setSubTreeSelection (AlpsSearchStrategy< AlpsSubTree * > *tc) |
AlpsSearchStrategy< AlpsTreeNode * > * | getNodeSelection () const |
void | setNodeSelection (AlpsSearchStrategy< AlpsTreeNode * > *nc) |
AlpsSearchStrategy< AlpsTreeNode * > * | getRampUpNodeSelection () const |
void | setRampUpNodeSelection (AlpsSearchStrategy< AlpsTreeNode * > *nc) |
Protected Attributes | |
std::string | instanceName_ |
The instance name. More... | |
AlpsModel * | model_ |
Pointer to model. More... | |
AlpsPhase | phase_ |
Alps phase. More... | |
knowledge pools | |
AlpsSubTreePool * | subTreePool_ |
A subtree pool holding a collection of subtrees. More... | |
AlpsSolutionPool * | solPool_ |
A solution pool containing the solutions found. More... | |
std::map< AlpsKnowledgeType, AlpsKnowledgePool * > * | pools_ |
The collection of pools managed by the knowledge broker. More... | |
Exploring subtree | |
AlpsSubTree * | workingSubTree_ |
Point to the subtree that being explored. More... | |
bool | needWorkingSubTree_ |
Indicate whether need a new subtree. More... | |
AlpsNodeIndex_t | nextIndex_ |
The index to be assigned to a new search tree node. More... | |
AlpsNodeIndex_t | maxIndex_ |
The maximum index can been assigned on this process. More... | |
Statistics | |
AlpsTimer | timer_ |
Main timer. More... | |
AlpsTimer | subTreeTimer_ |
Subtree timer. More... | |
AlpsTimer | tempTimer_ |
Secondary timer. More... | |
int | solNum_ |
The number of solutions found. More... | |
int | nodeProcessedNum_ |
The number of nodes that have been processed. More... | |
int | nodeBranchedNum_ |
The number of nodes that have been branched. More... | |
int | nodeDiscardedNum_ |
The number of nodes that have been discarded before processing. More... | |
int | nodePartialNum_ |
The number of nodes that are pregnant. More... | |
int | systemNodeProcessed_ |
To record how many nodes processed by the system (used in parallel code). More... | |
int | nodeLeftNum_ |
The number of nodes left. More... | |
int | treeDepth_ |
The depth of the tree. More... | |
int | bestSolNode_ |
The number of nodes pocessed to find the solution. More... | |
double | peakMemory_ |
Peak memory usage. More... | |
AlpsExitStatus | exitStatus_ |
The status of search when terminated. More... | |
Search strategy | |
AlpsSearchStrategy< AlpsSubTree * > * | treeSelection_ |
Tree selection criterion. More... | |
AlpsSearchStrategy< AlpsTreeNode * > * | nodeSelection_ |
Node selection criterion. More... | |
AlpsSearchStrategy< AlpsTreeNode * > * | rampUpNodeSelection_ |
Node selection criterion. More... | |
message handling | |
CoinMessageHandler * | handler_ |
Message handler. More... | |
CoinMessages | messages_ |
Alps messages. More... | |
int | msgLevel_ |
The leve of printing message to screen of the master and general message. More... | |
int | hubMsgLevel_ |
The leve of printing message to screen of hubs. More... | |
int | workerMsgLevel_ |
The leve of printing message to screen of workers. More... | |
int | logFileLevel_ |
The degree of log file. More... | |
std::string | logfile_ |
The log file. More... | |
int | nodeMemSize_ |
The approximate memory size (bytes) of a node with full description. More... | |
double | nodeProcessingTime_ |
The approximately CPU time to process a node. More... | |
int | largeSize_ |
The size of largest message buffer can be sent or received. More... | |
bool | userBalancePeriod_ |
Has user input balance period. More... | |
int | numNodeLog_ |
Times that node log is printed. More... | |
Private Attributes | |
std::map< int, AlpsKnowledge * > | decodeMap_ |
Stores registered knowledge. More... | |
Message and log file handling | |
void | passInMessageHandler (CoinMessageHandler *handler) |
Pass in Message handler (not deleted at end). More... | |
void | newLanguage (CoinMessages::Language language) |
Set language. More... | |
void | setLanguage (CoinMessages::Language language) |
CoinMessageHandler * | messageHandler () const |
Return handler. More... | |
CoinMessages | messages () |
Return messages. More... | |
CoinMessages * | messagesPointer () |
Return pointer to messages. More... | |
int | getMsgLevel () |
Return msg level. More... | |
int | getHubMsgLevel () |
Return msg level. More... | |
int | getMasterMsgLevel () |
Return msg level. More... | |
int | getlogFileLevel () |
Return log file level. More... | |
int | getNumNodeLog () const |
Get times that node log has been printed. More... | |
void | setNumNodeLog (int num) |
Get times that node log has been printed. More... | |
AlpsSubTree * | getWorkingSubTree () |
AlpsKnowledgeBroker (const AlpsKnowledgeBroker &) | |
AlpsKnowledgeBroker & | operator= (const AlpsKnowledgeBroker &) |
The base class of knowledge broker class.
Definition at line 52 of file AlpsKnowledgeBroker.h.
AlpsKnowledgeBroker::AlpsKnowledgeBroker | ( | ) |
Default constructor.
AlpsKnowledgeBroker::AlpsKnowledgeBroker | ( | AlpsModel & | model | ) |
Constructor that sets the model.
|
virtual |
Destructor.
|
private |
|
inline |
Every user derived knowledge class must register.
The register methods register the decode method of the class so that later on we can decode objects from buffers. Invoking this registration for class foo
is a single line:
foo().registerClass(name, userKnowledge)
. NOTE: take over user knowledge's memory ownership, user doesn't need free memory.
Definition at line 185 of file AlpsKnowledgeBroker.h.
|
inline |
This method returns the pointer to an empty object of the registered class name
.
Then the decode()
method of that object can be used to decode a new object of the same type from the buffer. This method will be invoked as follows to decode an object whose type is name
:
obj = AlpsKnowledge::decoderObject(name)->decode(buf)
Definition at line 207 of file AlpsKnowledgeBroker.h.
|
pure virtual |
Do some initialization for search.
Implemented in AlpsKnowledgeBrokerMPI, and AlpsKnowledgeBrokerSerial.
|
pure virtual |
Explore the tree rooted as the given root.
Implemented in AlpsKnowledgeBrokerMPI, and AlpsKnowledgeBrokerSerial.
|
inlinevirtual |
Search best solution for a given model.
Reimplemented in AlpsKnowledgeBrokerMPI.
Definition at line 230 of file AlpsKnowledgeBroker.h.
|
inline |
Definition at line 240 of file AlpsKnowledgeBroker.h.
|
inline |
Definition at line 241 of file AlpsKnowledgeBroker.h.
|
inline |
Definition at line 245 of file AlpsKnowledgeBroker.h.
|
inline |
Definition at line 246 of file AlpsKnowledgeBroker.h.
|
inline |
Get tree depth.
Definition at line 250 of file AlpsKnowledgeBroker.h.
|
inline |
Set peak memory usage.
Definition at line 252 of file AlpsKnowledgeBroker.h.
|
inline |
Get peak memory usage.
Definition at line 254 of file AlpsKnowledgeBroker.h.
void AlpsKnowledgeBroker::setupKnowledgePools | ( | ) |
Set up knowledge pools for this broker.
|
inline |
Add a knowledge pool into the Knowledge pools.
Definition at line 263 of file AlpsKnowledgeBroker.h.
|
inline |
Retrieve a knowledge pool in the Knowledge base.
Definition at line 275 of file AlpsKnowledgeBroker.h.
|
virtual |
Query the number of knowledge in the given type of a knowledge pool.
|
inlinevirtual |
Query the max number of knowledge can be stored in a given type of knowledge pools.
Definition at line 288 of file AlpsKnowledgeBroker.h.
|
inlinevirtual |
Set the max number of knowledge can be stored in a given type o fknowledge pools.
Definition at line 299 of file AlpsKnowledgeBroker.h.
|
inlinevirtual |
Query whether there are knowledges in the given type of knowledge pools.
Definition at line 311 of file AlpsKnowledgeBroker.h.
|
inlinevirtual |
Get a knowledge, but doesn't remove it from the pool.
Definition at line 321 of file AlpsKnowledgeBroker.h.
|
inlinevirtual |
Remove the a knowledge from the given type of knowledge pools.
Definition at line 332 of file AlpsKnowledgeBroker.h.
|
virtual |
Get the best knowledge in the given type of knowledge pools.
|
inlinevirtual |
Get all knowledges in the given type of knowledge pools.
Definition at line 347 of file AlpsKnowledgeBroker.h.
|
inlinevirtual |
Add a knowledge in the given type of knowledge pools.
Definition at line 360 of file AlpsKnowledgeBroker.h.
|
inline |
Query the number of node processed by this process.
Definition at line 379 of file AlpsKnowledgeBroker.h.
|
inline |
Query the number of node processed by this process.
Definition at line 383 of file AlpsKnowledgeBroker.h.
|
inline |
Query the number of node processed by this process.
Definition at line 387 of file AlpsKnowledgeBroker.h.
|
inline |
Query the number of node in the queue that are pregnant.
Definition at line 391 of file AlpsKnowledgeBroker.h.
|
inline |
Query the number of node processed by the system.
Definition at line 395 of file AlpsKnowledgeBroker.h.
|
virtual |
Update the number of left nodes on this process.
|
virtual |
Query the best node in the subtree pool.
Return NULL if no node exits.
|
inline |
Query search termination status.
Definition at line 403 of file AlpsKnowledgeBroker.h.
|
inline |
Set terminate status.
Definition at line 407 of file AlpsKnowledgeBroker.h.
|
inline |
Query timer.
Definition at line 411 of file AlpsKnowledgeBroker.h.
|
inline |
Query subtree timer.
Definition at line 415 of file AlpsKnowledgeBroker.h.
|
inline |
Query secondary timer.
Definition at line 419 of file AlpsKnowledgeBroker.h.
|
pure virtual |
Search statistics log.
Implemented in AlpsKnowledgeBrokerMPI, and AlpsKnowledgeBrokerSerial.
|
inline |
Definition at line 428 of file AlpsKnowledgeBroker.h.
|
inline |
Definition at line 429 of file AlpsKnowledgeBroker.h.
|
inline |
Definition at line 434 of file AlpsKnowledgeBroker.h.
|
inline |
Definition at line 435 of file AlpsKnowledgeBroker.h.
|
inline |
Definition at line 438 of file AlpsKnowledgeBroker.h.
|
pure virtual |
The process queries the objective value of the incumbent that it stores.
Implemented in AlpsKnowledgeBrokerMPI, and AlpsKnowledgeBrokerSerial.
|
pure virtual |
The process (serial) / the master (parallel) queries the quality of the best solution that it knows.
Implemented in AlpsKnowledgeBrokerMPI, and AlpsKnowledgeBrokerSerial.
|
inlinevirtual |
Get best estimalted quality in system.
Reimplemented in AlpsKnowledgeBrokerMPI.
Definition at line 451 of file AlpsKnowledgeBroker.h.
|
inlinevirtual |
Reimplemented in AlpsKnowledgeBrokerMPI.
Definition at line 453 of file AlpsKnowledgeBroker.h.
|
pure virtual |
The process (serial) / the master (parallel) outputs the best solution that it knows to a file or std::out.
Implemented in AlpsKnowledgeBrokerMPI, and AlpsKnowledgeBrokerSerial.
|
inlinevirtual |
Qeury the global rank of process.
Note: not useful for serial code.
Reimplemented in AlpsKnowledgeBrokerMPI.
Definition at line 461 of file AlpsKnowledgeBroker.h.
|
inlinevirtual |
Query the global rank of the Master.
Reimplemented in AlpsKnowledgeBrokerMPI.
Definition at line 464 of file AlpsKnowledgeBroker.h.
|
inlinevirtual |
Query the type (master, hub, or worker) of the process.
Reimplemented in AlpsKnowledgeBrokerMPI.
Definition at line 467 of file AlpsKnowledgeBroker.h.
|
inline |
Query the next index assigned to a newly created node, and then increment the nextIndex_ by 1.
Definition at line 474 of file AlpsKnowledgeBroker.h.
|
inline |
Query the next index assigned to a newly created node.
Definition at line 476 of file AlpsKnowledgeBroker.h.
|
inline |
Set nextIndex_.
Definition at line 478 of file AlpsKnowledgeBroker.h.
|
inline |
Queriy the upper bound of node indices.
Definition at line 480 of file AlpsKnowledgeBroker.h.
|
inline |
Set the upper bound of node indices.
Definition at line 482 of file AlpsKnowledgeBroker.h.
|
inline |
Definition at line 487 of file AlpsKnowledgeBroker.h.
|
inline |
Definition at line 490 of file AlpsKnowledgeBroker.h.
|
inline |
Definition at line 495 of file AlpsKnowledgeBroker.h.
|
inline |
Definition at line 498 of file AlpsKnowledgeBroker.h.
|
inline |
Definition at line 502 of file AlpsKnowledgeBroker.h.
|
inline |
Definition at line 505 of file AlpsKnowledgeBroker.h.
void AlpsKnowledgeBroker::passInMessageHandler | ( | CoinMessageHandler * | handler | ) |
Pass in Message handler (not deleted at end).
void AlpsKnowledgeBroker::newLanguage | ( | CoinMessages::Language | language | ) |
Set language.
|
inline |
Definition at line 517 of file AlpsKnowledgeBroker.h.
|
inline |
Return handler.
Definition at line 520 of file AlpsKnowledgeBroker.h.
|
inline |
Return messages.
Definition at line 522 of file AlpsKnowledgeBroker.h.
|
inline |
Return pointer to messages.
Definition at line 524 of file AlpsKnowledgeBroker.h.
|
inline |
Return msg level.
Definition at line 526 of file AlpsKnowledgeBroker.h.
|
inline |
Return msg level.
Definition at line 528 of file AlpsKnowledgeBroker.h.
|
inline |
Return msg level.
Definition at line 530 of file AlpsKnowledgeBroker.h.
|
inline |
Return log file level.
Definition at line 532 of file AlpsKnowledgeBroker.h.
|
inline |
Get times that node log has been printed.
Definition at line 534 of file AlpsKnowledgeBroker.h.
|
inline |
Get times that node log has been printed.
Definition at line 536 of file AlpsKnowledgeBroker.h.
|
inline |
Definition at line 540 of file AlpsKnowledgeBroker.h.
|
private |
|
private |
Stores registered knowledge.
Definition at line 54 of file AlpsKnowledgeBroker.h.
|
protected |
The instance name.
Definition at line 59 of file AlpsKnowledgeBroker.h.
|
protected |
Pointer to model.
Definition at line 61 of file AlpsKnowledgeBroker.h.
|
protected |
|
protected |
A subtree pool holding a collection of subtrees.
For serial version, there is only one subtree in the pool.
Definition at line 69 of file AlpsKnowledgeBroker.h.
|
protected |
A solution pool containing the solutions found.
Definition at line 71 of file AlpsKnowledgeBroker.h.
|
protected |
The collection of pools managed by the knowledge broker.
Definition at line 73 of file AlpsKnowledgeBroker.h.
|
protected |
Point to the subtree that being explored.
Definition at line 79 of file AlpsKnowledgeBroker.h.
|
protected |
Indicate whether need a new subtree.
Definition at line 81 of file AlpsKnowledgeBroker.h.
|
protected |
The index to be assigned to a new search tree node.
Definition at line 83 of file AlpsKnowledgeBroker.h.
|
protected |
The maximum index can been assigned on this process.
Definition at line 85 of file AlpsKnowledgeBroker.h.
|
protected |
|
protected |
|
protected |
Secondary timer.
Definition at line 95 of file AlpsKnowledgeBroker.h.
|
protected |
The number of solutions found.
Definition at line 97 of file AlpsKnowledgeBroker.h.
|
protected |
The number of nodes that have been processed.
Definition at line 99 of file AlpsKnowledgeBroker.h.
|
protected |
The number of nodes that have been branched.
Definition at line 101 of file AlpsKnowledgeBroker.h.
|
protected |
The number of nodes that have been discarded before processing.
Definition at line 103 of file AlpsKnowledgeBroker.h.
|
protected |
The number of nodes that are pregnant.
Definition at line 105 of file AlpsKnowledgeBroker.h.
|
protected |
To record how many nodes processed by the system (used in parallel code).
Definition at line 108 of file AlpsKnowledgeBroker.h.
|
protected |
The number of nodes left.
Definition at line 110 of file AlpsKnowledgeBroker.h.
|
protected |
The depth of the tree.
Definition at line 112 of file AlpsKnowledgeBroker.h.
|
protected |
The number of nodes pocessed to find the solution.
Definition at line 114 of file AlpsKnowledgeBroker.h.
|
protected |
Peak memory usage.
Definition at line 116 of file AlpsKnowledgeBroker.h.
|
protected |
The status of search when terminated.
Definition at line 118 of file AlpsKnowledgeBroker.h.
|
protected |
Tree selection criterion.
Definition at line 124 of file AlpsKnowledgeBroker.h.
|
protected |
Node selection criterion.
Definition at line 126 of file AlpsKnowledgeBroker.h.
|
protected |
Node selection criterion.
Definition at line 128 of file AlpsKnowledgeBroker.h.
|
protected |
Message handler.
Definition at line 134 of file AlpsKnowledgeBroker.h.
|
protected |
Alps messages.
Definition at line 136 of file AlpsKnowledgeBroker.h.
|
protected |
The leve of printing message to screen of the master and general message.
(0: no; 1: basic; 2: moderate, 3: verbose)
Definition at line 139 of file AlpsKnowledgeBroker.h.
|
protected |
The leve of printing message to screen of hubs.
(0: no; 1: basic; 2: moderate, 3: verbose)
Definition at line 142 of file AlpsKnowledgeBroker.h.
|
protected |
The leve of printing message to screen of workers.
(0: no; 1: basic; 2: moderate, 3: verbose)
Definition at line 145 of file AlpsKnowledgeBroker.h.
|
protected |
The degree of log file.
(0: no; 1: basic; 2: moderate, 3: verbose)
Definition at line 148 of file AlpsKnowledgeBroker.h.
|
protected |
The log file.
Definition at line 150 of file AlpsKnowledgeBroker.h.
|
protected |
The approximate memory size (bytes) of a node with full description.
Definition at line 154 of file AlpsKnowledgeBroker.h.
|
protected |
The approximately CPU time to process a node.
Definition at line 156 of file AlpsKnowledgeBroker.h.
|
protected |
The size of largest message buffer can be sent or received.
Definition at line 158 of file AlpsKnowledgeBroker.h.
|
protected |
Has user input balance period.
Definition at line 160 of file AlpsKnowledgeBroker.h.
|
protected |
Times that node log is printed.
Definition at line 162 of file AlpsKnowledgeBroker.h.