Diana
0.8.3
|
00001 00002 #ifndef IDIANA_NLP_PARALLELING_H 00003 #define IDIANA_NLP_PARALLELING_H 00004 00005 using namespace Common::Types; 00006 using namespace Common::Error; 00007 00008 namespace Diana{ 00009 00010 // Foward declaration of interface of numeric solver 00011 class IDianaNLPSolverReportingInterface; 00012 00013 class IDianaNLPSolverParallelInterface : public Common::Utilities::ICapeUtilities { 00014 protected: 00015 00016 Numeric::Solvers::NLPTasks::ICapeNLPTask *task; 00017 00018 public: 00019 virtual void EvaluateArray(std::vector <Numeric::Solvers::NLPTasks::Parameters::ICapeOptimizationPoint *> &) = 0; 00020 00021 /* Sets Task class */ 00022 void SetNLPTask(Numeric::Solvers::NLPTasks::ICapeNLPTask *_task) {task = _task; }; 00024 virtual bool IsServer() = 0; 00026 virtual void RunClient() = 0; 00027 00028 }; 00029 00030 } 00031 00032 #endif // IDIANA_NLP_PARALLELING_H