OR-Tools  9.6
operations_research::pdlp Namespace Reference

Namespaces

 internal
 

Classes

struct  PrimalAndDualSolution
 
struct  SolverResult
 
struct  IterationCallbackInfo
 
struct  QuadraticProgram
 
class  ShardedWeightedAverage
 
struct  RescalingOptions
 
struct  ScalingVectors
 
struct  LagrangianPart
 
struct  SingularValueAndIterations
 
class  ShardedQuadraticProgram
 
class  Sharder
 
struct  TerminationReasonAndPointType
 
struct  QuadraticProgramBoundNorms
 
struct  RelativeConvergenceInformation
 
class  DiagonalTrustRegionProblem
 
class  DiagonalTrustRegionProblemFromQp
 
struct  TrustRegionResult
 
struct  LocalizedLagrangianBounds
 

Enumerations

enum class  PrimalDualNorm { kMaxNorm , kEuclideanNorm }
 

Functions

ConvergenceInformation ComputeConvergenceInformation (const PrimalDualHybridGradientParams &params, const ShardedQuadraticProgram &scaled_sharded_qp, const Eigen::VectorXd &col_scaling_vec, const Eigen::VectorXd &row_scaling_vec, const Eigen::VectorXd &scaled_primal_solution, const Eigen::VectorXd &scaled_dual_solution, const double componentwise_primal_residual_offset, const double componentwise_dual_residual_offset, PointType candidate_type)
 
InfeasibilityInformation ComputeInfeasibilityInformation (const PrimalDualHybridGradientParams &params, const ShardedQuadraticProgram &scaled_sharded_qp, const Eigen::VectorXd &col_scaling_vec, const Eigen::VectorXd &row_scaling_vec, const Eigen::VectorXd &scaled_primal_ray, const Eigen::VectorXd &scaled_dual_ray, PointType candidate_type)
 
ConvergenceInformation ComputeScaledConvergenceInformation (const PrimalDualHybridGradientParams &params, const ShardedQuadraticProgram &sharded_qp, const VectorXd &primal_solution, const VectorXd &dual_solution, const double componentwise_primal_residual_offset, const double componentwise_dual_residual_offset, PointType candidate_type)
 
VectorXd ReducedCosts (const PrimalDualHybridGradientParams &params, const ShardedQuadraticProgram &sharded_qp, const VectorXd &primal_solution, const VectorXd &dual_solution, bool use_zero_primal_objective)
 
std::optional< ConvergenceInformation > GetConvergenceInformation (const IterationStats &stats, PointType candidate_type)
 
std::optional< InfeasibilityInformation > GetInfeasibilityInformation (const IterationStats &stats, PointType candidate_type)
 
std::optional< PointMetadata > GetPointMetadata (const IterationStats &stats, const PointType point_type)
 
void SetRandomProjections (const ShardedQuadraticProgram &sharded_qp, const Eigen::VectorXd &primal_solution, const Eigen::VectorXd &dual_solution, const std::vector< int > &random_projection_seeds, PointMetadata &metadata)
 
ConvergenceInformation ComputeScaledConvergenceInformation (const PrimalDualHybridGradientParams &params, const ShardedQuadraticProgram &sharded_qp, const Eigen::VectorXd &primal_solution, const Eigen::VectorXd &dual_solution, double componentwise_primal_residual_offset, double componentwise_dual_residual_offset, PointType candidate_type)
 
Eigen::VectorXd ReducedCosts (const PrimalDualHybridGradientParams &params, const ShardedQuadraticProgram &scaled_sharded_qp, const Eigen::VectorXd &primal_solution, const Eigen::VectorXd &dual_solution, bool use_zero_primal_objective=false)
 
SolverResult PrimalDualHybridGradient (QuadraticProgram qp, const PrimalDualHybridGradientParams &params, const std::atomic< bool > *interrupt_solve, IterationStatsCallback iteration_stats_callback)
 
SolverResult PrimalDualHybridGradient (QuadraticProgram qp, const PrimalDualHybridGradientParams &params, std::optional< PrimalAndDualSolution > initial_solution, const std::atomic< bool > *interrupt_solve, IterationStatsCallback iteration_stats_callback)
 
SolverResult PrimalDualHybridGradient (QuadraticProgram qp, const PrimalDualHybridGradientParams &params, const std::atomic< bool > *interrupt_solve=nullptr, std::function< void(const IterationCallbackInfo &)> iteration_stats_callback=nullptr)
 
SolverResult PrimalDualHybridGradient (QuadraticProgram qp, const PrimalDualHybridGradientParams &params, std::optional< PrimalAndDualSolution > initial_solution, const std::atomic< bool > *interrupt_solve=nullptr, std::function< void(const IterationCallbackInfo &)> iteration_stats_callback=nullptr)
 
absl::Status ValidateQuadraticProgramDimensions (const QuadraticProgram &qp)
 
bool HasValidBounds (const QuadraticProgram &qp)
 
absl::StatusOr< QuadraticProgramQpFromMpModelProto (const MPModelProto &proto, bool relax_integer_variables, bool include_names)
 
absl::Status CanFitInMpModelProto (const QuadraticProgram &qp)
 
absl::StatusOr< MPModelProto > QpToMpModelProto (const QuadraticProgram &qp)
 
void SetEigenMatrixFromTriplets (std::vector< Eigen::Triplet< double, int64_t >> triplets, Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > &matrix)
 
bool IsLinearProgram (const QuadraticProgram &qp)
 
QuadraticProgram ReadQuadraticProgramOrDie (const std::string &filename, bool include_names)
 
QuadraticProgram ReadMpsLinearProgramOrDie (const std::string &lp_file, bool include_names)
 
QuadraticProgram ReadMPModelProtoFileOrDie (const std::string &mpmodel_proto_file, bool include_names)
 
absl::Status WriteLinearProgramToMps (const QuadraticProgram &linear_program, const std::string &mps_file)
 
absl::Status WriteQuadraticProgramToMPModelProto (const QuadraticProgram &quadratic_program, const std::string &mpmodel_proto_file)
 
QuadraticProgramStats ComputeStats (const ShardedQuadraticProgram &qp, const double infinite_constraint_bound_threshold)
 
void LInfRuizRescaling (const ShardedQuadraticProgram &sharded_qp, const int num_iterations, VectorXd &row_scaling_vec, VectorXd &col_scaling_vec)
 
void L2NormRescaling (const ShardedQuadraticProgram &sharded_qp, VectorXd &row_scaling_vec, VectorXd &col_scaling_vec)
 
ScalingVectors ApplyRescaling (const RescalingOptions &rescaling_options, ShardedQuadraticProgram &sharded_qp)
 
LagrangianPart ComputePrimalGradient (const ShardedQuadraticProgram &sharded_qp, const VectorXd &primal_solution, const VectorXd &dual_product)
 
double DualSubgradientCoefficient (const double constraint_lower_bound, const double constraint_upper_bound, const double dual, const double primal_product)
 
LagrangianPart ComputeDualGradient (const ShardedQuadraticProgram &sharded_qp, const VectorXd &dual_solution, const VectorXd &primal_product)
 
SingularValueAndIterations EstimateMaximumSingularValueOfConstraintMatrix (const ShardedQuadraticProgram &sharded_qp, const std::optional< VectorXd > &primal_solution, const std::optional< VectorXd > &dual_solution, const double desired_relative_error, const double failure_probability, std::mt19937 &mt_generator)
 
bool HasValidBounds (const ShardedQuadraticProgram &sharded_qp)
 
void ProjectToPrimalVariableBounds (const ShardedQuadraticProgram &sharded_qp, VectorXd &primal)
 
void ProjectToDualVariableBounds (const ShardedQuadraticProgram &sharded_qp, VectorXd &dual)
 
void LInfRuizRescaling (const ShardedQuadraticProgram &sharded_qp, int num_iterations, Eigen::VectorXd &row_scaling_vec, Eigen::VectorXd &col_scaling_vec)
 
void L2NormRescaling (const ShardedQuadraticProgram &sharded_qp, Eigen::VectorXd &row_scaling_vec, Eigen::VectorXd &col_scaling_vec)
 
LagrangianPart ComputePrimalGradient (const ShardedQuadraticProgram &sharded_qp, const Eigen::VectorXd &primal_solution, const Eigen::VectorXd &dual_product)
 
LagrangianPart ComputeDualGradient (const ShardedQuadraticProgram &sharded_qp, const Eigen::VectorXd &dual_solution, const Eigen::VectorXd &primal_product)
 
SingularValueAndIterations EstimateMaximumSingularValueOfConstraintMatrix (const ShardedQuadraticProgram &sharded_qp, const std::optional< Eigen::VectorXd > &primal_solution, const std::optional< Eigen::VectorXd > &dual_solution, double desired_relative_error, double failure_probability, std::mt19937 &mt_generator)
 
void ProjectToPrimalVariableBounds (const ShardedQuadraticProgram &sharded_qp, Eigen::VectorXd &primal)
 
void ProjectToDualVariableBounds (const ShardedQuadraticProgram &sharded_qp, Eigen::VectorXd &dual)
 
VectorXd TransposedMatrixVectorProduct (const Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > &matrix, const VectorXd &vector, const Sharder &sharder)
 
void SetZero (const Sharder &sharder, VectorXd &dest)
 
VectorXd ZeroVector (const Sharder &sharder)
 
VectorXd OnesVector (const Sharder &sharder)
 
void AddScaledVector (const double scale, const VectorXd &increment, const Sharder &sharder, VectorXd &dest)
 
void AssignVector (const VectorXd &vec, const Sharder &sharder, VectorXd &dest)
 
VectorXd CloneVector (const VectorXd &vec, const Sharder &sharder)
 
void CoefficientWiseProductInPlace (const VectorXd &scale, const Sharder &sharder, VectorXd &dest)
 
void CoefficientWiseQuotientInPlace (const VectorXd &scale, const Sharder &sharder, VectorXd &dest)
 
double Dot (const VectorXd &v1, const VectorXd &v2, const Sharder &sharder)
 
double LInfNorm (const VectorXd &vector, const Sharder &sharder)
 
double L1Norm (const VectorXd &vector, const Sharder &sharder)
 
double SquaredNorm (const VectorXd &vector, const Sharder &sharder)
 
double Norm (const VectorXd &vector, const Sharder &sharder)
 
double SquaredDistance (const VectorXd &vector1, const VectorXd &vector2, const Sharder &sharder)
 
double Distance (const VectorXd &vector1, const VectorXd &vector2, const Sharder &sharder)
 
double ScaledLInfNorm (const VectorXd &vector, const VectorXd &scale, const Sharder &sharder)
 
double ScaledSquaredNorm (const VectorXd &vector, const VectorXd &scale, const Sharder &sharder)
 
double ScaledNorm (const VectorXd &vector, const VectorXd &scale, const Sharder &sharder)
 
VectorXd ScaledColLInfNorm (const Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > &matrix, const VectorXd &row_scaling_vec, const VectorXd &col_scaling_vec, const Sharder &sharder)
 
VectorXd ScaledColL2Norm (const Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > &matrix, const VectorXd &row_scaling_vec, const VectorXd &col_scaling_vec, const Sharder &sharder)
 
Eigen::VectorXd TransposedMatrixVectorProduct (const Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > &matrix, const Eigen::VectorXd &vector, const Sharder &sharder)
 
void SetZero (const Sharder &sharder, Eigen::VectorXd &dest)
 
void AddScaledVector (double scale, const Eigen::VectorXd &increment, const Sharder &sharder, Eigen::VectorXd &dest)
 
void AssignVector (const Eigen::VectorXd &vec, const Sharder &sharder, Eigen::VectorXd &dest)
 
Eigen::VectorXd CloneVector (const Eigen::VectorXd &vec, const Sharder &sharder)
 
void CoefficientWiseProductInPlace (const Eigen::VectorXd &scale, const Sharder &sharder, Eigen::VectorXd &dest)
 
void CoefficientWiseQuotientInPlace (const Eigen::VectorXd &scale, const Sharder &sharder, Eigen::VectorXd &dest)
 
double Dot (const Eigen::VectorXd &v1, const Eigen::VectorXd &v2, const Sharder &sharder)
 
double LInfNorm (const Eigen::VectorXd &vector, const Sharder &sharder)
 
double L1Norm (const Eigen::VectorXd &vector, const Sharder &sharder)
 
double SquaredNorm (const Eigen::VectorXd &vector, const Sharder &sharder)
 
double Norm (const Eigen::VectorXd &vector, const Sharder &sharder)
 
double SquaredDistance (const Eigen::VectorXd &vector1, const Eigen::VectorXd &vector2, const Sharder &sharder)
 
double Distance (const Eigen::VectorXd &vector1, const Eigen::VectorXd &vector2, const Sharder &sharder)
 
double ScaledLInfNorm (const Eigen::VectorXd &vector, const Eigen::VectorXd &scale, const Sharder &sharder)
 
double ScaledSquaredNorm (const Eigen::VectorXd &vector, const Eigen::VectorXd &scale, const Sharder &sharder)
 
double ScaledNorm (const Eigen::VectorXd &vector, const Eigen::VectorXd &scale, const Sharder &sharder)
 
Eigen::VectorXd ScaledColLInfNorm (const Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > &matrix, const Eigen::VectorXd &row_scaling_vec, const Eigen::VectorXd &col_scaling_vec, const Sharder &sharder)
 
Eigen::VectorXd ScaledColL2Norm (const Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > &matrix, const Eigen::VectorXd &row_scaling_vec, const Eigen::VectorXd &col_scaling_vec, const Sharder &sharder)
 
absl::Status CheckNonNegative (const double value, const absl::string_view name)
 
absl::Status ValidateTerminationCriteria (const TerminationCriteria &criteria)
 
absl::Status ValidateAdaptiveLinesearchParams (const AdaptiveLinesearchParams &params)
 
absl::Status ValidateMalitskyPockParams (const MalitskyPockParams &params)
 
absl::Status ValidatePrimalDualHybridGradientParams (const PrimalDualHybridGradientParams &params)
 
bool ObjectiveGapMet (const TerminationCriteria::DetailedOptimalityCriteria &optimality_criteria, const ConvergenceInformation &stats)
 
bool OptimalityCriteriaMet (const TerminationCriteria::DetailedOptimalityCriteria &optimality_criteria, const ConvergenceInformation &stats, const OptimalityNorm optimality_norm, const QuadraticProgramBoundNorms &bound_norms)
 
TerminationCriteria::DetailedOptimalityCriteria EffectiveOptimalityCriteria (const TerminationCriteria &termination_criteria)
 
TerminationCriteria::DetailedOptimalityCriteria EffectiveOptimalityCriteria (const TerminationCriteria::SimpleOptimalityCriteria &simple_criteria)
 
