Machine Learning Library
COptimizer.h
Go to the documentation of this file.
1 /*
2  COPYRIGHT (C) 2003 APPLIED NEUROINFORMATIC GROUP - UNIVERSITY OF BIELEFELD.
3 
4  ALL RIGHTS RESERVED.
5 
6  REDISTRIBUTION AND USE IN SOURCE AND BINARY FORM, WITH OR WITHOUT
7  MODIFICATION, REQUIRE THE PERMISSION OF THE COPYRIGHT HOLDERS.
8 
9  COMMERCIAL USE WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT HOLDERS
10  IS FORBIDDEN
11 
12  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
13  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
14  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
15  ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
16  ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
17  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
18  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
19  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
20  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
21  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
22 */
23 
24 
25 
26 #ifndef COPTIMIZER_H
27 #define COPTIMIZER_H
28 
29 #include <CMatrix.h>
30 #include <CDenseVector.h>
31 #include <CObject.h>
32 
37 template<class Type>
38 class COptimizer : public CObject<Type> {
39 private:
40  bool m_bMaximize;
41  CDenseVector<Type> m_tPosition;
42  Type m_tSenseSign;
43 public:
44  COptimizer();
45  string className() const { return string("COptimizer");};
46  bool isA(const char* acClass) const;
47  virtual ~COptimizer();
48  virtual Type optimize() = 0;
50 
53  void setMaximize( bool bValue );
54 
55 
57 
61 
64 
66 
67 
68 
69  Type sign() const { return m_tSenseSign;};
70 
71  bool isMaximize() const { return m_bMaximize;};
72 
73  virtual Type functionValueAt(CDenseVector<Type>& tPos) = 0;
74 
76  bool serialize2(CArchiv& tA);
77 };
78 #endif
virtual Type optimize()=0
virtual CDenseVector< Type > partialDerivativeAt(CDenseVector< Type > &tPos)=0
virtual ~COptimizer()
CDenseVector< Type > getPosition() const
Return current parameterisation.
string className() const
Returns the class name.
Definition: COptimizer.h:45
bool isMaximize() const
Definition: COptimizer.h:71
bool isA(const char *acClass) const
Check if the object is an instance of the class with given name.
Type sign() const
Definition: COptimizer.h:69
Base class for optimisation techniques; ...
Definition: COptimizer.h:38
Base class of object serialization.
Definition: CArchiv.h:19
Template object for vectors of single and double precision and integer.
Definition: CDenseVector.h:37
Base class for all object.
Definition: CObject.h:51
void setMaximize(bool bValue)
Set optimisation sense.
void setPosition(CDenseVector< Type > tPos)
Set initial parameterisation.
CDenseVector< Type > & position()
bool serialize2(CArchiv &tA)
virtual Type functionValueAt(CDenseVector< Type > &tPos)=0