Derivative.h

00001 
00052 #ifndef _Derivative_h
00053 #define _Derivative_h
00054 
00055 // SYSTEM INCLUDES
00056 //
00057 
00058 // PROJECT INCLUDES
00059 //
00060 
00061 // LOCAL INCLUDES
00062 //
00063 #include "../DoubleParameter.h"
00064 #include "../SinglePointLineSearch.h"
00065 #include "../ProblemBase.h"
00066 #include "../UnivariateFunction.h"
00067 #include "../ui/DerivativeLineSearchPanel.h"
00068 
00069 // FORWARD REFERENCES
00070 //
00071 
00072 
00073 class Derivative
00074     : public SinglePointLineSearch
00075 {
00076 public:
00077     friend class DerivativeLineSearchPanel<Derivative>;
00078 
00079 // LIFECYCLE
00080 
00081 
00084     ~Derivative(void);
00085 
00086 
00087 // OPERATORS
00088 
00089 // OPERATIONS
00090 
00091 
00094     virtual std::auto_ptr<Method>   Clone() const;
00095 
00096 // ACCESS
00099     virtual const wxString&         Name() const;
00100 
00103     virtual MethodIdType            Id() const;
00104 
00107     static MethodIdType             ClassId();
00108 
00109     virtual wxString                ToString(bool standalone = true) const;
00110 
00111 // INQUIRY
00112 
00113     virtual bool                    CanHandle(const ProblemBase* pProblem) const;
00114 
00115 protected:
00116 
00119     Derivative(void);
00120 
00125     Derivative(const Derivative& from);
00126 
00129     DoubleParameter             mAlpha;
00132     DoubleParameter             mGamma;
00133 
00134     virtual wxString&               rName();
00135 private:
00136 
00137     virtual std::auto_ptr<Result>   Solve(
00138                                       const UnivariateFunction& function,
00139                                       const ColumnVector&       startingPoint,
00140                                       bool                      generateResult)
00141                           const throw(OptimizationError);
00142 
00145     static wxString       mName;
00148     static Derivative           mDerivative;
00149 };
00150 
00151 // INLINE METHODS
00152 //
00153 
00154 // EXTERNAL REFERENCES
00155 //
00156 
00157 #endif  // _Derivative_h_

Wygenerowano Fri Sep 29 21:04:47 2006 dla EduOptim2 programem  doxygen 1.4.6