Class SolveLogOuterClass.IterationStats

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
operations_research.pdlp.SolveLogOuterClass.IterationStats
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable, SolveLogOuterClass.IterationStatsOrBuilder
Enclosing class:
SolveLogOuterClass

public static final class SolveLogOuterClass.IterationStats extends com.google.protobuf.GeneratedMessageV3 implements SolveLogOuterClass.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:
    • PARSER

      @Deprecated public static final com.google.protobuf.Parser<SolveLogOuterClass.IterationStats> PARSER
      Deprecated.
  • Method Details

    • newInstance

      protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
      Overrides:
      newInstance in class com.google.protobuf.GeneratedMessageV3
    • 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
    • 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 SolveLogOuterClass.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 SolveLogOuterClass.IterationStatsOrBuilder
      Returns:
      The iterationNumber.
    • getConvergenceInformationList

      public List<SolveLogOuterClass.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 SolveLogOuterClass.IterationStatsOrBuilder
    • getConvergenceInformationOrBuilderList

      public List<? extends SolveLogOuterClass.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 SolveLogOuterClass.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 SolveLogOuterClass.IterationStatsOrBuilder
    • getConvergenceInformation

      public SolveLogOuterClass.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 SolveLogOuterClass.IterationStatsOrBuilder
    • getConvergenceInformationOrBuilder

      public SolveLogOuterClass.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 SolveLogOuterClass.IterationStatsOrBuilder
    • getInfeasibilityInformationList

      public List<SolveLogOuterClass.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 SolveLogOuterClass.IterationStatsOrBuilder
    • getInfeasibilityInformationOrBuilderList

      public List<? extends SolveLogOuterClass.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 SolveLogOuterClass.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 SolveLogOuterClass.IterationStatsOrBuilder
    • getInfeasibilityInformation

      public SolveLogOuterClass.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 SolveLogOuterClass.IterationStatsOrBuilder
    • getInfeasibilityInformationOrBuilder

      public SolveLogOuterClass.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 SolveLogOuterClass.IterationStatsOrBuilder
    • getPointMetadataList

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

      public List<? extends SolveLogOuterClass.PointMetadataOrBuilder> getPointMetadataOrBuilderList()
       Auxiliary statistics for each type of point.
       
      repeated .operations_research.pdlp.PointMetadata point_metadata = 11;
      Specified by:
      getPointMetadataOrBuilderList in interface SolveLogOuterClass.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 SolveLogOuterClass.IterationStatsOrBuilder
    • getPointMetadata

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

      public SolveLogOuterClass.PointMetadataOrBuilder getPointMetadataOrBuilder(int index)
       Auxiliary statistics for each type of point.
       
      repeated .operations_research.pdlp.PointMetadata point_metadata = 11;
      Specified by:
      getPointMetadataOrBuilder in interface SolveLogOuterClass.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 SolveLogOuterClass.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 SolveLogOuterClass.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 SolveLogOuterClass.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 SolveLogOuterClass.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 SolveLogOuterClass.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 SolveLogOuterClass.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 SolveLogOuterClass.IterationStatsOrBuilder
      Returns:
      Whether the restartUsed field is set.
    • getRestartUsed

      public SolveLogOuterClass.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 SolveLogOuterClass.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 SolveLogOuterClass.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 SolveLogOuterClass.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 SolveLogOuterClass.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 SolveLogOuterClass.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.GeneratedMessageV3
    • 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.GeneratedMessageV3
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessageV3
    • 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 SolveLogOuterClass.IterationStats parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

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

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

      public static SolveLogOuterClass.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 SolveLogOuterClass.IterationStats parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

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

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

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

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

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

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

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

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

      public static SolveLogOuterClass.IterationStats.Builder newBuilder()
    • newBuilder

    • toBuilder

      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected SolveLogOuterClass.IterationStats.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
      Specified by:
      newBuilderForType in class com.google.protobuf.GeneratedMessageV3
    • getDefaultInstance

      public static SolveLogOuterClass.IterationStats getDefaultInstance()
    • parser

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

      public com.google.protobuf.Parser<SolveLogOuterClass.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.GeneratedMessageV3
    • getDefaultInstanceForType

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