package operations_research.pdlp

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message AdaptiveLinesearchParams

solvers.proto:189

At the end of each iteration, regardless of whether the step was accepted or not, the adaptive rule updates the step_size as the minimum of two potential step sizes defined by the following two exponents.

Used in: PrimalDualHybridGradientParams

message ConvergenceInformation

solve_log.proto:139

Information measuring how close a candidate is to establishing feasibility and optimality; see also TerminationCriteria.

Used in: math_opt.SolveResultProto.PdlpOutput, IterationStats

message FeasibilityPolishingDetails

solve_log.proto:371

Details about one primal feasibility or dual feasibility polishing phase within a solve with `use_feasibility_polishing`. See `SolveLog` for descriptions of the fields with the same name.

Used in: SolveLog

message InfeasibilityInformation

solve_log.proto:209

Information measuring how close a point is to establishing primal or dual infeasibility (i.e. has no solution); see also TerminationCriteria.

Used in: IterationStats

message IterationStats

solve_log.proto:281

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

Used in: FeasibilityPolishingDetails, SolveLog

message MalitskyPockParams

solvers.proto:206

Used in: PrimalDualHybridGradientParams

enum OptimalityNorm

solvers.proto:24

Used in: TerminationCriteria

message PointMetadata

solve_log.proto:251

Used in: IterationStats

enum PointType

solve_log.proto:121

Identifies the type of point used to compute the fields in a given proto; see ConvergenceInformation and InfeasibilityInformation.

Used in: ConvergenceInformation, FeasibilityPolishingDetails, InfeasibilityInformation, PointMetadata, SolveLog

enum PolishingPhaseType

solve_log.proto:362

Used in: FeasibilityPolishingDetails

message PrimalDualHybridGradientParams

solvers.proto:238

Parameters for PrimalDualHybridGradient() in primal_dual_hybrid_gradient.h. While the defaults are generally good, it is usually worthwhile to perform a parameter sweep to find good settings for a particular family of problems. The following parameters should be considered for tuning: - restart_strategy (jointly with major_iteration_frequency) - primal_weight_update_smoothing (jointly with initial_primal_weight) - presolve_options.use_glop - l_inf_ruiz_iterations - l2_norm_rescaling In addition, tune num_threads to speed up the solve.

Used in: math_opt.SolveParametersProto, FeasibilityPolishingDetails, SolveLog

enum PrimalDualHybridGradientParams.LinesearchRule

solvers.proto:262

Used in: PrimalDualHybridGradientParams

message PrimalDualHybridGradientParams.PresolveOptions

solvers.proto:366

Used in: PrimalDualHybridGradientParams

enum PrimalDualHybridGradientParams.RestartStrategy

solvers.proto:239

Used in: PrimalDualHybridGradientParams

message QuadraticProgramStats

solve_log.proto:28

Easy-to-compute statistics for the quadratic program.

Used in: SolveLog

enum RestartChoice

solve_log.proto:105

Specifies whether a restart was performed on a given iteration.

Used in: IterationStats

enum SchedulerType

solvers.proto:44

The type of system used to schedule CPU threads to do work in parallel.

Used in: PrimalDualHybridGradientParams

message SolveLog

solve_log.proto:385

message TerminationCriteria

solvers.proto:66

Relevant readings on infeasibility certificates: (1) https://docs.mosek.com/modeling-cookbook/qcqo.html provides references explaining why the primal rays imply dual infeasibility and dual rays imply primal infeasibility. (2) The termination criteria for Mosek's linear programming optimizer https://docs.mosek.com/9.0/pythonfusion/solving-linear.html. (3) The termination criteria for OSQP is in section 3.3 of https://web.stanford.edu/~boyd/papers/pdf/osqp.pdf. (4) The termination criteria for SCS is in section 3.5 of https://arxiv.org/pdf/1312.3039.pdf.

Used in: PrimalDualHybridGradientParams

message TerminationCriteria.DetailedOptimalityCriteria

solvers.proto:122

Used in: TerminationCriteria

message TerminationCriteria.SimpleOptimalityCriteria

solvers.proto:113

Used in: TerminationCriteria

enum TerminationReason

solve_log.proto:336

Used in: FeasibilityPolishingDetails, SolveLog