Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2793.Методы оптимизации..pdf
Скачиваний:
176
Добавлен:
15.11.2022
Размер:
33.68 Mб
Скачать

варианты методов симплексного поиска были введены различ­ ные способы изменения размеров и формы симплекса. Это привело к разработке метода управляемого прямого поис­ ка, под которым понимают выбор по определенному правилу направления смещения центра используемой конфигурации и величины этого смещения, приводящего к убыванию значений функции в вершинах или центре симплекса. Метод, в котором в процессе поиска осуществляют управление изменением формы симплекса, обычно называют методом деформируемых конфи­ гураций* Изменение формы симплекса позволяет улучшить процесс адаптации используемой конфигурации к рельефу гра­ фика минимизируемой функции.

6.2. Использование регулярного симплекса

Сначала рассмотрим простейший алгоритм симплексного поиска минимума ограниченной снизу целевой функции f ( x ), х Е R71, с использованием регулярного симплекса постоянных размеров. На первом шаге поиска строим регулярный симплекс с вершинами ж1,г, г = 1, п+ 1, который обозначаем Si. Построе­ ние симплекса можно провести различными способами.

1.

Если ж1,1 Е Si — заданная базовая точка, то координаты

(г = 2, п+1, j = 1, п) остальных п вершин ж1,г Е Si регуляр­

ного симплекса Si, имеющего ребра длиной I, можно вычислить

по формулам**

 

 

 

+ \Z n T T - 1 7

i = j + 1;

 

пу/ 2

(6.1)

 

+ у / п + 1 “Ь 71 — 1 J

 

 

w

l

где j = 1, n, — координаты вершины ж1’1 € S\. Например, если в R2 выбрана базовая точка а;1,1 = (0, 0), то при I = 2

*См.: Рыков А .С .

**См.: Реклейтпис Г .} Рейвиндран А ., Рэгсдел К .

остальные две вершины ж1,2 и ж1,3 имеют координаты гс}’2 = = 1,932, х\’2 = 0,518 и rcj’3 = 0,518, х 1/ = 1,932. На рис. 6.2, о приведен построенный симплекс.

2. Если х° € R" — заданная базовая точка, определяемая как центр регулярного симплекса Si, имеющего ребра длиной

I, то координаты x j’* (г = 1, n+1, j = 1, п) всех вершин х 1,г € Si находят по формулам*

 

 

х°-

j < i - 1;

 

 

 

хр

 

 

Xi +

^ 2 (j + l ) /’

j = i - 1;

(6.2)

 

Xj

y/VU+D1'

j > i - 1,

 

 

 

 

 

 

где х°, j = 1, n, —

координаты точки

х°.

Например,

если

в R2 задана точка

х° =

(0, 0) и I =

2,

то

вершинами

пра­

вильного симплекса будут точки х 1'1 = (—1,000, —0,578), ж1,2 = = (1,000, —0,578), ж1,3 = (0,000, 1,156). На рис. 6.2,6 приведен построенный симплекс.

*См.: Дамбраускас А.П.

ж2

После построения симплекса Si на первом шаге поиска в вершинах а?1'1 G Si, г = 1, п+1, вычисляют значения миними­ зируемой функции. По результатам вычислений выбирают вершину, в которой значение функции является наибольшим (пусть для определенности это будет вершина ®i,n+1; если та­ ких вершин несколько, то может быть взята любая из них), и по формуле

д.2,71+1 _ 2а;1 _ jpl.n+l _ 2 ^2 Xl><- ®1>n+1

(6.3)

находят точку x 2,n+1, симметричную вершине ®1,n+1 относи­ тельно гиперплоскости, в которой лежат остальные вершины симплекса Si. Точка равноудалена от вершин ®1,г, г = 1, п, т.е. является центром регулярного симплекса с п вершинами, или, иначе говоря, центром масс системы материальных точек, расположенных в вершинах симплекса и имеющих одинаковую массу.

