public final class TerminationCriteria extends com.google.protobuf.GeneratedMessage 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 | Class and Description |
|---|---|
static class |
TerminationCriteria.Builder
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.
|
static class |
TerminationCriteria.DetailedOptimalityCriteria
Protobuf type
operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria |
static interface |
TerminationCriteria.DetailedOptimalityCriteriaOrBuilder |
static class |
TerminationCriteria.OptimalityCriteriaCase |
static class |
TerminationCriteria.SimpleOptimalityCriteria
Protobuf type
operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria |
static interface |
TerminationCriteria.SimpleOptimalityCriteriaOrBuilder |
com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT,BuilderT>>, com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.FieldAccessorTable, com.google.protobuf.GeneratedMessage.GeneratedExtension<ContainingT extends com.google.protobuf.Message,T>, com.google.protobuf.GeneratedMessage.UnusedPrivateParameter| Modifier and Type | Field and Description |
|---|---|
static int |
DETAILED_OPTIMALITY_CRITERIA_FIELD_NUMBER |
static int |
EPS_DUAL_INFEASIBLE_FIELD_NUMBER |
static int |
EPS_OPTIMAL_ABSOLUTE_FIELD_NUMBER |
static int |
EPS_OPTIMAL_RELATIVE_FIELD_NUMBER |
static int |
EPS_PRIMAL_INFEASIBLE_FIELD_NUMBER |
static int |
ITERATION_LIMIT_FIELD_NUMBER |
static int |
KKT_MATRIX_PASS_LIMIT_FIELD_NUMBER |
static int |
OPTIMALITY_NORM_FIELD_NUMBER |
static int |
SIMPLE_OPTIMALITY_CRITERIA_FIELD_NUMBER |
static int |
TIME_SEC_LIMIT_FIELD_NUMBER |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object obj) |
static TerminationCriteria |
getDefaultInstance() |
TerminationCriteria |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
TerminationCriteria.DetailedOptimalityCriteria |
getDetailedOptimalityCriteria()
.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=137
|
double |
getEpsOptimalRelative()
Deprecated.
operations_research.pdlp.TerminationCriteria.eps_optimal_relative is deprecated.
See ortools/pdlp/solvers.proto;l=144
|
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.
|
com.google.protobuf.Parser<TerminationCriteria> |
getParserForType() |
int |
getSerializedSize() |
TerminationCriteria.SimpleOptimalityCriteria |
getSimpleOptimalityCriteria()
.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=137
|
boolean |
hasEpsOptimalRelative()
Deprecated.
operations_research.pdlp.TerminationCriteria.eps_optimal_relative is deprecated.
See ortools/pdlp/solvers.proto;l=144
|
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.
|
int |
hashCode() |
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() |
static TerminationCriteria.Builder |
newBuilder() |
static TerminationCriteria.Builder |
newBuilder(TerminationCriteria prototype) |
TerminationCriteria.Builder |
newBuilderForType() |
protected TerminationCriteria.Builder |
newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent) |
static TerminationCriteria |
parseDelimitedFrom(java.io.InputStream input) |
static TerminationCriteria |
parseDelimitedFrom(java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static TerminationCriteria |
parseFrom(byte[] data) |
static TerminationCriteria |
parseFrom(byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static TerminationCriteria |
parseFrom(java.nio.ByteBuffer data) |
static TerminationCriteria |
parseFrom(java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static TerminationCriteria |
parseFrom(com.google.protobuf.ByteString data) |
static TerminationCriteria |
parseFrom(com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static TerminationCriteria |
parseFrom(com.google.protobuf.CodedInputStream input) |
static TerminationCriteria |
parseFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static TerminationCriteria |
parseFrom(java.io.InputStream input) |
static TerminationCriteria |
parseFrom(java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static com.google.protobuf.Parser<TerminationCriteria> |
parser() |
TerminationCriteria.Builder |
toBuilder() |
void |
writeTo(com.google.protobuf.CodedOutputStream output) |
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, newFileScopedGeneratedExtension, newInstance, newMessageScopedGeneratedExtension, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagfindInitializationErrors, getInitializationErrorString, hashFields, toStringaddAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToclone, finalize, getClass, notify, notifyAll, wait, wait, waitpublic static final int OPTIMALITY_NORM_FIELD_NUMBER
public static final int SIMPLE_OPTIMALITY_CRITERIA_FIELD_NUMBER
public static final int DETAILED_OPTIMALITY_CRITERIA_FIELD_NUMBER
public static final int EPS_OPTIMAL_ABSOLUTE_FIELD_NUMBER
public static final int EPS_OPTIMAL_RELATIVE_FIELD_NUMBER
public static final int EPS_PRIMAL_INFEASIBLE_FIELD_NUMBER
public static final int EPS_DUAL_INFEASIBLE_FIELD_NUMBER
public static final int TIME_SEC_LIMIT_FIELD_NUMBER
public static final int ITERATION_LIMIT_FIELD_NUMBER
public static final int KKT_MATRIX_PASS_LIMIT_FIELD_NUMBER
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessagepublic TerminationCriteria.OptimalityCriteriaCase getOptimalityCriteriaCase()
getOptimalityCriteriaCase in interface TerminationCriteriaOrBuilderpublic 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 TerminationCriteriaOrBuilderpublic 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 TerminationCriteriaOrBuilderpublic boolean hasSimpleOptimalityCriteria()
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;hasSimpleOptimalityCriteria in interface TerminationCriteriaOrBuilderpublic TerminationCriteria.SimpleOptimalityCriteria getSimpleOptimalityCriteria()
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;getSimpleOptimalityCriteria in interface TerminationCriteriaOrBuilderpublic TerminationCriteria.SimpleOptimalityCriteriaOrBuilder getSimpleOptimalityCriteriaOrBuilder()
.operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;getSimpleOptimalityCriteriaOrBuilder in interface TerminationCriteriaOrBuilderpublic boolean hasDetailedOptimalityCriteria()
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;hasDetailedOptimalityCriteria in interface TerminationCriteriaOrBuilderpublic TerminationCriteria.DetailedOptimalityCriteria getDetailedOptimalityCriteria()
.operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;getDetailedOptimalityCriteria in interface TerminationCriteriaOrBuilderpublic 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 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 TerminationCriteriaOrBuilderpublic 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 TerminationCriteriaOrBuilderpublic 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 TerminationCriteriaOrBuilderpublic 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 TerminationCriteriaOrBuilderpublic 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 TerminationCriteriaOrBuilderpublic 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 TerminationCriteriaOrBuilderpublic 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 TerminationCriteriaOrBuilderpublic 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 TerminationCriteriaOrBuilderpublic 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 TerminationCriteriaOrBuilderpublic 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 TerminationCriteriaOrBuilderpublic 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 TerminationCriteriaOrBuilderpublic final boolean isInitialized()
isInitialized in interface com.google.protobuf.MessageLiteOrBuilderisInitialized in class com.google.protobuf.GeneratedMessagepublic void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException
writeTo in interface com.google.protobuf.MessageLitewriteTo in class com.google.protobuf.GeneratedMessagejava.io.IOExceptionpublic int getSerializedSize()
getSerializedSize in interface com.google.protobuf.MessageLitegetSerializedSize in class com.google.protobuf.GeneratedMessagepublic boolean equals(java.lang.Object obj)
equals in interface com.google.protobuf.Messageequals in class com.google.protobuf.AbstractMessagepublic int hashCode()
hashCode in interface com.google.protobuf.MessagehashCode in class com.google.protobuf.AbstractMessagepublic static TerminationCriteria parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static TerminationCriteria parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static TerminationCriteria parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static TerminationCriteria parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static TerminationCriteria parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static TerminationCriteria parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static TerminationCriteria parseFrom(java.io.InputStream input) throws java.io.IOException
java.io.IOExceptionpublic static TerminationCriteria parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOExceptionpublic static TerminationCriteria parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException
java.io.IOExceptionpublic static TerminationCriteria parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOExceptionpublic static TerminationCriteria parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException
java.io.IOExceptionpublic static TerminationCriteria parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOExceptionpublic TerminationCriteria.Builder newBuilderForType()
newBuilderForType in interface com.google.protobuf.MessagenewBuilderForType in interface com.google.protobuf.MessageLitepublic static TerminationCriteria.Builder newBuilder()
public static TerminationCriteria.Builder newBuilder(TerminationCriteria prototype)
public TerminationCriteria.Builder toBuilder()
toBuilder in interface com.google.protobuf.MessagetoBuilder in interface com.google.protobuf.MessageLiteprotected TerminationCriteria.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
newBuilderForType in class com.google.protobuf.AbstractMessagepublic static TerminationCriteria getDefaultInstance()
public static com.google.protobuf.Parser<TerminationCriteria> parser()
public com.google.protobuf.Parser<TerminationCriteria> getParserForType()
getParserForType in interface com.google.protobuf.MessagegetParserForType in interface com.google.protobuf.MessageLitegetParserForType in class com.google.protobuf.GeneratedMessagepublic TerminationCriteria getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderCopyright © 2024. All rights reserved.