31 #ifndef __vtkAmoebaMinimizer_h
32 #define __vtkAmoebaMinimizer_h
49 void SetFunction(
void (*f)(
void *),
void *arg);
52 void SetFunctionArgDelete(
void (*f)(
void *));
61 void SetParameterValue(
const char *name,
double value);
62 void SetParameterValue(
int i,
double value);
70 void SetParameterScale(
const char *name,
double scale);
71 double GetParameterScale(
const char *name);
72 void SetParameterScale(
int i,
double scale);
81 double GetParameterValue(
const char *name);
98 virtual void Minimize();
102 virtual int Iterate();
106 vtkSetMacro(FunctionValue,
double);
112 vtkSetMacro(Tolerance,
double);
113 vtkGetMacro(Tolerance,
double);
118 vtkSetMacro(MaxIterations,
int);
119 vtkGetMacro(MaxIterations,
int);
125 vtkGetMacro(Iterations,
int);
130 vtkGetMacro(FunctionEvaluations,
int);
135 void EvaluateFunction();
142 void (*Function)(
void *);
143 void (*FunctionArgDelete)(
void *);
161 double **AmoebaVertices;
162 double *AmoebaValues;
164 int AmoebaNStepsNoImprovement;
166 void InitializeAmoeba();
167 void GetAmoebaParameterValues();
168 void TerminateAmoeba();
169 double TryAmoeba(
double sum[],
int high,
double fac);
const char * GetParameterName(int i)
nonlinear optimization with a simplex
abstract base class for most VTK objects
double GetParameterValue(int i)
double GetFunctionValue()
virtual void PrintSelf(ostream &os, vtkIndent indent)
double GetParameterScale(int i)
a simple class to control print indentation
int GetNumberOfParameters()