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

VariableStepsizeAnnealMinimizer.h

Go to the documentation of this file.
00001 // VariableStepsizeAnnealMinimizer.h: interface for the CVariableStepsizeAnnealMinimizer class.
00002 //
00004 
00005 #if !defined(AFX_VARIABLESTEPSIZEANNEALMINIMIZER_H__488D7959_852C_425D_A56C_F7357CD77BE2__INCLUDED_)
00006 #define AFX_VARIABLESTEPSIZEANNEALMINIMIZER_H__488D7959_852C_425D_A56C_F7357CD77BE2__INCLUDED_
00007 
00008 #if _MSC_VER > 1000
00009 #pragma once
00010 #endif // _MSC_VER > 1000
00011 
00012 #include "SimulatedAnnealingStrategy.h"
00013 #include <fstream>
00014 
00015 class CVariableStepsizeAnnealMinimizer : public CSimulatedAnnealingStrategy  
00016 {
00017 public:
00018         CVariableStepsizeAnnealMinimizer(int RNGSeed, CParameterFilter *pFilter, double T0=2, double lambda=0.7, double deltaX=1.0,double c=10);
00019         virtual ~CVariableStepsizeAnnealMinimizer();
00020         virtual bool AcceptMove(double Eold, double Enew);
00021         virtual bool Terminate();
00022         virtual bool Equilibrated();
00023         virtual void Cool();
00024         virtual void InitializeTemperature(Minimizable *minimizable);
00025         virtual void GenerateMove();
00026 private:
00027         // number of cycles to perform at a particular temperature
00028         int m_iNMCSteps;
00029         // factor for the cooling schedule
00030         double m_dLambda;
00031         // need the current energy for this method
00032         double m_dECurrent;
00033         // stepsize control
00034         double m_dC;
00035         // minimum std. dev. for stepsize
00036         double m_dDeltaX;
00037         // needed for detailed balance correction
00038         double m_dSqrLogParDiff;
00039 };
00040 
00041 #endif // !defined(AFX_VARIABLESTEPSIZEANNEALMINIMIZER_H__488D7959_852C_425D_A56C_F7357CD77BE2__INCLUDED_)

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