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.

Construction

AbstractOptimizer()

Constructor of AbstractOptimizer class.

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