35 static constexpr
double maxAlpha = std::numeric_limits<double>::infinity();
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) {
EqualityFactorGraph equalities
Linear equality constraints: cE(x) = 0.
InequalityFactorGraph inequalities
Linear inequality constraints: cI(x) <= 0.
IsDerived< DERIVEDFACTOR > emplace_shared(Args &&... args)
Emplace a shared pointer to factor of given type.
static constexpr double maxAlpha
Active set method for solving LP, QP problems.
void merge(const FastSet &other)
NonlinearFactorGraph graph
const_iterator end() const
Policy for ActivetSetSolver to solve Linear Programming.
LinearCost cost
Linear cost factor.
DenseIndex getDim(const_iterator variable) const override
static GaussianFactorGraph buildCostFunction(const LP &lp, const VectorValues &xk)
Struct used to hold a Linear Programming Problem.
const KeyVector & keys() const
Access the factor's involved variable keys.
const KeyDimMap & constrainedKeyDimMap() const
KeyVector::const_iterator const_iterator
Const iterator over keys.
const_iterator begin() const
std::uint64_t Key
Integer nonlinear key type.
constABlock getA(const_iterator variable) const
This finds a feasible solution for an LP problem.