SinglePointLineSearch.h

00001 
00014 #ifndef _SinglePointLineSearch_h
00015 #define _SinglePointLineSearch_h
00016 
00017 
00018 // SYSTEM INCLUDES
00019 //
00020 
00021 // PROJECT INCLUDES
00022 //
00023 
00024 // LOCAL INCLUDES
00025 //
00026 
00027 #include "DoubleParameter.h"
00028 #include "LineSearch.h"
00029 
00030 // FORWARD REFERENCES
00031 //
00032 
00033 
00034 class SinglePointLineSearch
00035     : public LineSearch
00036 {
00037 public:
00038 // LIFECYCLE
00039 
00042     ~SinglePointLineSearch(void);
00043 
00044 
00045 // OPERATORS
00046 
00047 // OPERATIONS
00048 
00049     virtual void        UpdateStartingConditions(const Result* result) const;
00050 
00051     virtual void        ResetStartingConditions() const;
00052 
00053 // ACCESS
00054 //
00055     void                AddCommonParameterDescriptions
00056                                                (wxArrayString& descriptions,
00057                                                 bool standalone) const;
00058 
00059     virtual wxString    ToString(bool standalone = true) const;
00060 
00061 // INQUIRY
00062     virtual bool        CanAssist(const ProblemBase* pProblem) const;
00063 
00064 protected:
00065 
00068     SinglePointLineSearch(void);
00069 
00074     SinglePointLineSearch(const SinglePointLineSearch& from);
00075 
00076     mutable ColumnVector    mStartingPoint; 
00077     ColumnVector            mInitialStartingPoint;
00078 
00081     DoubleParameter         mEpsilon;
00082 
00083 private:
00084 
00093     virtual std::auto_ptr<Result> Optimize(const ProblemBase& problem) const
00094         throw(OptimizationError);
00095 
00103     virtual double  Optimize(const UnivariateFunction& function)
00104                                const;
00105 
00120     virtual std::auto_ptr<Result>   Solve(
00121                                       const UnivariateFunction& function,
00122                                       const ColumnVector&       startingPoint,
00123                                       bool                      generateResult)
00124                           const throw(OptimizationError) = 0;
00125 
00126 };
00127 
00128 // INLINE METHODS
00129 //
00130 
00131 // EXTERNAL REFERENCES
00132 //
00133 
00134 #endif  // _SinglePointLineSearch_h_

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