Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

NelderMeadSimplexMinimizer.h

Go to the documentation of this file.
00001 #pragma once
00002 #include <vector>
00003 #include <iostream>
00004 #include <float.h>
00005 #include <fstream>
00006 #include <iomanip>
00007 #include "Minimizer.h"
00008 #include "Minimizable.h"
00009 #include "MatrixOperations.h"
00010 #include "ParameterFilter.h"
00011 using namespace std;
00012 
00013 class CNelderMeadSimplexMinimizer : public Minimizer
00014 {
00015 public:
00016         CNelderMeadSimplexMinimizer();
00017         CNelderMeadSimplexMinimizer(CParameterFilter *pFilter, int nIterations=500, double lambda=1.0, double tol=1.0e-06);
00018         virtual ~CNelderMeadSimplexMinimizer(void);
00019         double Minimize(double *parameters, Minimizable *minimizable);
00020         void InitializeSimplex(double *parameters);
00021         void EvaluateSimplex();
00022         void ComputePointSum();
00023         int GetNParameters() {return nParameters;}
00024         bool CheckFuncTol();
00025         double TryPoint(double exfac);
00026 private:
00027         CMatrixOperations *m_pMO;
00028         Minimizable *m_pMinimizable;
00029         std::vector<double *> m_vpdSimplex;
00030         CParameterFilter *m_pFilter;
00031         double *m_pdSimplexCosts;
00032         double *m_pdPointSum;
00033         double m_dLambda;
00034         double m_dTol;
00035         int m_iHi, m_iLo, m_iNextHi;
00036         int m_iNIterations;
00037 };

Generated on Mon Nov 3 09:38:02 2003 by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002