类 SimplexSolver


public class SimplexSolver extends LinearOptimizer
使用“双阶段单纯形法”解决线性问题。

SimplexSolver支持以下作为参数提供给optimize(OptimizationData...)OptimizationData数据:

注意:根据问题定义,默认的收敛标准可能过于严格,导致MathIllegalStateExceptionMathIllegalStateException。在这种情况下,建议使用更合适的值调整这些标准,例如放宽ε值。

默认的收敛标准:

  • 算法收敛:1e-6
  • 浮点比较:10 ulp
  • 截止值:1e-10

截止值被引入以处理单纯形表中非常小的主元素的情况,因为这些元素可能导致数值不稳定和退化。小于此值的潜在主元素将被视为零,因此不会被主元选择机制考虑。默认值对许多问题是安全的,但在使用线性约束或目标函数中使用非常小系数的情况下可能需要调整。

  • 构造器详细资料

    • SimplexSolver

      public SimplexSolver()
      使用默认设置构建单纯形求解器。
    • SimplexSolver

      public SimplexSolver(double epsilon)
      使用指定的接受误差量构建单纯形求解器。
      参数:
      epsilon - 用于算法收敛的误差量。
    • SimplexSolver

      public SimplexSolver(double epsilon, int maxUlps)
      使用指定的接受误差量构建单纯形求解器。
      参数:
      epsilon - 用于算法收敛的误差量。
      maxUlps - 浮点比较中接受的误差量。
    • SimplexSolver

      public SimplexSolver(double epsilon, int maxUlps, double cutOff)
      使用指定的接受误差量构建单纯形求解器。
      参数:
      epsilon - 用于算法收敛的误差量。
      maxUlps - 浮点比较中接受的误差量。
      cutOff - 小于cutOff的值被视为零。
  • 方法详细资料