类 BaseOptimizer<P>

java.lang.Object
org.hipparchus.optim.BaseOptimizer<P>
类型参数:
P - 优化算法返回的点/值对的类型。
直接已知子类:
BaseMultivariateOptimizer, UnivariateOptimizer

public abstract class BaseOptimizer<P> extends Object
用于实现优化器的基类。它包含了计算目标函数评估次数和算法迭代次数以及存储收敛检查器的样板代码。这不是一个“用户”类。
  • 字段详细资料

    • evaluations

      protected Incrementor evaluations
      评估计数器。
    • iterations

      protected Incrementor iterations
      迭代计数器。
  • 构造器详细资料

    • BaseOptimizer

      protected BaseOptimizer(ConvergenceChecker<P> checker)
      简单构造函数。
      参数:
      checker - 收敛检查器。
    • BaseOptimizer

      protected BaseOptimizer(ConvergenceChecker<P> checker, int maxEval, int maxIter)
      简单构造函数。
      参数:
      checker - 收敛检查器。
      maxEval - 目标函数评估的最大次数。
      maxIter - 算法迭代的最大次数。
  • 方法详细资料

    • getMaxEvaluations

      public int getMaxEvaluations()
      获取函数评估的最大次数。
      返回:
      函数评估的最大次数。
    • getEvaluations

      public int getEvaluations()
      获取目标函数的评估次数。评估次数对应于最后一次调用optimize方法。如果尚未调用该方法,则为0。
      返回:
      目标函数的评估次数。
    • getMaxIterations

      public int getMaxIterations()
      获取迭代的最大次数。
      返回:
      迭代的最大次数。
    • getIterations

      public int getIterations()
      获取算法执行的迭代次数。迭代次数对应于最后一次调用optimize方法。如果尚未调用该方法,则为0。
      返回:
      目标函数的评估次数。
    • getConvergenceChecker

      public ConvergenceChecker<P> getConvergenceChecker()
      获取收敛检查器。
      返回:
      用于检查收敛的对象。
    • optimize

      public P optimize(OptimizationData... optData) throws MathIllegalStateException
      存储数据并执行优化。

      参数列表是开放式的,因此子类可以使用特定于其具体实现的参数扩展它。

      当多次调用该方法时,只有在参数列表中实际存在时才会覆盖实例数据:当未指定时,设置在先前调用中的数据将被保留(因此在后续调用中是可选的)。

      重要提示:子类必须重写parseOptimizationData(OptimizationData[])如果它们需要注册自己的选项;但是,它们还必须在该方法内调用super.parseOptimizationData(optData)

      参数:
      optData - 优化数据。此方法将注册以下数据:
      返回:
      满足收敛标准的点/值对。
      抛出:
      MathIllegalStateException - 如果超过了最大评估次数。
      MathIllegalStateException - 如果超过了最大迭代次数。
    • optimize

      public P optimize() throws MathIllegalStateException
      执行优化。
      返回:
      满足收敛标准的点/值对。
      抛出:
      MathIllegalStateException - 如果超过了最大评估次数。
      MathIllegalStateException - 如果超过了最大迭代次数。
    • doOptimize

      protected abstract P doOptimize()
      执行优化算法的大部分工作。
      返回:
      给出目标函数的最优值的点/值对。
    • incrementEvaluationCount

      protected void incrementEvaluationCount() throws MathIllegalStateException
      增加评估计数。
      抛出:
      MathIllegalStateException - 如果允许的评估次数已用完。
    • incrementIterationCount

      protected void incrementIterationCount() throws MathIllegalStateException
      增加迭代计数。
      抛出:
      MathIllegalStateException - 如果允许的迭代次数已用完。
    • parseOptimizationData

      protected void parseOptimizationData(OptimizationData... optData)
      扫描表征问题的(必需和可选)优化数据列表。
      参数:
      optData - 优化数据。将查找以下数据: