Метод деформируемого многогранника — страница 3

  • Просмотров 3211
  • Скачиваний 225
  • Размер файла 81
    Кб

соотношением (2) где a>0 является коэффициентом отражения; – центр тяжести, вычисляемый по формуле (1); – вершина, в которой функция f(x) принимает наибольшее из n+1 значений на k-м этапе. 2.  Растяжение. Эта операция заключается в следующем: если растягивается в соответствии с соотношением (3) где g>1 представляет собой коэффициент растяжения. Если заменяется на и процедура продолжается снова с операции 1 при k=k+1. В противном случае

заменяется на и также осуществляется переход к операции 1 при k=k+1. 3.  Сжатие. Если для всех i¹h, то вектор сжимается в соответствии с формулой (4) где 0<b<1 представляет собой коэффициент сжатия. Затем заменяем на и возвращаемся к операции 1 для продолжения поиска на (k+1)-м шаге. 4.  Редукция. Если уменьшаются в 2 раза с отсчётом от в соответствии с формулой (5) Затем возвращаемся к операции 1 для продолжения поиска на (k+1)-м шаге.

Критерий окончания поиска, использованный Нелдером и Мидом, состоял в проверке условия (6) где e – произвольное малое число, а – значение целевой функции в центре тяжести На схеме 1 приведена блок-схема поиска методом деформируемого многогранника, а на рисунке 3 показана последовательность поиска для функции Розенброка, начиная их x(0)=[-1,2 1,0]T. Деформируемый многогранник в противоположность жёсткому симплексу адаптируется к

топографии целевой функции, вытягиваясь вдоль длинных наклонных плоскостей, изменяя направление в изогнутых впадинах и сжимаясь в окрестности минимума. Пуск Вычислить начальные значения xi(0), i = 1, 2, …, n+1, и f(x(0)) начального симплекса Вычислить xh и xl и c Отражение: вычислить xn+3 = xn+2 + a(xn+2 - xn) Вычислить f(xn+3) Нет Выполняется ли неравенство f(xn+3) < f(xh) ? Да Растяжение: вычислить xn+4 = xn+2 + g(xn+3 - xn+2) Вычислить f(xn+4) Выполняется ли неравенство f(xn+4)

< f(xl) ? Заменить xh на xn+4 Нет Выполняется ли неравенство f(xn+3) < f(xi) для всех i ¹ h ? Нет Нет Да Нет Заменить xh на xn+3 Нет Схема 1. Информационная блок-схема поиска методом деформируемого многогранника. Выполняется ли неравенство f(xn+3) < f(xh) ? Да Да Заменить xh на xn+3 Сжатие: вычислить xn+5 = xn+2 + b(xh - xn+2) Вычислить f(xn+5) Выполняется ли неравенство f(xn+5) > f(xh) ?