14#ifndef PDLP_ITERATION_STATS_H_
15#define PDLP_ITERATION_STATS_H_
35 const Eigen::VectorXd& dual_solution,
36 double componentwise_primal_residual_offset,
37 double componentwise_dual_residual_offset,
PointType candidate_type);
54 const Eigen::VectorXd& col_scaling_vec,
55 const Eigen::VectorXd& row_scaling_vec,
56 const Eigen::VectorXd& scaled_primal_solution,
57 const Eigen::VectorXd& scaled_dual_solution,
58 double componentwise_primal_residual_offset,
59 double componentwise_dual_residual_offset,
PointType candidate_type);
74 const Eigen::VectorXd& col_scaling_vec,
75 const Eigen::VectorXd& row_scaling_vec,
76 const Eigen::VectorXd& scaled_primal_ray,
77 const Eigen::VectorXd& scaled_dual_ray,
78 const Eigen::VectorXd& primal_solution_for_residual_tests,
89 const Eigen::VectorXd& dual_solution,
90 bool use_zero_primal_objective =
false);
113 const Eigen::VectorXd& dual_solution,
114 const std::vector<int>& random_projection_seeds,
Validation utilities for solvers.proto.
InfeasibilityInformation ComputeInfeasibilityInformation(const PrimalDualHybridGradientParams ¶ms, 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, const Eigen::VectorXd &primal_solution_for_residual_tests, PointType candidate_type)
std::optional< ConvergenceInformation > GetConvergenceInformation(const IterationStats &stats, PointType candidate_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)
VectorXd ReducedCosts(const PrimalDualHybridGradientParams ¶ms, const ShardedQuadraticProgram &sharded_qp, const VectorXd &primal_solution, const VectorXd &dual_solution, bool use_zero_primal_objective)
std::optional< InfeasibilityInformation > GetInfeasibilityInformation(const IterationStats &stats, PointType candidate_type)
std::optional< PointMetadata > GetPointMetadata(const IterationStats &stats, const PointType point_type)
ConvergenceInformation ComputeScaledConvergenceInformation(const PrimalDualHybridGradientParams ¶ms, 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)
ConvergenceInformation ComputeConvergenceInformation(const PrimalDualHybridGradientParams ¶ms, 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)