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

Comparing trunk/OOPSE/libmdtools/Minimizer1D.hpp (file contents):
Revision 1002 by tim, Mon Feb 2 20:29:41 2004 UTC vs.
Revision 1031 by tim, Fri Feb 6 18:58:06 2004 UTC

# Line 14 | Line 14 | class Minimizer1D : public MinimizerBase{
14      virtual ~Minimizer1D() {}
15  
16      virtual void init() {}
17 <    virtual bool isSolvable();
18 <    
19 <    virtual void Minimize() = 0;
20 <    virtual void Minimize(vector<double>& direction, double left, double right);
17 >  virtual bool isSolvable() {return true;}
18  
19 <    virtual int checkConvergence();
19 >    virtual void minimize() = 0;
20 >    virtual void minimize(vector<double>& direction, double left, double right) = 0;
21  
22 <    void setRange(double left, double right) {leftFVal = left, rightVal = right;}
22 >    void setRange(double left, double right) {leftVar = left, rightVar= right;}
23      void setDirection(vector<double>& direction) {this->direction = direction;}
24      double getMinVar() {return minVar;}
25      double getPrevMinVar() {return prevMinVar;}
# Line 38 | Line 36 | class Minimizer1D : public MinimizerBase{
36      NLModel* model;
37      double leftVar;
38      double rightVar;
41    double fLeft;
42    double fRight;
39      double minVar;
44    double fMinVar;
40      double prevMinVar;
41 <    double fPrevMinVar;
47 <    
41 >    
42      vector<double> direction;
43  
44      int maxIteration;
45      int currentIter;
46 <    int stepTol;
46 >    double stepTol;
47   };
48  
49   class GoldenSectionMinimizer : public Minimizer1D{
50  
51    public:
52  
53 <    GoldenSectionMinimizer(NLModel* nlp) : Minimizer1D(nlp) {}
54 <    void Minimize();
55 <
53 >    GoldenSectionMinimizer(NLModel* nlp);
54 >    void minimize();
55 >    virtual void minimize(vector<double>& direction, double left, double right){
56 >      setRange(left, right);
57 >      setDirection(direction);
58 >      minimize();
59 >    }    
60 >    virtual int checkConvergence();
61 >    
62    protected:
63 +
64 +    double fMinVar;
65 +    double fPrevMinVar;
66      
67      double fAlpha;
68      double fBeta;
# Line 70 | Line 73 | class BrentMinimizer : public Minimizer1D{
73  
74   class BrentMinimizer : public Minimizer1D{
75    public:
76 +    
77      BrentMinimizer(NLModel* nlp);
78 +
79      void minimize();
80 +    virtual void minimize(vector<double>& direction, double left, double right);
81 +    virtual int checkConvergence();
82 +
83    protected:
84 +
85 +    void bracket(double& cx, double& fc, double& ax, double& fa, double& bx, double& fb);
86 +    double fMinVar;
87 +    double fPrevMinVar;
88 +    double midVar;
89      
90   };
91   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines