Class SolveLogOuterClass.IterationStats

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, java.io.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:
    Serialized Form
    • Field Detail

      • ITERATION_NUMBER_FIELD_NUMBER

        public static final int ITERATION_NUMBER_FIELD_NUMBER
        See Also:
        Constant Field Values
      • CONVERGENCE_INFORMATION_FIELD_NUMBER

        public static final int CONVERGENCE_INFORMATION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • INFEASIBILITY_INFORMATION_FIELD_NUMBER

        public static final int INFEASIBILITY_INFORMATION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • POINT_METADATA_FIELD_NUMBER

        public static final int POINT_METADATA_FIELD_NUMBER
        See Also:
        Constant Field Values
      • CUMULATIVE_KKT_MATRIX_PASSES_FIELD_NUMBER

        public static final int CUMULATIVE_KKT_MATRIX_PASSES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • CUMULATIVE_REJECTED_STEPS_FIELD_NUMBER

        public static final int CUMULATIVE_REJECTED_STEPS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • CUMULATIVE_TIME_SEC_FIELD_NUMBER

        public static final int CUMULATIVE_TIME_SEC_FIELD_NUMBER
        See Also:
        Constant Field Values
      • RESTART_USED_FIELD_NUMBER

        public static final int RESTART_USED_FIELD_NUMBER
        See Also:
        Constant Field Values
      • PRIMAL_WEIGHT_FIELD_NUMBER

        public static final int PRIMAL_WEIGHT_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected java.lang.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.
      • 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
      • 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
      • 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.
      • 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 java.io.IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        java.io.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​(java.lang.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​(java.nio.ByteBuffer data)
                                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static SolveLogOuterClass.IterationStats parseFrom​(java.nio.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​(java.io.InputStream input,
                                                                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                           throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

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

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

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

        public static SolveLogOuterClass.IterationStats parseFrom​(com.google.protobuf.CodedInputStream input,
                                                                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                           throws java.io.IOException
        Throws:
        java.io.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
      • toBuilder

        public SolveLogOuterClass.IterationStats.Builder 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
      • 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