#include <trust_region.h>
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.
◆ 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 |
◆ CenterPoint()
double operations_research::pdlp::internal::DualTrustRegionProblem::CenterPoint |
( |
int64_t | index | ) |
const |
|
inline |
◆ LowerBound()
double operations_research::pdlp::internal::DualTrustRegionProblem::LowerBound |
( |
int64_t | index | ) |
const |
|
inline |
◆ NormWeight()
double operations_research::pdlp::internal::DualTrustRegionProblem::NormWeight |
( |
int64_t | index | ) |
const |
|
inline |
◆ 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 |
The documentation for this class was generated from the following file: