MAST
optimization_interface.h
Go to the documentation of this file.
1 /*
2  * MAST: Multidisciplinary-design Adaptation and Sensitivity Toolkit
3  * Copyright (C) 2013-2019 Manav Bhatia
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18  */
19 
20 #ifndef __MAST_optimization_interface_h__
21 #define __MAST_optimization_interface_h__
22 
23 // MAST includes
24 #include "base/mast_data_types.h"
25 
26 
27 namespace MAST {
28 
29  // Forward declerations
30  class FunctionEvaluation;
31 
37  public:
38 
40  _feval(nullptr)
41  { }
42 
44  { }
45 
46 
47  virtual void optimize() = 0;
48 
49 
50  virtual void
52 
53 
54  virtual void
55  set_real_parameter (const std::string& nm, Real val) {}
56 
57  virtual void
58  set_integer_parameter (const std::string& nm, int val) {}
59 
60  protected:
61 
63  };
64 }
65 
66 
67 
68 #endif // __MAST_optimization_interface_h__
libMesh::Real Real
virtual void attach_function_evaluation_object(MAST::FunctionEvaluation &feval)
Provides the basic interface API for classes the provide implement optimization problems.
virtual void set_integer_parameter(const std::string &nm, int val)
virtual void optimize()=0
MAST::FunctionEvaluation * _feval
virtual void set_real_parameter(const std::string &nm, Real val)