Interface Solvers.TerminationCriteriaOrBuilder

    • Method Detail

      • 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.
      • hasSimpleOptimalityCriteria

        boolean hasSimpleOptimalityCriteria()
        .operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
        Returns:
        Whether the simpleOptimalityCriteria field is set.
      • hasDetailedOptimalityCriteria

        boolean hasDetailedOptimalityCriteria()
        .operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
        Returns:
        Whether the detailedOptimalityCriteria field is set.
      • hasEpsOptimalAbsolute

        @Deprecated
        boolean hasEpsOptimalAbsolute()
        Deprecated.
        operations_research.pdlp.TerminationCriteria.eps_optimal_absolute is deprecated. See ortools/pdlp/solvers.proto;l=133
         Absolute tolerance on primal residual, dual residual, and the objective
         gap.
         Deprecated, use simple_optimality_criteria instead.
         TODO(b/241462829) delete this deprecated field.
         
        optional double eps_optimal_absolute = 2 [default = 1e-06, deprecated = true];
        Returns:
        Whether the epsOptimalAbsolute field is set.
      • getEpsOptimalAbsolute

        @Deprecated
        double getEpsOptimalAbsolute()
        Deprecated.
        operations_research.pdlp.TerminationCriteria.eps_optimal_absolute is deprecated. See ortools/pdlp/solvers.proto;l=133
         Absolute tolerance on primal residual, dual residual, and the objective
         gap.
         Deprecated, use simple_optimality_criteria instead.
         TODO(b/241462829) delete this deprecated field.
         
        optional double eps_optimal_absolute = 2 [default = 1e-06, deprecated = true];
        Returns:
        The epsOptimalAbsolute.
      • hasEpsOptimalRelative

        @Deprecated
        boolean hasEpsOptimalRelative()
        Deprecated.
        operations_research.pdlp.TerminationCriteria.eps_optimal_relative is deprecated. See ortools/pdlp/solvers.proto;l=140
         Relative tolerance on primal residual, dual residual, and the objective
         gap.
         Deprecated, use simple_optimality_criteria instead.
         TODO(b/241462829) delete this deprecated field.
         
        optional double eps_optimal_relative = 3 [default = 1e-06, deprecated = true];
        Returns:
        Whether the epsOptimalRelative field is set.
      • getEpsOptimalRelative

        @Deprecated
        double getEpsOptimalRelative()
        Deprecated.
        operations_research.pdlp.TerminationCriteria.eps_optimal_relative is deprecated. See ortools/pdlp/solvers.proto;l=140
         Relative tolerance on primal residual, dual residual, and the objective
         gap.
         Deprecated, use simple_optimality_criteria instead.
         TODO(b/241462829) delete this deprecated field.
         
        optional double eps_optimal_relative = 3 [default = 1e-06, deprecated = true];
        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.