8 #include <lexls/lexlsi.h>
12 class LexLSHLSSolverFactory;
36 void initializeBuild_(
const std::vector<int> & nEq,
const std::vector<int> & nIneq,
bool useBounds)
override;
46 const Eigen::VectorXd &
result_()
const override;
62 Eigen::MatrixXd boundData_;
63 std::vector<Eigen::MatrixXd> data_;
67 std::vector<MatrixRef> A_;
68 std::vector<VectorRef> l_;
69 std::vector<VectorRef> u_;
71 std::vector<LexLS::Index> varIndex_;
75 std::vector<LexLS::ConstraintIdentifier> act_;
77 LexLS::internal::LexLSI solver_;
81 bool feasibleFirstLevel_;
93 std::unique_ptr<abstract::HLSSolverFactory>
clone()
const override;
94 std::unique_ptr<abstract::HierarchicalLeastSquareSolver>
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: LexLSHierarchicalLeastSquareSolver.h:88
LexLSHLSSolverFactory(const LexLSHLSSolverOptions &options={})
std::unique_ptr< abstract::HierarchicalLeastSquareSolver > createSolver() const override
std::unique_ptr< abstract::HLSSolverFactory > clone() const override
Definition: LexLSHierarchicalLeastSquareSolver.h:16
Definition: LexLSHierarchicalLeastSquareSolver.h:31
void addIneqalityConstraint_(LinearConstraintPtr cstr, SolvingRequirementsPtr req) override
Range nextInequalityConstraintRange_(int lvl, const constraint::abstract::LinearConstraint &cstr) const override
const Eigen::VectorXd & result_() const override
void postAssignmentProcess_() override
bool handleDoubleSidedConstraint_() const override
Definition: LexLSHierarchicalLeastSquareSolver.h:47
void updateInequalityTargetData(int lvl, scheme::internal::AssignmentTarget &target) override
void printProblemData_() const override
Range nextEqualityConstraintRange_(int lvl, const constraint::abstract::LinearConstraint &cstr) const override
void printDiagnostic_() const override
void resetBounds_() override
LexLSHierarchicalLeastSquareSolver(const LexLSHLSSolverOptions &options={})
void applyImpactLogic(ImpactFromChanges &impact)
void preAssignmentProcess_() override
void removeBounds_(const Range &range) override
void setMinimumNorm_() override
void addEqualityConstraint_(LinearConstraintPtr cstr, SolvingRequirementsPtr req) override
void updateEqualityTargetData(int lvl, scheme::internal::AssignmentTarget &target) override
void initializeBuild_(const std::vector< int > &nEq, const std::vector< int > &nIneq, bool useBounds) override
void addBound_(LinearConstraintPtr bound, RangePtr range, bool first) override
ImpactFromChanges resize_(const std::vector< int > &nEq, const std::vector< int > &nIneq, bool useBounds) override
void updateBoundTargetData(scheme::internal::AssignmentTarget &target) override
Definition: LexLSSolverOptions.h:18
Definition: HierarchicalLeastSquareSolver.h:215
Definition: HierarchicalLeastSquareSolver.h:35
Definition: HierarchicalLeastSquareSolver.h:18
Eigen::Ref< Eigen::VectorXd > VectorRef
Definition: defs.h:51
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: HierarchicalLeastSquareSolver.h:103