Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Безусловный экстремум.doc
Скачиваний:
104
Добавлен:
16.11.2019
Размер:
5.96 Mб
Скачать

3 Методы нулевого порядка

В этих методах для определения направления спуска не требуется вычислять производные целевой функции. Направление минимизации в данном случае полностью определяется последовательными вычислениями значений функции. Следует отметить, что при решении задач безусловной минимизации методы первого и второго порядков обладают, как правило, более высокой скоростью сходимости, чем методы нулевого порядка. Однако на практике вычисления первых и вторых производных функции большого количества переменных часто оказываются слишком трудоемкими либо их принципиально невозможно осуществить по причине отсутствия явных выражений не только для производных, но и для самой функции. Иногда самое большее, на что можно рассчитывать, это умение вычислять значение целевой функции задачи в заданной точке (например, так обстоит дело, если значение получается в результате эксперимента, параметры которого определяются аргументом целевой функции). В этом случае определение производных с помощью различных численных методов (аппроксимация производных по информации о значениях функции) осуществляется с ошибками, которые могут ограничить применение таких методов. Кроме того, на практике встречаются задачи, решение которых возможно лишь с помощью методов нулевого порядка, например задачи минимизации функций с разрывными первыми производными. Для решения многих практических задач оптимизации могут быть успешно применены методы нулевого порядка.

3.1 Метод конфигураций (метод Хука - Дживса)

Метод конфигураций (метод Хука-Дживса [R. Hook, T.A. Jeeves]) представ­ляет собой комбинацию исследующего (пробного) поиска с циклическим изменением пере­менных и ускоряющего поиска по образцу. Исследующий поиск ориентирован на выявление локального поведения целевой функции и определение направления ее убывания вдоль "оврагов". Полученная информация используется при поиске по образцу при движении вдоль "оврагов".

Исследующий поиск начинается в некоторой начальной точке , называе­мой старым базисом. В качестве множества направлений поиска выбирается множество координатных направлений. Задается величина шага, которая может быть различной для разных координатных направлений и переменной в процессе поиска. Фиксируется первое координатное направление и делается шаг в сторону увеличения соответствующей переменной. Если значение функции в пробной точке меньше значения функции в исходной точке, шаг считается удачным. В противном случае необходимо вернуться в предыдущую точку и сделать шаг в противоположном направлении с последующей проверкой поведения функции. После перебора всех координат исследующий поиск завершается. Полученная точка называется новым базисом (на рис. 3.1 в точке произведен исследующий поиск и получена точка - новый базис). Если исследующий поиск с дан­ной величиной шага неудачен, то она уменьшается и процедура продолжается. Поиск заканчивается, когда текущая величина шага станет меньше некоторой величины.

Рисунок 3.1

Поиск по образцу заключается в движении по направлению от старого базиса к новому (от точки через точку , из точки через точку , из точки через точку на рис. 3.1). Величина ускоряющего шага задается ускоряющим множителем . Успех поиска по образцу определяется с помощью исследующего поис­ка из полученной точки (например, из точек 6, 11, 15 на рис. 3.1). Если при этом значение в наилучшей точке меньше, чем в точке предыдущего базиса, то поиск по образцу удачен (точки 6, 11 - результат удачного поиска по образцу, а точка 15 - неудачного). Если поиск по образцу неудачен, происходит возврат в новый базис, где продолжается исследующий поиск с уменьшенным шагом.

На рис. 3.1 удачный поиск отображается сплошными линиями, а неудач­ный - пунктирными, числа соответствуют порождаемым алгоритмом точкам. Обозначим через - координатные направления

При поиске по направлению меняется только переменная , а остальные переменные остаются зафиксированными.

Алгоритм:

Шаг 1. Задать начальную точку , число для остановки алгоритма, начальные величины шагов по координатным направлениям , ускоряющий множитель , коэффициент уменьшения шага . Положить .

Шаг 2. Осуществить исследующий поиск по выбранному координатному направлению:

  1. если , шаг считается удачным. Положить и перейти к шагу 3;

  2. если в пункте а) шаг неудачен, то делается шаг в противоположном направлении. Если , шаг считается удачным. В этом случае следует положить и перейти к шагу 3;

  3. если в пунктах а) и б) шаги неудачны, положить .

Шаг 3. Проверить условия:

  1. если , то положить и перейти к шагу 2;

  2. если , проверить успешность исследующего поиска

- если , перейти к шагу 4;

- если , перейти к шагу 5;

Шаг 4. Провести поиск по образцу. Положить , , , и перейти к шагу 2.

Шаг 5. Проверить условие окончания:

  1. если все , то поиск по закончить: ;

  2. для тех , для которых , уменьшить величину шага: . Положить , , , и перейти к шагу 2

Замечания:

а) В алгоритме можно использовать одинаковую величину шага по координатным направлениям, то есть вместо применять .

б) Существует модификация метода, где при исследующем поиске и поиске по образцу используется одномерная минимизация.

Пример: Найти локальный минимум функции методом конфигураций

Решение:

1. Зададим - старый базис, , , .

Положим k = 0, i = 1, .

20. Т.к. то шаг неудачен.

Т.к. то шаг удачный: .

30. Т.к. i = 1 < 2 = n, то i = i + 1 = 2 и переходим к шагу 2.

21. Т.к. то шаг неудачен.

Т.к. то шаг удачный: .

31. Т.к. i = 2 = n = 2 и , переходим к шагу 4.

40. Положим - новый базис, i = 1, k = k + 1 = 1, найдем . Выполнен поиск по образцу. Переходим к шагу 2.

22. Т.к. и

то шаги неудачные, а .

32. Т.к. i = 1 < 2 = n, то i = i + 1 = 2 и переходим к шагу 2.

23. Т.к. и

то шаги неудачные, а .

33. Т.к. i = 2 = n = 2 и , переходим к шагу 4.

41. Положим - новый базис, i = 1, k = k + 1 = 2, найдем . Выполнен поиск по образцу. Переходим к шагу 2.

24. Т.к. то шаг удачен:

.

34. Т.к. i = 1 < 2 = n, то i = i + 1 = 2 и переходим к шагу 2.

25. Т.к. то шаг удачен:

.

35. Т.к. i = 2 = n = 2 и , то поиск по образцу неудачен. Осуществляется возврат в точку . Переходим к шагу 5.

50. Т.к. то уменьшим шаг: Положим i = 1, k = k + 1 = 3 и перейдем к шагу 2.

26. Т.к. и

то шаги неудачные, а .

36. Т.к. i = 1 < 2 = n, то i = i + 1 = 2 и переходим к шагу 2.

27. Т.к. и

то шаги неудачные, а .

37. Т.к. i = 2 = n = 2 и , то исследующий поиск неудачен. Перейдем к шагу 5.

51. Т.к. то поиск закончен: .

Геометрическая интерпретация решения задачи представлена на рисунке 3.2. Здесь изображены полученные точки; сплошной линией отмечены удачные итерации, а пунктирной – неудачные.

Рисунок 3.2