35 static constexpr
double maxAlpha = std::numeric_limits<double>::infinity();
55 Vector b = xk.
at(*it) - lp.
cost.
getA(it).transpose();
65 if (lp.
cost.
keys().size() != allKeys.size()) {
67 std::set_difference(allKeys.begin(), allKeys.end(), lp.
cost.
begin(),
69 std::inserter(difference, difference.end()));
70 for (
Key k : difference) {
71 size_t dim = lp.constrainedKeyDimMap().at(k);
EqualityFactorGraph equalities
Linear equality constraints: cE(x) = 0.
Definition: LP.h:55
KeySet keys() const
Definition: FactorGraph-inst.h:85
InequalityFactorGraph inequalities
Linear inequality constraints: cI(x) <= 0.
Definition: LP.h:56
IsDerived< DERIVEDFACTOR > emplace_shared(Args &&... args)
Emplace a shared pointer to factor of given type.
Definition: FactorGraph.h:196
static constexpr double maxAlpha
Definition: LPSolver.h:35
Active set method for solving LP, QP problems.
void merge(const FastSet &other)
Definition: FastSet.h:121
Vector & at(Key j)
Definition: VectorValues.h:139
Definition: VectorValues.h:74
const_iterator end() const
Definition: Factor.h:148
Policy for ActivetSetSolver to solve Linear Programming.
Definition: LPSolver.h:32
LinearCost cost
Linear cost factor.
Definition: LP.h:54
DenseIndex getDim(const_iterator variable) const override
Definition: JacobianFactor.h:277
Definition: JacobianFactor.h:91
static GaussianFactorGraph buildCostFunction(const LP &lp, const VectorValues &xk)
Definition: LPSolver.h:49
Definition: chartTesting.h:28
Struct used to hold a Linear Programming Problem.
const KeyVector & keys() const
Access the factor's involved variable keys.
Definition: Factor.h:142
Definition: ActiveSetSolver.h:36
KeyVector::const_iterator const_iterator
Const iterator over keys.
Definition: Factor.h:82
const_iterator begin() const
Definition: Factor.h:145
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:102
Definition: GaussianFactorGraph.h:73
constABlock getA(const_iterator variable) const
Definition: JacobianFactor.h:301
This LPInitSolver implements the strategy in Matlab.