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