9 #include <eigen-quadprog/QuadProg.h>
16 class QuadprogLSSolverFactory;
49 virtual const Eigen::VectorXd &
result_()
const override;
66 using VectorXdSeg = decltype(Eigen::VectorXd().segment(0, 1));
67 using MatrixXdRows = decltype(Eigen::MatrixXd().middleRows(0, 1));
81 Eigen::QuadProgDense qpd_;
82 Eigen::HouseholderQR<Eigen::MatrixXd> qr_;
85 bool underspecifiedObj_;
92 double choleskyDamping_;
102 std::unique_ptr<abstract::LSSolverFactory>
clone()
const override;
107 std::unique_ptr<abstract::LeastSquareSolver>
createSolver()
const override;
#define TVM_ADD_NON_DEFAULT_OPTION(optionName, defaultValue)
Definition: Option.h:30
#define TVM_DLLAPI
Definition: api.h:35
Definition: LinearConstraint.h:56
Definition: AssignmentTarget.h:37
Definition: QuadprogLeastSquareSolver.h:100
QuadprogLSSolverFactory(const QuadprogLSSolverOptions &options={})
std::unique_ptr< abstract::LSSolverFactory > clone() const override
std::unique_ptr< abstract::LeastSquareSolver > createSolver() const override
Definition: QuadprogLeastSquareSolver.h:20
Definition: QuadprogLeastSquareSolver.h:33
void postAssignmentProcess_() override
void preAssignmentProcess_() override
void updateObjectiveTargetData(scheme::internal::AssignmentTarget &target) override
void initializeBuild_(int nObj, int nEq, int nIneq, bool useBounds) override
void applyImpactLogic(ImpactFromChanges &impact) override
void removeBounds_(const Range &range) override
Range nextInequalityConstraintRange_(const constraint::abstract::LinearConstraint &cstr) const override
Range nextObjectiveRange_(const constraint::abstract::LinearConstraint &cstr) const override
void addEqualityConstraint_(LinearConstraintPtr cstr) override
void updateBoundTargetData(scheme::internal::AssignmentTarget &target) override
void printProblemData_() const override
void addBound_(LinearConstraintPtr bound, RangePtr range, bool first) override
QuadprogLeastSquareSolver(const QuadprogLSSolverOptions &options={})
ImpactFromChanges resize_(int nObj, int nEq, int nIneq, bool useBounds) override
void addObjective_(LinearConstraintPtr cstr, SolvingRequirementsPtr req, double additionalWeight) override
void updateInequalityTargetData(scheme::internal::AssignmentTarget &target) override
virtual const Eigen::VectorXd & result_() const override
void resetBounds_() override
void updateEqualityTargetData(scheme::internal::AssignmentTarget &target) override
void setMinimumNorm_() override
void addIneqalityConstraint_(LinearConstraintPtr cstr) override
bool handleDoubleSidedConstraint_() const override
Definition: QuadprogLeastSquareSolver.h:50
Range nextEqualityConstraintRange_(const constraint::abstract::LinearConstraint &cstr) const override
void printDiagnostic_() const override
Definition: LeastSquareSolver.h:220
Definition: LeastSquareSolver.h:37
std::shared_ptr< constraint::abstract::LinearConstraint > LinearConstraintPtr
Definition: defs.h:59
std::shared_ptr< Range > RangePtr
Definition: defs.h:61
std::shared_ptr< requirements::SolvingRequirementsWithCallbacks > SolvingRequirementsPtr
Definition: defs.h:63
Definition: LeastSquareSolver.h:111