std::optional< TerminationReasonAndPointTypeCheckSimpleTerminationCriteria (const TerminationCriteria &criteria, const IterationStats &stats, const std::atomic< bool > *interrupt_solve)
 
std::optional< TerminationReasonAndPointTypeCheckIterateTerminationCriteria (const TerminationCriteria &criteria, const IterationStats &stats, const QuadraticProgramBoundNorms &bound_norms, const bool force_numerical_termination)
 
QuadraticProgramBoundNorms BoundNormsFromProblemStats (const QuadraticProgramStats &stats)
 
double EpsilonRatio (const double epsilon_absolute, const double epsilon_relative)
 
RelativeConvergenceInformation ComputeRelativeResiduals (const TerminationCriteria::DetailedOptimalityCriteria &optimality_criteria, const ConvergenceInformation &stats, const QuadraticProgramBoundNorms &bound_norms)
 
bool operator== (const TerminationCriteria::DetailedOptimalityCriteria &lhs, const TerminationCriteria::DetailedOptimalityCriteria &rhs)
 
QuadraticProgram TestLp ()
 
void VerifyTestLp (const QuadraticProgram &qp, bool maximize)
 
QuadraticProgram TinyLp ()
 
QuadraticProgram CorrelationClusteringLp ()
 
QuadraticProgram CorrelationClusteringStarLp ()
 
QuadraticProgram TestDiagonalQp1 ()
 
QuadraticProgram TestDiagonalQp2 ()
 
QuadraticProgram TestDiagonalQp3 ()
 
QuadraticProgram SmallInvalidProblemLp ()
 
QuadraticProgram SmallInconsistentVariableBoundsLp ()
 
QuadraticProgram SmallPrimalInfeasibleLp ()
 
QuadraticProgram SmallDualInfeasibleLp ()
 
QuadraticProgram SmallPrimalDualInfeasibleLp ()
 
QuadraticProgram SmallInitializationLp ()
 
QuadraticProgram LpWithoutConstraints ()
 
void VerifyTestDiagonalQp1 (const QuadraticProgram &qp, bool maximize)
 
::Eigen::ArrayXXd ToDense (const Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > &sparse_mat)
 
template<typename ContainerType >
decltype(testing::Pointwise(internal::TupleIsNear(0.0), ContainerType())) FloatArrayNear (const ContainerType &container, double tolerance)
 
template<typename ContainerType >
decltype(testing::Pointwise(internal::TupleFloatEq(), ContainerType())) FloatArrayEq (const ContainerType &container)
 
template<typename EigenType >
Eigen::Array< typename EigenType::Scalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor > EvalAsColMajorEigenArray (const EigenType &input)
 
template<typename Scalar >
absl::Span< const Scalar > EigenArrayAsSpan (const Eigen::Array< Scalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor > &array)
 
 MATCHER_P2 (EigenArrayNear, expected_array, tolerance, "array is near "+testing::PrintToString(expected_array)+" within tolerance "+testing::PrintToString(tolerance))
 
 MATCHER_P (EigenArrayEq, expected_array, "array is almost equal to "+testing::PrintToString(expected_array))
 
template<typename T >
EigenArrayNearMatcherP2< Eigen::Array< T, Eigen::Dynamic, 1 >, double > EigenArrayNear (absl::Span< const T > data, double tolerance)
 
template<typename T >
EigenArrayNearMatcherP2< Eigen::Array< T, Eigen::Dynamic, Eigen::Dynamic >, double > EigenArrayNear (absl::Span< const absl::Span< const T >> rows, double tolerance)
 
template<typename T >
EigenArrayEqMatcherP< Eigen::Array< T, Eigen::Dynamic, 1 > > EigenArrayEq (absl::Span< const T > data)
 
template<typename T >
EigenArrayEqMatcherP< Eigen::Array< T, Eigen::Dynamic, Eigen::Dynamic > > EigenArrayEq (absl::Span< const absl::Span< const T >> rows)
 
TrustRegionResult SolveTrustRegion (const VectorXd &objective_vector, const VectorXd &variable_lower_bounds, const VectorXd &variable_upper_bounds, const VectorXd &center_point, const VectorXd &norm_weights, const double target_radius, const Sharder &sharder)
 
template<typename DiagonalTrustRegionProblem >
double ProjectedValueOfScaledDifference (const DiagonalTrustRegionProblem &problem, const int64_t index, const double scaling_factor)
 
template<typename DiagonalTrustRegionProblem >
double NormOfDeltaProjection (const DiagonalTrustRegionProblem &problem, const Sharder &sharder, const double scaling_factor)
 
template<typename DiagonalTrustRegionProblem >
double FindScalingFactor (const DiagonalTrustRegionProblem &problem, const Sharder &sharder, const double target_radius, const double solve_tol)
 
template<typename DiagonalTrustRegionProblem >
TrustRegionResult SolveDiagonalTrustRegionProblem (const DiagonalTrustRegionProblem &problem, const Sharder &sharder, const double target_radius, const double solve_tol)
 
TrustRegionResult SolveDiagonalTrustRegion (const VectorXd &objective_vector, const VectorXd &objective_matrix_diagonal, const VectorXd &variable_lower_bounds, const VectorXd &variable_upper_bounds, const VectorXd &center_point, const VectorXd &norm_weights, const double target_radius, const Sharder &sharder, const double solve_tolerance)
 
TrustRegionResult SolveDiagonalQpTrustRegion (const ShardedQuadraticProgram &sharded_qp, const VectorXd &primal_solution, const VectorXd &dual_solution, const VectorXd &primal_gradient, const VectorXd &dual_gradient, const double primal_weight, double target_radius, const double solve_tolerance)
 
LocalizedLagrangianBounds ComputeLocalizedLagrangianBounds (const ShardedQuadraticProgram &sharded_qp, const VectorXd &primal_solution, const VectorXd &dual_solution, const PrimalDualNorm primal_dual_norm, const double primal_weight, const double radius, const VectorXd *primal_product, const VectorXd *dual_product, const bool use_diagonal_qp_trust_region_solver, const double diagonal_qp_trust_region_solver_tolerance)
 
TrustRegionResult SolveTrustRegion (const Eigen::VectorXd &objective_vector, const Eigen::VectorXd &variable_lower_bounds, const Eigen::VectorXd &variable_upper_bounds, const Eigen::VectorXd &center_point, const Eigen::VectorXd &norm_weights, double target_radius, const Sharder &sharder)
 
TrustRegionResult SolveDiagonalTrustRegion (const Eigen::VectorXd &objective_vector, const Eigen::VectorXd &objective_matrix_diagonal, const Eigen::VectorXd &variable_lower_bounds, const Eigen::VectorXd &variable_upper_bounds, const Eigen::VectorXd &center_point, const Eigen::VectorXd &norm_weights, double target_radius, const Sharder &sharder, double solve_tolerance)
 
TrustRegionResult SolveDiagonalQpTrustRegion (const ShardedQuadraticProgram &sharded_qp, const Eigen::VectorXd &primal_solution, const Eigen::VectorXd &dual_solution, const Eigen::VectorXd &primal_gradient, const Eigen::VectorXd &dual_gradient, const double primal_weight, double target_radius, double solve_tolerance)
 
double BoundGap (const LocalizedLagrangianBounds &bounds)
 
