Newton.h

00001 
00072 #ifndef _Newton_h
00073 #define _Newton_h
00074 
00075 // SYSTEM INCLUDES
00076 //
00077 
00078 // PROJECT INCLUDES
00079 //
00080 
00081 // LOCAL INCLUDES
00082 //
00083 #include "../DoubleParameter.h"
00084 #include "../Method.h"
00085 #include "../StandardStopCondition.h"
00086 #include "../ui/BasicMethodPanel.h"
00087 
00088 // FORWARD REFERENCES
00089 //
00090 
00091 
00092 class Newton
00093     : public Method
00094 {
00095 public:
00096 
00097     friend class BasicMethodPanel<Newton>;
00098 
00099 // LIFECYCLE
00100 
00103     ~Newton(void);
00104 
00105 // OPERATORS
00106 
00107 // OPERATIONS
00108 
00111     virtual std::auto_ptr<Method>   Clone() const;
00112 
00113     virtual void                    UpdateStartingConditions
00114                                                 (const Result* result) const;
00115 
00116     virtual void                    ResetStartingConditions() const;
00117 
00118 // ACCESS
00119 
00122     virtual const wxString&         Name() const;
00123 
00126     virtual MethodIdType            Id() const;
00127 
00130     static MethodIdType             ClassId();
00131 
00132     virtual wxString                ToString(bool standalone = true) const;
00133 
00134 // INQUIRY
00135 
00138     virtual bool                    CanHandle(const ProblemBase* pProblem)
00139                                                                         const;
00140     virtual StopConditions          AllowedStopConditions() const;
00141 
00142 protected:
00143 
00146     Newton(void);
00147 
00152     Newton(const Newton& from);
00153 
00156     mutable ColumnVector    mStartingPoint;
00157     ColumnVector            mInitialStartingPoint;
00158 
00161     CountedPtr<const StandardStopCondition> mcpStopCondition;
00162 
00163     virtual wxString&               rName();
00164 private:
00165 
00166     virtual std::auto_ptr<Result> Optimize(const ProblemBase& problem) const
00167         throw(OptimizationError);
00168 
00171     static wxString   mName;
00174     static Newton           mNewton;
00175 
00176 };
00177 
00178 // INLINE METHODS
00179 //
00180 
00181 // EXTERNAL REFERENCES
00182 //
00183 
00184 #endif  // _Newton_h

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