📄 powell.3.man
字号:
POWELL(derived) OPTIMIZATION ALGORITHM POWELL(derived) Jun 1 15:19NAME Powell - Powell OptimaSYNOPSIS #include <Powell.hh> class PowellOptima : public LineSearchOptima \fIPublic members\fP PowellOptima(LineSearch*, int, double, double, double); PowellOptima(LineSearch*, int, double, double, double, int); ~PowellOptima(); Model<double> optimizer(Model<double>&); Model<long> optimizer(Model<long>&); const char* className() const; \fIPrivate members\fP double delta; double change;DESCRIPTION Powell() Powell's method can be considered a derivative-free version of the conjugate gradient algorithm (Powell, M., Computer Journal, 7, 155-162). Here the objective function is minimized from an initial model along a set of conjugate directiions generatied by the procedure without resorting to the gradient of the objective function. DESCRIPTION Constructors: PowellOptima(LineSearch* ls, int iter, double tol, double changeOf, double delta); ls: Defines the line search used in the optimization (At the present version you should use the BrentLineSearch procedure) iter: Maximum number of iterations tol: Tolerance used in the line search changeOf: This is the minimum relative change of the objective function value to stop the optimization (stopping criterion) delta: Initial step used in line search Methods: Model<double> optimizer(Model<double>&model0); model0: Initial model for the Powell's conjugate gradient procedure The optimum model is returned by the function. CAVEATS Although an interesting algorithm, Powell's method has demonstrated to have a high computational cost, due the excessive number of line search required to compute the conjugate directions (see Applied Nonlinear Programming, by David Himmelblau for details. It seems that the standard conjugate gradient by Hesteness and Stiefel with numerical derivatives is a more efficient procedure.DEFINED MACROS POWELL_OPTIMA_HHINCLUDED FILES "LSearchOptima.hh"SOURCE FILES Powell.cc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -