Google OR-Tools v9.9
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::pdlp::internal::DualTrustRegionProblem Class Reference

#include <trust_region.h>

Public Member Functions

 DualTrustRegionProblem (const QuadraticProgram *qp, const Eigen::VectorXd *dual_solution, const Eigen::VectorXd *dual_gradient, const double norm_weight=1.0)
 
double Objective (int64_t index) const
 
double LowerBound (int64_t index) const
 
double UpperBound (int64_t index) const
 
double CenterPoint (int64_t index) const
 
double NormWeight (int64_t index) const
 

Detailed Description

DualTrustRegionProblem defines the dual trust region problem given a QuadraticProgram, dual_solution, and dual_gradient. It captures const references to the constructor arguments, which should outlive the class instance. The corresponding trust region problem is max_y dual_gradient^T * (y - dual_solution) s.t. qp.implicit_dual_lower_bounds <= y <= qp.implicit_dual_upper_bounds || y - dual_solution ||_2 <= target_radius where the implicit dual bounds are those given in https://developers.google.com/optimization/lp/pdlp_math#dual_variable_bounds

Definition at line 384 of file trust_region.h.

Constructor & Destructor Documentation

◆ DualTrustRegionProblem()

operations_research::pdlp::internal::DualTrustRegionProblem::DualTrustRegionProblem ( const QuadraticProgram * qp,
const Eigen::VectorXd * dual_solution,
const Eigen::VectorXd * dual_gradient,
const double norm_weight = 1.0 )
inline

Definition at line 386 of file trust_region.h.

Member Function Documentation

◆ CenterPoint()

double operations_research::pdlp::internal::DualTrustRegionProblem::CenterPoint ( int64_t index) const
inline

Definition at line 409 of file trust_region.h.

◆ LowerBound()

double operations_research::pdlp::internal::DualTrustRegionProblem::LowerBound ( int64_t index) const
inline

Definition at line 399 of file trust_region.h.

◆ NormWeight()

double operations_research::pdlp::internal::DualTrustRegionProblem::NormWeight ( int64_t index) const
inline

Definition at line 410 of file trust_region.h.

◆ Objective()

double operations_research::pdlp::internal::DualTrustRegionProblem::Objective ( int64_t index) const
inline

The objective is negated because the trust region problem objective is minimize, but for the dual problem we want to maximize the gradient.

Definition at line 394 of file trust_region.h.

◆ UpperBound()

double operations_research::pdlp::internal::DualTrustRegionProblem::UpperBound ( int64_t index) const
inline

Definition at line 404 of file trust_region.h.


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