5 #include <itkSingleValuedNonLinearOptimizer.h> 6 #include "AnimaOptimizersExport.h" 15 class ANIMAOPTIMIZERS_EXPORT
BobyqaOptimizer :
public itk::SingleValuedNonLinearOptimizer
25 typedef itk::SingleValuedNonLinearOptimizer::ScalesType
ScalesType;
38 itkSetMacro(Maximize,
bool)
39 itkBooleanMacro(Maximize)
40 itkGetConstReferenceMacro(Maximize,
bool)
43 itkSetMacro(MaximumIteration,
unsigned int)
44 itkGetConstReferenceMacro(MaximumIteration,
unsigned int)
46 itkSetMacro(SpaceDimension,
unsigned int)
47 itkGetConstReferenceMacro(SpaceDimension,
unsigned int)
50 itkSetMacro(NumberSamplingPoints,
unsigned int)
51 itkGetConstReferenceMacro(NumberSamplingPoints,
unsigned int)
55 itkSetMacro(RhoBegin,
double)
56 itkGetConstReferenceMacro(RhoBegin,
double)
60 itkSetMacro(RhoEnd,
double)
61 itkGetConstReferenceMacro(RhoEnd,
double)
64 itkGetConstReferenceMacro(CurrentCost, MeasureType)
65 MeasureType GetValue()
const 67 if (this->GetMaximize())
68 return -this->GetCurrentCost();
70 return this->GetCurrentCost();
74 itkGetConstReferenceMacro( CurrentIteration,
unsigned int)
77 void StartOptimization() ITK_OVERRIDE;
84 itkGetConstReferenceMacro(CatchGetValueException,
bool)
85 itkSetMacro(CatchGetValueException,
bool)
87 itkGetConstReferenceMacro(MetricWorstPossibleValue,
double)
88 itkSetMacro(MetricWorstPossibleValue,
double)
90 itkSetMacro(LowerBounds, ScalesType)
91 itkSetMacro(UpperBounds, ScalesType)
93 const std::string GetStopConditionDescription()
const ITK_OVERRIDE;
99 void PrintSelf(std::ostream& os, itk::Indent indent)
const ITK_OVERRIDE;
119 itkSetMacro(CurrentCost,
double);
133 int optimize(
long int &npt,
double *x,
double *xl,
double *xu,
double &rhobeg,
double &rhoend,
134 long int &maxfun,
double *w);
135 int bobyqb_(
long int &npt,
double *x,
double *xl,
double *xu,
double &rhobeg,
double &rhoend,
136 long int &maxfun,
double *xbase,
double *xpt,
double *fval,
double *xopt,
137 double *gopt,
double *hq,
double *pq,
double *bmat,
double *zmat,
138 long int &ndim,
double *sl,
double *su,
double *xnew,
double *xalt,
double *d__,
139 double *vlag,
double *w);
140 int altmov_(
long int &npt,
double *xpt,
double *xopt,
double *bmat,
double *zmat,
long int &ndim,
141 double *sl,
double *su,
long int &kopt,
long int &knew,
double *adelt,
double *xnew,
142 double *xalt,
double *alpha,
double *cauchy,
double *glag,
double *hcol,
double *w);
143 int prelim_(
long int &npt,
double *x,
double *xl,
double *xu,
double &rhobeg,
long int &maxfun,
144 double *xbase,
double *xpt,
double *fval,
double *gopt,
double *hq,
double *pq,
145 double *bmat,
double *zmat,
long int &ndim,
double *sl,
double *su,
long int &nf,
147 int rescue_(
long int &npt,
double *xl,
double *xu,
long int &maxfun,
double *xbase,
double *xpt,
148 double *fval,
double *xopt,
double *gopt,
double *hq,
double *pq,
double *bmat,
149 double *zmat,
long int &ndim,
double *sl,
double *su,
long int &nf,
double *delta,
150 long int &kopt,
double *vlag,
double *ptsaux,
double *ptsid,
double *w);
151 int trsbox_(
long int &npt,
double *xpt,
double *xopt,
double *gopt,
double *hq,
double *pq,
152 double *sl,
double *su,
double *delta,
double *xnew,
double *d__,
double *gnew,
153 double *xbdi,
double *s,
double *hs,
double *hred,
double *dsq,
double *crvmin);
154 int update_(
long int &npt,
double *bmat,
double *zmat,
long int &ndim,
double *vlag,
155 double *beta,
double *denom,
long int &knew,
double *w);
unsigned int m_CurrentIteration
unsigned int m_SpaceDimension
MeasureType m_CurrentCost
itk::SingleValuedNonLinearOptimizer::ParametersType ParametersType
itk::SingleValuedNonLinearOptimizer::ScalesType ScalesType
unsigned int m_MaximumIteration
unsigned int m_NumberSamplingPoints
BobyqaOptimizer::ParametersType px
itk::SingleValuedCostFunction CostFunctionType
bool m_CatchGetValueException
itk::SmartPointer< Self > Pointer
itk::SmartPointer< const Self > ConstPointer
std::ostringstream m_StopConditionDescription
double m_MetricWorstPossibleValue
CostFunctionType::Pointer CostFunctionPointer