Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
Google.OrTools.PDLP.IterationStats Class Referencesealed

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). More...

Inheritance diagram for Google.OrTools.PDLP.IterationStats:

Public Member Functions

 IterationStats ()
 
 IterationStats (IterationStats other)
 
IterationStats Clone ()
 
void ClearIterationNumber ()
 Clears the value of the "iteration_number" field.
 
void ClearCumulativeKktMatrixPasses ()
 Clears the value of the "cumulative_kkt_matrix_passes" field.
 
void ClearCumulativeRejectedSteps ()
 Clears the value of the "cumulative_rejected_steps" field.
 
void ClearCumulativeTimeSec ()
 Clears the value of the "cumulative_time_sec" field.
 
void ClearRestartUsed ()
 Clears the value of the "restart_used" field.
 
void ClearStepSize ()
 Clears the value of the "step_size" field.
 
void ClearPrimalWeight ()
 Clears the value of the "primal_weight" field.
 
override bool Equals (object other)
 
bool Equals (IterationStats other)
 
override int GetHashCode ()
 
override string ToString ()
 
void WriteTo (pb::CodedOutputStream output)
 
int CalculateSize ()
 
void MergeFrom (IterationStats other)
 
void MergeFrom (pb::CodedInputStream input)
 

Static Public Attributes

const int IterationNumberFieldNumber = 1
 Field number for the "iteration_number" field.
 
const int ConvergenceInformationFieldNumber = 2
 Field number for the "convergence_information" field.
 
const int InfeasibilityInformationFieldNumber = 3
 Field number for the "infeasibility_information" field.
 
const int PointMetadataFieldNumber = 11
 Field number for the "point_metadata" field.
 
const int CumulativeKktMatrixPassesFieldNumber = 4
 Field number for the "cumulative_kkt_matrix_passes" field.
 
const int CumulativeRejectedStepsFieldNumber = 5
 Field number for the "cumulative_rejected_steps" field.
 
const int CumulativeTimeSecFieldNumber = 6
 Field number for the "cumulative_time_sec" field.
 
const int RestartUsedFieldNumber = 7
 Field number for the "restart_used" field.
 
const int StepSizeFieldNumber = 8
 Field number for the "step_size" field.
 
const int PrimalWeightFieldNumber = 9
 Field number for the "primal_weight" field.
 

Properties

static pb::MessageParser< IterationStatsParser [get]
 
static pbr::MessageDescriptor Descriptor [get]
 
int IterationNumber [get, set]
 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.
 
bool HasIterationNumber [get]
 Gets whether the "iteration_number" field is set.
 
pbc::RepeatedField< global::Google.OrTools.PDLP.ConvergenceInformation > ConvergenceInformation [get]
 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.
 
pbc::RepeatedField< global::Google.OrTools.PDLP.InfeasibilityInformation > InfeasibilityInformation [get]
 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.
 
pbc::RepeatedField< global::Google.OrTools.PDLP.PointMetadata > PointMetadata [get]
 Auxiliary statistics for each type of point.
 
double CumulativeKktMatrixPasses [get, set]
 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.
 
bool HasCumulativeKktMatrixPasses [get]
 Gets whether the "cumulative_kkt_matrix_passes" field is set.
 
int CumulativeRejectedSteps [get, set]
 The total number of rejected steps (e.g., within a line search procedure) since the start of the solve.
 
bool HasCumulativeRejectedSteps [get]
 Gets whether the "cumulative_rejected_steps" field is set.
 
double CumulativeTimeSec [get, set]
 The amount of time passed since we started solving the problem (see solver log solve_time_sec which records total time).
 
bool HasCumulativeTimeSec [get]
 Gets whether the "cumulative_time_sec" field is set.
 
global::Google.OrTools.PDLP.RestartChoice RestartUsed [get, set]
 The kind of restart that occurred at this iteration, or NO_RESTART if a restart did not occur.
 
bool HasRestartUsed [get]
 Gets whether the "restart_used" field is set.
 
double StepSize [get, set]
 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.
 
bool HasStepSize [get]
 Gets whether the "step_size" field is set.
 
double PrimalWeight [get, set]
 Primal weight controlling the relation between primal and dual step sizes. See field 'step_size' for a detailed description.
 
bool HasPrimalWeight [get]
 Gets whether the "primal_weight" field is set.
 

Detailed Description

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).

Definition at line 4045 of file SolveLog.pb.cs.

Constructor & Destructor Documentation

◆ IterationStats() [1/2]

Google.OrTools.PDLP.IterationStats.IterationStats ( )
inline

Definition at line 4071 of file SolveLog.pb.cs.

◆ IterationStats() [2/2]

Google.OrTools.PDLP.IterationStats.IterationStats ( IterationStats other)
inline

Definition at line 4079 of file SolveLog.pb.cs.

Member Function Documentation

◆ CalculateSize()

int Google.OrTools.PDLP.IterationStats.CalculateSize ( )
inline

Definition at line 4514 of file SolveLog.pb.cs.

◆ ClearCumulativeKktMatrixPasses()

