14auto make_inner_lbfgsb_solver(
Options &opts) {
16 InnerLBFGSBSolver::Params solver_param;
17 solver_param.max_iter = 50'000;
18 solver_param.print_interval = 0;
21 return InnerLBFGSBSolver{solver_param};
28 if (!direction.empty())
29 throw std::invalid_argument(
30 "L-BFGS-B solver does not support any directions");
31 auto inner_solver = make_inner_lbfgsb_solver(opts);
35 return [solver{std::move(solver)},
38 static std::atomic<
decltype(solver) *> solver_to_stop;
39 auto cancel = attach_cancellation<solver_to_stop>(solver);
SolverResults run_alm_solver(LoadedProblem &problem, Solver &solver, std::ostream &os, unsigned N_exp)
auto make_alm_solver(InnerSolver &&inner_solver, Options &opts)
Augmented Lagrangian Method solver.
#define USING_ALPAQA_CONFIG(Conf)
solver_func_t make_lbfgsb_driver(std::string_view direction, Options &opts)
@ ProjGradUnitNorm
∞-norm of the projected gradient with unit step size:
decltype(auto) set_params(T &t, std::string_view prefix, Options &opts)
std::function< solver_free_func_t > solver_func_t