Class Solvers.TerminationCriteria.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<Solvers.TerminationCriteria.Builder>
operations_research.pdlp.Solvers.TerminationCriteria.Builder
All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable, Solvers.TerminationCriteriaOrBuilder
Enclosing class:
Solvers.TerminationCriteria

public static final class Solvers.TerminationCriteria.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Solvers.TerminationCriteria.Builder> implements Solvers.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 Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<Solvers.TerminationCriteria.Builder>
    • clear

      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessageV3.Builder<Solvers.TerminationCriteria.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<Solvers.TerminationCriteria.Builder>
    • getDefaultInstanceForType

      public Solvers.TerminationCriteria getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public Solvers.TerminationCriteria buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • clone

      Specified by:
      clone in interface com.google.protobuf.Message.Builder
      Specified by:
      clone in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clone in class com.google.protobuf.GeneratedMessageV3.Builder<Solvers.TerminationCriteria.Builder>
    • setField

      public Solvers.TerminationCriteria.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      setField in interface com.google.protobuf.Message.Builder
      Overrides:
      setField in class com.google.protobuf.GeneratedMessageV3.Builder<Solvers.TerminationCriteria.Builder>
    • clearField

      public Solvers.TerminationCriteria.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
      Specified by:
      clearField in interface com.google.protobuf.Message.Builder
      Overrides:
      clearField in class com.google.protobuf.GeneratedMessageV3.Builder<Solvers.TerminationCriteria.Builder>
    • clearOneof

      public Solvers.TerminationCriteria.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
      Specified by:
      clearOneof in interface com.google.protobuf.Message.Builder
      Overrides:
      clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<Solvers.TerminationCriteria.Builder>
    • setRepeatedField

      public Solvers.TerminationCriteria.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
      Specified by:
      setRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<Solvers.TerminationCriteria.Builder>
    • addRepeatedField

      public Solvers.TerminationCriteria.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      addRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<Solvers.TerminationCriteria.Builder>
    • mergeFrom

      public Solvers.TerminationCriteria.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<Solvers.TerminationCriteria.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<Solvers.TerminationCriteria.Builder>
    • mergeFrom

      public Solvers.TerminationCriteria.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<Solvers.TerminationCriteria.Builder>
      Throws:
      IOException
    • getOptimalityCriteriaCase

      public Solvers.TerminationCriteria.OptimalityCriteriaCase getOptimalityCriteriaCase()
      Specified by:
      getOptimalityCriteriaCase in interface Solvers.TerminationCriteriaOrBuilder
    • clearOptimalityCriteria

      public Solvers.TerminationCriteria.Builder 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 interface Solvers.TerminationCriteriaOrBuilder
      Returns:
      Whether the optimalityNorm field is set.
    • getOptimalityNorm

      public 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];
      Specified by:
      getOptimalityNorm in interface Solvers.TerminationCriteriaOrBuilder
      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

      public Solvers.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];
      Returns:
      This builder for chaining.
    • hasSimpleOptimalityCriteria

      public boolean hasSimpleOptimalityCriteria()
      .operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
      Specified by:
      hasSimpleOptimalityCriteria in interface Solvers.TerminationCriteriaOrBuilder
      Returns:
      Whether the simpleOptimalityCriteria field is set.
    • getSimpleOptimalityCriteria

      public Solvers.TerminationCriteria.SimpleOptimalityCriteria getSimpleOptimalityCriteria()
      .operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
      Specified by:
      getSimpleOptimalityCriteria in interface Solvers.TerminationCriteriaOrBuilder
      Returns:
      The simpleOptimalityCriteria.
    • setSimpleOptimalityCriteria

      .operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
    • setSimpleOptimalityCriteria

      .operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
    • mergeSimpleOptimalityCriteria

      .operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
    • clearSimpleOptimalityCriteria

      public Solvers.TerminationCriteria.Builder clearSimpleOptimalityCriteria()
      .operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
    • getSimpleOptimalityCriteriaBuilder

      public Solvers.TerminationCriteria.SimpleOptimalityCriteria.Builder getSimpleOptimalityCriteriaBuilder()
      .operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
    • getSimpleOptimalityCriteriaOrBuilder

      public Solvers.TerminationCriteria.SimpleOptimalityCriteriaOrBuilder getSimpleOptimalityCriteriaOrBuilder()
      .operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria simple_optimality_criteria = 9;
      Specified by:
      getSimpleOptimalityCriteriaOrBuilder in interface Solvers.TerminationCriteriaOrBuilder
    • hasDetailedOptimalityCriteria

      public boolean hasDetailedOptimalityCriteria()
      .operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
      Specified by:
      hasDetailedOptimalityCriteria in interface Solvers.TerminationCriteriaOrBuilder
      Returns:
      Whether the detailedOptimalityCriteria field is set.
    • getDetailedOptimalityCriteria

      public Solvers.TerminationCriteria.DetailedOptimalityCriteria getDetailedOptimalityCriteria()
      .operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
      Specified by:
      getDetailedOptimalityCriteria in interface Solvers.TerminationCriteriaOrBuilder
      Returns:
      The detailedOptimalityCriteria.
    • setDetailedOptimalityCriteria

      .operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
    • setDetailedOptimalityCriteria

      .operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
    • mergeDetailedOptimalityCriteria

      .operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
    • clearDetailedOptimalityCriteria

      public Solvers.TerminationCriteria.Builder clearDetailedOptimalityCriteria()
      .operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
    • getDetailedOptimalityCriteriaBuilder

      public Solvers.TerminationCriteria.DetailedOptimalityCriteria.Builder getDetailedOptimalityCriteriaBuilder()
      .operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
    • getDetailedOptimalityCriteriaOrBuilder

      public Solvers.TerminationCriteria.DetailedOptimalityCriteriaOrBuilder getDetailedOptimalityCriteriaOrBuilder()
      .operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria detailed_optimality_criteria = 10;
      Specified by:
      getDetailedOptimalityCriteriaOrBuilder in interface Solvers.TerminationCriteriaOrBuilder
    • hasEpsOptimalAbsolute

      @Deprecated public 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];
      Specified by:
      hasEpsOptimalAbsolute in interface Solvers.TerminationCriteriaOrBuilder
      Returns:
      Whether the epsOptimalAbsolute field is set.
    • getEpsOptimalAbsolute

      @Deprecated public 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];
      Specified by:
      getEpsOptimalAbsolute in interface Solvers.TerminationCriteriaOrBuilder
      Returns:
      The epsOptimalAbsolute.
    • setEpsOptimalAbsolute

      @Deprecated public Solvers.TerminationCriteria.Builder setEpsOptimalAbsolute(double value)
      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];
      Parameters:
      value - The epsOptimalAbsolute to set.
      Returns:
      This builder for chaining.
    • clearEpsOptimalAbsolute

      @Deprecated public Solvers.TerminationCriteria.Builder clearEpsOptimalAbsolute()
      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:
      This builder for chaining.
    • hasEpsOptimalRelative

      @Deprecated public 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];
      Specified by:
      hasEpsOptimalRelative in interface Solvers.TerminationCriteriaOrBuilder
      Returns:
      Whether the epsOptimalRelative field is set.
    • getEpsOptimalRelative

      @Deprecated public 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];
      Specified by:
      getEpsOptimalRelative in interface Solvers.TerminationCriteriaOrBuilder
      Returns:
      The epsOptimalRelative.
    • setEpsOptimalRelative

      @Deprecated public Solvers.TerminationCriteria.Builder setEpsOptimalRelative(double value)
      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];
      Parameters:
      value - The epsOptimalRelative to set.
      Returns:
      This builder for chaining.
    • clearEpsOptimalRelative

      @Deprecated public Solvers.TerminationCriteria.Builder clearEpsOptimalRelative()
      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:
      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 interface Solvers.TerminationCriteriaOrBuilder
      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 interface Solvers.TerminationCriteriaOrBuilder
      Returns:
      The epsPrimalInfeasible.
    • setEpsPrimalInfeasible

      public Solvers.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];
      Parameters:
      value - The epsPrimalInfeasible to set.
      Returns:
      This builder for chaining.
    • clearEpsPrimalInfeasible

      public Solvers.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];
      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 interface Solvers.TerminationCriteriaOrBuilder
      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 interface Solvers.TerminationCriteriaOrBuilder
      Returns:
      The epsDualInfeasible.
    • setEpsDualInfeasible

      public Solvers.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];
      Parameters:
      value - The epsDualInfeasible to set.
      Returns:
      This builder for chaining.
    • clearEpsDualInfeasible

      public Solvers.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];
      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 interface Solvers.TerminationCriteriaOrBuilder
      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 interface Solvers.TerminationCriteriaOrBuilder
      Returns:
      The timeSecLimit.
    • setTimeSecLimit

      public Solvers.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];
      Parameters:
      value - The timeSecLimit to set.
      Returns:
      This builder for chaining.
    • clearTimeSecLimit

      public Solvers.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];
      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 interface Solvers.TerminationCriteriaOrBuilder
      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 interface Solvers.TerminationCriteriaOrBuilder
      Returns:
      The iterationLimit.
    • setIterationLimit

      public Solvers.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];
      Parameters:
      value - The iterationLimit to set.
      Returns:
      This builder for chaining.
    • clearIterationLimit

      public Solvers.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];
      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 interface Solvers.TerminationCriteriaOrBuilder
      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 interface Solvers.TerminationCriteriaOrBuilder
      Returns:
      The kktMatrixPassLimit.
    • setKktMatrixPassLimit

      public Solvers.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];
      Parameters:
      value - The kktMatrixPassLimit to set.
      Returns:
      This builder for chaining.
    • clearKktMatrixPassLimit

      public Solvers.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];
      Returns:
      This builder for chaining.
    • setUnknownFields

      public final Solvers.TerminationCriteria.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      setUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Solvers.TerminationCriteria.Builder>
    • mergeUnknownFields

      public final Solvers.TerminationCriteria.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      mergeUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Solvers.TerminationCriteria.Builder>