void Google.OrTools.PDLP.IterationStats.ClearCumulativeKktMatrixPasses ( )
inline

Clears the value of the "cumulative_kkt_matrix_passes" field.

Definition at line 4214 of file SolveLog.pb.cs.

◆ ClearCumulativeRejectedSteps()

void Google.OrTools.PDLP.IterationStats.ClearCumulativeRejectedSteps ( )
inline

Clears the value of the "cumulative_rejected_steps" field.

Definition at line 4245 of file SolveLog.pb.cs.

◆ ClearCumulativeTimeSec()

void Google.OrTools.PDLP.IterationStats.ClearCumulativeTimeSec ( )
inline

Clears the value of the "cumulative_time_sec" field.

Definition at line 4276 of file SolveLog.pb.cs.

◆ ClearIterationNumber()

void Google.OrTools.PDLP.IterationStats.ClearIterationNumber ( )
inline

Clears the value of the "iteration_number" field.

Definition at line 4129 of file SolveLog.pb.cs.

◆ ClearPrimalWeight()

void Google.OrTools.PDLP.IterationStats.ClearPrimalWeight ( )
inline

Clears the value of the "primal_weight" field.

Definition at line 4370 of file SolveLog.pb.cs.

◆ ClearRestartUsed()

void Google.OrTools.PDLP.IterationStats.ClearRestartUsed ( )
inline

Clears the value of the "restart_used" field.

Definition at line 4307 of file SolveLog.pb.cs.

◆ ClearStepSize()

void Google.OrTools.PDLP.IterationStats.ClearStepSize ( )
inline

Clears the value of the "step_size" field.

Definition at line 4339 of file SolveLog.pb.cs.

◆ Clone()

IterationStats Google.OrTools.PDLP.IterationStats.Clone ( )
inline

Definition at line 4096 of file SolveLog.pb.cs.

◆ Equals() [1/2]

bool Google.OrTools.PDLP.IterationStats.Equals ( IterationStats other)
inline

Definition at line 4382 of file SolveLog.pb.cs.

◆ Equals() [2/2]

override bool Google.OrTools.PDLP.IterationStats.Equals ( object other)
inline

Definition at line 4376 of file SolveLog.pb.cs.

◆ GetHashCode()

override int Google.OrTools.PDLP.IterationStats.GetHashCode ( )
inline

Definition at line 4404 of file SolveLog.pb.cs.

◆ MergeFrom() [1/2]

void Google.OrTools.PDLP.IterationStats.MergeFrom ( IterationStats other)
inline

Definition at line 4548 of file SolveLog.pb.cs.

◆ MergeFrom() [2/2]

void Google.OrTools.PDLP.IterationStats.MergeFrom ( pb.CodedInputStream input)
inline

Definition at line 4581 of file SolveLog.pb.cs.

◆ ToString()

override string Google.OrTools.PDLP.IterationStats.ToString ( )
inline

Definition at line 4424 of file SolveLog.pb.cs.

◆ WriteTo()

void Google.OrTools.PDLP.IterationStats.WriteTo ( pb.CodedOutputStream output)
inline

Definition at line 4430 of file SolveLog.pb.cs.

Member Data Documentation

◆ ConvergenceInformationFieldNumber

const int Google.OrTools.PDLP.IterationStats.ConvergenceInformationFieldNumber = 2
static

Field number for the "convergence_information" field.

Definition at line 4134 of file SolveLog.pb.cs.

◆ CumulativeKktMatrixPassesFieldNumber

const int Google.OrTools.PDLP.IterationStats.CumulativeKktMatrixPassesFieldNumber = 4
static

Field number for the "cumulative_kkt_matrix_passes" field.

Definition at line 4180 of file SolveLog.pb.cs.

◆ CumulativeRejectedStepsFieldNumber

const int Google.OrTools.PDLP.IterationStats.CumulativeRejectedStepsFieldNumber = 5
static

Field number for the "cumulative_rejected_steps" field.

Definition at line 4219 of file SolveLog.pb.cs.

◆ CumulativeTimeSecFieldNumber

const int Google.OrTools.PDLP.IterationStats.CumulativeTimeSecFieldNumber = 6
static

Field number for the "cumulative_time_sec" field.

Definition at line 4250 of file SolveLog.pb.cs.

◆ InfeasibilityInformationFieldNumber

const int Google.OrTools.PDLP.IterationStats.InfeasibilityInformationFieldNumber = 3
static

Field number for the "infeasibility_information" field.

Definition at line 4150 of file SolveLog.pb.cs.

◆ IterationNumberFieldNumber

const int Google.OrTools.PDLP.IterationStats.IterationNumberFieldNumber = 1
static

Field number for the "iteration_number" field.

Definition at line 4101 of file SolveLog.pb.cs.

◆ PointMetadataFieldNumber

const int Google.OrTools.PDLP.IterationStats.PointMetadataFieldNumber = 11
static

Field number for the "point_metadata" field.

Definition at line 4166 of file SolveLog.pb.cs.

◆ PrimalWeightFieldNumber

const int Google.OrTools.PDLP.IterationStats.PrimalWeightFieldNumber = 9
static

