类 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 voidparseOptimizationData(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- 优化数据。将查找以下数据:
-