Interface Solvers.TerminationCriteriaOrBuilder

All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
All Known Implementing Classes:
Solvers.TerminationCriteria, Solvers.TerminationCriteria.Builder
Enclosing class:
Solvers

public static interface Solvers.TerminationCriteriaOrBuilder extends com.google.protobuf.MessageOrBuilder
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    If the following three conditions hold we say we have obtained an approximate primal ray, which is an approximate certificate of dual infeasibility.
    double
    Absolute tolerance on the duality gap, primal feasibility, and dual feasibility.
    double
    Relative tolerance on the duality gap, primal feasibility, and dual feasibility.
    double
    If the following two conditions hold we say that we have obtained an approximate dual ray, which is an approximate certificate of primal infeasibility.
    int
    If termination_reason = TERMINATION_REASON_ITERATION_LIMIT then the solver has taken at least iterations_limit iterations.
    double
    If termination_reason = TERMINATION_REASON_KKT_MATRIX_PASS_LIMIT then cumulative_kkt_matrix_passes is at least kkt_pass_limit.
    The norm that we are measuring the optimality criteria in.
    double
    If termination_reason = TERMINATION_REASON_TIME_LIMIT then the solver has taken at least time_sec_limit time.
    boolean
    If the following three conditions hold we say we have obtained an approximate primal ray, which is an approximate certificate of dual infeasibility.
    boolean
    Absolute tolerance on the duality gap, primal feasibility, and dual feasibility.
    boolean
    Relative tolerance on the duality gap, primal feasibility, and dual feasibility.
    boolean
    If the following two conditions hold we say that we have obtained an approximate dual ray, which is an approximate certificate of primal infeasibility.
    boolean
    If termination_reason = TERMINATION_REASON_ITERATION_LIMIT then the solver has taken at least iterations_limit iterations.
    boolean
    If termination_reason = TERMINATION_REASON_KKT_MATRIX_PASS_LIMIT then cumulative_kkt_matrix_passes is at least kkt_pass_limit.
    boolean
    The norm that we are measuring the optimality criteria in.
    boolean
    If termination_reason = TERMINATION_REASON_TIME_LIMIT then the solver has taken at least time_sec_limit time.

    Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

    isInitialized

    Methods inherited from interface com.google.protobuf.MessageOrBuilder

    findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
  • Method Details

    • hasOptimalityNorm

      boolean hasOptimalityNorm()
       The norm that we are measuring the optimality criteria in.
       
      optional .operations_research.pdlp.OptimalityNorm optimality_norm = 1 [default = OPTIMALITY_NORM_L2];
      Returns:
      Whether the optimalityNorm field is set.
    • getOptimalityNorm

      Solvers.OptimalityNorm getOptimalityNorm()
       The norm that we are measuring the optimality criteria in.
       
      optional .operations_research.pdlp.OptimalityNorm optimality_norm = 1 [default = OPTIMALITY_NORM_L2];
      Returns:
      The optimalityNorm.
    • hasEpsOptimalAbsolute

      boolean hasEpsOptimalAbsolute()
       Absolute tolerance on the duality gap, primal feasibility, and dual
       feasibility.
       
      optional double eps_optimal_absolute = 2 [default = 1e-06];
      Returns:
      Whether the epsOptimalAbsolute field is set.
    • getEpsOptimalAbsolute

      double getEpsOptimalAbsolute()
       Absolute tolerance on the duality gap, primal feasibility, and dual
       feasibility.
       
      optional double eps_optimal_absolute = 2 [default = 1e-06];
      Returns:
      The epsOptimalAbsolute.
    • hasEpsOptimalRelative

      boolean hasEpsOptimalRelative()
       Relative tolerance on the duality gap, primal feasibility, and dual
       feasibility.
       
      optional double eps_optimal_relative = 3 [default = 1e-06];
      Returns:
      Whether the epsOptimalRelative field is set.
    • getEpsOptimalRelative

      double getEpsOptimalRelative()
       Relative tolerance on the duality gap, primal feasibility, and dual
       feasibility.
       
      optional double eps_optimal_relative = 3 [default = 1e-06];
      Returns:
      The epsOptimalRelative.
    • hasEpsPrimalInfeasible

      boolean hasEpsPrimalInfeasible()
       If the following two conditions hold we say that we have obtained an
       approximate dual ray, which is an approximate certificate of primal
       infeasibility.
       (1) dual_ray_objective > 0,
       (2) max_dual_ray_infeasibility / dual_ray_objective <=
       eps_primal_infeasible.
       
      optional double eps_primal_infeasible = 4 [default = 1e-08];
      Returns:
      Whether the epsPrimalInfeasible field is set.
    • getEpsPrimalInfeasible

      double getEpsPrimalInfeasible()
       If the following two conditions hold we say that we have obtained an
       approximate dual ray, which is an approximate certificate of primal
       infeasibility.
       (1) dual_ray_objective > 0,
       (2) max_dual_ray_infeasibility / dual_ray_objective <=
       eps_primal_infeasible.
       
      optional double eps_primal_infeasible = 4 [default = 1e-08];
      Returns:
      The epsPrimalInfeasible.
    • hasEpsDualInfeasible

      boolean hasEpsDualInfeasible()
       If the following three conditions hold we say we have obtained an
       approximate primal ray, which is an approximate certificate of dual
       infeasibility.
       (1) primal_ray_linear_objective < 0,
       (2) max_primal_ray_infeasibility / (-primal_ray_linear_objective) <=
       eps_dual_infeasible
       (3) primal_ray_quadratic_norm / (-primal_ray_linear_objective) <=
       eps_dual_infeasible.
       
      optional double eps_dual_infeasible = 5 [default = 1e-08];
      Returns:
      Whether the epsDualInfeasible field is set.
    • getEpsDualInfeasible

      double getEpsDualInfeasible()
       If the following three conditions hold we say we have obtained an
       approximate primal ray, which is an approximate certificate of dual
       infeasibility.
       (1) primal_ray_linear_objective < 0,
       (2) max_primal_ray_infeasibility / (-primal_ray_linear_objective) <=
       eps_dual_infeasible
       (3) primal_ray_quadratic_norm / (-primal_ray_linear_objective) <=
       eps_dual_infeasible.
       
      optional double eps_dual_infeasible = 5 [default = 1e-08];
      Returns:
      The epsDualInfeasible.
    • hasTimeSecLimit

      boolean hasTimeSecLimit()
       If termination_reason = TERMINATION_REASON_TIME_LIMIT then the solver has
       taken at least time_sec_limit time.
       
      optional double time_sec_limit = 6 [default = inf];
      Returns:
      Whether the timeSecLimit field is set.
    • getTimeSecLimit

      double getTimeSecLimit()
       If termination_reason = TERMINATION_REASON_TIME_LIMIT then the solver has
       taken at least time_sec_limit time.
       
      optional double time_sec_limit = 6 [default = inf];
      Returns:
      The timeSecLimit.
    • hasIterationLimit

      boolean hasIterationLimit()
       If termination_reason = TERMINATION_REASON_ITERATION_LIMIT then the solver
       has taken at least iterations_limit iterations.
       
      optional int32 iteration_limit = 7 [default = 2147483647];
      Returns:
      Whether the iterationLimit field is set.
    • getIterationLimit

      int getIterationLimit()
       If termination_reason = TERMINATION_REASON_ITERATION_LIMIT then the solver
       has taken at least iterations_limit iterations.
       
      optional int32 iteration_limit = 7 [default = 2147483647];
      Returns:
      The iterationLimit.
    • hasKktMatrixPassLimit

      boolean hasKktMatrixPassLimit()
       If termination_reason = TERMINATION_REASON_KKT_MATRIX_PASS_LIMIT then
       cumulative_kkt_matrix_passes is at least kkt_pass_limit.
       
      optional double kkt_matrix_pass_limit = 8 [default = inf];
      Returns:
      Whether the kktMatrixPassLimit field is set.
    • getKktMatrixPassLimit

      double getKktMatrixPassLimit()
       If termination_reason = TERMINATION_REASON_KKT_MATRIX_PASS_LIMIT then
       cumulative_kkt_matrix_passes is at least kkt_pass_limit.
       
      optional double kkt_matrix_pass_limit = 8 [default = inf];
      Returns:
      The kktMatrixPassLimit.