Class TerminationCriteria.Builder
java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<TerminationCriteria.Builder>
com.google.protobuf.GeneratedMessage.Builder<TerminationCriteria.Builder>
com.google.ortools.pdlp.TerminationCriteria.Builder
- All Implemented Interfaces:
TerminationCriteriaOrBuilder
,com.google.protobuf.Message.Builder
,com.google.protobuf.MessageLite.Builder
,com.google.protobuf.MessageLiteOrBuilder
,com.google.protobuf.MessageOrBuilder
,Cloneable
- Enclosing class:
TerminationCriteria
public static final class TerminationCriteria.Builder
extends com.google.protobuf.GeneratedMessage.Builder<TerminationCriteria.Builder>
implements TerminationCriteriaOrBuilder
Relevant readings on infeasibility certificates: (1) https://docs.mosek.com/modeling-cookbook/qcqo.html provides references explaining why the primal rays imply dual infeasibility and dual rays imply primal infeasibility. (2) The termination criteria for Mosek's linear programming optimizer https://docs.mosek.com/9.0/pythonfusion/solving-linear.html. (3) The termination criteria for OSQP is in section 3.3 of https://web.stanford.edu/~boyd/papers/pdf/osqp.pdf. (4) The termination criteria for SCS is in section 3.5 of https://arxiv.org/pdf/1312.3039.pdf.Protobuf type
operations_research.pdlp.TerminationCriteria
-
Method Summary
Modifier and TypeMethodDescriptionbuild()
clear()
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
If the following three conditions hold we say we have obtained an approximate primal ray, which is an approximate certificate of dual infeasibilityDeprecated.operations_research.pdlp.TerminationCriteria.eps_optimal_absolute is deprecated.Deprecated.operations_research.pdlp.TerminationCriteria.eps_optimal_relative is deprecated.If the following two conditions hold we say that we have obtained an approximate dual ray, which is an approximate certificate of primal infeasibilityIf termination_reason = TERMINATION_REASON_ITERATION_LIMIT then the solver has taken at least iterations_limit iterations.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..operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
If termination_reason = TERMINATION_REASON_TIME_LIMIT then the solver has taken at least time_sec_limit time.static final com.google.protobuf.Descriptors.Descriptor
com.google.protobuf.Descriptors.Descriptor
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
double
If the following three conditions hold we say we have obtained an approximate primal ray, which is an approximate certificate of dual infeasibilitydouble
Deprecated.operations_research.pdlp.TerminationCriteria.eps_optimal_absolute is deprecated.double
Deprecated.operations_research.pdlp.TerminationCriteria.eps_optimal_relative is deprecated.double
If the following two conditions hold we say that we have obtained an approximate dual ray, which is an approximate certificate of primal infeasibilityint
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..operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
double
If termination_reason = TERMINATION_REASON_TIME_LIMIT then the solver has taken at least time_sec_limit time.boolean
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
boolean
If the following three conditions hold we say we have obtained an approximate primal ray, which is an approximate certificate of dual infeasibilityboolean
Deprecated.operations_research.pdlp.TerminationCriteria.eps_optimal_absolute is deprecated.boolean
Deprecated.operations_research.pdlp.TerminationCriteria.eps_optimal_relative is deprecated.boolean
If the following two conditions hold we say that we have obtained an approximate dual ray, which is an approximate certificate of primal infeasibilityboolean
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
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
boolean
If termination_reason = TERMINATION_REASON_TIME_LIMIT then the solver has taken at least time_sec_limit time.protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
final boolean
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
mergeFrom
(TerminationCriteria other) mergeFrom
(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) mergeFrom
(com.google.protobuf.Message other) .operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
setDetailedOptimalityCriteria
(TerminationCriteria.DetailedOptimalityCriteria.Builder builderForValue) .operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
setEpsDualInfeasible
(double value) If the following three conditions hold we say we have obtained an approximate primal ray, which is an approximate certificate of dual infeasibilitysetEpsOptimalAbsolute
(double value) Deprecated.operations_research.pdlp.TerminationCriteria.eps_optimal_absolute is deprecated.setEpsOptimalRelative
(double value) Deprecated.operations_research.pdlp.TerminationCriteria.eps_optimal_relative is deprecated.setEpsPrimalInfeasible
(double value) If the following two conditions hold we say that we have obtained an approximate dual ray, which is an approximate certificate of primal infeasibilitysetIterationLimit
(int value) If termination_reason = TERMINATION_REASON_ITERATION_LIMIT then the solver has taken at least iterations_limit iterations.setKktMatrixPassLimit
(double value) If termination_reason = TERMINATION_REASON_KKT_MATRIX_PASS_LIMIT then cumulative_kkt_matrix_passes is at least kkt_pass_limit.setOptimalityNorm
(OptimalityNorm value) The norm that we are measuring the optimality criteria in..operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
setTimeSecLimit
(double value) If termination_reason = TERMINATION_REASON_TIME_LIMIT then the solver has taken at least time_sec_limit time.Methods inherited from class com.google.protobuf.GeneratedMessage.Builder
addRepeatedField, clearField, clearOneof, clone, getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, internalGetMutableMapField, internalGetMutableMapFieldReflection, isClean, markClean, mergeUnknownFields, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setField, setRepeatedField, setUnknownFields, setUnknownFieldSetBuilder, setUnknownFieldsProto3
Methods inherited from class com.google.protobuf.AbstractMessage.Builder
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString
Methods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageException
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.google.protobuf.Message.Builder
mergeDelimitedFrom, mergeDelimitedFrom
Methods inherited from interface com.google.protobuf.MessageLite.Builder
mergeFrom
Methods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Method Details
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTable
in classcom.google.protobuf.GeneratedMessage.Builder<TerminationCriteria.Builder>
-
clear
- Specified by:
clear
in interfacecom.google.protobuf.Message.Builder
- Specified by:
clear
in interfacecom.google.protobuf.MessageLite.Builder
- Overrides:
clear
in classcom.google.protobuf.GeneratedMessage.Builder<TerminationCriteria.Builder>
-
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()- Specified by:
getDescriptorForType
in interfacecom.google.protobuf.Message.Builder
- Specified by:
getDescriptorForType
in interfacecom.google.protobuf.MessageOrBuilder
- Overrides:
getDescriptorForType
in classcom.google.protobuf.GeneratedMessage.Builder<TerminationCriteria.Builder>
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageOrBuilder
-
build
- Specified by:
build
in interfacecom.google.protobuf.Message.Builder
- Specified by:
build
in interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
- Specified by:
buildPartial
in interfacecom.google.protobuf.Message.Builder
- Specified by:
buildPartial
in interfacecom.google.protobuf.MessageLite.Builder
-
mergeFrom
- Specified by:
mergeFrom
in interfacecom.google.protobuf.Message.Builder
- Overrides:
mergeFrom
in classcom.google.protobuf.AbstractMessage.Builder<TerminationCriteria.Builder>
-
mergeFrom
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitialized
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Overrides:
isInitialized
in classcom.google.protobuf.GeneratedMessage.Builder<TerminationCriteria.Builder>
-
mergeFrom
public TerminationCriteria.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Specified by:
mergeFrom
in interfacecom.google.protobuf.Message.Builder
- Specified by:
mergeFrom
in interfacecom.google.protobuf.MessageLite.Builder
- Overrides:
mergeFrom
in classcom.google.protobuf.AbstractMessage.Builder<TerminationCriteria.Builder>
- Throws:
IOException
-
getOptimalityCriteriaCase
- Specified by:
getOptimalityCriteriaCase
in interfaceTerminationCriteriaOrBuilder
-
clearOptimalityCriteria
-
hasOptimalityNorm
public boolean hasOptimalityNorm()The norm that we are measuring the optimality criteria in.
optional .operations_research.pdlp.OptimalityNorm optimality_norm = 1 [default = OPTIMALITY_NORM_L2];
- Specified by:
hasOptimalityNorm
in interfaceTerminationCriteriaOrBuilder
- Returns:
- Whether the optimalityNorm field is set.
-
getOptimalityNorm
The norm that we are measuring the optimality criteria in.
optional .operations_research.pdlp.OptimalityNorm optimality_norm = 1 [default = OPTIMALITY_NORM_L2];
- Specified by:
getOptimalityNorm
in interfaceTerminationCriteriaOrBuilder
- Returns:
- The optimalityNorm.
-
setOptimalityNorm
The norm that we are measuring the optimality criteria in.
optional .operations_research.pdlp.OptimalityNorm optimality_norm = 1 [default = OPTIMALITY_NORM_L2];
- Parameters:
value
- The optimalityNorm to set.- Returns:
- This builder for chaining.
-
clearOptimalityNorm
The norm that we are measuring the optimality criteria in.
optional .operations_research.pdlp.OptimalityNorm optimality_norm = 1 [default = OPTIMALITY_NORM_L2];
- Returns:
- This builder for chaining.
-
hasSimpleOptimalityCriteria
public boolean hasSimpleOptimalityCriteria().operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
- Specified by:
hasSimpleOptimalityCriteria
in interfaceTerminationCriteriaOrBuilder
- Returns:
- Whether the simpleOptimalityCriteria field is set.
-
getSimpleOptimalityCriteria
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
- Specified by:
getSimpleOptimalityCriteria
in interfaceTerminationCriteriaOrBuilder
- Returns:
- The simpleOptimalityCriteria.
-
setSimpleOptimalityCriteria
public TerminationCriteria.Builder setSimpleOptimalityCriteria(TerminationCriteria.SimpleOptimalityCriteria value) .operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
-
setSimpleOptimalityCriteria
public TerminationCriteria.Builder setSimpleOptimalityCriteria(TerminationCriteria.SimpleOptimalityCriteria.Builder builderForValue) .operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
-
mergeSimpleOptimalityCriteria
public TerminationCriteria.Builder mergeSimpleOptimalityCriteria(TerminationCriteria.SimpleOptimalityCriteria value) .operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
-
clearSimpleOptimalityCriteria
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
-
getSimpleOptimalityCriteriaBuilder
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
-
getSimpleOptimalityCriteriaOrBuilder
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
- Specified by:
getSimpleOptimalityCriteriaOrBuilder
in interfaceTerminationCriteriaOrBuilder
-
hasDetailedOptimalityCriteria
public boolean hasDetailedOptimalityCriteria().operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
- Specified by:
hasDetailedOptimalityCriteria
in interfaceTerminationCriteriaOrBuilder
- Returns:
- Whether the detailedOptimalityCriteria field is set.
-
getDetailedOptimalityCriteria
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
- Specified by:
getDetailedOptimalityCriteria
in interfaceTerminationCriteriaOrBuilder
- Returns:
- The detailedOptimalityCriteria.
-
setDetailedOptimalityCriteria
public TerminationCriteria.Builder setDetailedOptimalityCriteria(TerminationCriteria.DetailedOptimalityCriteria value) .operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
-
setDetailedOptimalityCriteria
public TerminationCriteria.Builder setDetailedOptimalityCriteria(TerminationCriteria.DetailedOptimalityCriteria.Builder builderForValue) .operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
-
mergeDetailedOptimalityCriteria
public TerminationCriteria.Builder mergeDetailedOptimalityCriteria(TerminationCriteria.DetailedOptimalityCriteria value) .operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
-
clearDetailedOptimalityCriteria
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
-
getDetailedOptimalityCriteriaBuilder
public TerminationCriteria.DetailedOptimalityCriteria.Builder getDetailedOptimalityCriteriaBuilder().operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
-
getDetailedOptimalityCriteriaOrBuilder
public TerminationCriteria.DetailedOptimalityCriteriaOrBuilder getDetailedOptimalityCriteriaOrBuilder().operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
- Specified by:
getDetailedOptimalityCriteriaOrBuilder
in interfaceTerminationCriteriaOrBuilder
-
hasEpsOptimalAbsolute
Deprecated.operations_research.pdlp.TerminationCriteria.eps_optimal_absolute is deprecated. See ortools/pdlp/solvers.proto;l=147Absolute 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];
- Specified by:
hasEpsOptimalAbsolute
in interfaceTerminationCriteriaOrBuilder
- Returns:
- Whether the epsOptimalAbsolute field is set.
-
getEpsOptimalAbsolute
Deprecated.operations_research.pdlp.TerminationCriteria.eps_optimal_absolute is deprecated. See ortools/pdlp/solvers.proto;l=147Absolute 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];
- Specified by:
getEpsOptimalAbsolute
in interfaceTerminationCriteriaOrBuilder
- Returns:
- The epsOptimalAbsolute.
-
setEpsOptimalAbsolute
Deprecated.operations_research.pdlp.TerminationCriteria.eps_optimal_absolute is deprecated. See ortools/pdlp/solvers.proto;l=147Absolute 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];
- Parameters:
value
- The epsOptimalAbsolute to set.- Returns:
- This builder for chaining.
-
clearEpsOptimalAbsolute
Deprecated.operations_research.pdlp.TerminationCriteria.eps_optimal_absolute is deprecated. See ortools/pdlp/solvers.proto;l=147Absolute 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:
- This builder for chaining.
-
hasEpsOptimalRelative
Deprecated.operations_research.pdlp.TerminationCriteria.eps_optimal_relative is deprecated. See ortools/pdlp/solvers.proto;l=154Relative 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];
- Specified by:
hasEpsOptimalRelative
in interfaceTerminationCriteriaOrBuilder
- Returns:
- Whether the epsOptimalRelative field is set.
-
getEpsOptimalRelative
Deprecated.operations_research.pdlp.TerminationCriteria.eps_optimal_relative is deprecated. See ortools/pdlp/solvers.proto;l=154Relative 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];
- Specified by:
getEpsOptimalRelative
in interfaceTerminationCriteriaOrBuilder
- Returns:
- The epsOptimalRelative.
-
setEpsOptimalRelative
Deprecated.operations_research.pdlp.TerminationCriteria.eps_optimal_relative is deprecated. See ortools/pdlp/solvers.proto;l=154Relative 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];
- Parameters:
value
- The epsOptimalRelative to set.- Returns:
- This builder for chaining.
-
clearEpsOptimalRelative
Deprecated.operations_research.pdlp.TerminationCriteria.eps_optimal_relative is deprecated. See ortools/pdlp/solvers.proto;l=154Relative 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:
- This builder for chaining.
-
hasEpsPrimalInfeasible
public 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];
- Specified by:
hasEpsPrimalInfeasible
in interfaceTerminationCriteriaOrBuilder
- Returns:
- Whether the epsPrimalInfeasible field is set.
-
getEpsPrimalInfeasible
public 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];
- Specified by:
getEpsPrimalInfeasible
in interfaceTerminationCriteriaOrBuilder
- Returns:
- The epsPrimalInfeasible.
-
setEpsPrimalInfeasible
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];
- Parameters:
value
- The epsPrimalInfeasible to set.- Returns:
- This builder for chaining.
-
clearEpsPrimalInfeasible
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:
- This builder for chaining.
-
hasEpsDualInfeasible
public 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];
- Specified by:
hasEpsDualInfeasible
in interfaceTerminationCriteriaOrBuilder
- Returns:
- Whether the epsDualInfeasible field is set.
-
getEpsDualInfeasible
public 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];
- Specified by:
getEpsDualInfeasible
in interfaceTerminationCriteriaOrBuilder
- Returns:
- The epsDualInfeasible.
-
setEpsDualInfeasible
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];
- Parameters:
value
- The epsDualInfeasible to set.- Returns:
- This builder for chaining.
-
clearEpsDualInfeasible
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:
- This builder for chaining.
-
hasTimeSecLimit
public 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];
- Specified by:
hasTimeSecLimit
in interfaceTerminationCriteriaOrBuilder
- Returns:
- Whether the timeSecLimit field is set.
-
getTimeSecLimit
public 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];
- Specified by:
getTimeSecLimit
in interfaceTerminationCriteriaOrBuilder
- Returns:
- The timeSecLimit.
-
setTimeSecLimit
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];
- Parameters:
value
- The timeSecLimit to set.- Returns:
- This builder for chaining.
-
clearTimeSecLimit
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:
- This builder for chaining.
-
hasIterationLimit
public 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];
- Specified by:
hasIterationLimit
in interfaceTerminationCriteriaOrBuilder
- Returns:
- Whether the iterationLimit field is set.
-
getIterationLimit
public 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];
- Specified by:
getIterationLimit
in interfaceTerminationCriteriaOrBuilder
- Returns:
- The iterationLimit.
-
setIterationLimit
If termination_reason = TERMINATION_REASON_ITERATION_LIMIT then the solver has taken at least iterations_limit iterations.
optional int32 iteration_limit = 7 [default = 2147483647];
- Parameters:
value
- The iterationLimit to set.- Returns:
- This builder for chaining.
-
clearIterationLimit
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:
- This builder for chaining.
-
hasKktMatrixPassLimit
public 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];
- Specified by:
hasKktMatrixPassLimit
in interfaceTerminationCriteriaOrBuilder
- Returns:
- Whether the kktMatrixPassLimit field is set.
-
getKktMatrixPassLimit
public 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];
- Specified by:
getKktMatrixPassLimit
in interfaceTerminationCriteriaOrBuilder
- Returns:
- The kktMatrixPassLimit.
-
setKktMatrixPassLimit
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];
- Parameters:
value
- The kktMatrixPassLimit to set.- Returns:
- This builder for chaining.
-
clearKktMatrixPassLimit
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:
- This builder for chaining.
-