 |
VTK
9.0.1
|
Go to the documentation of this file.
29 #ifndef vtkAmoebaMinimizer_h
30 #define vtkAmoebaMinimizer_h
32 #include "vtkCommonMathModule.h"
129 vtkSetMacro(FunctionValue,
double);
139 vtkSetClampMacro(ContractionRatio,
double, 0.5, 1.0);
140 vtkGetMacro(ContractionRatio,
double);
148 vtkSetClampMacro(ExpansionRatio,
double, 1.0, 2.0);
149 vtkGetMacro(ExpansionRatio,
double);
156 vtkSetMacro(Tolerance,
double);
157 vtkGetMacro(Tolerance,
double);
164 vtkSetMacro(ParameterTolerance,
double);
165 vtkGetMacro(ParameterTolerance,
double);
172 vtkSetMacro(MaxIterations,
int);
173 vtkGetMacro(MaxIterations,
int);
181 vtkGetMacro(Iterations,
int);
188 vtkGetMacro(FunctionEvaluations,
int);
201 void (*Function)(
void*);
202 void (*FunctionArgDelete)(
void*);
223 double** AmoebaVertices;
224 double* AmoebaValues;
227 double AmoebaHighValue;
228 int AmoebaNStepsNoImprovement;
230 void InitializeAmoeba();
231 void GetAmoebaParameterValues();
232 void TerminateAmoeba();
233 double TryAmoeba(
double sum[],
int high,
double fac);
235 int CheckParameterTolerance();
nonlinear optimization with a simplex
void Initialize()
Initialize the minimizer.
int GetNumberOfParameters()
Get the number of parameters that have been set.
void SetParameterScale(const char *name, double scale)
Set the scale to use when modifying a parameter, i.e.
~vtkAmoebaMinimizer() override
double GetFunctionValue()
abstract base class for most VTK objects
void EvaluateFunction()
Evaluate the function.
virtual void Minimize()
Iterate until the minimum is found to within the specified tolerance, or until the MaxIterations has ...
double GetParameterScale(int i)
double GetParameterValue(const char *name)
Get the value of a parameter at the current stage of the minimization.
void SetParameterScale(int i, double scale)
double GetParameterValue(int i)
void SetParameterValue(int i, double value)
a simple class to control print indentation
double ParameterTolerance
virtual int Iterate()
Perform one iteration of minimization.
const char * GetParameterName(int i)
For completeness, an unchecked method to get the name for particular parameter (the result will be nu...
void SetFunction(void(*f)(void *), void *arg)
Specify the function to be minimized.
void SetFunctionArgDelete(void(*f)(void *))
Set a function to call when a void* argument is being discarded.
double GetParameterScale(const char *name)
void SetParameterValue(const char *name, double value)
Set the initial value for the specified parameter.
static vtkAmoebaMinimizer * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.