00001
00005 #ifndef _ConstrainedOptimizationIteration_h
00006 #define _ConstrainedOptimizationIteration_h
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "IterationData.h"
00017
00018
00019
00020
00021 class ConstrainedOptimizationIteration
00022 : public IterationData
00023 {
00024 public:
00025
00026
00027
00028 ConstrainedOptimizationIteration(bool previousApproximationValid,
00029 bool newApproximationValid,
00030 unsigned evaluationCount,
00031 unsigned iterationCount,
00032 double penaltyParam);
00033
00036 ~ConstrainedOptimizationIteration(void);
00037
00038
00039
00040
00041
00042 virtual ColumnVector EndValuePoint() const = 0;
00043
00044 virtual vector<IterationDataIdType> ClassIds() const;
00045
00046 static IterationDataIdType ClassId();
00047
00048
00049 unsigned EvaluationCount() const;
00050 unsigned IterationCount() const;
00051
00052 double PenaltyParam() const;
00053
00054
00055
00056 bool IsPreviousApproximationValid() const;
00057 bool IsNewApproximationValid() const;
00058
00059 protected:
00060 private:
00061
00062 bool mPreviousApproximationValid;
00063 bool mNewApproximationValid;
00064
00065 unsigned mEvaluationCount;
00066 unsigned mIterationCount;
00067
00068 double mPenaltyParam;
00069
00070 };
00071
00072
00073
00074
00075
00076
00077
00078 #endif // _ConstrainedOptimizationIteration_h