Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭММ: Методичка Забуга С.И.doc
Скачиваний:
21
Добавлен:
12.11.2018
Размер:
2.28 Mб
Скачать

2.6. Методы минимизации, не использующие производные

В данной группе методов направление минимизации полностью определяется на основании последовательных вычислений целевой функции Эти методы сходятся медленнее, чем методы использующие производные, однако обладают важным преимуществом: не надо находить производные ни аналитически, ни численно и, как следствие, не надо тратить силы и время на подготовку задачи к решению. Соответственно, целевая функция может быть любой природы, даже недифференцируемой.

Методы прямого поиска. Идея этих методов заключается в изменении на каждом шаге только одной переменной при постоянстве остальных, до тех пор, пока минимум не будет достигнут. Один из эффективнейших алгоритмов был предложен Р. Хуком и Т. Дживсом. Алгоритм включает два основных этапа:

А) Исследующий поиск. Выбирается начальная точка и начальное приращение , вычисляется Далее, по циклу, всем хiдается приращение , в частности находятся значения и и поиск переходит в ту точку, где меньше значение целевой функции (если ни в одной из этих точек нет улучшения по сравнению с , то х1 оставляем без изменения). Далее эта же процедура применяется ко всем переменным: х2, …, хn. После прохождения одного или нескольких полных циклов переходят ко второму этапу;

Б) Поиск по образцу. Удачные изменения переменных в пункте (А) определяют вектор в Rn, указывающий направление минимизации. В данном направлении из базисной точки (лучшей точки этапа (А), которую обозначим ) делается шаг длиной , который приводит в точку . Если , то становится базисной, в противном случае базисной остается . В любом случае возвращаемся к пункту (А).

Когда достигнута стадия поиска, на которой ни (А) ни (Б) не улучшают ни в одном направлении, требуется уменьшить длину шага по правилу: , где к – число последовательных неудач в поисках (А) при данной величине шага.

Условия окончания поиска:

1) либо приращение целевой функции в двух последовательных базисных точках меньше заданной величины ε;

2) либо для всех i (заданных).

Симплексный метод Спендли, Хекста и Химсворта. Определим регулярный симплекс в пространстве Rn как правильный многогранник с (n+1)-ой вершиной, т. е. на плоскости это равносторонний треугольник, в R3 – правильный тетраэдр и т. д. Соответствующий метод минимизации заключается в следующем. Выбирается начальная точка (как правило, это начало координат). После этого координаты всех вершин регулярного симплекса определяются столбцами матрицы n  (n + 1):

где

t – длина стороны симплекса. В частности, при n = 2, t = 1 получаем правильный треугольник с вершинами

Рис. 2.6.1

Далее вычисляем f(x) в каждой вершине симплекса. Определяем вершину с max f(x) (пусть это будет точка О), из нее проводим прямую ОС через D – центр тяжести симплекса (проектирующую прямую) и в точку С по правилам векторной алгебры проектируется точка О. На следующем шаге рассматривается уже симплекс АВС, с которым проделываются аналогичные операции: определяется «худшая» вершина и через нее проводится проектирующая прямая, строится новый симплекс, а «худшая» вершина вычеркивается. Таким образом, симплекс осуществляет «блуждания» в n- мерном пространстве, приближаясь к точке минимума. Очевидно, для сходимости метода следует предусмотреть процедуру уменьшения длины стороны симплекса по мере приближения к минимуму, а также меры по избежанию циклического движения в окрестности экстремума. Подобные правила неплохо реализованы в следующем алгоритме:

Метод деформируемого многогранника Нелдера – Мида.

Основное отличие данного алгоритма от выше рассмотренного состоит в том, что «худшая» вершина симплекса проектируется через центр тяжести оставшихся вершин, «худшая» вершина вычеркивается и заменяется на отраженную, кроме того, в алгоритме предусмотрены другие возможности, ускоряющие нахождение минимума.

Пусть i = 1, …, n + 1 – i-я вершина многогранника на к-ом этапе поиска. Введем обозначения:

Начальный многогранник обычно выбирают в виде регулярного симплекса, исходная точка О(0, 0, …, 0) – одна из его вершин.

Алгоритм метода для к-го шага (к = 1, 2, … .):

  1. Вычисляем значения целевой функции во всех точках симплекса, определяем «худшую» вершину . Производим отражение:

где α > 0 – коэффициент отражения.

  1. Если – то есть «отраженная» точка оказалась «лучше» всех вершин симплекса, делаем растяжение:

γ > 1 – коэффициент растяжения.

Если после растяжения , то есть эта точка стала «лучше лучшей», заменяем «худшую» вершину симплекса на , иначе «худшая» вершина заменяется на , в любом случае к = к + 1, возвращаемся на пункт (1).

  1. Если «отраженная» точка оказалась «хуже» всех вершин симплекса, кроме , производим операцию сжатие:

где 0 < β < 1 – коэффициент сжатия.

«Худшую» вершину заменяем на , к = к + 1, возвращаемся на пункт 1.

4) Если «отраженная» точка оказалась «хуже» всех вершин симплекса, включая , производим операцию редукция: длина всех векторов уменьшается в 2 раза:

, возвращаемся на (1).

  1. Критерий остановки: (заданного).

Преимуществом метода Нелдера – Мида является то, что деформируемый многогранник в отличие от жесткого симплекса адаптируется к топографии целевой функции: изменяет очертания в изогнутых «впадинах», вытягивается вдоль длинных наклонных плоскостей и сжимается в окрестности минимума.