LocalizedLagrangianBounds ComputeLocalizedLagrangianBounds (const ShardedQuadraticProgram &sharded_qp, const Eigen::VectorXd &primal_solution, const Eigen::VectorXd &dual_solution, PrimalDualNorm primal_dual_norm, double primal_weight, double radius, const Eigen::VectorXd *primal_product, const Eigen::VectorXd *dual_product, bool use_diagonal_qp_trust_region_solver, double diagonal_qp_trust_region_solver_tolerance)
 

Variables

constexpr double kInfinity = std::numeric_limits<double>::infinity()
 

Enumeration Type Documentation

◆ PrimalDualNorm

enum PrimalDualNorm
strong
Enumerator
kMaxNorm 
kEuclideanNorm 

Definition at line 120 of file trust_region.h.

Function Documentation

◆ AddScaledVector() [1/2]

void operations_research::pdlp::AddScaledVector ( const double  scale,
const VectorXd &  increment,
const Sharder sharder,
VectorXd &  dest 
)

Definition at line 192 of file sharder.cc.

◆ AddScaledVector() [2/2]

void operations_research::pdlp::AddScaledVector ( double  scale,
const Eigen::VectorXd &  increment,
const Sharder sharder,
Eigen::VectorXd &  dest 
)

◆ ApplyRescaling()

ScalingVectors ApplyRescaling ( const RescalingOptions rescaling_options,
ShardedQuadraticProgram sharded_qp 
)

Definition at line 418 of file sharded_optimization_utils.cc.

◆ AssignVector() [1/2]

void operations_research::pdlp::AssignVector ( const Eigen::VectorXd &  vec,
const Sharder sharder,
Eigen::VectorXd &  dest 
)

◆ AssignVector() [2/2]

void operations_research::pdlp::AssignVector ( const VectorXd &  vec,
const Sharder sharder,
VectorXd &  dest 
)

Definition at line 199 of file sharder.cc.

◆ BoundGap()

double operations_research::pdlp::BoundGap ( const LocalizedLagrangianBounds bounds)
inline

Definition at line 113 of file trust_region.h.

◆ BoundNormsFromProblemStats()

QuadraticProgramBoundNorms BoundNormsFromProblemStats ( const QuadraticProgramStats &  stats)

Definition at line 222 of file termination.cc.

◆ CanFitInMpModelProto()

absl::Status CanFitInMpModelProto ( const QuadraticProgram qp)

Definition at line 211 of file quadratic_program.cc.

◆ CheckIterateTerminationCriteria()

std::optional< TerminationReasonAndPointType > CheckIterateTerminationCriteria ( const TerminationCriteria &  criteria,
const IterationStats &  stats,
const QuadraticProgramBoundNorms bound_norms,
const bool  force_numerical_termination 
)

Definition at line 187 of file termination.cc.

◆ CheckNonNegative()

absl::Status operations_research::pdlp::CheckNonNegative ( const double  value,
const absl::string_view  name 
)

Definition at line 29 of file solvers_proto_validation.cc.

◆ CheckSimpleTerminationCriteria()

std::optional< TerminationReasonAndPointType > CheckSimpleTerminationCriteria ( const TerminationCriteria &  criteria,
const IterationStats &  stats,
const std::atomic< bool > *  interrupt_solve 
)

Definition at line 162 of file termination.cc.

◆ CloneVector() [1/2]

Eigen::VectorXd operations_research::pdlp::CloneVector ( const Eigen::VectorXd &  vec,
const Sharder sharder 
)

◆ CloneVector() [2/2]

VectorXd operations_research::pdlp::CloneVector ( const VectorXd &  vec,
const Sharder sharder 
)

Definition at line 205 of file sharder.cc.

◆ CoefficientWiseProductInPlace() [1/2]

void operations_research::pdlp::CoefficientWiseProductInPlace ( const Eigen::VectorXd &  scale,
const Sharder sharder,
Eigen::VectorXd &  dest 
)

◆ CoefficientWiseProductInPlace() [2/2]

void operations_research::pdlp::CoefficientWiseProductInPlace ( const VectorXd &  scale,
const Sharder sharder,
VectorXd &  dest 
)

Definition at line 211 of file sharder.cc.

◆ CoefficientWiseQuotientInPlace() [1/2]

void operations_research::pdlp::CoefficientWiseQuotientInPlace ( const Eigen::VectorXd &  scale,
const Sharder sharder,
Eigen::VectorXd &  dest 
)

◆ CoefficientWiseQuotientInPlace() [2/2]

void operations_research::pdlp::CoefficientWiseQuotientInPlace ( const VectorXd &  scale,
const Sharder sharder,
VectorXd &  dest 
)

Definition at line 218 of file sharder.cc.

◆ ComputeConvergenceInformation()

ConvergenceInformation ComputeConvergenceInformation ( const PrimalDualHybridGradientParams &  params,
const ShardedQuadraticProgram scaled_sharded_qp,
const Eigen::VectorXd &  col_scaling_vec,
const Eigen::VectorXd &  row_scaling_vec,
const Eigen::VectorXd &  scaled_primal_solution,
const Eigen::VectorXd &  scaled_dual_solution,
const double  componentwise_primal_residual_offset,
const double  componentwise_dual_residual_offset,
PointType  candidate_type 
)

Definition at line 349 of file iteration_stats.cc.

◆ ComputeDualGradient() [1/2]

LagrangianPart operations_research::pdlp::ComputeDualGradient ( const ShardedQuadraticProgram sharded_qp,
const Eigen::VectorXd &  dual_solution,
const Eigen::VectorXd &  primal_product 
)

◆ ComputeDualGradient() [2/2]

LagrangianPart operations_research::pdlp::ComputeDualGradient ( const ShardedQuadraticProgram sharded_qp,
const VectorXd &  dual_solution,
const VectorXd &  primal_product 
)

Definition at line 497 of file sharded_optimization_utils.cc.

◆ ComputeInfeasibilityInformation()

InfeasibilityInformation ComputeInfeasibilityInformation ( const PrimalDualHybridGradientParams &  params,
const ShardedQuadraticProgram scaled_sharded_qp,
const Eigen::VectorXd &  col_scaling_vec,
const Eigen::VectorXd &  row_scaling_vec,
const Eigen::VectorXd &  scaled_primal_ray,
const Eigen::VectorXd &  scaled_dual_ray,
PointType  candidate_type 
)

Definition at line 421 of file iteration_stats.cc.

◆ ComputeLocalizedLagrangianBounds() [1/2]

LocalizedLagrangianBounds operations_research::pdlp::ComputeLocalizedLagrangianBounds ( const ShardedQuadraticProgram sharded_qp,
const Eigen::VectorXd &  primal_solution,
const Eigen::VectorXd &  dual_solution,
PrimalDualNorm  primal_dual_norm,
double  primal_weight,
double  radius,
const Eigen::VectorXd *  primal_product,
const Eigen::VectorXd *  dual_product,
bool  use_diagonal_qp_trust_region_solver,
double  diagonal_qp_trust_region_solver_tolerance 
)

◆ ComputeLocalizedLagrangianBounds() [2/2]

LocalizedLagrangianBounds operations_research::pdlp::ComputeLocalizedLagrangianBounds ( const ShardedQuadraticProgram sharded_qp,
const VectorXd &  primal_solution,
const VectorXd &  dual_solution,
const PrimalDualNorm  primal_dual_norm,
const double  primal_weight,
const double  radius,
const VectorXd *  primal_product,
const VectorXd *  dual_product,
const bool  use_diagonal_qp_trust_region_solver,
const double  diagonal_qp_trust_region_solver_tolerance 
)

