Package operations_research.pdlp
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 TypeMethodDescriptiondoubleIf the following three conditions hold we say we have obtained an approximate primal ray, which is an approximate certificate of dual infeasibility.doubleAbsolute tolerance on the duality gap, primal feasibility, and dual feasibility.doubleRelative tolerance on the duality gap, primal feasibility, and dual feasibility.doubleIf the following two conditions hold we say that we have obtained an approximate dual ray, which is an approximate certificate of primal infeasibility.intIf termination_reason = TERMINATION_REASON_ITERATION_LIMIT then the solver has taken at least iterations_limit iterations.doubleIf 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.doubleIf termination_reason = TERMINATION_REASON_TIME_LIMIT then the solver has taken at least time_sec_limit time.booleanIf the following three conditions hold we say we have obtained an approximate primal ray, which is an approximate certificate of dual infeasibility.booleanAbsolute tolerance on the duality gap, primal feasibility, and dual feasibility.booleanRelative tolerance on the duality gap, primal feasibility, and dual feasibility.booleanIf the following two conditions hold we say that we have obtained an approximate dual ray, which is an approximate certificate of primal infeasibility.booleanIf termination_reason = TERMINATION_REASON_ITERATION_LIMIT then the solver has taken at least iterations_limit iterations.booleanIf termination_reason = TERMINATION_REASON_KKT_MATRIX_PASS_LIMIT then cumulative_kkt_matrix_passes is at least kkt_pass_limit.booleanThe norm that we are measuring the optimality criteria in.booleanIf 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
isInitializedMethods 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.
-