34 objective_object(nullptr),
35 gradient_object(nullptr),
36 hessian_object(nullptr),
37 equality_constraints_object(nullptr),
38 equality_constraints_jacobian_object(nullptr),
39 inequality_constraints_object(nullptr),
40 inequality_constraints_jacobian_object(nullptr),
41 lower_and_upper_bounds_object(nullptr),
42 max_objective_function_evaluations(500),
43 objective_function_relative_tolerance(1.e-4),
61 std::unique_ptr<OptimizationSolver<T>>
68 switch (solver_package)
71 #if defined(LIBMESH_HAVE_PETSC_TAO) && !defined(LIBMESH_USE_COMPLEX_NUMBERS) 73 return libmesh_make_unique<TaoOptimizationSolver<T>>(s);
74 #endif // #if defined(LIBMESH_HAVE_PETSC_TAO) && !defined(LIBMESH_USE_COMPLEX_NUMBERS) 76 #if defined(LIBMESH_HAVE_NLOPT) && !defined(LIBMESH_USE_COMPLEX_NUMBERS) 78 return libmesh_make_unique<NloptOptimizationSolver<T>>(s);
79 #endif // #if defined(LIBMESH_HAVE_NLOPT) && !defined(LIBMESH_USE_COMPLEX_NUMBERS) 82 libmesh_error_msg(
"ERROR: Unrecognized solver package: " << solver_package);
virtual ~OptimizationSolver()
static std::unique_ptr< OptimizationSolver< T > > build(sys_type &s, const SolverPackage solver_package=libMesh::default_solver_package())
void libmesh_ignore(const Args &...)
An object whose state is distributed along a set of processors.
OptimizationSolver(sys_type &s)