Definition at line 965 of file trust_region.cc.

◆ ComputePrimalGradient() [1/2]

LagrangianPart operations_research::pdlp::ComputePrimalGradient ( const ShardedQuadraticProgram sharded_qp,
const Eigen::VectorXd &  primal_solution,
const Eigen::VectorXd &  dual_product 
)

◆ ComputePrimalGradient() [2/2]

LagrangianPart operations_research::pdlp::ComputePrimalGradient ( const ShardedQuadraticProgram sharded_qp,
const VectorXd &  primal_solution,
const VectorXd &  dual_product 
)

Definition at line 441 of file sharded_optimization_utils.cc.

◆ ComputeRelativeResiduals()

RelativeConvergenceInformation ComputeRelativeResiduals ( const TerminationCriteria::DetailedOptimalityCriteria &  optimality_criteria,
const ConvergenceInformation &  stats,
const QuadraticProgramBoundNorms bound_norms 
)

Definition at line 240 of file termination.cc.

◆ ComputeScaledConvergenceInformation() [1/2]

ConvergenceInformation operations_research::pdlp::ComputeScaledConvergenceInformation ( const PrimalDualHybridGradientParams &  params,
const ShardedQuadraticProgram sharded_qp,
const Eigen::VectorXd &  primal_solution,
const Eigen::VectorXd &  dual_solution,
double  componentwise_primal_residual_offset,
double  componentwise_dual_residual_offset,
PointType  candidate_type 
)

◆ ComputeScaledConvergenceInformation() [2/2]

ConvergenceInformation operations_research::pdlp::ComputeScaledConvergenceInformation ( const PrimalDualHybridGradientParams &  params,
const ShardedQuadraticProgram sharded_qp,
const VectorXd &  primal_solution,
const VectorXd &  dual_solution,
const double  componentwise_primal_residual_offset,
const double  componentwise_dual_residual_offset,
PointType  candidate_type 
)

Definition at line 520 of file iteration_stats.cc.

◆ ComputeStats()

QuadraticProgramStats ComputeStats ( const ShardedQuadraticProgram qp,
const double  infinite_constraint_bound_threshold 
)

Definition at line 274 of file sharded_optimization_utils.cc.

◆ CorrelationClusteringLp()

QuadraticProgram CorrelationClusteringLp ( )

Definition at line 87 of file test_util.cc.

◆ CorrelationClusteringStarLp()

QuadraticProgram CorrelationClusteringStarLp ( )

Definition at line 108 of file test_util.cc.

◆ Distance() [1/2]

double operations_research::pdlp::Distance ( const Eigen::VectorXd &  vector1,
const Eigen::VectorXd &  vector2,
const Sharder sharder 
)

◆ Distance() [2/2]

double operations_research::pdlp::Distance ( const VectorXd &  vector1,
const VectorXd &  vector2,
const Sharder sharder 
)

Definition at line 259 of file sharder.cc.

◆ Dot() [1/2]

double operations_research::pdlp::Dot ( const Eigen::VectorXd &  v1,
const Eigen::VectorXd &  v2,
const Sharder sharder 
)

◆ Dot() [2/2]

double operations_research::pdlp::Dot ( const VectorXd &  v1,
const VectorXd &  v2,
const Sharder sharder 
)

Definition at line 225 of file sharder.cc.

◆ DualSubgradientCoefficient()

double DualSubgradientCoefficient ( const double  constraint_lower_bound,
const double  constraint_upper_bound,
const double  dual,
const double  primal_product 
)

Definition at line 471 of file sharded_optimization_utils.cc.

◆ EffectiveOptimalityCriteria() [1/2]

TerminationCriteria::DetailedOptimalityCriteria EffectiveOptimalityCriteria ( const TerminationCriteria &  termination_criteria)

Definition at line 127 of file termination.cc.

◆ EffectiveOptimalityCriteria() [2/2]

TerminationCriteria::DetailedOptimalityCriteria EffectiveOptimalityCriteria ( const TerminationCriteria::SimpleOptimalityCriteria &  simple_criteria)

Definition at line 144 of file termination.cc.

◆ EigenArrayAsSpan()

absl::Span<const Scalar> operations_research::pdlp::EigenArrayAsSpan ( const Eigen::Array< Scalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor > &  array)

Definition at line 287 of file test_util.h.

◆ EigenArrayEq() [1/2]

EigenArrayEqMatcherP<Eigen::Array<T, Eigen::Dynamic, Eigen::Dynamic> > operations_research::pdlp::EigenArrayEq ( absl::Span< const absl::Span< const T >>  rows)

Definition at line 385 of file test_util.h.

◆ EigenArrayEq() [2/2]

EigenArrayEqMatcherP<Eigen::Array<T, Eigen::Dynamic, 1> > operations_research::pdlp::EigenArrayEq ( absl::Span< const T >  data)

Definition at line 375 of file test_util.h.

◆ EigenArrayNear() [1/2]

EigenArrayNearMatcherP2<Eigen::Array<T, Eigen::Dynamic, Eigen::Dynamic>, double> operations_research::pdlp::EigenArrayNear ( absl::Span< const absl::Span< const T >>  rows,
double  tolerance 
)

Definition at line 370 of file test_util.h.

◆ EigenArrayNear() [2/2]

EigenArrayNearMatcherP2<Eigen::Array<T, Eigen::Dynamic, 1>, double> operations_research::pdlp::EigenArrayNear ( absl::Span< const T >  data,
double  tolerance 
)

Definition at line 361 of file test_util.h.

◆ EpsilonRatio()

double EpsilonRatio ( const double  epsilon_absolute,
const double  epsilon_relative 
)

Definition at line 231 of file termination.cc.

◆ EstimateMaximumSingularValueOfConstraintMatrix() [1/2]

SingularValueAndIterations operations_research::pdlp::EstimateMaximumSingularValueOfConstraintMatrix ( const ShardedQuadraticProgram sharded_qp,
const std::optional< Eigen::VectorXd > &  primal_solution,
const std::optional< Eigen::VectorXd > &  dual_solution,
double  desired_relative_error,
double  failure_probability,
std::mt19937 &  mt_generator 
)

◆ EstimateMaximumSingularValueOfConstraintMatrix() [2/2]

SingularValueAndIterations operations_research::pdlp::EstimateMaximumSingularValueOfConstraintMatrix ( const ShardedQuadraticProgram sharded_qp,
const std::optional< VectorXd > &  primal_solution,
const std::optional< VectorXd > &  dual_solution,
const double  desired_relative_error,
const double  failure_probability,
std::mt19937 &  mt_generator 
)

Definition at line 671 of file sharded_optimization_utils.cc.

◆ EvalAsColMajorEigenArray()

Eigen::Array<typename EigenType::Scalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor> operations_research::pdlp::EvalAsColMajorEigenArray ( const EigenType &  input)

Definition at line 281 of file test_util.h.

◆ FindScalingFactor()

double operations_research::pdlp::FindScalingFactor ( const DiagonalTrustRegionProblem problem,
const Sharder sharder,
const double  target_radius,
const double  solve_tol 
)

Definition at line 663 of file trust_region.cc.

◆ FloatArrayEq()

decltype(testing::Pointwise(internal::TupleFloatEq(), ContainerType())) operations_research::pdlp::FloatArrayEq ( const ContainerType &  container)

Definition at line 273 of file test_util.h.

◆ FloatArrayNear()

decltype(testing::Pointwise(internal::TupleIsNear(0.0), ContainerType())) operations_research::pdlp::FloatArrayNear ( const ContainerType &  container,
double  tolerance 
)

Definition at line 255 of file test_util.h.

◆ GetConvergenceInformation()

std::optional< ConvergenceInformation > GetConvergenceInformation ( const IterationStats &  stats,
PointType  candidate_type 
)

Definition at line 567 of file iteration_stats.cc.

◆ GetInfeasibilityInformation()

std::optional< InfeasibilityInformation > GetInfeasibilityInformation ( const IterationStats &  stats,
PointType  candidate_type 
)

Definition at line 577 of file iteration_stats.cc.

◆ GetPointMetadata()

std::optional< PointMetadata > GetPointMetadata ( const IterationStats &  stats,
const PointType  point_type 
)

Definition at line 588 of file iteration_stats.cc.

◆ HasValidBounds() [1/2]

bool HasValidBounds ( const QuadraticProgram qp)

Definition at line 82 of file quadratic_program.cc.

◆ HasValidBounds() [2/2]

bool HasValidBounds ( const ShardedQuadraticProgram sharded_qp)

Definition at line 696 of file sharded_optimization_utils.cc.

◆ IsLinearProgram()

bool operations_research::pdlp::IsLinearProgram ( const QuadraticProgram qp)
inline

Definition at line 149 of file quadratic_program.h.

◆ L1Norm() [1/2]

double operations_research::pdlp::L1Norm ( const Eigen::VectorXd &  vector,
const Sharder sharder 
)

◆ L1Norm() [2/2]

double operations_research::pdlp::L1Norm ( const VectorXd &  vector,
const Sharder sharder 
)

Definition at line 238 of file sharder.cc.

◆ L2NormRescaling() [1/2]

void operations_research::pdlp::L2NormRescaling ( const ShardedQuadraticProgram sharded_qp,
Eigen::VectorXd &  row_scaling_vec,
Eigen::VectorXd &  col_scaling_vec 
)

◆ L2NormRescaling() [2/2]

void operations_research::pdlp::L2NormRescaling ( const ShardedQuadraticProgram sharded_qp,
VectorXd &  row_scaling_vec,
VectorXd &  col_scaling_vec 
)

Definition at line 411 of file sharded_optimization_utils.cc.

◆ LInfNorm() [1/2]

double operations_research::pdlp::LInfNorm ( const Eigen::VectorXd &  vector,
const Sharder sharder 
)

◆ LInfNorm() [2/2]

double operations_research::pdlp::LInfNorm ( const VectorXd &  vector,
const Sharder sharder 
)

Definition at line 230 of file sharder.cc.

◆ LInfRuizRescaling() [1/2]

void operations_research::pdlp::LInfRuizRescaling ( const ShardedQuadraticProgram sharded_qp,
const int  num_iterations,
VectorXd &  row_scaling_vec,
VectorXd &  col_scaling_vec 
)

Definition at line 404 of file sharded_optimization_utils.cc.

◆ LInfRuizRescaling() [2/2]

void operations_research::pdlp::LInfRuizRescaling ( const ShardedQuadraticProgram sharded_qp,
int  num_iterations,
Eigen::VectorXd &  row_scaling_vec,
Eigen::VectorXd &  col_scaling_vec 
)

◆ LpWithoutConstraints()

QuadraticProgram LpWithoutConstraints ( )

Definition at line 262 of file test_util.cc.

◆ MATCHER_P()

operations_research::pdlp::MATCHER_P ( EigenArrayEq  ,
expected_array  ,
"array is almost equal to "+  testing::PrintToStringexpected_array 
)

Definition at line 329 of file test_util.h.

◆ MATCHER_P2()

operations_research::pdlp::MATCHER_P2 ( EigenArrayNear  ,
expected_array  ,
tolerance  ,
"array is near "+  testing::PrintToStringexpected_array)+" within tolerance "+testing::PrintToString(tolerance 
)

Definition at line 301 of file test_util.h.

◆ Norm() [1/2]

double operations_research::pdlp::Norm ( const Eigen::VectorXd &  vector,
const Sharder sharder 
)

◆ Norm() [2/2]

double operations_research::pdlp::Norm ( const VectorXd &  vector,
const Sharder sharder 
)

Definition at line 248 of file sharder.cc.

◆ NormOfDeltaProjection()

double operations_research::pdlp::NormOfDeltaProjection ( const DiagonalTrustRegionProblem problem,
const Sharder sharder,
const double  scaling_factor 
)

Definition at line 636 of file trust_region.cc.

◆ ObjectiveGapMet()

bool ObjectiveGapMet ( const TerminationCriteria::DetailedOptimalityCriteria &  optimality_criteria,
const ConvergenceInformation &  stats 
)

Definition at line 27 of file termination.cc.

◆ OnesVector()

Eigen::VectorXd OnesVector ( const Sharder sharder)

Definition at line 185 of file sharder.cc.

◆ operator==()

bool operations_research::pdlp::operator== ( const TerminationCriteria::DetailedOptimalityCriteria &  lhs,
const TerminationCriteria::DetailedOptimalityCriteria &  rhs 
)

Definition at line 28 of file termination_test.cc.

◆ OptimalityCriteriaMet()

bool OptimalityCriteriaMet ( const TerminationCriteria::DetailedOptimalityCriteria &  optimality_criteria,
const ConvergenceInformation &  stats,
const OptimalityNorm  optimality_norm,
const QuadraticProgramBoundNorms bound_norms 
)

Definition at line 44 of file termination.cc.

◆ PrimalDualHybridGradient() [1/4]

SolverResult operations_research::pdlp::PrimalDualHybridGradient ( QuadraticProgram  qp,
const PrimalDualHybridGradientParams &  params,
const std::atomic< bool > *  interrupt_solve,
IterationStatsCallback  iteration_stats_callback 
)

Definition at line 2302 of file primal_dual_hybrid_gradient.cc.

◆ PrimalDualHybridGradient() [2/4]

SolverResult operations_research::pdlp::PrimalDualHybridGradient ( QuadraticProgram  qp,
const PrimalDualHybridGradientParams &  params,
const std::atomic< bool > *  interrupt_solve = nullptr,
std::function< void(const IterationCallbackInfo &)>  iteration_stats_callback = nullptr 
)

◆ PrimalDualHybridGradient() [3/4]

SolverResult operations_research::pdlp::PrimalDualHybridGradient ( QuadraticProgram  qp,
const PrimalDualHybridGradientParams &  params,
std::optional< PrimalAndDualSolution initial_solution,
const std::atomic< bool > *  interrupt_solve,
IterationStatsCallback  iteration_stats_callback 
)

Definition at line 2311 of file primal_dual_hybrid_gradient.cc.

◆ PrimalDualHybridGradient() [4/4]

SolverResult operations_research::pdlp::PrimalDualHybridGradient ( QuadraticProgram  qp,
const PrimalDualHybridGradientParams &  params,
std::optional< PrimalAndDualSolution initial_solution,
const std::atomic< bool > *  interrupt_solve = nullptr,
std::function< void(const IterationCallbackInfo &)>  iteration_stats_callback = nullptr 
)

◆ ProjectedValueOfScaledDifference()

double operations_research::pdlp::ProjectedValueOfScaledDifference ( const DiagonalTrustRegionProblem problem,
const int64_t  index,
const double  scaling_factor 
)

Definition at line 616 of file trust_region.cc.

