00001
00007 #ifndef _TivNelderMead_h
00008 #define _TivNelderMead_h
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "../methods/NelderMeadIteration.h"
00019
00020 #include "TextIterationVisualizer.h"
00021
00022
00023
00024
00025
00026 class TivNelderMead
00027 : public TextIterationVisualizer
00028 {
00029 public:
00030
00031
00032
00035 TivNelderMead(void);
00036
00039 ~TivNelderMead(void);
00040
00041
00042
00043
00044
00045
00046
00047 virtual void Print(
00048 wxTextCtrl* pTargetCtrl,
00049 const IterationData& iteration,
00050 const FunctionBase& function,
00051 bool highlight) const;
00052
00053 static std::auto_ptr<const TextIterationVisualizer> Create();
00054
00055
00056
00057
00058 protected:
00059
00062 wxString PrintSimplex(wxTextCtrl* pTargetCtrl,
00063 const vector<PointWithValue>& simplex,
00064 bool highlight) const;
00065
00068 wxString PrintInitialSimplex(wxTextCtrl* pTargetCtrl,
00069 const NelderMeadIteration& iteration,
00070 bool highlight) const;
00071
00074 wxString PrintTrialPoints(wxTextCtrl* pTargetCtrl,
00075 const NelderMeadIteration& iteration,
00076 bool highlight) const;
00077
00080
00081
00082
00083
00084
00087 wxString PrintNewSimplex(wxTextCtrl* pTargetCtrl,
00088 const NelderMeadIteration& iteration,
00089 bool highlight) const;
00090
00091 private:
00092
00096 static void* mpRegistrationDummy;
00097
00098 };
00099
00100
00101
00102
00103
00104
00105
00106 #endif // _TivNelderMead_h