ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Minimizer.hpp
(Generate patch)

Comparing trunk/OOPSE/libmdtools/Minimizer.hpp (file contents):
Revision 1011 by tim, Tue Feb 3 20:47:10 2004 UTC vs.
Revision 1023 by tim, Wed Feb 4 22:26:00 2004 UTC

# Line 2 | Line 2
2   #define _MINIMIZER_H_
3   #include "MinimizerBase.hpp"
4   #include "Minimizer1D.hpp"
5 <
5 > typedef enum {GoldenSection, Brent} LineSearchStrategy;
6   class Minimizer : public MinimizerBase{
7  
8    public:
9 +    Minimizer(MinimizerParameterSet* param) {paramSet = param;}
10  
11      virtual void printMinizerInfo() = 0;
12 <
12 <    virtual MinimizerParameterSet* creatParameterSet() = 0;
12 >    void init() {}
13      void setMinX(vector<double>& x) { minX = x;}
14      vector<double> getMinX() { return minX;}
15  
# Line 32 | Line 32 | class MinimizerUsingLineSearch : public Minimizer{
32  
33   class MinimizerUsingLineSearch : public Minimizer{
34    public:
35 <    void setLineSearchStrategy();
35 >    MinimizerUsingLineSearch(MinimizerParameterSet* param) : Minimizer(param), lineSearchInit(false){}
36 >    void setLineSearchStrategy(NLModel* nlp, LineSearchStrategy stategy){
37 >
38 >      if(stategy == GoldenSection)
39 >        lsMinimizer = new GoldenSectionMinimizer(nlp);
40 >      
41 >      else if(stategy == Brent)
42 >        lsMinimizer = new BrentMinimizer(nlp);
43 >      
44 >      else{
45 >        cerr << "MinimizerUsingLineSearch Error : Unknown Line Search Strategy" << endl;
46 >        exit(-1);
47 >      }
48 >
49 >      lsMinimizer->setMaxIteration(paramSet->getLineSearchMaxIteration());
50 >      lsMinimizer->setStepTol(paramSet->getLineSearchTol());
51 >
52 >      lineSearchInit = true;      
53 >    }
54 >    
55    protected:
56 +
57      Minimizer1D* lsMinimizer;
58 +    bool lineSearchInit;
59   };
60  
61   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines