Dokumentacja klasy PenaltyFunction

#include <PenaltyFunction.h>

Diagram dziedziczenia dla PenaltyFunction

FunctionBase FunctionDecorator InnerPenalty OuterPenalty HyperbolicInnerPenalty LogarithmicInnerPenalty Lista wszystkich składowych.

Opis szczegółowy

Funkcja kary.

Funkcja kary dolicza do funkcji podstawowej (f. celu) wartość kary zależną od ograniczeń.

Zobacz również:
Constraint


Typy publiczne

enum  OutOfBoundsReactionType { EXCEPTION = 0, MAX_VALUE }

Metody publiczne

 PenaltyFunction (void)
 Konstruktor domyślny.
 PenaltyFunction (CountedPtr< const FunctionBase > cpFunction)
 Konstruktor.
 ~PenaltyFunction (void)
 Destruktor.
void ModifyPenalty ()
 Modyfikuje wspóczynnik kary.
void ResetPenalty ()
 Resetuje współczynnik kary do początkowej wartości.
void AddConstraint (const Constraint &constraint)
 Dodaj ograniczenie.
const Constraint::ContainerConstraints () const
 Zwraca listę ograniczeń.
Constraint::ContainerrConstraints ()
 Zwraca referencję na listę ograniczeń.
virtual unsigned EvaluationCount () const
 Całkowita liczba wyliczeń wartości funkcji.
virtual void SetProblem (const ProblemBase *pProblem) const
 Ustaw wskaźnik na problem/zadanie.
wxString ConstraintsToString () const
 Wypisuje wszystkie ograniczenia do stringa.
OutOfBoundsReactionTyperOutOfBoundsReaction ()
 Reakcja na przekroczenie ograniczeń.
double PenaltyParam () const
double & rPenaltyParam () const
OutOfBoundsReactionType OutOfBoundsReaction () const
virtual VariableNames PresentVariables () const
 Zwraca listę nazw zmiennych, które występują w funkcji.
virtual FunctionIdType Id () const =0
 Zwraca ID funkcji kary.
virtual bool IsValid (const ColumnVector &point) const =0
 Sprawdza, czy punkt spełnia ograniczenia.
virtual bool IsValidStartingPoint (const ColumnVector &point) const =0
virtual bool ContainsUnknown (const VariableNames &variables) const
 Sprawdza, czy funkcja używa zmiennych spoza listy.
virtual int FunctionId () const =0

Statyczne metody publiczne

static FunctionIdType ClassId ()

Metody chronione

 PenaltyFunction (const PenaltyFunction &from)

Statyczne metody chronione

static FunctionIdType GenerateId ()

Atrybuty chronione

DoubleParameter mInitialPenaltyParam
 Początkowa wartość parametru optymalizacji.
DoubleParameter mPenaltyParamMultiplier
 Współczynnik zmiany parametru optymalizacji.
DoubleParameter mTolerance
 Tolerancja niedokładności konieczna przy ograniczeniach równościowych.
OutOfBoundsReactionType mOutOfBoundsReaction
 Reakcja na wyjście poza ograniczenia.
Constraint::Container mConstraints
 Ograniczenia.


Dokumentacja składowych wyliczanych

enum PenaltyFunction::OutOfBoundsReactionType
 

Wartości wyliczeń:
EXCEPTION  Wyrzucanie wyjątku EvaluationError.
MAX_VALUE  Zwracanie wartości DBL_MAX.


Dokumentacja konstruktora i destruktora

PenaltyFunction::PenaltyFunction CountedPtr< const FunctionBase cpFunction  ) 
 

Konstruktor.

Parametry:
cpFunction CountedPtr na funkcję, do której ma być dodana funkcja kary.


Dokumentacja funkcji składowych

void PenaltyFunction::AddConstraint const Constraint constraint  ) 
 

Dodaj ograniczenie.

Funkcja przejmuje odpowiedzialność za usunięcie ograniczeń.

Parametry:
constraint Wskaźnik na ograniczenie.

virtual bool PenaltyFunction::IsValid const ColumnVector &  point  )  const [pure virtual]
 

Sprawdza, czy punkt spełnia ograniczenia.

Wywołuje IsValid z podanymi parametrami dla każdego ograniczenia.

Parametry:
point Punkt, którego pozycja jest sprawdzana.
Zobacz również:
Constraint::IsValid()

Implementowany w InnerPenalty i OuterPenalty.

void PenaltyFunction::ModifyPenalty  ) 
 

Modyfikuje wspóczynnik kary.

Madyfikuje współczynnik kary mnożąc współczynnik kary mPenaltyParam przez mPenaltyParamMultiplier.

Constraint::Container & PenaltyFunction::rConstraints  ) 
 

Zwraca referencję na listę ograniczeń.

Wyłącznie do użytku wewnętrznego.

void PenaltyFunction::ResetPenalty  ) 
 

Resetuje współczynnik kary do początkowej wartości.

Przywraca współczynnik kary mPenaltyParam do wartości mInitialPenaltyParam.

PenaltyFunction::OutOfBoundsReactionType & PenaltyFunction::rOutOfBoundsReaction  ) 
 

Reakcja na przekroczenie ograniczeń.

Informuje o tym, co ma się stać gry w procesie optymalizacji pojawi się punkt znajdujący się poza ograniczeniami (ma to znaczenie tylko w przypadku funkcji bariery). Dwie możliwoście to:

  • wyrzucenie wyjątku OptimizationError;
  • zwrócenie przez funkcję Evaluate() wartości DBL_MAX </uk> Domyślnym i zalecanym zachowaniem jest drugi wariant.

void PenaltyFunction::SetProblem const ProblemBase pProblem  )  const [virtual]
 

Ustaw wskaźnik na problem/zadanie.

Z zadania pobierane są zmienne, musi więc ono być ustawione przed wywoływaniem Evaluate.

Reimplementowana z FunctionBase.


Dokumentacja dla tej klasy została wygenerowana z plików:
Wygenerowano Fri Sep 29 21:04:53 2006 dla EduOptim2 programem  doxygen 1.4.6