Class IterationStats

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
com.google.ortools.pdlp.IterationStats
All Implemented Interfaces:
IterationStatsOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

@Generated public final class IterationStats extends com.google.protobuf.GeneratedMessage implements IterationStatsOrBuilder
 All values in IterationStats assume that the primal quadratic program is a
 minimization problem and the dual is a maximization problem. Problems should
 be transformed to this form if they are not already in this form. The dual
 vector is defined to be the vector of multipliers on the linear constraints,
 that is, excluding dual multipliers on variable bounds (reduced costs).
 
Protobuf type operations_research.pdlp.IterationStats
See Also:
  • Field Details

    • ITERATION_NUMBER_FIELD_NUMBER

      public static final int ITERATION_NUMBER_FIELD_NUMBER
      See Also:
    • CONVERGENCE_INFORMATION_FIELD_NUMBER

      public static final int CONVERGENCE_INFORMATION_FIELD_NUMBER
      See Also:
    • INFEASIBILITY_INFORMATION_FIELD_NUMBER

      public static final int INFEASIBILITY_INFORMATION_FIELD_NUMBER
      See Also:
    • POINT_METADATA_FIELD_NUMBER

      public static final int POINT_METADATA_FIELD_NUMBER
      See Also:
    • CUMULATIVE_KKT_MATRIX_PASSES_FIELD_NUMBER

      public static final int CUMULATIVE_KKT_MATRIX_PASSES_FIELD_NUMBER
      See Also:
    • CUMULATIVE_REJECTED_STEPS_FIELD_NUMBER

      public static final int CUMULATIVE_REJECTED_STEPS_FIELD_NUMBER
      See Also:
    • CUMULATIVE_TIME_SEC_FIELD_NUMBER

      public static final int CUMULATIVE_TIME_SEC_FIELD_NUMBER
      See Also:
    • RESTART_USED_FIELD_NUMBER

      public static final int RESTART_USED_FIELD_NUMBER
      See Also:
    • STEP_SIZE_FIELD_NUMBER

      public static final int STEP_SIZE_FIELD_NUMBER
      See Also:
    • PRIMAL_WEIGHT_FIELD_NUMBER

      public static final int PRIMAL_WEIGHT_FIELD_NUMBER
      See Also:
  • 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
    • hasIterationNumber

      public boolean hasIterationNumber()
       The iteration number at which these stats were recorded. By convention,
       iteration counts start at 1, and the stats correspond to the solution
       *after* the iteration. Therefore stats from iteration 0 are the stats at
       the starting point.
       
      optional int32 iteration_number = 1;
      Specified by:
      hasIterationNumber in interface IterationStatsOrBuilder
      Returns:
      Whether the iterationNumber field is set.
    • getIterationNumber

      public int getIterationNumber()
       The iteration number at which these stats were recorded. By convention,
       iteration counts start at 1, and the stats correspond to the solution
       *after* the iteration. Therefore stats from iteration 0 are the stats at
       the starting point.
       
      optional int32 iteration_number = 1;
      Specified by:
      getIterationNumber in interface IterationStatsOrBuilder
      Returns:
      The iterationNumber.
    • getConvergenceInformationList

      public List<ConvergenceInformation> getConvergenceInformationList()
       A set of statistics measuring how close a point is to establishing primal
       and dual feasibility and optimality. This field is repeated since there
       might be several different points that are considered.
       
      repeated .operations_research.pdlp.ConvergenceInformation convergence_information = 2;
      Specified by:
      getConvergenceInformationList in interface IterationStatsOrBuilder
    • getConvergenceInformationOrBuilderList

      public List<? extends ConvergenceInformationOrBuilder> getConvergenceInformationOrBuilderList()
       A set of statistics measuring how close a point is to establishing primal
       and dual feasibility and optimality. This field is repeated since there
       might be several different points that are considered.
       
      repeated .operations_research.pdlp.ConvergenceInformation convergence_information = 2;
      Specified by:
      getConvergenceInformationOrBuilderList in interface IterationStatsOrBuilder
    • getConvergenceInformationCount

      public int getConvergenceInformationCount()
       A set of statistics measuring how close a point is to establishing primal
       and dual feasibility and optimality. This field is repeated since there
       might be several different points that are considered.
       
      repeated .operations_research.pdlp.ConvergenceInformation convergence_information = 2;
      Specified by:
      getConvergenceInformationCount in interface IterationStatsOrBuilder
    • getConvergenceInformation

      public ConvergenceInformation getConvergenceInformation(int index)
       A set of statistics measuring how close a point is to establishing primal
       and dual feasibility and optimality. This field is repeated since there
       might be several different points that are considered.
       
      repeated .operations_research.pdlp.ConvergenceInformation convergence_information = 2;
      Specified by:
      getConvergenceInformation in interface IterationStatsOrBuilder
    • getConvergenceInformationOrBuilder

      public ConvergenceInformationOrBuilder getConvergenceInformationOrBuilder(int index)
       A set of statistics measuring how close a point is to establishing primal
       and dual feasibility and optimality. This field is repeated since there
       might be several different points that are considered.
       
      repeated .operations_research.pdlp.ConvergenceInformation convergence_information = 2;
      Specified by:
      getConvergenceInformationOrBuilder in interface IterationStatsOrBuilder
    • getInfeasibilityInformationList

      public List<InfeasibilityInformation> getInfeasibilityInformationList()
       A set of statistics measuring how close a point is to establishing primal
       or dual infeasibility (i.e., has no solution). This field is repeated since
       there might be several different points that could establish infeasibility.
       
      repeated .operations_research.pdlp.InfeasibilityInformation infeasibility_information = 3;
      Specified by:
      getInfeasibilityInformationList in interface IterationStatsOrBuilder
    • getInfeasibilityInformationOrBuilderList

      public List<? extends InfeasibilityInformationOrBuilder> getInfeasibilityInformationOrBuilderList()
       A set of statistics measuring how close a point is to establishing primal
       or dual infeasibility (i.e., has no solution). This field is repeated since
       there might be several different points that could establish infeasibility.
       
      repeated .operations_research.pdlp.InfeasibilityInformation infeasibility_information = 3;
      Specified by:
      getInfeasibilityInformationOrBuilderList in interface IterationStatsOrBuilder
    • getInfeasibilityInformationCount

      public int getInfeasibilityInformationCount()
       A set of statistics measuring how close a point is to establishing primal
       or dual infeasibility (i.e., has no solution). This field is repeated since
       there might be several different points that could establish infeasibility.
       
      repeated .operations_research.pdlp.InfeasibilityInformation infeasibility_information = 3;
      Specified by:
      getInfeasibilityInformationCount in interface IterationStatsOrBuilder
    • getInfeasibilityInformation

      public InfeasibilityInformation getInfeasibilityInformation(int index)
       A set of statistics measuring how close a point is to establishing primal
       or dual infeasibility (i.e., has no solution). This field is repeated since
       there might be several different points that could establish infeasibility.
       
      repeated .operations_research.pdlp.InfeasibilityInformation infeasibility_information = 3;
      Specified by:
      getInfeasibilityInformation in interface IterationStatsOrBuilder
    • getInfeasibilityInformationOrBuilder

      public InfeasibilityInformationOrBuilder getInfeasibilityInformationOrBuilder(int index)
       A set of statistics measuring how close a point is to establishing primal
       or dual infeasibility (i.e., has no solution). This field is repeated since
       there might be several different points that could establish infeasibility.
       
      repeated .operations_research.pdlp.InfeasibilityInformation infeasibility_information = 3;
      Specified by:
      getInfeasibilityInformationOrBuilder in interface IterationStatsOrBuilder
    • getPointMetadataList

      public List<PointMetadata> getPointMetadataList()
       Auxiliary statistics for each type of point.
       
      repeated .operations_research.pdlp.PointMetadata point_metadata = 11;
      Specified by:
      getPointMetadataList in interface IterationStatsOrBuilder
    • getPointMetadataOrBuilderList

      public List<? extends PointMetadataOrBuilder> getPointMetadataOrBuilderList()
       Auxiliary statistics for each type of point.
       
      repeated .operations_research.pdlp.PointMetadata point_metadata = 11;
      Specified by:
      getPointMetadataOrBuilderList in interface IterationStatsOrBuilder
    • getPointMetadataCount

      public int getPointMetadataCount()
       Auxiliary statistics for each type of point.
       
      repeated .operations_research.pdlp.PointMetadata point_metadata = 11;
      Specified by:
      getPointMetadataCount in interface IterationStatsOrBuilder
    • getPointMetadata

      public PointMetadata getPointMetadata(int index)
       Auxiliary statistics for each type of point.
       
      repeated .operations_research.pdlp.PointMetadata point_metadata = 11;
      Specified by:
      getPointMetadata in interface IterationStatsOrBuilder
    • getPointMetadataOrBuilder

      public PointMetadataOrBuilder getPointMetadataOrBuilder(int index)
       Auxiliary statistics for each type of point.
       
      repeated .operations_research.pdlp.PointMetadata point_metadata = 11;
      Specified by:
      getPointMetadataOrBuilder in interface IterationStatsOrBuilder
    • hasCumulativeKktMatrixPasses

      public boolean hasCumulativeKktMatrixPasses()
       The cumulative number of passes through the KKT matrix since the start of
       the solve. One pass is a multply by the constraint matrix, its transpose
       and the matrix that defines the quadratic part of the objective.
      
       For example, each iteration of mirror saddle prox contributes 2.0 to this
       sum. This is a float because it can include fractional passes through the
       data. For example, in an active set method we may only use a submatrix with
       20% of the nonzeros of the KKT matrix at each iteration in which case 0.2
       would be added to the total.
       
      optional double cumulative_kkt_matrix_passes = 4;
      Specified by:
      hasCumulativeKktMatrixPasses in interface IterationStatsOrBuilder
      Returns:
      Whether the cumulativeKktMatrixPasses field is set.
    • getCumulativeKktMatrixPasses

      public double getCumulativeKktMatrixPasses()
       The cumulative number of passes through the KKT matrix since the start of
       the solve. One pass is a multply by the constraint matrix, its transpose
       and the matrix that defines the quadratic part of the objective.
      
       For example, each iteration of mirror saddle prox contributes 2.0 to this
       sum. This is a float because it can include fractional passes through the
       data. For example, in an active set method we may only use a submatrix with
       20% of the nonzeros of the KKT matrix at each iteration in which case 0.2
       would be added to the total.
       
      optional double cumulative_kkt_matrix_passes = 4;
      Specified by:
      getCumulativeKktMatrixPasses in interface IterationStatsOrBuilder
      Returns:
      The cumulativeKktMatrixPasses.
    • hasCumulativeRejectedSteps

      public boolean hasCumulativeRejectedSteps()
       The total number of rejected steps (e.g., within a line search procedure)
       since the start of the solve.
       
      optional int32 cumulative_rejected_steps = 5;
      Specified by:
      hasCumulativeRejectedSteps in interface IterationStatsOrBuilder
      Returns:
      Whether the cumulativeRejectedSteps field is set.
    • getCumulativeRejectedSteps

      public int getCumulativeRejectedSteps()
       The total number of rejected steps (e.g., within a line search procedure)
       since the start of the solve.
       
      optional int32 cumulative_rejected_steps = 5;
      Specified by:
      getCumulativeRejectedSteps in interface IterationStatsOrBuilder
      Returns:
      The cumulativeRejectedSteps.
    • hasCumulativeTimeSec

      public boolean hasCumulativeTimeSec()
       The amount of time passed since we started solving the problem (see solver
       log `solve_time_sec` which records total time).
       
      optional double cumulative_time_sec = 6;
      Specified by:
      hasCumulativeTimeSec in interface IterationStatsOrBuilder
      Returns:
      Whether the cumulativeTimeSec field is set.
    • getCumulativeTimeSec

      public double getCumulativeTimeSec()
       The amount of time passed since we started solving the problem (see solver
       log `solve_time_sec` which records total time).
       
      optional double cumulative_time_sec = 6;
      Specified by:
      getCumulativeTimeSec in interface IterationStatsOrBuilder
      Returns:
      The cumulativeTimeSec.
    • hasRestartUsed

      public boolean hasRestartUsed()
       The kind of restart that occurred at this iteration, or NO_RESTART if a
       restart did not occur.
       
      optional .operations_research.pdlp.RestartChoice restart_used = 7;
      Specified by:
      hasRestartUsed in interface IterationStatsOrBuilder
      Returns:
      Whether the restartUsed field is set.
    • getRestartUsed

      public RestartChoice getRestartUsed()
       The kind of restart that occurred at this iteration, or NO_RESTART if a
       restart did not occur.
       
      optional .operations_research.pdlp.RestartChoice restart_used = 7;
      Specified by:
      getRestartUsed in interface IterationStatsOrBuilder
      Returns:
      The restartUsed.
    • hasStepSize

      public boolean hasStepSize()
       Step size used at this iteration. Note that the step size used for the
       primal update is step_size / primal_weight, while the one used for the dual
       update is step_size * primal_weight.
       
      optional double step_size = 8;
      Specified by:
      hasStepSize in interface IterationStatsOrBuilder
      Returns:
      Whether the stepSize field is set.
    • getStepSize

      public double getStepSize()
       Step size used at this iteration. Note that the step size used for the
       primal update is step_size / primal_weight, while the one used for the dual
       update is step_size * primal_weight.
       
      optional double step_size = 8;
      Specified by:
      getStepSize in interface IterationStatsOrBuilder
      Returns:
      The stepSize.
    • hasPrimalWeight

      public boolean hasPrimalWeight()
       Primal weight controlling the relation between primal and dual step sizes.
       See field 'step_size' for a detailed description.
       
      optional double primal_weight = 9;
      Specified by:
      hasPrimalWeight in interface IterationStatsOrBuilder
      Returns:
      Whether the primalWeight field is set.
    • getPrimalWeight

      public double getPrimalWeight()
       Primal weight controlling the relation between primal and dual step sizes.
       See field 'step_size' for a detailed description.
       
      optional double primal_weight = 9;
      Specified by:
      getPrimalWeight in interface IterationStatsOrBuilder
      Returns:
      The primalWeight.
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static IterationStats parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static IterationStats parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static IterationStats parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static IterationStats parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static IterationStats parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static IterationStats parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static IterationStats parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static IterationStats parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static IterationStats parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static IterationStats parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static IterationStats parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static IterationStats parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public IterationStats.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static IterationStats.Builder newBuilder()
    • newBuilder

      public static IterationStats.Builder newBuilder(IterationStats prototype)
    • toBuilder

      public IterationStats.Builder toBuilder()
      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected IterationStats.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static IterationStats getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<IterationStats> parser()
    • getParserForType

      public com.google.protobuf.Parser<IterationStats> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessage
    • getDefaultInstanceForType

      public IterationStats getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder