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

2. Методы безусловной оптимизации

Задачи безусловной оптимизации сводятся к поиску точек минимума функции многих переменных на всем пространстве соответствующей размерности. Функции многих переменных /(А") =/(*,, х2,..., х„) будем рассматривать как функции, заданные в точках А'п-мерного евклидова пространства Е". Изучим основ­ные методы решения задач

min{f(X)\XzE"}. (2.1)

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

(2.2)


дх,


f'{X) = 0 или

находим все стационарные точки функции/(х). Среди них, ис­пользуя достаточные условия, находим точки локального мини­мума, в которых матрица вторых производных /' (х) положитель­но определена. Сравнивая значения функции в этих точках, опре­деляем точку глобального минимума.

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

13

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

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

XM=F{XkX-\...X)XeE", (2.3)

в которых выбор нового приближения к точке минимума опреде­ляется сравнением значений функции/Ш в нескольких точках пространства Е".

2.1. Прямые методы безусловной оптимизации

2.1.1. Поиск по правильному симплексу

Поиск минимума целевой функции/(Х) по данному методу основан на выборе в качестве пробных точек вершин правильно­го симплекса. Напомним, что правильным симплексом в Е" назы­вается множество из и+1 равноудаленных друг от друга точек -вершин симплекса. Так, в Е2 правильным симплексом является равносторонний треугольник, в Еъ - тетраэдр.

Из аналитической геометрии известно, что если Х°~ одна из вершин правильного симплекса в Е", то координаты остальных вершин X1,..., ^находятся по формулам

(2.4)

где d, = -

I + n-\); d2 ==(yJn + \ -l); t - длина ребра.

По известному симплексу можно построить новый симплекс путем отражения какой-либо вершины симметрично относитель­но центра тяжести А" остальных вершин симплекса. Новая и ста­рая вершины X и Л"* связаны соотношением:

14

(2.5)


л [

В результате получается новый правильный симплекс с тем же ребром и вершинами:

х" =2Xc-Xk,XJ, j = O,...,n,j*k.

Описанная операция отражения в пространстве Ег представ­лена на рис. 2.1.

V0


х>


о Л

Рис. 2.1. Построение нового симплекса в Е2 отражением точки X1:

а - начальный симплекс Х°, Х\ А"2; б- новый симплекс Х°, X1. Х'*\

центр отражения - точка X'= (Х° + Х')/2

На каждой итерации поиска сравниваются значения функ­ции f{x) в вершинах симплекса и выполняется описанная про­цедура отражения для той вершины, в которой/(л) принимает наибольшее значение. Если в отраженной вершине получается меньшее значение функции, то переходят к новому симплексу. Иначе выполняют еще одну попытку отражения для вершины со следующим по величине значением/(а). Если и она не приводит к уменьшению функции, то сокращают длину ребра и строят но­вый симплекс с этим ребром. При этом в качестве базовой выби­рают ту вершину Х° старого симплекса, в которой функция при­нимает наименьшее значение. Поиск точки минимума X закан­чивают, когда либо ребро симплекса, либо разность между зна­чениями функции в вершинах симплекса становятся достаточно малыми. Опишем один из вариантов алгоритма этого метода.

15

г

Шаг-0, Задать параметр точности е, выбрать базовую точку Х° и длину ребра t, построить по формуле (2.4) начальный симп­лекс и вычислить f(X )■

Шаг1. Вычислить значения функции/(А) в вершинах симп­лекса X',..., X".

Шаг 2. Упорядочить вершины симплекса X ,..., Л"1 так,

чтобы f(X°)<...<f{X").

ШагЗ. Проверить условие достижения точности

Если оно выполняется, то перейти к шагу 7, иначе - к шагу 4.

Шаг 4. Найти по формуле (2.4) центр тяжести Х^

вершин Х\Х\..., А""'и выполнить отражение вершины X":

X" =2ХС -X". Если ffx"'^<f(X"-l),TO положить X"'1 = А'""' и перейти к шагу 2, иначе - к шагу 5.

Шаг 5. Найти центр тяжести Xевершин Х°, X1,..., X" ', X" и выполнить отражение вершины Х"~': X"' = 2Хе -X"' . Если

/|А"1~')</(А"'~|),то положить X"'1 = X""' и перейти к шагу 2, иначе - к шагу 6.

Шаг 6. Построить новый правильный симплекс с вдвое мень­шим ребром, считая базовой вершину А'0, а остальные п вершин на­ходя по формуле X' = [XJ+ Xй У2, j -1,...,п, и перейти к шагу 1.

Шаг_7. Завершить вычисления, положив Х'-Х°,/' =/(А"1).

■/ 2.1.2. Поиск но деформируемому многограннику

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

Рассмотрим метод поиска, в котором симплекс может изме­нять свою форму и уже не остается симплексом. Более подходя­щим для него оказалось название «деформируемый многогранник».

В методе деформируемого многогранника, как и в предыду­щем методе, функция п независимых переменных минимизирует­ся с использованием п+1 вершин многогранника. Вершина, в ко­торой значение функции/^ максимально, проектируется через центр тяжести оставшихся вершин. Улучшенные значения функ-цииДА) находятся последовательной заменой точки с максималь­ным значением/(,¥) на более «хорошие» точки, пока не будет най­ден минимум/УО-

Итак, пустьX1,Хг,...,Х"*х -вершины многогранника на не­котором этапе поиска. Определим точки XhwXL, в которых фун­кция имеет соответственно наибольшее и наименьшее значения:

Центр тяжести всех вершин, исключая Xh, определим по формуле

X^^-Wx'-X" \. (2.6)

Процедура отыскания вершины, в которой/(Л0 имеет луч­шее значение, состоит из четырех операций.

1. Отражение - проектирование точки Xh через центр тяже­сти Х" в соответствии с соотношением

Xnri=Xnt2+a(X~2-Xh), (2.7)

где а > 0 - коэффициент отражения: А'"'2 - центр тяжести, вычис­ляемый по формуле (2.6).

2. Растяжение. Если /(*"*')</(*'), то векторХ^-Х"*1растягивается в соответствии с соотношением

X"**=X-*2+y{X"*i-X'*2), (2-8>

где у > 1 - коэффициент растяжения. Если j(X"**)<J[X )• т0 вершина ^заменяется на .Г4 и начинается новый этап поиска

17

снова с операции отражения. В противном случаев* заменяется на X"" и также осуществляется переход к операции отражения нового этапа.

3. Сжатие. Если f{x"*3) >f(xj)yj * h, то вектор Xй -X"*1 сжимается в соответствии с формулой

X = Х +р(А -X ), (2.9)

где (Зе(0;1)-коэффициент сжатия. Вершина Xh заменяется HaX"+i

и выполняется вновь операция отражения на новом этапе поиска.

4. Редукция. Если f(X"1l)>f(x"), то все векторы ;Г -*-'■

уменьшаются, например, в 2 раза с отсчетом отXL в соответствии

с формулой

Далее возвращаемся к операции отражения ния поиска на новом этапе.


. (2.10)

для продолже-Критерий окончания поиска может быть выбран

ловия


в виде ус-

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

Рис. 2.2. Пробные точки Х"*\ X"" , Х"*\ X" для перехода к новому многограннику


Геометрическая иллюстрация описанных процедур для про­странства Е1 приведена на рис. 2.2 и 2.3.

IK

Так как величина аб(0;1], то выбор точек Х"*ъ и А'"+3 соот­ветствует отражению; ре(0;1), поэтому выбор точки A""+s соот­ветствует сжатию, а у >1 и выбор точки Х"*л приводит к растяже­нию симплекса.


,-:Y A -

* л" х> '"Y х3' г х'

а б в г

Рис. 2.3. Новые многогранники, полученные в результате процедур отражения (а, б), сжатия (в), растяжения (г)

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

Влияние параметров алгоритма на эффективность поиска. Проанализируем влияние параметров а, у, р на эффективность

процедуры поиска.

Коэффициент отражения а используется для проектирова­ния вершины с наибольшим значением/(А) через центр тяжести деформируемого многогранника.

Коэффициент у вводится для растяжения вектора поиска в случае, если отражение дает вершину со значением f(X), мень­шим, чем наименьшее :шачение/(Л), полученное до отражения.

Коэффициент сжатия (3 используется для уменьшения век­тора поиска, если операция отражения не привела к вершине со значением/(ЛО,меньшим, чем второе по величине (после наиболь­шего) значение/(Л), полученное до отражения.

Таким образом, с помощью операций растяжения или сжа­тия размеры и форма деформируемого многогранника изменя-

19

ются так чтобы они удовлетворяли топологии решаемой задачи. После того как это изменение выполнено, размеры многогранника поддерживаются неизменными, пока особенности целевой функции не потребуют применения многогранника другой формы. Это воз­можно реализовать только при <х=1. Как показывают численные эксперименты, при .решении задачи с col требуется большее коли­чество вычислений функции. При этом параметр а не должен быть много больше единицы, так как деформируемый многогранник лег­че адаптируется к топологии задачи при меньших значениях а. Кро­ме того, большое значение а может замедлить сходимость, так как в окрестности минимума размеры многогранника должны уменьшать­ся. Поэтому значение а= 1 можно выбрать как компромисс.

Влияние на процедуру поиска параметров р и у менее четко выражено. Как показывают результаты решения тестовых задач, можно рекомендовать следующие диапазоны значений для этих параметров: 0,4 < J3 < 0,6; 2 < у < 3. При этом отмечается, что вли­яние коэффициента р на эффективность поиска заметнее, чем вли­яние у. При Ре(0;0,4) имеет место преждевременное окончание поиска, а при р > 0,6 требуется выполнить больше шагов для дос­тижения окончательного решения.

^ 2.1.3. Типовой пример

Выполним одну итерацию поиска по методу деформи­руемого многогранника для задачи минимизации функции f(X) 4(5)2 ()2

) (2)

Поскольку функция зависит от двух переменных, в началепоиска используется многогранник с тремя вершинами- Xх=(8- 9)тЛГ2=(10;П)т,Л-3=(8;11)т. '

Зададим значения параметров а = 1, у = 2. Вычислим значе­ния функции в них:/(л") = 45;/(х2) = 125;/(Л"3) = 65.

^ Вершиной с наименьшим значением функции оказывается ХХг' ВеРШИН0Й с наибольшим значением функции является X -X . Далее находим центр тяжести вершин, исключая X2.

20

л =—\л +л ) = —|

2V ' 2V20J [\0)

Отражая «худшую» точку Xh относительно найденной X*,

получим точку

6

9)'

значение функции в которой/(Z5) =13.

Поскольку / [Xs) < f [Xl) = 45,выполняем операцию растя­жения, определяя точку

{\0 и значение функции в ней:/(^6) = 8.

Так как /(А'6) < f(xL), заменяем вершину Xй на А""4, пола­гая X2 = X6 и тем самым завершая первую итерацию поиска.


На рис. 2.4 приведена геометрическая интерпретация поис­ка по деформируемому многограннику на пяти начальных эта­пах минимизации функции: /(Х) = 4х2 +х\ -40х, -12х2 +136.

. 2.4. Траектория поиска по деформируемому многограннику


Рис

21

Очевидно линиями уровня функции являются эллипсы. На тс 2 4 и обряжены линии уровня, соответствующие значениям Е™ 2 5 10 20 и 30. Пунктиром выделены многогранники с в ршинами^" U- номер вершины деформируемого многогран­ника на /-м этапе поиска). Сплошными линиями показана траек­тория поиска, соединяющая вершины многогранника, соответ­ствующие наименьшим значениям/С*) в каждом из них.

Убедитесь в соответствии графической иллюстрации опи­санному с помощью формул (2.7) - (2.10) алгоритму.

Порядок выполнения лабораторной работы

  1. Кратко описать изучаемые прямые методы безусловнойминимизации функций многих переменных.

  2. Выполнить алгоритмическую реализацию описанного ме­тода деформируемого многоугольника.

  3. Дать геометрическую иллюстрацию указанной препода­вателем задачи и выполнить вручную две итерации по состав­ленному алгоритму.

  4. Провести с использованием компьютерного комплексарасчеты полученной задачи при различных значениях парамет­ров алгоритма.

  1. Проанализировать влияние параметров алгоритма на егосходимость. Дать геометрическую интерпретацию поиска.

  2. Сформулировать вывод о влиянии параметров алгорит­ма на эффективность поиска решения задачи. Содержание рабо­ты отразить в отчете.

Задания для лабораторной работы

  1. Минимизировать функцию f(x) = 2xf + r2 -*,*,, исполь­зуя в качестве начального многогранник с вершинами X '=(2- 2)тл =(3;2,5)', А"=(2;3)т '

  2. Минимизировать функцию f(x) = 5х? + 5хг2 + 8*, х2 ис-

  1. Минимизировать функцию/(X) = 4.x,2 + х\ -40х, - 12л, +136,используя в качестве начального многогранник с вершинамиA"=(8;9)T,A-2=(10; 11)Т,ЛГ3=(8; 11)т.

  2. Минимизировать функцию f[X) = 2х] + 2х\ - 2х,х, - 14х, -- \2хг + 29, используя в качестве начального многогранник с вер­шинами Хх= (6;3)Г2=(9; 3)\Х'= (7;4)т.

  3. Минимизировать функцию f(X) = x* +4xl -Wjc, -48.x, +169используя в качестве начального многогранник с вершинамиXх = (7; 3)т, Х1= (9; 1)т, Xi= (9; 3)т.

  1. Минимизировать функцию/(Аг) = х,2 +9x1 -4.x, -18х2 +13,используя в качестве начального многогранник с вершинамиXх = (4; Ъ)\Хг= (6; 3)т,^ = (6;4)т.

  2. Минимизировать функцию/(-Y) = 9xl2 +х\ -36х, -2х2 +37,используя в качестве начального многогранник с вершинамиХ' = (5; 3)т,*2=(7; 5)т,^ = (5;5)т.

8. Минимизировать функцию f (X) =\00(х2[1)2+ (1-х,)2,используя в качестве начального многогранник с вершинамиА" = (-1; \)72=(-0,5; 1)т3=(-1; 2)т.

2.2. Методы покоординатного спуска

Рассмотрим прямые методы решения задачи безусловной минимизации (2.1), использующие вместо итерационных проце­дур вида (2.3) простейшие вычислительные алгоритмы, основан­ные на рекуррентной формуле

Xk*l=Xk+akS\ (2.12)

где Sk - направление поиска точки л[ из точки Хк, а положи­тельное число к - величина шага в этом направлении.

Способ выбора Sk и о^ будет определять одну из четырех рас­сматриваемых далее модификаций метода покоординатного спуска.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]