PolakRibiere.h

00001 
00072 #ifndef _PolakRibiere_h
00073 #define _PolakRibiere_h
00074 
00075 // SYSTEM INCLUDES
00076 //
00077 
00078 // PROJECT INCLUDES
00079 //
00080 
00081 // LOCAL INCLUDES
00082 //
00083 #include "../DoubleParameter.h"
00084 #include "../FunctionBase.h"
00085 #include "../MethodWithLineSearch.h"
00086 #include "../ProblemBase.h"
00087 #include "../ui/MethodWithLineSearchPanel.h"
00088 
00089 // FORWARD REFERENCES
00090 //
00091 
00092 class PolakRibiere
00093     : public MethodWithLineSearch
00094 {
00095 public:
00096 
00097     friend class MethodWithLineSearchPanel<PolakRibiere>;
00098 
00099 // LIFECYCLE
00100 
00103     ~PolakRibiere(void);
00104 
00105 // OPERATORS
00106 
00107 // OPERATIONS
00108 
00111     virtual std::auto_ptr<Method>   Clone() const;
00112 
00113 // ACCESS
00114 //
00115 
00118     virtual const wxString&         Name() const;
00119 
00122     virtual MethodIdType            Id() const;
00123 
00126     static MethodIdType             ClassId();
00127 
00128 // INQUIRY
00129 
00132     virtual bool                    CanHandle(const ProblemBase* pProblem) const;
00133 
00134     virtual StopConditions          AllowedStopConditions() const;
00135 
00136 protected:
00137 
00140     PolakRibiere(void);
00141 
00146     PolakRibiere(const PolakRibiere& from);
00147 
00148     virtual wxString&               rName();
00149 private:
00150 
00151     virtual std::auto_ptr<Result>   Optimize(const ProblemBase& problem) const
00152                                                     throw(OptimizationError);
00153 
00156     static wxString           mName;
00159     static PolakRibiere             mPolakRibiere;
00160 
00161 };
00162 
00163 // INLINE METHODS
00164 //
00165 
00166 // EXTERNAL REFERENCES
00167 //
00168 
00169 #endif  // _PolakRibiere_h

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