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 Details

    • getDescriptor

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

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<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.GeneratedMessage.Builder<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.GeneratedMessage.Builder<TerminationCriteria.Builder>
    • getDefaultInstanceForType

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

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

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

      public 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<TerminationCriteria.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.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 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<TerminationCriteria.Builder>
      Throws:
      IOException
    • getOptimalityCriteriaCase

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

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

      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];
      Specified by:
      getOptimalityNorm in interface TerminationCriteriaOrBuilder
      Returns:
      The optimalityNorm.
    • setOptimalityNorm

      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];
      Parameters:
      value - The optimalityNorm to set.
      Returns:
      This builder for chaining.
    • clearOptimalityNorm

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

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

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

      .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

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

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

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

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

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

      .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

      public TerminationCriteria.Builder 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 interface TerminationCriteriaOrBuilder
    • hasEpsOptimalAbsolute

      @Deprecated public boolean hasEpsOptimalAbsolute()
      Deprecated.
      operations_research.pdlp.TerminationCriteria.eps_optimal_absolute is deprecated. See ortools/pdlp/solvers.proto;l=147
       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 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=147
       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 TerminationCriteriaOrBuilder
      Returns:
      The epsOptimalAbsolute.
    • setEpsOptimalAbsolute

      @Deprecated public TerminationCriteria.Builder setEpsOptimalAbsolute(double value)
      Deprecated.
      operations_research.pdlp.TerminationCriteria.eps_optimal_absolute is deprecated. See ortools/pdlp/solvers.proto;l=147
       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 TerminationCriteria.Builder clearEpsOptimalAbsolute()
      Deprecated.
      operations_research.pdlp.TerminationCriteria.eps_optimal_absolute is deprecated. See ortools/pdlp/solvers.proto;l=147
       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=154
       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 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=154
       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 TerminationCriteriaOrBuilder
      Returns:
      The epsOptimalRelative.
    • setEpsOptimalRelative

      @Deprecated public TerminationCriteria.Builder setEpsOptimalRelative(double value)
      Deprecated.
      operations_research.pdlp.TerminationCriteria.eps_optimal_relative is deprecated. See ortools/pdlp/solvers.proto;l=154
       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 TerminationCriteria.Builder clearEpsOptimalRelative()
      Deprecated.
      operations_research.pdlp.TerminationCriteria.eps_optimal_relative is deprecated. See ortools/pdlp/solvers.proto;l=154
       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 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 TerminationCriteriaOrBuilder
      Returns:
      The epsPrimalInfeasible.
    • setEpsPrimalInfeasible

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

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

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

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

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

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

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

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

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

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