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
Modifier and Type | Method and Description |
---|---|
TerminationCriteria |
build() |
TerminationCriteria |
buildPartial() |
TerminationCriteria.Builder |
clear() |
TerminationCriteria.Builder |
clearDetailedOptimalityCriteria()
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10; |
TerminationCriteria.Builder |
clearEpsDualInfeasible()
If the following three conditions hold we say we have obtained an
approximate primal ray, which is an approximate certificate of dual
infeasibility
|
TerminationCriteria.Builder |
clearEpsOptimalAbsolute()
Deprecated.
operations_research.pdlp.TerminationCriteria.eps_optimal_absolute is deprecated.
See ortools/pdlp/solvers.proto;l=147
|
TerminationCriteria.Builder |
clearEpsOptimalRelative()
Deprecated.
operations_research.pdlp.TerminationCriteria.eps_optimal_relative is deprecated.
See ortools/pdlp/solvers.proto;l=154
|
TerminationCriteria.Builder |
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
|
TerminationCriteria.Builder |
clearIterationLimit()
If termination_reason = TERMINATION_REASON_ITERATION_LIMIT then the solver
has taken at least iterations_limit iterations.
|
TerminationCriteria.Builder |
clearKktMatrixPassLimit()
If termination_reason = TERMINATION_REASON_KKT_MATRIX_PASS_LIMIT then
cumulative_kkt_matrix_passes is at least kkt_pass_limit.
|
TerminationCriteria.Builder |
clearOptimalityCriteria() |
TerminationCriteria.Builder |
clearOptimalityNorm()
The norm that we are measuring the optimality criteria in.
|
TerminationCriteria.Builder |
clearSimpleOptimalityCriteria()
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9; |
TerminationCriteria.Builder |
clearTimeSecLimit()
If termination_reason = TERMINATION_REASON_TIME_LIMIT then the solver has
taken at least time_sec_limit time.
|
TerminationCriteria |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
com.google.protobuf.Descriptors.Descriptor |
getDescriptorForType() |
TerminationCriteria.DetailedOptimalityCriteria |
getDetailedOptimalityCriteria()
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10; |
TerminationCriteria.DetailedOptimalityCriteria.Builder |
getDetailedOptimalityCriteriaBuilder()
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10; |
TerminationCriteria.DetailedOptimalityCriteriaOrBuilder |
getDetailedOptimalityCriteriaOrBuilder()
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10; |
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
|
double |
getEpsOptimalAbsolute()
Deprecated.
operations_research.pdlp.TerminationCriteria.eps_optimal_absolute is deprecated.
See ortools/pdlp/solvers.proto;l=147
|
double |
getEpsOptimalRelative()
Deprecated.
operations_research.pdlp.TerminationCriteria.eps_optimal_relative is deprecated.
See ortools/pdlp/solvers.proto;l=154
|
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
|
int |
getIterationLimit()
If termination_reason = TERMINATION_REASON_ITERATION_LIMIT then the solver
has taken at least iterations_limit iterations.
|
double |
getKktMatrixPassLimit()
If termination_reason = TERMINATION_REASON_KKT_MATRIX_PASS_LIMIT then
cumulative_kkt_matrix_passes is at least kkt_pass_limit.
|
TerminationCriteria.OptimalityCriteriaCase |
getOptimalityCriteriaCase() |
OptimalityNorm |
getOptimalityNorm()
The norm that we are measuring the optimality criteria in.
|
TerminationCriteria.SimpleOptimalityCriteria |
getSimpleOptimalityCriteria()
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9; |
TerminationCriteria.SimpleOptimalityCriteria.Builder |
getSimpleOptimalityCriteriaBuilder()
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9; |
TerminationCriteria.SimpleOptimalityCriteriaOrBuilder |
getSimpleOptimalityCriteriaOrBuilder()
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9; |
double |
getTimeSecLimit()
If termination_reason = TERMINATION_REASON_TIME_LIMIT then the solver has
taken at least time_sec_limit time.
|
boolean |
hasDetailedOptimalityCriteria()
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10; |
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
|
boolean |
hasEpsOptimalAbsolute()
Deprecated.
operations_research.pdlp.TerminationCriteria.eps_optimal_absolute is deprecated.
See ortools/pdlp/solvers.proto;l=147
|
boolean |
hasEpsOptimalRelative()
Deprecated.
operations_research.pdlp.TerminationCriteria.eps_optimal_relative is deprecated.
See ortools/pdlp/solvers.proto;l=154
|
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
|
boolean |
hasIterationLimit()
If termination_reason = TERMINATION_REASON_ITERATION_LIMIT then the solver
has taken at least iterations_limit iterations.
|
boolean |
hasKktMatrixPassLimit()
If termination_reason = TERMINATION_REASON_KKT_MATRIX_PASS_LIMIT then
cumulative_kkt_matrix_passes is at least kkt_pass_limit.
|
boolean |
hasOptimalityNorm()
The norm that we are measuring the optimality criteria in.
|
boolean |
hasSimpleOptimalityCriteria()
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9; |
boolean |
hasTimeSecLimit()
If termination_reason = TERMINATION_REASON_TIME_LIMIT then the solver has
taken at least time_sec_limit time.
|
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
TerminationCriteria.Builder |
mergeDetailedOptimalityCriteria(TerminationCriteria.DetailedOptimalityCriteria value)
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10; |
TerminationCriteria.Builder |
mergeFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
TerminationCriteria.Builder |
mergeFrom(com.google.protobuf.Message other) |
TerminationCriteria.Builder |
mergeFrom(TerminationCriteria other) |
TerminationCriteria.Builder |
mergeSimpleOptimalityCriteria(TerminationCriteria.SimpleOptimalityCriteria value)
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9; |
TerminationCriteria.Builder |
setDetailedOptimalityCriteria(TerminationCriteria.DetailedOptimalityCriteria.Builder builderForValue)
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10; |
TerminationCriteria.Builder |
setDetailedOptimalityCriteria(TerminationCriteria.DetailedOptimalityCriteria value)
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10; |
TerminationCriteria.Builder |
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
infeasibility
|
TerminationCriteria.Builder |
setEpsOptimalAbsolute(double value)
Deprecated.
operations_research.pdlp.TerminationCriteria.eps_optimal_absolute is deprecated.
See ortools/pdlp/solvers.proto;l=147
|
TerminationCriteria.Builder |
setEpsOptimalRelative(double value)
Deprecated.
operations_research.pdlp.TerminationCriteria.eps_optimal_relative is deprecated.
See ortools/pdlp/solvers.proto;l=154
|
TerminationCriteria.Builder |
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
infeasibility
|
TerminationCriteria.Builder |
setIterationLimit(int value)
If termination_reason = TERMINATION_REASON_ITERATION_LIMIT then the solver
has taken at least iterations_limit iterations.
|
TerminationCriteria.Builder |
setKktMatrixPassLimit(double value)
If termination_reason = TERMINATION_REASON_KKT_MATRIX_PASS_LIMIT then
cumulative_kkt_matrix_passes is at least kkt_pass_limit.
|
TerminationCriteria.Builder |
setOptimalityNorm(OptimalityNorm value)
The norm that we are measuring the optimality criteria in.
|
TerminationCriteria.Builder |
setSimpleOptimalityCriteria(TerminationCriteria.SimpleOptimalityCriteria.Builder builderForValue)
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9; |
TerminationCriteria.Builder |
setSimpleOptimalityCriteria(TerminationCriteria.SimpleOptimalityCriteria value)
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9; |
TerminationCriteria.Builder |
setTimeSecLimit(double value)
If termination_reason = TERMINATION_REASON_TIME_LIMIT then the solver has
taken at least time_sec_limit time.
|
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
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, newUninitializedMessageException
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable
in class com.google.protobuf.GeneratedMessage.Builder<TerminationCriteria.Builder>
public TerminationCriteria.Builder clear()
clear
in interface com.google.protobuf.Message.Builder
clear
in interface com.google.protobuf.MessageLite.Builder
clear
in class com.google.protobuf.GeneratedMessage.Builder<TerminationCriteria.Builder>
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
getDescriptorForType
in interface com.google.protobuf.Message.Builder
getDescriptorForType
in interface com.google.protobuf.MessageOrBuilder
getDescriptorForType
in class com.google.protobuf.GeneratedMessage.Builder<TerminationCriteria.Builder>
public TerminationCriteria getDefaultInstanceForType()
getDefaultInstanceForType
in interface com.google.protobuf.MessageLiteOrBuilder
getDefaultInstanceForType
in interface com.google.protobuf.MessageOrBuilder
public TerminationCriteria build()
build
in interface com.google.protobuf.Message.Builder
build
in interface com.google.protobuf.MessageLite.Builder
public TerminationCriteria buildPartial()
buildPartial
in interface com.google.protobuf.Message.Builder
buildPartial
in interface com.google.protobuf.MessageLite.Builder
public TerminationCriteria.Builder mergeFrom(com.google.protobuf.Message other)
mergeFrom
in interface com.google.protobuf.Message.Builder
mergeFrom
in class com.google.protobuf.AbstractMessage.Builder<TerminationCriteria.Builder>
public TerminationCriteria.Builder mergeFrom(TerminationCriteria other)
public final boolean isInitialized()
isInitialized
in interface com.google.protobuf.MessageLiteOrBuilder
isInitialized
in class com.google.protobuf.GeneratedMessage.Builder<TerminationCriteria.Builder>
public TerminationCriteria.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
mergeFrom
in interface com.google.protobuf.Message.Builder
mergeFrom
in interface com.google.protobuf.MessageLite.Builder
mergeFrom
in class com.google.protobuf.AbstractMessage.Builder<TerminationCriteria.Builder>
java.io.IOException
public TerminationCriteria.OptimalityCriteriaCase getOptimalityCriteriaCase()
getOptimalityCriteriaCase
in interface TerminationCriteriaOrBuilder
public TerminationCriteria.Builder clearOptimalityCriteria()
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];
hasOptimalityNorm
in interface TerminationCriteriaOrBuilder
public OptimalityNorm getOptimalityNorm()
The norm that we are measuring the optimality criteria in.
optional .operations_research.pdlp.OptimalityNorm optimality_norm = 1 [default = OPTIMALITY_NORM_L2];
getOptimalityNorm
in interface TerminationCriteriaOrBuilder
public TerminationCriteria.Builder setOptimalityNorm(OptimalityNorm value)
The norm that we are measuring the optimality criteria in.
optional .operations_research.pdlp.OptimalityNorm optimality_norm = 1 [default = OPTIMALITY_NORM_L2];
value
- The optimalityNorm to set.public TerminationCriteria.Builder clearOptimalityNorm()
The norm that we are measuring the optimality criteria in.
optional .operations_research.pdlp.OptimalityNorm optimality_norm = 1 [default = OPTIMALITY_NORM_L2];
public boolean hasSimpleOptimalityCriteria()
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
hasSimpleOptimalityCriteria
in interface TerminationCriteriaOrBuilder
public TerminationCriteria.SimpleOptimalityCriteria getSimpleOptimalityCriteria()
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
getSimpleOptimalityCriteria
in interface TerminationCriteriaOrBuilder
public TerminationCriteria.Builder setSimpleOptimalityCriteria(TerminationCriteria.SimpleOptimalityCriteria value)
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
public TerminationCriteria.Builder setSimpleOptimalityCriteria(TerminationCriteria.SimpleOptimalityCriteria.Builder builderForValue)
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
public TerminationCriteria.Builder mergeSimpleOptimalityCriteria(TerminationCriteria.SimpleOptimalityCriteria value)
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
public TerminationCriteria.Builder clearSimpleOptimalityCriteria()
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
public TerminationCriteria.SimpleOptimalityCriteria.Builder getSimpleOptimalityCriteriaBuilder()
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
public TerminationCriteria.SimpleOptimalityCriteriaOrBuilder getSimpleOptimalityCriteriaOrBuilder()
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
getSimpleOptimalityCriteriaOrBuilder
in interface TerminationCriteriaOrBuilder
public boolean hasDetailedOptimalityCriteria()
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
hasDetailedOptimalityCriteria
in interface TerminationCriteriaOrBuilder
public TerminationCriteria.DetailedOptimalityCriteria getDetailedOptimalityCriteria()
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
getDetailedOptimalityCriteria
in interface TerminationCriteriaOrBuilder
public TerminationCriteria.Builder setDetailedOptimalityCriteria(TerminationCriteria.DetailedOptimalityCriteria value)
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
public TerminationCriteria.Builder setDetailedOptimalityCriteria(TerminationCriteria.DetailedOptimalityCriteria.Builder builderForValue)
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
public TerminationCriteria.Builder mergeDetailedOptimalityCriteria(TerminationCriteria.DetailedOptimalityCriteria value)
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
public TerminationCriteria.Builder clearDetailedOptimalityCriteria()
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
public TerminationCriteria.DetailedOptimalityCriteria.Builder getDetailedOptimalityCriteriaBuilder()
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
public TerminationCriteria.DetailedOptimalityCriteriaOrBuilder getDetailedOptimalityCriteriaOrBuilder()
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
getDetailedOptimalityCriteriaOrBuilder
in interface TerminationCriteriaOrBuilder
@Deprecated public boolean hasEpsOptimalAbsolute()
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];
hasEpsOptimalAbsolute
in interface TerminationCriteriaOrBuilder
@Deprecated public double getEpsOptimalAbsolute()
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];
getEpsOptimalAbsolute
in interface TerminationCriteriaOrBuilder
@Deprecated public TerminationCriteria.Builder setEpsOptimalAbsolute(double value)
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];
value
- The epsOptimalAbsolute to set.@Deprecated public TerminationCriteria.Builder clearEpsOptimalAbsolute()
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];
@Deprecated public boolean hasEpsOptimalRelative()
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];
hasEpsOptimalRelative
in interface TerminationCriteriaOrBuilder
@Deprecated public double getEpsOptimalRelative()
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];
getEpsOptimalRelative
in interface TerminationCriteriaOrBuilder
@Deprecated public TerminationCriteria.Builder setEpsOptimalRelative(double value)
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];
value
- The epsOptimalRelative to set.@Deprecated public TerminationCriteria.Builder clearEpsOptimalRelative()
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];
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];
hasEpsPrimalInfeasible
in interface TerminationCriteriaOrBuilder
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];
getEpsPrimalInfeasible
in interface TerminationCriteriaOrBuilder
public TerminationCriteria.Builder 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 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];
value
- The epsPrimalInfeasible to set.public TerminationCriteria.Builder 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];
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];
hasEpsDualInfeasible
in interface TerminationCriteriaOrBuilder
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];
getEpsDualInfeasible
in interface TerminationCriteriaOrBuilder
public TerminationCriteria.Builder 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 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];
value
- The epsDualInfeasible to set.public TerminationCriteria.Builder 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];
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];
hasTimeSecLimit
in interface TerminationCriteriaOrBuilder
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];
getTimeSecLimit
in interface TerminationCriteriaOrBuilder
public TerminationCriteria.Builder setTimeSecLimit(double value)
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];
value
- The timeSecLimit to set.public TerminationCriteria.Builder 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];
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];
hasIterationLimit
in interface TerminationCriteriaOrBuilder
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];
getIterationLimit
in interface TerminationCriteriaOrBuilder
public TerminationCriteria.Builder setIterationLimit(int value)
If termination_reason = TERMINATION_REASON_ITERATION_LIMIT then the solver has taken at least iterations_limit iterations.
optional int32 iteration_limit = 7 [default = 2147483647];
value
- The iterationLimit to set.public TerminationCriteria.Builder 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];
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];
hasKktMatrixPassLimit
in interface TerminationCriteriaOrBuilder
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];
getKktMatrixPassLimit
in interface TerminationCriteriaOrBuilder
public TerminationCriteria.Builder setKktMatrixPassLimit(double value)
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];
value
- The kktMatrixPassLimit to set.public TerminationCriteria.Builder 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];
Copyright © 2025. All rights reserved.