OuterPenalty.h

00001 
00006 #ifndef _OuterPenalty_h
00007 #define _OuterPenalty_h
00008 
00009 
00010 // SYSTEM INCLUDES
00011 //
00012 
00013 // PROJECT INCLUDES
00014 //
00015 
00016 // LOCAL INCLUDES
00017 //
00018 #include "Error.h"
00019 #include "PenaltyFunction.h"
00020 
00021 // FORWARD REFERENCES
00022 //
00023 
00024 
00025 class OuterPenalty
00026     : public PenaltyFunction
00027 {
00028 public:
00029 // LIFECYCLE
00030 
00033     OuterPenalty();
00034 
00040     OuterPenalty(CountedPtr<const FunctionBase> cpFunction);
00041 
00042 
00045     ~OuterPenalty(void);
00046 
00047 
00048 // OPERATORS
00049 
00050 // OPERATIONS
00051 
00052     virtual std::auto_ptr<FunctionBase> Clone() const;
00053 
00054 // ACCESS
00055 
00056     virtual wxString                ToString(bool full = true) const;
00057 
00058     static FunctionIdType           ClassId();
00059 
00062     virtual FunctionIdType          Id() const;
00063 
00064 // INQUIRY
00065 
00066     virtual bool    IsValid(const ColumnVector& point) const;
00067 
00068     virtual bool    IsValidStartingPoint(const ColumnVector& point) const;
00069 
00070     virtual int     FunctionId() const;
00071 
00072 protected:
00073 
00074     OuterPenalty(const OuterPenalty& from);
00075 
00081     virtual double   DoEvaluate(const ColumnVector& point) const
00082                                             throw(EvaluationError);
00083 
00084     virtual double   DoEvaluateNoThrow(const ColumnVector& point) const
00085                                             throw();
00086 
00087 private:
00088 
00089 };
00090 
00091 // INLINE METHODS
00092 //
00093 
00094 // EXTERNAL REFERENCES
00095 //
00096 
00097 #endif  // _OuterPenalty_h

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