20 #ifndef LIBMESH_OPTIMIZATION_SOLVER_H 21 #define LIBMESH_OPTIMIZATION_SOLVER_H 31 #ifdef LIBMESH_FORWARD_DECLARE_ENUMS 48 template <
typename T>
class SparseMatrix;
49 template <
typename T>
class NumericVector;
50 template <
typename T>
class Preconditioner;
85 static std::unique_ptr<OptimizationSolver<T>>
build(
sys_type & s,
102 virtual void init () = 0;
107 virtual void solve () = 0;
115 { libmesh_not_implemented(); }
223 #endif // LIBMESH_OPTIMIZATION_SOLVER_H
OptimizationSystem::ComputeObjective * objective_object
virtual ~OptimizationSolver()
virtual void print_converged_reason()
static std::unique_ptr< OptimizationSolver< T > > build(sys_type &s, const SolverPackage solver_package=libMesh::default_solver_package())
Real objective_function_relative_tolerance
OptimizationSystem::ComputeGradient * gradient_object
OptimizationSystem::ComputeHessian * hessian_object
OptimizationSystem::ComputeInequalityConstraints * inequality_constraints_object
SolverPackage default_solver_package()
virtual void get_dual_variables()
OptimizationSystem::ComputeEqualityConstraintsJacobian * equality_constraints_jacobian_object
unsigned int max_objective_function_evaluations
virtual int get_converged_reason()
An object whose state is distributed along a set of processors.
OptimizationSolver(sys_type &s)
const sys_type & system() const
OptimizationSystem::ComputeLowerAndUpperBounds * lower_and_upper_bounds_object
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
OptimizationSystem::ComputeInequalityConstraintsJacobian * inequality_constraints_jacobian_object
OptimizationSystem::ComputeEqualityConstraints * equality_constraints_object
OptimizationSystem sys_type