fix comments
parent
8de7dbe3fd
commit
9b95e18d2a
|
@ -25,7 +25,7 @@
|
||||||
namespace gtsam {
|
namespace gtsam {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class implementations the active set algorithm for solving convex
|
* This class implements the active set algorithm for solving convex
|
||||||
* Programming problems.
|
* Programming problems.
|
||||||
*
|
*
|
||||||
* @tparam PROBLEM Type of the problem to solve, e.g. LP (linear program) or
|
* @tparam PROBLEM Type of the problem to solve, e.g. LP (linear program) or
|
||||||
|
@ -36,18 +36,15 @@ namespace gtsam {
|
||||||
template <class PROBLEM, class POLICY, class INITSOLVER>
|
template <class PROBLEM, class POLICY, class INITSOLVER>
|
||||||
class ActiveSetSolver {
|
class ActiveSetSolver {
|
||||||
public:
|
public:
|
||||||
/**
|
/// This struct contains the state information for a single iteration
|
||||||
* This struct contains the state information for a single iteration of an
|
|
||||||
* active set method iteration.
|
|
||||||
*/
|
|
||||||
struct State {
|
struct State {
|
||||||
VectorValues values; //!< current best values at each step
|
VectorValues values; //!< current best values at each step
|
||||||
VectorValues duals; //!< current values of dual variables at each step
|
VectorValues duals; //!< current values of dual variables at each step
|
||||||
InequalityFactorGraph workingSet; /*!< keep track of current active/inactive
|
InequalityFactorGraph workingSet; /*!< keep track of current active/inactive
|
||||||
inequality constraints */
|
inequality constraints */
|
||||||
bool converged; //!< True if the algorithm has converged to a solution
|
bool converged; //!< True if the algorithm has converged to a solution
|
||||||
size_t iterations; //!< number of iterations. Incremented at the end of
|
size_t iterations; /*!< Number of iterations. Incremented at the end of
|
||||||
//each iter.
|
each iteration. */
|
||||||
|
|
||||||
/// Default constructor
|
/// Default constructor
|
||||||
State()
|
State()
|
||||||
|
|
|
@ -75,7 +75,7 @@ private:
|
||||||
double compute_y0(const VectorValues& x0) const;
|
double compute_y0(const VectorValues& x0) const;
|
||||||
|
|
||||||
/// Collect all terms of a factor into a container.
|
/// Collect all terms of a factor into a container.
|
||||||
std::vector<std::pair<Key, Matrix> > collectTerms(
|
std::vector<std::pair<Key, Matrix>> collectTerms(
|
||||||
const LinearInequality& factor) const;
|
const LinearInequality& factor) const;
|
||||||
|
|
||||||
/// Turn Cx <= d into Cx - y <= d factors
|
/// Turn Cx <= d into Cx - y <= d factors
|
||||||
|
|
|
@ -28,7 +28,8 @@ namespace gtsam {
|
||||||
|
|
||||||
/// Policy for ActivetSetSolver to solve Linear Programming \sa LP problems
|
/// Policy for ActivetSetSolver to solve Linear Programming \sa LP problems
|
||||||
struct LPPolicy {
|
struct LPPolicy {
|
||||||
/// Maximum alpha for line search. For LP, it's infinity
|
/// Maximum alpha for line search x'=xk + alpha*p, where p is the cost gradient
|
||||||
|
/// For LP, maxAlpha = Infinity
|
||||||
static constexpr double maxAlpha = std::numeric_limits<double>::infinity();
|
static constexpr double maxAlpha = std::numeric_limits<double>::infinity();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -27,7 +27,8 @@ namespace gtsam {
|
||||||
|
|
||||||
/// Policy for ActivetSetSolver to solve Linear Programming \sa QP problems
|
/// Policy for ActivetSetSolver to solve Linear Programming \sa QP problems
|
||||||
struct QPPolicy {
|
struct QPPolicy {
|
||||||
/// Maximum alpha for line search. For QP, it's 1
|
/// Maximum alpha for line search x'=xk + alpha*p, where p is the cost gradient
|
||||||
|
/// For QP, maxAlpha = 1 is the minimum point of the quadratic cost
|
||||||
static constexpr double maxAlpha = 1.0;
|
static constexpr double maxAlpha = 1.0;
|
||||||
|
|
||||||
/// Simply the cost of the QP problem
|
/// Simply the cost of the QP problem
|
||||||
|
|
Loading…
Reference in New Issue