gtsam 4.2
gtsam
Loading...
Searching...
No Matches
QPSolver.h
Go to the documentation of this file.
1/* ----------------------------------------------------------------------------
2
3 * GTSAM Copyright 2010, Georgia Tech Research Corporation,
4 * Atlanta, Georgia 30332-0415
5 * All Rights Reserved
6 * Authors: Frank Dellaert, et al. (see THANKS for the full author list)
7
8 * See LICENSE for the license information
9
10 * -------------------------------------------------------------------------- */
11
19
20#pragma once
21
25#include <limits>
26#include <algorithm>
27
28namespace gtsam {
29
31struct QPPolicy {
34 static constexpr double maxAlpha = 1.0;
35
38 const VectorValues& xk = VectorValues()) {
39 GaussianFactorGraph no_constant_factor;
40 for (auto factor : qp.cost) {
41 HessianFactor hf = static_cast<HessianFactor>(*factor);
42 no_constant_factor.push_back(hf);
43 }
44 return no_constant_factor;
45 }
46};
47
48using QPSolver = ActiveSetSolver<QP, QPPolicy, QPInitSolver>;
49
50}
This finds a feasible solution for a QP problem.
Active set method for solving LP, QP problems.
Factor graphs of a Quadratic Programming problem.
Global functions in a separate testing namespace.
Definition chartTesting.h:28
IsDerived< DERIVEDFACTOR > push_back(boost::shared_ptr< DERIVEDFACTOR > factor)
Add a factor directly using a shared_ptr.
Definition FactorGraph.h:186
A Linear Factor Graph is a factor graph where all factors are Gaussian, i.e.
Definition GaussianFactorGraph.h:75
A Gaussian factor using the canonical parameters (information form).
Definition HessianFactor.h:101
VectorValues represents a collection of vector-valued variables associated each with a unique integer...
Definition VectorValues.h:74
Struct contains factor graphs of a Quadratic Programming problem.
Definition QP.h:31
GaussianFactorGraph cost
Quadratic cost factors.
Definition QP.h:32
Policy for ActivetSetSolver to solve Linear Programming.
Definition QPSolver.h:31
static constexpr double maxAlpha
Maximum alpha for line search x'=xk + alpha*p, where p is the cost gradient For QP,...
Definition QPSolver.h:34
static const GaussianFactorGraph buildCostFunction(const QP &qp, const VectorValues &xk=VectorValues())
Simply the cost of the QP problem.
Definition QPSolver.h:37