00001
00006 #ifndef _TivSimplex_h
00007 #define _TivSimplex_h
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "TextIterationVisualizer.h"
00018
00019
00020
00021
00022
00023 class TivSimplex
00024 : public TextIterationVisualizer
00025 {
00026 public:
00027
00028
00031 TivSimplex(void);
00032
00035 ~TivSimplex(void);
00036
00037
00038
00039 virtual void Print(
00040 wxTextCtrl* pTargetCtrl,
00041 const IterationData& iterationData,
00042 const FunctionBase& function,
00043 bool highlight) const;
00044
00045
00046 static std::auto_ptr<const TextIterationVisualizer> Create();
00047
00048
00049
00050 protected:
00051 void PrintMainProblemMatrices(
00052 wxTextCtrl* pTargetCtrl,
00053 const SimplexIteration& iterationData)
00054 const;
00055
00056 void PrintExtendedProblemMatrices(
00057 wxTextCtrl* pTargetCtrl,
00058 const SimplexIteration& iterationData)
00059 const;
00060 void PrintStepData(
00061 wxTextCtrl* pTargetCtrl,
00062 const FunctionBase& function,
00063 const SimplexIteration& iterationData)
00064 const;
00065
00066 void PrintExtendedSolutionSummary(
00067 wxTextCtrl* pTargetCtrl,
00068 const SimplexIteration& iterationData)
00069 const;
00070
00071 wxString PrintColouredIndices(wxTextCtrl* pTargetCtrl,
00072 const vector<int>& indices,
00073 int highlighted,
00074 const wxTextAttr& attribute)
00075 const;
00076
00077 void PrintBasicMatrices(
00078 wxTextCtrl* pTargetCtrl,
00079 const SimplexIteration& iterationData)
00080 const;
00081 void PrintBasicPoint(
00082 wxTextCtrl* pTargetCtrl,
00083 const SimplexIteration& iterationData)
00084 const;
00085 void PrintFullPoint(
00086 wxTextCtrl* pTargetCtrl,
00087 const FunctionBase& function,
00088 const SimplexIteration& iterationData)
00089 const;
00090 void PrintReducedCosts(
00091 wxTextCtrl* pTargetCtrl,
00092 const SimplexIteration& iterationData)
00093 const;
00094
00095 void PrintLeavingVariable(
00096 wxTextCtrl* pTargetCtrl,
00097 const SimplexIteration& iterationData)
00098 const;
00099
00100 void PrintNewPoint(
00101 wxTextCtrl* pTargetCtrl,
00102 const SimplexIteration& iterationData)
00103 const;
00104 private:
00108 static void* mpRegistrationDummy;
00109 };
00110
00111
00112
00113
00114
00115
00116
00117 #endif // _TivSimplex_h