#include <APPSPACK_Conveyor.hpp>
Collaboration diagram for APPSPACK::Conveyor:
The conveyor owns an APPSPACK::List for the queue of trial points to be evaluated; see queueList.
The conveyor owns a APPSPACK::Cache::Manager to manage the cache; see cache.
The conveyor owns a user-provided APPSPACK::Executor object for the function evaluations; see executor. The points that have been passed to the executor but have not yet finished are stored an APPSPACK::List; see pendingList.
Definition at line 69 of file APPSPACK_Conveyor.hpp.
Public Member Functions | |
Conveyor (Parameter::List ¶ms, const Vector &scaling_in, Executor::Interface &executor_in) | |
Constructor. | |
~Conveyor () | |
Destructor. | |
void | exchange (List &exchangeList) |
Exchange a list of unevaluated trial points for a list of evaluated trial points. | |
void | prune () |
Prune the queue to the size specified by maxQueue. | |
const Counter & | getCounter () const |
Returns counts of all the function evaluations, etc. | |
void | print () const |
Calls the print function of the executor. | |
Private Attributes | |
Executor::Interface & | executor |
Object that is used to evaluate the function. | |
Cache::Manager | cache |
The function value cache. | |
List | queueList |
Trial points that are queued to be processed. | |
List | pendingList |
Trial points that are in the processed of being evaluated. | |
bool | doSync |
Be synchronous (set according to "Synchronous"). | |
int | maxQueue |
How big the queue is allowed to be after a prune (set according to "Max Queue Size" parameter). | |
int | minReturn |
The minimum number of items that should be returned on a call to exchange() (set according to "Minimum Exchange Return"). | |
int | maxReturn |
The maximum number of items that should be returned on a call to exchange() (set according to "Maximum Exchange Return"). | |
Counter | counter |
Counter for the number of evaluations, etc. |
|
Constructor. Definition at line 40 of file APPSPACK_Conveyor.cpp. References APPSPACK::Vector. |
|
Destructor. Definition at line 53 of file APPSPACK_Conveyor.cpp. References pendingList, APPSPACK::List::prune(), and queueList. |
|
Exchange a list of unevaluated trial points for a list of evaluated trial points. On input, remove all the trial points from the list. On output, fill with trial points that have been evaluated. The process is as follows.
References cache, counter, doSync, executor, APPSPACK::Counter::getCountString(), APPSPACK::Point::getTag(), APPSPACK::Point::getX(), APPSPACK::Counter::incrementCached(), APPSPACK::Counter::incrementEvaluated(), APPSPACK::Cache::Manager::insert(), APPSPACK::List::insertList(), APPSPACK::Cache::Manager::isCached(), APPSPACK::List::isNotEmpty(), APPSPACK::Executor::Interface::isWaiting(), maxReturn, minReturn, pendingList, APPSPACK::List::pop(), APPSPACK::List::push(), queueList, APPSPACK::Executor::Interface::recv(), APPSPACK::Point::setCachedFunctionValue(), APPSPACK::Point::setEvaluatedFunctionValue(), APPSPACK::Value::setValueTo(), APPSPACK::List::size(), and APPSPACK::Executor::Interface::spawn(). Referenced by APPSPACK::Solver::iterate(). |
|
Prune the queue to the size specified by maxQueue. Definition at line 111 of file APPSPACK_Conveyor.cpp. References maxQueue, APPSPACK::List::prune(), and queueList. Referenced by APPSPACK::Solver::processEvaluatedTrialPoints(). |
|
Returns counts of all the function evaluations, etc. Definition at line 59 of file APPSPACK_Conveyor.cpp. References counter. Referenced by APPSPACK::Solver::processEvaluatedTrialPoints(), and APPSPACK::Solver::solve(). |
|
Calls the print function of the executor. Definition at line 116 of file APPSPACK_Conveyor.cpp. References executor, and APPSPACK::Executor::Interface::print(). |
|
Object that is used to evaluate the function. This object is passed in to the constructor Definition at line 150 of file APPSPACK_Conveyor.hpp. Referenced by exchange(), and print(). |
|
The function value cache. Definition at line 153 of file APPSPACK_Conveyor.hpp. Referenced by exchange(). |
|
Trial points that are queued to be processed. Definition at line 156 of file APPSPACK_Conveyor.hpp. Referenced by exchange(), prune(), and ~Conveyor(). |
|
Trial points that are in the processed of being evaluated. Definition at line 159 of file APPSPACK_Conveyor.hpp. Referenced by exchange(), and ~Conveyor(). |
|
Be synchronous (set according to "Synchronous"). Definition at line 162 of file APPSPACK_Conveyor.hpp. Referenced by exchange(). |
|
How big the queue is allowed to be after a prune (set according to "Max Queue Size" parameter). Definition at line 165 of file APPSPACK_Conveyor.hpp. Referenced by prune(). |
|
The minimum number of items that should be returned on a call to exchange() (set according to "Minimum Exchange Return"). Definition at line 169 of file APPSPACK_Conveyor.hpp. Referenced by exchange(). |
|
The maximum number of items that should be returned on a call to exchange() (set according to "Maximum Exchange Return"). Definition at line 173 of file APPSPACK_Conveyor.hpp. Referenced by exchange(). |
|
Counter for the number of evaluations, etc. Definition at line 176 of file APPSPACK_Conveyor.hpp. Referenced by exchange(), and getCounter(). |
© Sandia Corporation | Site Contact | Privacy and Security
Generated on Wed Dec 14 18:41:05 2005 for APPSPACK 4.0.2 by
1.3.8 written by Dimitri van Heesch,
© 1997-2002