14#ifndef PDLP_PRIMAL_DUAL_HYBRID_GRADIENT_H_
15#define PDLP_PRIMAL_DUAL_HYBRID_GRADIENT_H_
21#include "absl/status/statusor.h"
22#include "absl/types/optional.h"
23#include "ortools/linear_solver/linear_solver.pb.h"
26#include "ortools/pdlp/solve_log.pb.h"
27#include "ortools/pdlp/solvers.pb.h"
123 const std::atomic<bool>* interrupt_solve =
nullptr,
134 absl::optional<PrimalAndDualSolution> initial_solution,
135 const std::atomic<bool>* interrupt_solve =
nullptr,
glop::ProblemSolution ComputeStatuses(const QuadraticProgram &qp, const PrimalAndDualSolution &solution)
SolverResult PrimalDualHybridGradient(QuadraticProgram qp, const PrimalDualHybridGradientParams ¶ms, const std::atomic< bool > *interrupt_solve, IterationStatsCallback iteration_stats_callback)
IterationStats iteration_stats
TerminationCriteria termination_criteria
QuadraticProgramBoundNorms bound_norms
Eigen::VectorXd dual_solution
Eigen::VectorXd primal_solution
Eigen::VectorXd dual_solution
Eigen::VectorXd reduced_costs
Eigen::VectorXd primal_solution