类 PowellOptimizer
java.lang.Object
org.hipparchus.optim.BaseOptimizer<PointValuePair>
org.hipparchus.optim.BaseMultivariateOptimizer<PointValuePair>
org.hipparchus.optim.nonlinear.scalar.MultivariateOptimizer
org.hipparchus.optim.nonlinear.scalar.noderiv.PowellOptimizer
Powell算法。此代码是从Python版本的该算法(在SciPy模块
默认的停止准则基于两次迭代之间的函数值差异。但可以定义一个自定义的收敛检查器,可能会提前终止算法。
线搜索由
不支持约束:如果传递了边界,则调用
optimize.py
v0.5中实现)翻译和调整而来。
默认的停止准则基于两次迭代之间的函数值差异。但可以定义一个自定义的收敛检查器,可能会提前终止算法。
线搜索由
LineSearch
类执行。
不支持约束:如果传递了边界,则调用
optimize
将抛出MathRuntimeException
。为了施加简单的约束,目标函数必须包装在适配器中,如MultivariateFunctionMappingAdapter
或MultivariateFunctionPenaltyAdapter
。
-
字段概要
从类继承的字段 org.hipparchus.optim.BaseOptimizer
evaluations, iterations
-
构造器概要
构造器说明PowellOptimizer
(double rel, double abs) 参数控制默认的收敛检查过程。PowellOptimizer
(double rel, double abs, double lineRel, double lineAbs) 使用默认的收敛检查过程构建一个实例。PowellOptimizer
(double rel, double abs, double lineRel, double lineAbs, ConvergenceChecker<PointValuePair> checker) 此构造函数允许指定用户定义的收敛检查器,以及控制默认收敛检查过程和线搜索容差的参数。PowellOptimizer
(double rel, double abs, ConvergenceChecker<PointValuePair> checker) 此构造函数允许指定用户定义的收敛检查器,以及控制默认收敛检查过程的参数。 -
方法概要
从类继承的方法 org.hipparchus.optim.nonlinear.scalar.MultivariateOptimizer
computeObjectiveValue, getGoalType, optimize, parseOptimizationData
从类继承的方法 org.hipparchus.optim.BaseMultivariateOptimizer
getLowerBound, getStartPoint, getUpperBound
从类继承的方法 org.hipparchus.optim.BaseOptimizer
getConvergenceChecker, getEvaluations, getIterations, getMaxEvaluations, getMaxIterations, incrementEvaluationCount, incrementIterationCount, optimize
-
构造器详细资料
-
PowellOptimizer
此构造函数允许指定用户定义的收敛检查器,以及控制默认收敛检查过程的参数。
内部线搜索容差设置为多元优化器中相应值的平方根。- 参数:
-
rel
- 相对阈值。 -
abs
- 绝对阈值。 -
checker
- 收敛检查器。 - 抛出:
-
MathIllegalArgumentException
- 如果abs <= 0
。 -
MathIllegalArgumentException
- 如果rel < 2 * Math.ulp(1d)
。
-
PowellOptimizer
public PowellOptimizer(double rel, double abs, double lineRel, double lineAbs, ConvergenceChecker<PointValuePair> checker) 此构造函数允许指定用户定义的收敛检查器,以及控制默认收敛检查过程和线搜索容差的参数。- 参数:
-
rel
- 此优化器的相对阈值。 -
abs
- 此优化器的绝对阈值。 -
lineRel
- 内部线搜索优化器的相对阈值。 -
lineAbs
- 内部线搜索优化器的绝对阈值。 -
checker
- 收敛检查器。 - 抛出:
-
MathIllegalArgumentException
- 如果abs <= 0
。 -
MathIllegalArgumentException
- 如果rel < 2 * Math.ulp(1d)
。
-
PowellOptimizer
public PowellOptimizer(double rel, double abs) 参数控制默认的收敛检查过程。
内部线搜索容差设置为多元优化器中相应值的平方根。- 参数:
-
rel
- 相对阈值。 -
abs
- 绝对阈值。 - 抛出:
-
MathIllegalArgumentException
- 如果abs <= 0
。 -
MathIllegalArgumentException
- 如果rel < 2 * Math.ulp(1d)
。
-
PowellOptimizer
public PowellOptimizer(double rel, double abs, double lineRel, double lineAbs) 使用默认的收敛检查过程构建一个实例。- 参数:
-
rel
- 相对阈值。 -
abs
- 绝对阈值。 -
lineRel
- 内部线搜索优化器的相对阈值。 -
lineAbs
- 内部线搜索优化器的绝对阈值。 - 抛出:
-
MathIllegalArgumentException
- 如果abs <= 0
。 -
MathIllegalArgumentException
- 如果rel < 2 * Math.ulp(1d)
。
-
-
方法详细资料
-
doOptimize
执行优化算法的大部分工作。- 指定者:
-
doOptimize
在类中BaseOptimizer<PointValuePair>
- 返回:
- 给出目标函数最优值的点/值对。
-