◆ ProjectToDualVariableBounds() [1/2]

void operations_research::pdlp::ProjectToDualVariableBounds ( const ShardedQuadraticProgram sharded_qp,
Eigen::VectorXd &  dual 
)

◆ ProjectToDualVariableBounds() [2/2]

void operations_research::pdlp::ProjectToDualVariableBounds ( const ShardedQuadraticProgram sharded_qp,
VectorXd &  dual 
)

Definition at line 727 of file sharded_optimization_utils.cc.

◆ ProjectToPrimalVariableBounds() [1/2]

void operations_research::pdlp::ProjectToPrimalVariableBounds ( const ShardedQuadraticProgram sharded_qp,
Eigen::VectorXd &  primal 
)

◆ ProjectToPrimalVariableBounds() [2/2]

void operations_research::pdlp::ProjectToPrimalVariableBounds ( const ShardedQuadraticProgram sharded_qp,
VectorXd &  primal 
)

Definition at line 716 of file sharded_optimization_utils.cc.

◆ QpFromMpModelProto()

absl::StatusOr< QuadraticProgram > QpFromMpModelProto ( const MPModelProto &  proto,
bool  relax_integer_variables,
bool  include_names 
)

Definition at line 92 of file quadratic_program.cc.

◆ QpToMpModelProto()

absl::StatusOr< MPModelProto > QpToMpModelProto ( const QuadraticProgram qp)

Definition at line 235 of file quadratic_program.cc.

◆ ReadMPModelProtoFileOrDie()

QuadraticProgram ReadMPModelProtoFileOrDie ( const std::string &  mpmodel_proto_file,
bool  include_names 
)

Definition at line 82 of file quadratic_program_io.cc.

◆ ReadMpsLinearProgramOrDie()

QuadraticProgram ReadMpsLinearProgramOrDie ( const std::string &  lp_file,
bool  include_names 
)

Definition at line 67 of file quadratic_program_io.cc.

◆ ReadQuadraticProgramOrDie()

QuadraticProgram ReadQuadraticProgramOrDie ( const std::string &  filename,
bool  include_names 
)

Definition at line 50 of file quadratic_program_io.cc.

◆ ReducedCosts() [1/2]

Eigen::VectorXd operations_research::pdlp::ReducedCosts ( const PrimalDualHybridGradientParams &  params,
const ShardedQuadraticProgram scaled_sharded_qp,
const Eigen::VectorXd &  primal_solution,
const Eigen::VectorXd &  dual_solution,
bool  use_zero_primal_objective = false 
)

◆ ReducedCosts() [2/2]

VectorXd operations_research::pdlp::ReducedCosts ( const PrimalDualHybridGradientParams &  params,
const ShardedQuadraticProgram sharded_qp,
const VectorXd &  primal_solution,
const VectorXd &  dual_solution,
bool  use_zero_primal_objective 
)

Definition at line 533 of file iteration_stats.cc.

◆ ScaledColL2Norm() [1/2]

Eigen::VectorXd operations_research::pdlp::ScaledColL2Norm ( const Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > &  matrix,
const Eigen::VectorXd &  row_scaling_vec,
const Eigen::VectorXd &  col_scaling_vec,
const Sharder sharder 
)

◆ ScaledColL2Norm() [2/2]

VectorXd operations_research::pdlp::ScaledColL2Norm ( const Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > &  matrix,
const VectorXd &  row_scaling_vec,
const VectorXd &  col_scaling_vec,
const Sharder sharder 
)

Definition at line 308 of file sharder.cc.

◆ ScaledColLInfNorm() [1/2]

Eigen::VectorXd operations_research::pdlp::ScaledColLInfNorm ( const Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > &  matrix,
const Eigen::VectorXd &  row_scaling_vec,
const Eigen::VectorXd &  col_scaling_vec,
const Sharder sharder 
)

◆ ScaledColLInfNorm() [2/2]

VectorXd operations_research::pdlp::ScaledColLInfNorm ( const Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > &  matrix,
const VectorXd &  row_scaling_vec,
const VectorXd &  col_scaling_vec,
const Sharder sharder 
)

Definition at line 286 of file sharder.cc.

◆ ScaledLInfNorm() [1/2]

double operations_research::pdlp::ScaledLInfNorm ( const Eigen::VectorXd &  vector,
const Eigen::VectorXd &  scale,
const Sharder sharder 
)

◆ ScaledLInfNorm() [2/2]

double operations_research::pdlp::ScaledLInfNorm ( const VectorXd &  vector,
const VectorXd &  scale,
const Sharder sharder 
)

Definition at line 264 of file sharder.cc.

◆ ScaledNorm() [1/2]

double operations_research::pdlp::ScaledNorm ( const Eigen::VectorXd &  vector,
const Eigen::VectorXd &  scale,
const Sharder sharder 
)

◆ ScaledNorm() [2/2]

double operations_research::pdlp::ScaledNorm ( const VectorXd &  vector,
const VectorXd &  scale,
const Sharder sharder 
)

Definition at line 281 of file sharder.cc.

◆ ScaledSquaredNorm() [1/2]

double operations_research::pdlp::ScaledSquaredNorm ( const Eigen::VectorXd &  vector,
const Eigen::VectorXd &  scale,
const Sharder sharder 
)

◆ ScaledSquaredNorm() [2/2]

double operations_research::pdlp::ScaledSquaredNorm ( const VectorXd &  vector,
const VectorXd &  scale,
const Sharder sharder 
)

Definition at line 274 of file sharder.cc.

◆ SetEigenMatrixFromTriplets()

void SetEigenMatrixFromTriplets ( std::vector< Eigen::Triplet< double, int64_t >>  triplets,
Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > &  matrix 
)

Definition at line 315 of file quadratic_program.cc.

◆ SetRandomProjections()

void SetRandomProjections ( const ShardedQuadraticProgram sharded_qp,
const Eigen::VectorXd &  primal_solution,
const Eigen::VectorXd &  dual_solution,
const std::vector< int > &  random_projection_seeds,
PointMetadata &  metadata 
)

Definition at line 598 of file iteration_stats.cc.

◆ SetZero() [1/2]

void operations_research::pdlp::SetZero ( const Sharder sharder,
Eigen::VectorXd &  dest 
)

◆ SetZero() [2/2]

void operations_research::pdlp::SetZero ( const Sharder sharder,
VectorXd &  dest 
)

Definition at line 173 of file sharder.cc.

◆ SmallDualInfeasibleLp()

QuadraticProgram SmallDualInfeasibleLp ( )

Definition at line 233 of file test_util.cc.

◆ SmallInconsistentVariableBoundsLp()

QuadraticProgram SmallInconsistentVariableBoundsLp ( )

Definition at line 204 of file test_util.cc.

◆ SmallInitializationLp()

QuadraticProgram SmallInitializationLp ( )

Definition at line 246 of file test_util.cc.

◆ SmallInvalidProblemLp()

QuadraticProgram SmallInvalidProblemLp ( )

Definition at line 191 of file test_util.cc.

◆ SmallPrimalDualInfeasibleLp()

QuadraticProgram SmallPrimalDualInfeasibleLp ( )

Definition at line 240 of file test_util.cc.

◆ SmallPrimalInfeasibleLp()

QuadraticProgram SmallPrimalInfeasibleLp ( )

Definition at line 217 of file test_util.cc.

◆ SolveDiagonalQpTrustRegion() [1/2]

