GTSAM  4.0.2
C++ library for smoothing and mapping (SAM)
Static Public Member Functions | Static Public Attributes | List of all members
gtsam::LPPolicy Struct Reference

Policy for ActivetSetSolver to solve Linear Programming. More...

#include <LPSolver.h>

Static Public Member Functions

static GaussianFactorGraph buildCostFunction (const LP &lp, const VectorValues &xk)
 

Static Public Attributes

static constexpr double maxAlpha = std::numeric_limits<double>::infinity()
 

Detailed Description

Policy for ActivetSetSolver to solve Linear Programming.

See also
LP problems

Member Function Documentation

◆ buildCostFunction()

static GaussianFactorGraph gtsam::LPPolicy::buildCostFunction ( const LP lp,
const VectorValues xk 
)
inlinestatic

Create the factor ||x-xk - (-g)||^2 where xk is the current feasible solution on the constraint surface and g is the gradient of the linear cost, i.e. -g is the direction we wish to follow to decrease the cost.

Essentially, we try to match the direction d = x-xk with -g as much as possible subject to the condition that x needs to be on the constraint surface, i.e., d is along the surface's subspace.

The least-square solution of this quadratic subject to a set of linear constraints is the projection of the gradient onto the constraints' subspace

Member Data Documentation

◆ maxAlpha

constexpr double gtsam::LPPolicy::maxAlpha = std::numeric_limits<double>::infinity()
static

Maximum alpha for line search x'=xk + alpha*p, where p is the cost gradient For LP, maxAlpha = Infinity


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