АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

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

Читайте также:
  1. X. В поисках равного оружия
  2. Алг «поиск минимума»
  3. Алгоритм поиска для левостороннего дерева соединений
  4. Алгоритмы поиска дефектов
  5. Бодрствование в поисках знания
  6. В ПОИСКАХ АЛЬТЕРНАТИВ
  7. В поисках гуманной смерти
  8. В поисках духовного просветления
  9. В поисках единицы перевода. «За» и «против»
  10. В ПОИСКАХ ЛУЧШЕГО ПУТИ
  11. В ПОИСКАХ ЛЬВА
  12. В поисках новых объяснительных понятий

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

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

(2.4)

где d, = -

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

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


 

(2.5)

л [

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

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

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

V0

х>

„о Л

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

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

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

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


г


Шаг-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 и начинается новый этап поиска


снова с операции отражения. В противном случаев* заменяется на 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 используется для уменьшения век­тора поиска, если операция отражения не привела к вершине со значением/(ЛО,меньшим, чем второе по величине (после наиболь­шего) значение/(Л), полученное до отражения.

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


ются так чтобы они удовлетворяли топологии решаемой задачи. После того как это изменение выполнено, размеры многогранника поддерживаются неизменными, пока особенности целевой функции не потребуют применения многогранника другой формы. Это воз­можно реализовать только при <х=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.


л =—\л +л) = —|

2V ' 2V20J [\0)

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

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

9)'

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

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

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

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


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

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

Рис


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

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

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

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

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

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

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

 

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

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

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

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

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


 

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

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

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

 

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

7. Минимизировать функцию/(-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 и о^ будет определять одну из четырех рас­сматриваемых далее модификаций метода покоординатного спуска.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.012 сек.)