TrustRegionResult operations_research::pdlp::SolveDiagonalQpTrustRegion ( const ShardedQuadraticProgram sharded_qp,
const Eigen::VectorXd &  primal_solution,
const Eigen::VectorXd &  dual_solution,
const Eigen::VectorXd &  primal_gradient,
const Eigen::VectorXd &  dual_gradient,
const double  primal_weight,
double  target_radius,
double  solve_tolerance 
)

◆ SolveDiagonalQpTrustRegion() [2/2]

TrustRegionResult operations_research::pdlp::SolveDiagonalQpTrustRegion ( const ShardedQuadraticProgram sharded_qp,
const VectorXd &  primal_solution,
const VectorXd &  dual_solution,
const VectorXd &  primal_gradient,
const VectorXd &  dual_gradient,
const double  primal_weight,
double  target_radius,
const double  solve_tolerance 
)

Definition at line 755 of file trust_region.cc.

◆ SolveDiagonalTrustRegion() [1/2]

TrustRegionResult operations_research::pdlp::SolveDiagonalTrustRegion ( const Eigen::VectorXd &  objective_vector,
const Eigen::VectorXd &  objective_matrix_diagonal,
const Eigen::VectorXd &  variable_lower_bounds,
const Eigen::VectorXd &  variable_upper_bounds,
const Eigen::VectorXd &  center_point,
const Eigen::VectorXd &  norm_weights,
double  target_radius,
const Sharder sharder,
double  solve_tolerance 
)

◆ SolveDiagonalTrustRegion() [2/2]

TrustRegionResult operations_research::pdlp::SolveDiagonalTrustRegion ( const VectorXd &  objective_vector,
const VectorXd &  objective_matrix_diagonal,
const VectorXd &  variable_lower_bounds,
const VectorXd &  variable_upper_bounds,
const VectorXd &  center_point,
const VectorXd &  norm_weights,
const double  target_radius,
const Sharder sharder,
const double  solve_tolerance 
)

Definition at line 742 of file trust_region.cc.

◆ SolveDiagonalTrustRegionProblem()

TrustRegionResult operations_research::pdlp::SolveDiagonalTrustRegionProblem ( const DiagonalTrustRegionProblem problem,
const Sharder sharder,
const double  target_radius,
const double  solve_tol 
)

Definition at line 694 of file trust_region.cc.

◆ SolveTrustRegion() [1/2]

TrustRegionResult operations_research::pdlp::SolveTrustRegion ( const Eigen::VectorXd &  objective_vector,
const Eigen::VectorXd &  variable_lower_bounds,
const Eigen::VectorXd &  variable_upper_bounds,
const Eigen::VectorXd &  center_point,
const Eigen::VectorXd &  norm_weights,
double  target_radius,
const Sharder sharder 
)

◆ SolveTrustRegion() [2/2]

TrustRegionResult operations_research::pdlp::SolveTrustRegion ( const VectorXd &  objective_vector,
const VectorXd &  variable_lower_bounds,
const VectorXd &  variable_upper_bounds,
const VectorXd &  center_point,
const VectorXd &  norm_weights,
const double  target_radius,
const Sharder sharder 
)

Definition at line 453 of file trust_region.cc.

◆ SquaredDistance() [1/2]

double operations_research::pdlp::SquaredDistance ( const Eigen::VectorXd &  vector1,
const Eigen::VectorXd &  vector2,
const Sharder sharder 
)

◆ SquaredDistance() [2/2]

double operations_research::pdlp::SquaredDistance ( const VectorXd &  vector1,
const VectorXd &  vector2,
const Sharder sharder 
)

Definition at line 252 of file sharder.cc.

◆ SquaredNorm() [1/2]

double operations_research::pdlp::SquaredNorm ( const Eigen::VectorXd &  vector,
const Sharder sharder 
)

◆ SquaredNorm() [2/2]

double operations_research::pdlp::SquaredNorm ( const VectorXd &  vector,
const Sharder sharder 
)

Definition at line 243 of file sharder.cc.

◆ TestDiagonalQp1()

QuadraticProgram TestDiagonalQp1 ( )

Definition at line 143 of file test_util.cc.

◆ TestDiagonalQp2()

QuadraticProgram TestDiagonalQp2 ( )

Definition at line 159 of file test_util.cc.

◆ TestDiagonalQp3()

QuadraticProgram TestDiagonalQp3 ( )

Definition at line 175 of file test_util.cc.

◆ TestLp()

QuadraticProgram TestLp ( )

Definition at line 33 of file test_util.cc.

◆ TinyLp()

QuadraticProgram TinyLp ( )

Definition at line 67 of file test_util.cc.

◆ ToDense()

Eigen::ArrayXXd ToDense ( const Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > &  sparse_mat)

Definition at line 285 of file test_util.cc.

◆ TransposedMatrixVectorProduct() [1/2]

Eigen::VectorXd operations_research::pdlp::TransposedMatrixVectorProduct ( const Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > &  matrix,
const Eigen::VectorXd &  vector,
const Sharder sharder 
)

◆ TransposedMatrixVectorProduct() [2/2]

VectorXd operations_research::pdlp::TransposedMatrixVectorProduct ( const Eigen::SparseMatrix< double, Eigen::ColMajor, int64_t > &  matrix,
const VectorXd &  vector,
const Sharder sharder 
)

Definition at line 158 of file sharder.cc.

◆ ValidateAdaptiveLinesearchParams()

absl::Status ValidateAdaptiveLinesearchParams ( const AdaptiveLinesearchParams &  params)

Definition at line 115 of file solvers_proto_validation.cc.

◆ ValidateMalitskyPockParams()

absl::Status ValidateMalitskyPockParams ( const MalitskyPockParams &  params)

Definition at line 133 of file solvers_proto_validation.cc.

◆ ValidatePrimalDualHybridGradientParams()

absl::Status ValidatePrimalDualHybridGradientParams ( const PrimalDualHybridGradientParams &  params)

Definition at line 159 of file solvers_proto_validation.cc.

◆ ValidateQuadraticProgramDimensions()

absl::Status ValidateQuadraticProgramDimensions ( const QuadraticProgram qp)

Definition at line 37 of file quadratic_program.cc.

◆ ValidateTerminationCriteria()

absl::Status ValidateTerminationCriteria ( const TerminationCriteria &  criteria)

Definition at line 40 of file solvers_proto_validation.cc.

◆ VerifyTestDiagonalQp1()

void VerifyTestDiagonalQp1 ( const QuadraticProgram qp,
bool  maximize 
)

Definition at line 270 of file test_util.cc.

◆ VerifyTestLp()

void VerifyTestLp ( const QuadraticProgram qp,
bool  maximize 
)

Definition at line 49 of file test_util.cc.

◆ WriteLinearProgramToMps()

absl::Status WriteLinearProgramToMps ( const QuadraticProgram linear_program,
const std::string &  mps_file 
)

Definition at line 92 of file quadratic_program_io.cc.

◆ WriteQuadraticProgramToMPModelProto()

absl::Status WriteQuadraticProgramToMPModelProto ( const QuadraticProgram quadratic_program,
const std::string &  mpmodel_proto_file 
)

Definition at line 107 of file quadratic_program_io.cc.

◆ ZeroVector()

Eigen::VectorXd ZeroVector ( const Sharder sharder)

Definition at line 179 of file sharder.cc.

Variable Documentation

◆ kInfinity

constexpr double kInfinity = std::numeric_limits<double>::infinity()
constexpr

Definition at line 37 of file sharded_optimization_utils.cc.