00001
00006 #ifndef _RosenbrockOptimalIteration_h
00007 #define _RosenbrockOptimalIteration_h
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "RosenbrockIteration.h"
00018
00019
00020
00021
00022
00023 class RosenbrockOptimalIteration
00024 : public RosenbrockIteration
00025 {
00026 public:
00027 struct TrialPoint
00028 {
00029 TrialPoint(const ColumnVector& point,
00030 double tau)
00031 : mPoint(point),
00032 mTau(tau)
00033 { };
00034
00035 ColumnVector mPoint;
00036 double mTau;
00037 };
00038
00040 typedef vector<TrialPoint> TrialPointContainer;
00041
00042
00043
00046 RosenbrockOptimalIteration(void);
00047
00054 RosenbrockOptimalIteration(const ColumnVector& staringPoint,
00055 const SquareMatrix& D);
00056
00059 ~RosenbrockOptimalIteration(void);
00060
00061
00062
00063
00064
00065 void AddTrialPoint(const ColumnVector& point,
00066 double tau);
00067
00068
00069
00070 virtual vector<IterationDataIdType> ClassIds() const;
00071
00072 static IterationDataIdType ClassId();
00073
00074 const TrialPointContainer& TrialPoints() const;
00075
00076
00077
00078 protected:
00079 private:
00080 TrialPointContainer mTrialPoints;
00081 };
00082
00083
00084
00085
00086
00087
00088
00089 #endif // _RosenbrockOptimalIteration_h