Рекомендации по выбору параметров α, β, γ: Пока «топология» задачи не требует изменения многогранника, полагаем α = 1, в дальнейшем α можно менять в пределах 1 ± ε. Для других параметров по результатам тестирования наиболее эффективные диапазоны изменения:

Пример 2.6.1. Найдем методом Нелдера – Мида минимум квадратичной функции, рассмотренной в 2.5:

В качестве параметров метода выберем следующие: α = 1; β = 0,5; γ = 2,5; ε = 0,1 (для критерия остановки).

Начальный симплекс – правильный треугольник со стороной t = 1 и вершинами О(0; 0), А(0,965; 0,259) и В(0,259; 0,965) – см. рис. 2.6.1.

Дальнейшие вычисления приведем в виде таблицы:

Х1

Х2

f(x1; x2)

Шаг 1

Комментарии

0

0

3

O

0,965

0,259

0,81889

A

Лучшая

0,259

0,965

4,275466

B

Худшая

0,4825

0,1295

C1

Центр тяжести

0,706

–0,706

7,98436

D

Отражение

Хуже худшей

0,4825

0,1295

1,8427225

О1

Редукция

0,612

0,612

1,301088

В1

Шаг 2

0,4825

0,1295

1,8427225

О1

Худшая

0,965

0,259

0,81889

А

Лучшая

0,612

0,612

1,301088

В1

0,7885

0,4355

С2

Центр тяжести

1,0945

0,7415

0,0287545

Е

Отражение

лучше всех

1,5535

1,2005

–0,3485435

Г

Растяжение

еще лучше

Шаг 3

0,612

0,612

1,301088

В1

Худшая

0,965

0,259

0,81889

А

1,5535

1,2005

–0,3485435

Г

Лучшая

1,25925

0,72975

С3

Центр тяжести

1,9065

0,8475

–1,7450115

Ж

Отражение

лучше всех

2,877375

1,02412

–3,066719

З

Растяжение

еще лучше

Шаг 4

0,965

0,259

0,81889

А

Худшая

1,5535

1,2005

–0,3485435

Г

2,87738

1,0241

–3,0666391

З

Лучшая

2,21544

1,1123

С4

Центр тяжести

3,46588

1,9656

–3,7828539

И

Отражение

лучше всех

5,34154

3,24555

–2,3190970

К

Растяжение

не лучше всех

Шаг 5

1,5535

1,2005

–0,3485435

Г

Худшая

2,87738

1,0241

–3,0666397

З

3,46588

1,9656

–3,7828539

И

Лучшая

3,17163

1,49485

С5

Центр тяжести

4,78976

1,7892

–5,4892903

К

Отражение

лучше всех

7,216955

2,230725

–3,3264181

Л

Растяжение

не лучше всех

Шаг 6

2,87738

1,0241

–3,0666397

З

Худшая

3,46588

1,9656

–3,7828539

И

4,78976

1,7892

–5,4892903

К

Лучшая

4,12782

1,8774

С6

Центр тяжести

5,37826

2,7307

–5,7542852

М

Отражение

лучше всех

7,25392

4,01065

–2,8549545

Н

растяжение

не лучше луч

Шаг 7

3,46588

1,9656

–3,7828539

И

Худшая

4,78976

1,7892

–5,4892903

К

5,37826

2,7307

–5,7542852

М

Лучшая

5,08401

2,25995

С7

Центр тяжести

6,70214

2,5543

–6,4490617

П

Отражение

лучше всех

9,129335

2,995825

–2,4302854

Р

Растяжение

не лучше всех

Шаг 8

4,7898

1,7892

–5,4892734

К

Худшая

5,3783

2,7307

–5,7543719

М

6,7021

2,5543

–6,4491092

П

Лучшая

6,0402

2,6425

С8

Центр тяжести

7,2906

3,4958

–6,2627813

Т

отражение

не лучше всех

Меняем К на Т

Шаг 9

5,3783

2,7307

–5,7543719

М

Худшая

6,7021

2,5543

–6,4491092

П

лучшая

7,2906

3,4956

–6,2635402

Т

6,99635

3,02495

С9

Центр тяжести

8,6144

3,3192

–5,9455353

У

отражение

хуже худшей

6,0402

2,6425

–6,8122667

М1

редукция

6,99635

3,02495

–6,9965098

Т1

Шаг 10

6,0402

2,6425

–6,8122667

М1

6,7021

2,5543

–6,4491092

П

Худшая

6,9964

3,025

–6,9965020

Т1

Лучшая

6,5183

2,83375

–6,9501002

С10

Центр тяжести

критерий

остановки = 0,301

6,3345

3,1132

–6,1917001

Ф

отражение

хуже худшей

6,84925

2,78965

–6,8828798

П1

редукция

6,5183

2,83375

–6,9501002

М2

Шаг 11

6,9964

3,025

–6,9965020

Т1

Лучшая

6,8493

2,78897

–6,8818300

П1

худшая

6,5183

2,8338

–6,9500870

М2

6,75735

2,9294

–6,9847235

С11

Центр тяжести

критерий

остановки = 0,063

6,9964

3,025

6,9965020

Опт.

решение

Замечания. 1. Проверку критерия остановки целесообразно производить на тех шагах, где значения целевой функции в вершинах симплекса становятся близкими (в нашем случае начиная с 10-го шага).

2. В качестве оптимального решения взята «лучшая» вершина последнего симплекса. Она достаточно близка к истинному решению (х1 = 7; х2 = 3; fmin = –7).

Читателю рекомендуется изобразить ход поиска графически на плоскости ХОУ и проследить процесс преобразования симплексов.