MethodWithLineSearch.h

00001 #ifndef _MethodWithLineSearch_h
00002 #define _MethodWithLineSearch_h
00003 
00004 
00005 // SYSTEM INCLUDES
00006 //
00007 
00008 // PROJECT INCLUDES
00009 //
00010 
00011 // LOCAL INCLUDES
00012 //
00013 #include "CountedPtr.h"
00014 #include "FunctionBase.h"
00015 #include "LineSearch.h"
00016 #include "StandardStopCondition.h"
00017 #include "UnconstrainedProblem.h"
00018 
00019 // FORWARD REFERENCES
00020 //
00021 class ProblemBase;
00022 
00023 
00029 class MethodWithLineSearch
00030     : public Method
00031 {
00032 public:
00033 // LIFECYCLE
00034 
00035 
00038     virtual ~MethodWithLineSearch(void);
00039 
00040 
00041 // OPERATORS
00042 
00043 // OPERATIONS
00044 
00045     virtual void        AttachObserver(Observer* pObserver) const;
00046 
00047     virtual void        DetachObserver(Observer* pObserver) const;
00048 
00049     virtual void        UpdateStartingConditions(const Result* result) const;
00050 
00051     virtual void                    ResetStartingConditions() const;
00052 
00053 // ACCESS
00054     virtual wxString    ToString(bool standalone = true) const;
00055 
00056 // INQUIRY
00057 
00058 
00059 protected:
00060 
00065     MethodWithLineSearch(void);
00066 
00071     MethodWithLineSearch(const MethodWithLineSearch& from);
00072 
00098     ColumnVector    StepInDirection(const FunctionBase&     function,
00099                                     const ColumnVector&     point,
00100                                     const ColumnVector&     direction,
00101                                     double* const           pStepLength = NULL)
00102                     const throw (Error);
00103 
00106     mutable ColumnVector                    mStartingPoint;
00107 
00108     ColumnVector                            mInitialStartingPoint;
00109 
00110     /* Metoda poszukiwań w kierunku.
00111      */
00112     CountedPtr<const LineSearch>            mcpLineSearch;
00113 
00116     CountedPtr<const StandardStopCondition> mcpStopCondition;
00117 
00118 private:
00119 
00120 };
00121 
00122 // INLINE METHODS
00123 //
00124 
00125 // EXTERNAL REFERENCES
00126 //
00127 
00128 #endif  // _MethodWithLineSearch_h_

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