Нахождение точки ж2,п+1 называют отражением вершины. В ре­ зультате получают новый регуляр­ ный симплекс S2, образованный но­ вой вершиной ж2,п+1 и п вершинами ж1’1, г = 1, п,Апринадлежавшими сим­ плексу Si. На рис. 6.3 представлена процедура построения нового регу­ лярного симплекса в случае М2.

На втором шаге поиска в новой вершине x 2,n+1 Е S2 сим­ плекса S2 вычисляют значение /(ж 2,п+1), и если f ( x 2,n+1) < < f ( x 1,n+1), то описанную выше процедуру повторяют. При построении алгоритма удобно на каждом к-м шаге поиска от­ ражаемой вершине симплекса Sjt присваивать номер п + 1, т.е. обозначать ее ®fc,n+1 е Sjfc. Нумерацию вершин симплекса S* назовем правильной, если выполнены неравенства

/(® М К •••< / ( * AliK •••< / ( * fc’n+1).

Если на fc-м шаге после отражения вершины x k'n+l Е S* в

точку

x k+l'n+l и вычисления значения /(ж*+1,71+1)

окажется,

что f ( x k+l>n+l) ^ /(ж *’71* 1), то следует вернуться

к симплек­

су S'*,

считая отражение вершины х к'п+1 неудачным. После

этого, предполагая нумерацию вершин симплекса Sk правиль­ ной, проводят отражение вершины х к'п Е получают точ­ ку х к+г'п и сравнивают значения f (x k+l'n) и f(x k'n+l). Если f ( x k+l'n) ^ /(ж*»71* 1), то отражение и этой вершины считают неудачным и проводят отражение вершины ж*’71” 1 € Sk и т.д.

При фиксированной длине ребра симплекса поиск прекра­ щают на шаге с номером К , если отражения всех вершин симплекса SK оказались неудачными. Тогда в качестве оцен­ ки искомого наименьшего значения /* минимизируемой функ­ ции /(ж ) можно принять наименьшее из вычисленных значений / ( ж^,г), х К'г Е SK , i = 1} 7i+l. Полученной в процессе поиска конечной последовательности {5*;}# построенных симплексов Sfc, к = 1, К, соответствует невозрастающая конечная последо­ вательность {/{хк'1)}к минимизируемой функции.

Исследование свойств последовательности {/(ж**1)}# весь­ ма затруднено. Поэтому на практике вместо нее изучают свойства последовательности {Д } значений Д = f { x k) миними­ зируемой функции, каждое из которых вычислено в центре х к симплекса 5^, к = 1, К. Процедуру поиска точки ж* Е R71, в ко­ торой функция /(ж) достигает наименьшего значения, в этом случае проводят в соответствии с рекуррентным соотношением

ХШ = х к + акрк, к = 1, АТ,

где — единичный n-мерный вектор, определяющий направле­ ние смещения центра симплекса на к-м шаге; > 0 — смещение центра симплекса в направлении вектора рк при переходе от х к к x k+l. Геометрическая иллюстрация процедуры такого поиска в случае R2 представлена на рис. 6.4.

Рассмотрим некоторые подходы к построению алгоритмов, позволяющих повысить эффективность процесса поиска при

Рис. 6.4

Рис. 6.5

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

На рис. 6.5 приведен пример построения регулярного сим­ плекса в пространстве R2 по правилу, допускающему отра­ жение всех тех вершин правильного треугольника, в которых значения минимизируемой функции больше, чем в центре тре­ угольника. Если значения этой функции во всех вершинах сим­ плекса превышают ее значение в центре, то процесс поиска прекращают.

Иной путь построения эффективных алгоритмов связан с идеей изменения размера регулярного симплекса в процессе по­ иска. Введение правил такого изменения является одним из существенных элементов построения алгоритмов управляемого

ФСм.: Дамбраускас А .П ., а также: Рыков А .С .

прямого поиска. Это особенно важно в тех случаях, когда наи­ меньшее значение функции /(ж) необходимо найти с высокой точностью. Действительно, чем меньше размер симплекса, тем точнее можно локализовать точку ж*, в которой эта функция достигает наименьшего значения. При этом, однако, малый размер симплекса приводит к его замедленному смещению в направлении точки ж*, т.е. к росту числа шагов поиска, связан­ ному с увеличением вычислительных затрат. Большой размер симплекса, наоборот, позволяет за каждый шаг поиска осуще­ ствлять большое смещение центра симплекса, но обеспечивает лишь грубую локализацию точки ж* Поэтому возможность изменения размера симплекса наделяет алгоритм поиска высо­ кими адаптивными свойствами.

Выделим два основных подхода к построению алгоритма, предусматривающего изменение размера симплекса в процессе поиска. В первом из них это изменение происходит лишь при выполнении определенного условия, проверяемого на каждом шаге поиска, а во втором — на каждом шаге поиска по заранее заданному закону. Простейшая схема алгоритма, построенного на основе первого подхода, такова.

Пусть S k С Шп — регулярный симплекс на А;-м шаге по­ иска, имеющий правильную нумерацию вершин. Процедура отыскания вершины ж*4-1’71"1 е 5Л+1 нового симплекса Sk+1, в которой функция /(ж ) имеет меньшее значение, чем в вершине ж*’714"1, включает два этапа — отражение вершины x k'n+l € Sk и уменьшение размера симплекса Sk при сохранении его формы, называемое редукцией симплекса.

1. Отражение вершины х к)П~1-1 £ Sk осуществляют в соот­ ветствии с формулой, аналогичной (6.3):

9

_ п ,

(6.4)

* fc+i-n+i = 2хк - х к’п+1 = -

- ®м + \

П

г= 1

 

где х к — точка, равноудаленная от вершин ж*’7, г = 1, гг. Затем вычисляют значение /(ж*4-1’714"1) функции /(ж ) в найденной точке х к+1>п+1.

2. Редукцию симплекса 5^ проводят только при выполнении неравенства /(® Л+1,П+1) ^ f ( x k'n+1). При этом длину всех ребер симплекса уменьшают в 1 /6 раз, где 6 Е (0,1) — заданный ко- эффициент редукции, и находят вершины нового симплекса Sk+ 1 по формуле

х*+М = х*.1 + Я(ж*,<_я.М)| i = 2^T -PI,

сжимая симплекс в 1/5 раз к вершине a5fc)1, в которой значение целевой функции меньше, чем в других вершинах симплекса. Затем осуществляют переход к этапу 1 при к : = к + 1.

Если же /(® *+1’n+1) < /(® fc,7l+1), то редукцию симплекса S*

не проводят и далее рассматривают симплекс

Sk+i с новой

вершиной x fc+1,n+1 и п вершинами жЛ,г, %—1, п,

симплекса 5^,

переходя к этапу 1 при к := к + 1.

Эту схему алгоритма следует дополнить условием прекра­ щения поиска, зависящим от конкретной постановки задачи минимизации. Например, поиск можно вести до тех пор, пока длина ребер регулярного симплекса не станет меньше заранее выбранного значения или же не будет выполнено заданное чи­ сло шагов. Одним из возможных условий прекращения поиска

является выполнение неравенства

 

 

 

1 п+1

ч

1/2

 

( ^ т Е № м ) - / ( ^ ) ) 2]

< * .

( м )

где е > 0 — заданное достаточно малое число.

Пример 6.1. Используя поиск при помощи регулярного симплекса, найдем решение задачи минимизации функции

f{x i,z 2) = -4жха;2 + 3^2 + 4л/б(ж1 + 2гс2) + 22,

рассмотренной в примере 3.18. Выберем базовую точку х° =

(—2, 1) и положим е 0,01 в условии (6.5) прекращения поиска. На рис. 6.6 дана графическая иллюстрация процесса поиска при коэффициенте редукции 5 = 1/2 и трех значениях начальной длины I ребра симплекса, указанных в табл. 6.1.

в

Рис. 6.6

Таблица 6.1

1

Ж*

/(»• )

N

0,5

(-2,233,

-4,470)

-28,0

32

1,0

(-2,233,

-4,470)

-28,0

19

2,0

(—2,233, -4,470)

-28,0

18

Построение исходного симплекса с начальным значением I было проведено по формулам (6.1) с выбором в качестве базо­ вой точки ж 1,1 = ж0. Приближения точки ж* и значения / ( ж * ) функции в этой точке, указанные в табл. 6.1, соответствуют той вершине симплекса на последнем, N-м шаге поиска, в которой значение функции оказалось меньше, чем в других вер­ шинах, т.е.

f{x*) « min f ( x N’1).

(6.6)

1=1,71+1

 

Увеличение значения I в 4 раза в данном случае не повлияло на точность нахождения точки ж* и значения / ( ж * ) , но привело к заметному снижению необходимого числа N шагов поиска. #

Некоторые возможные варианты уменьшения размера сим­ плекса по заданному закону при втором подходе к построению алгоритма поиска в случае Ш2 показаны на рис. 6.7. По-преж­ нему считаем, что нумерация вершин симплекса Sk на каждом к-м шаге поиска является правильной.

В первом варианте (рис. 6.7, а) уменьшение размеров сим­ плекса на каждом к-м шаге поиска осуществляют относительно найденной отражением вершины х к'п + 1 Е Sk (в данном случае п 2). Ее считают неподвижной, а расстояния до остальных

п вершин изменяют в

Нк)

1)

раз. Изменение параметра 5(к)

 

6(к -

 

Е (0,1] можно проводить, например, по закону 6 (к) = е~^к~1\ где р, > 0 — заданный коэффициент. Этот закон обычно приме­ няют в тех случаях, когда для достижения достаточно хороше­ го приближения к точке наименьшего значения ж* необходимо

Рис. 6.7

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

Во втором варианте (рис. 6.7, б) неподвижной считают вершину гс*'1 € Sk симплекса Sk с наименьшим значением f ( x k’1)

функции /(аз) и изменяют в раз расстояния от нее

до остальных п вершин. В третьем варианте (рис. 6.7, в) уменьшение размеров симплекса Sk на каждом к-м шаге поиска осуществляют относительно центра х к этого симплекса. При

6(к)

этом центр симплекса считают неподвижным, а в J(fc-l) раз изменяют расстояния от центра х до всех вершин симплекса.

’ Подробнее см.: Дамбраускас А .П . или Рыков А .С .

условиях выглядит идея деформирования симплекса в процессе поиска, т.е. изменения его формы и размера.

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

Рассмотрим простейшую схему алгоритма прямого поиска по деформируемому симплексу — конструкцию вычислительно­ го алгоритма Нелдера — Мида. Она предусматривает возмож­ ность отражения только одной вершины симплекса на каждом шаге поиска.

Пусть Sk СШп — заданный произвольный симплекс на к-м шаге поиска, имеющий правильную нумерацию вершин. Проце­ дура отыскания вершины вновь генерируемого симплекса SVц ,

вкоторой функция имеет меньшее значение, чем в вершине

хк'п+1 е Sit, включает несколько этапов: отражение вершины жМ+1. изменение размера и формы симплекса, полученного в результате отражения этой вершины, путем растяжения или сжатия в направлении новой вершины в зависимости от того, удачным был шаг поиска в направлении убывания функции f(x) или нет, и редукция симплекса Sk в случае неудачного шага по­ иска.

1.Отражение вершины х к)П+1 Е Sk осуществляют в соот­ ветствии с формулой, аналогичной (6.3):

 

х к+1,п+1 = х к + а (х к _

х к,п + 1) = i + £

^ x k,i _ а х к,п+1'

 

 

 

Я*

г=1

где

а > 0 — заданный

коэффициент

отражения; х к =

\

п

'

 

___

= -

Y] х к'г — центр грани симплекса с вершинами ж^,г, г = 1, п.

71 г=1

В результате получают новый симплекс Sk+1, образованный но­ вой вершиной x k+ l 'n + 1 и п вершинами х к'г Е S*, i = 1,п. На рис. 6.9, а представлена процедура построения нового симплек­ са в пространстве R2 при a = 1.

г

д

Рис.

6.9

В новой вершине вычисляют значение f(x k+l'n+1) функции f{x). Если / ( x fc+1’n+1) < f (x k'1), то шаг поиска считают удач­ ным: получен новый симплекс Sk+i с наименьшим значением f (хк+1'п+1) функции f(x) в новой вершине х к+1'п+1. При этом переходят к этапу 2 растяжения симплекса S^+i. При выполне­ нии неравенства f (x k'n) ^ f (x k+l'n+l) ^ f ( x k)l) далее исполь­ зуют полученный симплекс Sk+i с новой вершиной х к + 1 'п + 1 и п вершинами х к'г Е 5*, г = 1, п, и переходят к этапу 1 при

к : = к + 1 . Если же f (x k+l'n+1) > f (x k'n) > f(x k}1), то перехо­ дят к этапу 3 сжатия симплекса 5^+1.

2. При выполнении неравенства f(x k+1'n+l) < f ( x kyl) растя­ жение симплекса Sk+i осуществляют в соответствии с форму­

лой

®f+i*n+i = х кс + (3(xk+1’n+l - х с)к =

^

+ /Зхк+1>п+1,

 

И

л

 

 

2=1

где /3 > 1 — заданный коэффициент растяжения. Геоме­ трически это можно интерпретировать как увеличение длины вектора х /с+ 1>п+ 1 х к в /3 раз. После растяжения вычисляют значение /(ж *+1,Г1+1) функции /(ж ) в найденной точке ж*+1,п+1

Если /(ж*+1’п+1) < /(ж*2’1), то далее рассматривают сим­ плекс Sfc+i с вершиной ж*+1,71+1 и п вершинами х к'гЕ i = 1, п, и переходят к этапу 1 при к := к + 1 . На рис. 6.9, б построен симплекс Sk+i в М2 с применением операции растяжения при /3 = 2. При /(ж *+1’п+1) ^ f ( x k'1) растянутый симплекс не ис­ пользуют, а далее рассматривают симплекс Sk+1 с вершиной д,/с+1,п4-1 и п вершинами ж*’7Е 5^, г = 1, п, и переходят к этапу 1

при к := к + 1 .

 

 

 

3.

Сжатие симплекса Sk+i проводят различными способа­

ми в зависимости от результатов сравнения значений функ­

ции /(ж ) в вершинах

x k'n+l Е Sk

и a^+M+i £ S^+i. Если

/(ж *+1,71+1) ^ д ж/с,71-ц^

т0 сжатие

осуществляют в соответ-

ствии с формулой

 

 

 

a.fc+i.n+i _ jpfc _j_ 7(a.fc+i,n+i _ ajfcj =

1 -

■2 J V ' < + 7 * * + 1 ,n + \

 

 

 

n

 

 

 

2=1

где 7 E (0,1) — заданный коэффициент сжатия. Рис. 6.9, в

иллюстрирует нахождение вершины ж**1,п+1 в R2 при 7 = 1 / 2. Если же /(ж*4"1’7144) > /(ж*2’71"14), то новую вершину определяют по формуле

А:+1,л+1 = ®с + 7 (а;А:,гг-Ь1

1 -7

п

^~'хк,г + 7ЖА:,71+1

 

п

i=i

На рис. 6.9, г представлена

процедура нахождения вершины

xjH"1,n+1 в этом случае при 7 = 1 / 2.

 

После сжатия симплекса вычисляют значение /(x*J~1,n+1) функции f(x) в найденной вершине ®j£’1,n+1 и сравнивают его со значением f ( x k'n+1). Если /(ж*^1,п+1) < /(ж *’п+1), то далее используют симплекс Sk+i с найденной вершиной х * ? 1 '71* 1 и п вершинами x k<LЕ г = 1,п, и переходят к этапу 1 при к : = к + 1. В противном случае этап сжатия не приводит к уменьшению значения функции в найденной вершине. Поэтому далее рассматривают симплекс S* и переходят к этапу 4 — редукции этого симплекса.

4. Редукция симплекса 5^ состоит в уменьшении длин всех его ребер в 1/ 6 раз, где SЕ (0,1) — заданный коэффициент редукции. Вершины нового симплекса Sk+i находят по формуле

®*+м = х кд + 6 (хк>*- ж*’1), t = 2, п+1.

Симплексы S'* и 5*+i до и после редукции при (5 = 1/2 изображе­ ны на рис. 6.9, д. После вычисления значений f (x k+l,t) функции f(x) в найденных вершинах х к+1,г, i = 2, п+1, переходят к эта­ пу 1 при к := к + 1.

Помимо описанных этапов периодически (после N шагов по­ иска) следует проводить так называемую операцию восста­ новления симплекса. Она состоит в следующем: сохраняют две плучшие “ точки текущего симплекса S^, расстояние между которыми принимают за длину ребра вновь генерируемого сим­ плекса. Это позволяет ликвидировать излишние деформации симплекса, накопившиеся за предшествующие N шагов поиска.

Рассмотренную схему алгоритма Нелдера — Мида следует дополнить условием прекращения поиска. Выбор этого условия диктуют те же правила, что и в методах поиска при помощи регулярного симплекса (см. 6.2).

Построение начального симплекса в методах поиска при по­ мощи нерегулярного симплекса проводят различными способа­ ми. Один из способов состоит в выборе в качестве начального регулярного симплекса S\, координаты вершин которого вычи­ сляют при помощи (6.1) или (6.2). Другой способ заключается

в выборе некоторой базовой точки ж0 Е Rn, которую прини­ мают за вершину ж1’1 начального симплекса Si, а остальные п вершин находят по формуле

x lil+l = х ° + lei, г = 1,п,

(6.7)

где в{ — векторы стандартного базиса в R71; I — заданное чи­ сло. Ясно, что в этом случае начальный симплекс Si будет нерегулярным (например, в R2 получим равнобедренный тре­ угольник).

С теоретической точки зрения методы поиска при помощи нерегулярного симплекса изучены недостаточно полно, однако практические вычисления указывают на их работоспособность. В задачах безусловной минимизации рекомендуют выбирать а = 1, /3 = 2, 7 = 1/2 или а = 2, /3= 5/2, 7 = 1 /4 . Вопрос вы­ бора оптимальных параметров для каждой конкретной целевой функции может быть решен после дополнительного исследова­ ния свойств метода с помощью вычислительного эксперимента.

Пример 6.2. Используя поиск при помощи нерегулярно­ го симплекса, найдем решение задачи минимизации из при­ мера 6.1. В качестве базовой возьмем точку ж0 = (—2, 1), а в условии (6.5) прекращения поиска положим е = 0,01. Выбе­ рем также коэффициенты отражения а = 1, растяжения (3 = 2, сжатия 7 = 1/2 и редукции 5 = 1/2. Результаты приведены в табл. 6.2, номер варианта соответствует способу построения начального симплекса Si: 1 — при помощи (6.1); 2 — при по­ мощи (6.7) с выбором базовой точки ж0 = ж1»1. Графическая иллюстрация процесса поиска в обоих вариантах для каждо­ го из трех значений параметра I — начальной длины ребра симплекса — приведена на рис. 6.10 и 6.11 соответственно. Ко­ ординаты точки ж* и значение /(ж*) функции (3.40) в этой точке, приведенные в табл. 6.2, найдены при помощи формулы (6.6) и соответствуют той вершине симплекса SM на последнем, N-м шаге поиска, в которой значение этой функции оказалось меньше, чем в других вершинах.

a

б

в

а

б

в

Таблица 6.2

Номер

/

X*

/О О

N

варианта

 

 

 

 

 

 

0,5

(-2,216,

-4,443)

-27,997

20

1

1,0

(—2,222,

-4,416)

-27,993

15

 

2,0

(—2,233,

-4,457)

-27,999

17

2

0,5

(-2,263, -4,511)

-27,995

18

1,0

(—2,261,

-4,450)

-27,993

18

 

2,0

(—2,228,

—4,404)

-27,998

14

Из табл. 6.2 видно, что на точность нахождения точки х* и значения /(ж*), как и на необходимое число N шагов поиска влияют и значение параметра /, и форма начального симплекса. Наилучшим при значении I = 2 является вариант 2, в котором заданная точность нахождения точки х* достигнута за N = 14 шагов. Этот вариант далее принят в качестве базового при установлении влияния параметров алгоритма на необходимое число N шагов поиска при помощи нерегулярного симплекса.

Вычислительный эксперимент показывает, что изменение коэффициентов отражения а и растяжения /3 не приводит к значительному изменению необходимого числа шагов N поис­ ка. Так, например, увеличение а от 1 до 2 изменяет N от 14 до 16, а увеличение /3 от 1 до 3 приводит к изменению АГ от 14 до 15.

Наибольший интерес представляют результаты расчетов, иллюстрирующие влияние коэффициента сжатия 7 на процесс поиска (рис. 6.12). Расчет проведен при / = 2, а = 1, /3 = 3 и различных значениях 7 : а 7 = 1/4 (N = 18); б 7 = 1/2 (АГ = 15); в 7 = 3/4 (N = 29). Из этих результатов видно, что оптимальным по числу шагов является вариант при 7 = = 1/2. Выбор других значений 7 приводит к избыточному числу шагов поиска, причем при 0 ^ 7 ^ 1/2 процесс поиска может сопровождаться вырождением симплекса.

а

б

в

Результаты расчетов позволяют сравнить эффективность алгоритмов поиска при помощи регулярного и нерегулярного симплексов. Сравнение этих алгоритмов по необходимому чи­ слу N шагов поиска показывает (см. табл. 6.1 и 6.2), что в слу­ чае правильного выбора параметров алгоритма метод поиска с использованием нерегулярного симплекса более эффективен, чем метод поиска при помощи регулярного симплекса. В то же время неудачный выбор параметров алгоритма может при­ вести не только к избыточному числу шагов поиска, но и к преждевременному окончанию процесса поиска. #

Ситуации, которые приводят к преждевременному оконча­ нию процесса поиска, наиболее типичны в тех случаях, когда целевая функция имеет овражную структуру. Покажем это на конкретном примере.

Пример 6.3. Используя поиск при помощи нерегулярного симплекса, найдем решение задачи минимизации

f{x 1,0:2) = 10(ж2 - х2 )2 + (si - I)2 min.

График функции f( xi ,x2) и топография ее линий уровня пока­ заны на рис. 6.8. Минимальное значение функции достигает­ ся в точке х* = (1, 1). В качестве начальной выберем точку х° = (—1, 1), а в условии (6.5) прекращения поиска положим е = 1СГ2. Графическая иллюстрация процесса поиска при коэф­ фициентах отражения a = 1, растяжения /3 = 2, сжатия 7 = 1/2 и редукции 5 = 1/2 и различных значениях параметра I пред­ ставлена на рис. 6.13: a— в случае I = 0,5; б — в случае I = 0,75.

Построение исходного симплекса S\ с начальной длиной I ребра было проведено по формуле (6.2). Точка х* и значение /(ж*) приближенно вычислены на последнем, N-м шаге поис­ ка в соответствии с формулой (6.6). Полученные результаты показывают, что при заданном значении е = 0,01 параметра точности поиска и начальной длине I = 0,5 ребра симплекса ал­ горитм приводит к минимуму целевой функции за N = 22 шагов (см. рис. 6.13, а), при этом х* « (0,990, 0,978), f(x*) « 2,10* 10-4 .

а

б