Field number for the "primal_weight" field.

Definition at line 4344 of file SolveLog.pb.cs.

◆ RestartUsedFieldNumber

const int Google.OrTools.PDLP.IterationStats.RestartUsedFieldNumber = 7
static

Field number for the "restart_used" field.

Definition at line 4281 of file SolveLog.pb.cs.

◆ StepSizeFieldNumber

const int Google.OrTools.PDLP.IterationStats.StepSizeFieldNumber = 8
static

Field number for the "step_size" field.

Definition at line 4312 of file SolveLog.pb.cs.

Property Documentation

◆ ConvergenceInformation

pbc.RepeatedField<global.Google.OrTools.PDLP.ConvergenceInformation> Google.OrTools.PDLP.IterationStats.ConvergenceInformation
get

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.

Definition at line 4145 of file SolveLog.pb.cs.

◆ CumulativeKktMatrixPasses

double Google.OrTools.PDLP.IterationStats.CumulativeKktMatrixPasses
getset

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.

Definition at line 4198 of file SolveLog.pb.cs.

◆ CumulativeRejectedSteps

int Google.OrTools.PDLP.IterationStats.CumulativeRejectedSteps
getset

The total number of rejected steps (e.g., within a line search procedure) since the start of the solve.

Definition at line 4229 of file SolveLog.pb.cs.

◆ CumulativeTimeSec

double Google.OrTools.PDLP.IterationStats.CumulativeTimeSec
getset

The amount of time passed since we started solving the problem (see solver log solve_time_sec which records total time).

Definition at line 4260 of file SolveLog.pb.cs.

◆ Descriptor

pbr.MessageDescriptor Google.OrTools.PDLP.IterationStats.Descriptor
staticget

Definition at line 4059 of file SolveLog.pb.cs.

◆ HasCumulativeKktMatrixPasses

bool Google.OrTools.PDLP.IterationStats.HasCumulativeKktMatrixPasses
get

Gets whether the "cumulative_kkt_matrix_passes" field is set.

Definition at line 4208 of file SolveLog.pb.cs.

◆ HasCumulativeRejectedSteps

bool Google.OrTools.PDLP.IterationStats.HasCumulativeRejectedSteps
get

Gets whether the "cumulative_rejected_steps" field is set.

Definition at line 4239 of file SolveLog.pb.cs.

◆ HasCumulativeTimeSec

bool Google.OrTools.PDLP.IterationStats.HasCumulativeTimeSec
get

Gets whether the "cumulative_time_sec" field is set.

Definition at line 4270 of file SolveLog.pb.cs.

◆ HasIterationNumber

bool Google.OrTools.PDLP.IterationStats.HasIterationNumber
get

Gets whether the "iteration_number" field is set.

Definition at line 4123 of file SolveLog.pb.cs.

◆ HasPrimalWeight

bool Google.OrTools.PDLP.IterationStats.HasPrimalWeight
get

Gets whether the "primal_weight" field is set.

Definition at line 4364 of file SolveLog.pb.cs.

◆ HasRestartUsed

bool Google.OrTools.PDLP.IterationStats.HasRestartUsed
get

Gets whether the "restart_used" field is set.

Definition at line 4301 of file SolveLog.pb.cs.

◆ HasStepSize

bool Google.OrTools.PDLP.IterationStats.HasStepSize
get

Gets whether the "step_size" field is set.

Definition at line 4333 of file SolveLog.pb.cs.

◆ InfeasibilityInformation

pbc.RepeatedField<global.Google.OrTools.PDLP.InfeasibilityInformation> Google.OrTools.PDLP.IterationStats.InfeasibilityInformation
get

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.

Definition at line 4161 of file SolveLog.pb.cs.

◆ IterationNumber

int Google.OrTools.PDLP.IterationStats.IterationNumber
getset

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.

Definition at line 4113 of file SolveLog.pb.cs.

◆ Parser

pb.MessageParser<IterationStats> Google.OrTools.PDLP.IterationStats.Parser
staticget

Definition at line 4055 of file SolveLog.pb.cs.

◆ PointMetadata

pbc.RepeatedField<global.Google.OrTools.PDLP.PointMetadata> Google.OrTools.PDLP.IterationStats.PointMetadata
get

Auxiliary statistics for each type of point.

Definition at line 4175 of file SolveLog.pb.cs.

◆ PrimalWeight

double Google.OrTools.PDLP.IterationStats.PrimalWeight
getset

Primal weight controlling the relation between primal and dual step sizes. See field 'step_size' for a detailed description.

Definition at line 4354 of file SolveLog.pb.cs.

◆ RestartUsed

global.Google.OrTools.PDLP.RestartChoice Google.OrTools.PDLP.IterationStats.RestartUsed
getset

The kind of restart that occurred at this iteration, or NO_RESTART if a restart did not occur.

Definition at line 4291 of file SolveLog.pb.cs.

◆ StepSize

double Google.OrTools.PDLP.IterationStats.StepSize
getset

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.

Definition at line 4323 of file SolveLog.pb.cs.


The documentation for this class was generated from the following file: