Функции | |
void | opt_nelder_mead (size_t n, double(*func)(double *), double *x0, double *f0, int initsimplex, double **x, double *f, double tolf, double tolx, int maxfun, int maxiter, int *rc, int *nfun, int *niter, double *xbar, double *xr, double *xe, double *xc) |
Симплекс-метод Нелдера-Мида. |
void opt_nelder_mead | ( | size_t | n, | |
double(*)(double *) | func, | |||
double * | x0, | |||
double * | f0, | |||
int | initsimplex, | |||
double ** | x, | |||
double * | f, | |||
double | tolf, | |||
double | tolx, | |||
int | maxfun, | |||
int | maxiter, | |||
int * | rc, | |||
int * | nfun, | |||
int * | niter, | |||
double * | xbar, | |||
double * | xr, | |||
double * | xe, | |||
double * | xc | |||
) |
Симплекс-метод Нелдера-Мида.
Функция находит локальный минимум функции , зависящей от переменных, . Для минимизации используется симплекс-метод Нелдера-Мида. Итерации метода продолжаются до тех пор, пока значения функции в вершинах текущего симплекса не будут отличаться более, чем на , и диаметр симплекса (в чебышевой норме) не будет превышать . Алгоритм также останавливается при превышении максимально допустимого числа вычислений значений функции или максимально допустимого числа итераций (построенных симплексов).