class QPanda::AbstractOptimizer¶
Overview¶
Abstract Optimizer. More…
#include <AbstractOptimizer.h> class AbstractOptimizer { public: // construction AbstractOptimizer(); AbstractOptimizer(const AbstractOptimizer&); // methods AbstractOptimizer& operator = (const AbstractOptimizer&); virtual void registerFunc(const QOptFunc& func, const vector_d& optimized_para); virtual void setDisp(bool disp); virtual void setAdaptive(bool adaptive); virtual void setXatol(double xatol); virtual void setFatol(double fatol); virtual void setMaxFCalls(size_t max_fcalls); virtual void setMaxIter(size_t max_iter); virtual void setRestoreFromCacheFile(bool restore); virtual void setCacheFile(const std::string& cache_file); virtual void setTestValueAndParaFile(double test_value, const std::string& filename); virtual void exec() = 0; virtual QOptimizationResult getResult(); }; // direct descendants class OriginCOBYLA; class OriginLBFGSB; class OriginNelderMead; class OriginPowell; class OriginSLSQP;
Detailed Documentation¶
Abstract Optimizer.
Methods¶
virtual void registerFunc(const QOptFunc& func, const vector_d& optimized_para)
register a user defined function and set some Optimizer parameters
Parameters:
QFunc& |
user defined function |
vector_d& |
Optimizer parameters |
virtual void setDisp(bool disp)
whether or not display the log info
Parameters:
bool |
virtual void setAdaptive(bool adaptive)
whether or not use Para of Nelder-Mead
Parameters:
bool |
virtual void setXatol(double xatol)
set absolute error in xopt between iterations that is acceptable for convergence
Parameters:
double |
virtual void setFatol(double fatol)
set Absolute error in func(xopt) between iterations that is acceptable for convergence
Parameters:
double |
virtual void setMaxFCalls(size_t max_fcalls)
set the max call times
Parameters:
size_t |
virtual void setMaxIter(size_t max_iter)
set the max iter times
Parameters:
size_t |
virtual void setRestoreFromCacheFile(bool restore)
set whether or not restore from cache file
Parameters:
bool |
virtual void setCacheFile(const std::string& cache_file)
set cache file
Parameters:
std::string& |
cache file name |
virtual void setTestValueAndParaFile( double test_value, const std::string& filename )
only for test
Parameters:
double |
test value |
std::string& |
file name |
virtual void exec() = 0
execute optimization
virtual QOptimizationResult getResult()
get optimization result
Returns:
QOptimizationResult optimization result