Google OR-Tools v9.12
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 4077 of file SolveLog.pb.cs.

Constructor & Destructor Documentation

◆ IterationStats() [1/2]

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

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

◆ IterationStats() [2/2]

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

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

Member Function Documentation

◆ CalculateSize()

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

Definition at line 4546 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 4246 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 4277 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 4308 of file SolveLog.pb.cs.

◆ ClearIterationNumber()

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

Clears the value of the "iteration_number" field.

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

◆ ClearPrimalWeight()

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

Clears the value of the "primal_weight" field.

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

◆ ClearRestartUsed()

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

Clears the value of the "restart_used" field.

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

◆ ClearStepSize()

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

Clears the value of the "step_size" field.

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

◆ Clone()

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

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

◆ Equals() [1/2]

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

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

◆ Equals() [2/2]

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

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

◆ GetHashCode()

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

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

◆ MergeFrom() [1/2]

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

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

◆ MergeFrom() [2/2]

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

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

◆ ToString()

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

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

◆ WriteTo()

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

Definition at line 4462 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 4166 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 4212 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 4251 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 4282 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 4182 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 4133 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 4198 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 4376 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 4313 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 4344 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 4177 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 4230 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 4261 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 4292 of file SolveLog.pb.cs.

◆ Descriptor

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

Definition at line 4091 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 4240 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 4271 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 4302 of file SolveLog.pb.cs.

◆ HasIterationNumber

bool Google.OrTools.PDLP.IterationStats.HasIterationNumber
get

Gets whether the "iteration_number" field is set.

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

◆ HasPrimalWeight

bool Google.OrTools.PDLP.IterationStats.HasPrimalWeight
get

Gets whether the "primal_weight" field is set.

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

◆ HasRestartUsed

bool Google.OrTools.PDLP.IterationStats.HasRestartUsed
get

Gets whether the "restart_used" field is set.

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

◆ HasStepSize

bool Google.OrTools.PDLP.IterationStats.HasStepSize
get

Gets whether the "step_size" field is set.

Definition at line 4365 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 4193 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 4145 of file SolveLog.pb.cs.

◆ Parser

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

Definition at line 4087 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 4207 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 4386 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 4323 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 4355 of file SolveLog.pb.cs.


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