4#include <polysolve/nonlinear/Solver.hpp>
21 const std::vector<std::shared_ptr<AugmentedLagrangianForm>> &alagr_form,
29 void solve_al(std::shared_ptr<NLSolver> nl_solver,
NLProblem &nl_problem, Eigen::MatrixXd &sol);
37 std::vector<std::shared_ptr<AugmentedLagrangianForm>>
alagr_forms;
const double max_al_weight
std::vector< std::shared_ptr< AugmentedLagrangianForm > > alagr_forms
polysolve::nonlinear::Solver NLSolver
void set_al_weight(NLProblem &nl_problem, const Eigen::VectorXd &x, const double weight)
std::function< void(const Eigen::VectorXd &)> update_barrier_stiffness
std::function< void(const double)> post_subsolve
const double initial_al_weight
void solve_reduced(std::shared_ptr< NLSolver > nl_solver, NLProblem &nl_problem, Eigen::MatrixXd &sol)
void solve_al(std::shared_ptr< NLSolver > nl_solver, NLProblem &nl_problem, Eigen::MatrixXd &sol)
virtual ~ALSolver()=default