类 NonLinearConjugateGradientOptimizer
java.lang.Object
org.hipparchus.optim.BaseOptimizer<PointValuePair>
org.hipparchus.optim.BaseMultivariateOptimizer<PointValuePair>
org.hipparchus.optim.nonlinear.scalar.MultivariateOptimizer
org.hipparchus.optim.nonlinear.scalar.GradientMultivariateOptimizer
org.hipparchus.optim.nonlinear.scalar.gradient.NonLinearConjugateGradientOptimizer
非线性共轭梯度优化器。
该类支持Fletcher-Reeves和Polak-Ribière更新公式用于共轭搜索方向。它还支持可选的预处理。
不支持约束:如果向其传递边界,则调用
该类支持Fletcher-Reeves和Polak-Ribière更新公式用于共轭搜索方向。它还支持可选的预处理。
不支持约束:如果向其传递边界,则调用
optimize
将抛出MathRuntimeException
。
-
嵌套类概要
修饰符和类型类说明static enum
可用的更新公式选项,用于更新用于计算连续共轭搜索方向的参数。static class
默认的单位预处理器。 -
字段概要
从类继承的字段 org.hipparchus.optim.BaseOptimizer
evaluations, iterations
-
构造器概要
构造器说明NonLinearConjugateGradientOptimizer
(NonLinearConjugateGradientOptimizer.Formula updateFormula, ConvergenceChecker<PointValuePair> checker) 具有默认线搜索容差(1e-8)和preconditioner
的构造函数。NonLinearConjugateGradientOptimizer
(NonLinearConjugateGradientOptimizer.Formula updateFormula, ConvergenceChecker<PointValuePair> checker, double relativeTolerance, double absoluteTolerance, double initialBracketingRange) 具有默认preconditioner
的构造函数。NonLinearConjugateGradientOptimizer
(NonLinearConjugateGradientOptimizer.Formula updateFormula, ConvergenceChecker<PointValuePair> checker, double relativeTolerance, double absoluteTolerance, double initialBracketingRange, Preconditioner preconditioner) 简单构造函数。 -
方法概要
修饰符和类型方法说明protected PointValuePair
执行优化算法的大部分工作。optimize
(OptimizationData... optData) 存储数据并执行优化。protected void
parseOptimizationData
(OptimizationData... optData) 扫描表征问题的(必需和可选)优化数据列表。从类继承的方法 org.hipparchus.optim.nonlinear.scalar.GradientMultivariateOptimizer
computeObjectiveGradient
从类继承的方法 org.hipparchus.optim.nonlinear.scalar.MultivariateOptimizer
computeObjectiveValue, getGoalType
从类继承的方法 org.hipparchus.optim.BaseMultivariateOptimizer
getLowerBound, getStartPoint, getUpperBound
从类继承的方法 org.hipparchus.optim.BaseOptimizer
getConvergenceChecker, getEvaluations, getIterations, getMaxEvaluations, getMaxIterations, incrementEvaluationCount, incrementIterationCount, optimize
-
构造器详细资料
-
NonLinearConjugateGradientOptimizer
public NonLinearConjugateGradientOptimizer(NonLinearConjugateGradientOptimizer.Formula updateFormula, ConvergenceChecker<PointValuePair> checker) 具有默认线搜索容差(1e-8)和preconditioner
的构造函数。- 参数:
-
updateFormula
- 用于更新β参数的公式,必须是NonLinearConjugateGradientOptimizer.Formula.FLETCHER_REEVES
或NonLinearConjugateGradientOptimizer.Formula.POLAK_RIBIERE
之一。 -
checker
- 收敛检查器。
-
NonLinearConjugateGradientOptimizer
public NonLinearConjugateGradientOptimizer(NonLinearConjugateGradientOptimizer.Formula updateFormula, ConvergenceChecker<PointValuePair> checker, double relativeTolerance, double absoluteTolerance, double initialBracketingRange) 具有默认preconditioner
的构造函数。- 参数:
-
updateFormula
- 用于更新β参数的公式,必须是NonLinearConjugateGradientOptimizer.Formula.FLETCHER_REEVES
或NonLinearConjugateGradientOptimizer.Formula.POLAK_RIBIERE
之一。 -
checker
- 收敛检查器。 -
relativeTolerance
- 线搜索的相对阈值。 -
absoluteTolerance
- 线搜索的绝对阈值。 -
initialBracketingRange
- 用于查找包围最优解的初始区间的范围。 - 另请参阅:
-
NonLinearConjugateGradientOptimizer
public NonLinearConjugateGradientOptimizer(NonLinearConjugateGradientOptimizer.Formula updateFormula, ConvergenceChecker<PointValuePair> checker, double relativeTolerance, double absoluteTolerance, double initialBracketingRange, Preconditioner preconditioner) 简单构造函数。- 参数:
-
updateFormula
- 用于更新β参数的公式,必须是NonLinearConjugateGradientOptimizer.Formula.FLETCHER_REEVES
或NonLinearConjugateGradientOptimizer.Formula.POLAK_RIBIERE
之一。 -
checker
- 收敛检查器。 -
relativeTolerance
- 线搜索的相对阈值。 -
absoluteTolerance
- 线搜索的绝对阈值。 -
initialBracketingRange
- 用于查找包围最优解的初始区间的范围。 -
preconditioner
- 预处理器。 - 另请参阅:
-
-
方法详细资料
-
optimize
存储数据并执行优化。参数列表是开放式的,因此子类可以使用特定于其具体实现的参数扩展它。
当多次调用该方法时,只有在参数列表中实际存在时才会覆盖实例数据:当未指定时,设置在先前调用中的数据将被保留(因此在后续调用中是可选的)。
重要提示:子类必须覆盖
BaseOptimizer.parseOptimizationData(OptimizationData[])
如果它们需要注册自己的选项;但是,它们还必须在该方法内调用super.parseOptimizationData(optData)
。- 覆盖:
-
optimize
在类中GradientMultivariateOptimizer
- 参数:
-
optData
- 优化数据。除了MultivariateOptimizer
中记录的数据外,此方法还将注册以下数据: - 返回:
- 满足收敛标准的点/值对。
- 抛出:
-
MathIllegalStateException
- 如果超过了最大评估次数(目标函数)。
-
doOptimize
执行优化算法的大部分工作。- 指定者:
-
doOptimize
在类中BaseOptimizer<PointValuePair>
- 返回:
- 给出目标函数的最优值的点/值对。
-
parseOptimizationData
扫描表征问题的(必需和可选)优化数据列表。- 覆盖:
-
parseOptimizationData
在类中GradientMultivariateOptimizer
- 参数:
-
optData
- 优化数据。将查找以下数据:
-