Выпуклый симплексный метод Зангвилла (АОИ) — КиберПедия 

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

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

Выпуклый симплексный метод Зангвилла (АОИ)

2017-05-14 551
Выпуклый симплексный метод Зангвилла (АОИ) 0.00 из 5.00 0 оценок
Заказать работу

Рассмотрим алгоритм выпуклого симплексного метода Зангвилла для решения задачи минимизации f(x) при условии

 

А(1,1)Х(1,0) = b(1,0);

Х(1,0) ³ 0.

Начальный этап.

Выбрать точку Х1, для которой

АХ1 = b;

Х1 ³ 0.

Положить k = 1 и перейти к основному этапу.

 

 

Основной этап.

Шаг 1. При заданном Xk определить Ik – множество индексов m

наибольших (арифметически,т.е. не по модулю) компонент вектора Xk;

 

B(1,1) = {aj½j Î Ik};

N(1,1) = {aj½j Ï Ik}; (3)

r(0,1) = Ñf(Xk)T - Ñbf(Xk)T ×B-1 × A; (4)

 

a = max{-rj½выбирать из rj £ 0}; (5)

b = max{xiri½ выбирать из rj ³ 0}; (6)

n = индекс, для которого a = -rn; (7)

или (!!!)

индекс, для которого b = xnrn (8)

 

 

Если a = b = 0, то остановиться.

Если a > b, то вычислить dN в соответствии с (7) и (9):

 

0, если j Ï Ik; j ¹ n

dj = (9)

1, если j Ï Ik; j = n,

т.е.для данного случая(a > b) из множества N только

одному направлению(j = n) придается значение 1,

остальным 0.

 

 

Если a < b, то вычислить dN по формулам (8), (10):

 

0, если j Ï Ik; j ¹ n

dj = -1, если j Ï Ik; j = n (10),

т.е.для данного случая(a < b) из множества N только

одному направлению(j = n) придается значение(-1),

остальным 0.

 

 

Если a = b ¹ 0, то вычислить dN либо по формулам (7), (9), либо по формулам (8), (10).

В любом случае определить dB в соответствии с (11)

dB = B-1 × N × dN (11)

И перейти к шагу 2.

Шаг 2

Минимизировать f(xk + ldk) при условии 0 £ l £ lmax,

где

 

Пусть lk - оптимальное решение этой задачи.

Положить

xk+1 = xk + lkdk,

(заменить k на k+1,т.е.задать новые начальные условия поиска)

И перейти к шагу 1.

Пример

Минимизировать

I = 2x12 + 2x22 – 2x1x2 – 4x1 – 6x2

 

при условиях

 

x1 + x2 + x3 = 2,

x1 + 5x2 + x4 = 5,

x1, x2, x3, x4 ³ 0.

 

 

Решим задачу выпуклым симплексным методом Зангвилла.

 

Возьмем в качестве начальной точки x1 = (0;0;2;5)T. Заметим, что

Ñf(x) = (4x1 – 2x2 – 4; 4x2 – 2x1 – 6; 0; 0)T.

 

Итерация 1

Поиск направления минимизации.

В точке х1 имеем r(0,1) =Ñf(x1)={-4; -6; 0; 0}.

Соответственно алгоритму I1 = {3,4}, поэтому

 

.

 

Приведенный градиент вычисляется в соответствии с (4):

rT = (-4; -6; 0; 0).

 

В соответствии с (5) получаем

a = max{-r1, -r2, -r3, -r4} = -r2 = 6.

Из (6) имеем b = max{x3 r3, x4r4} = 0

ИТАК, a > b,

И, следовательно, из (7) получаем, что

n = 2.

Построение направления проводится по формулам (9) и (11).

Из (9) имеем dNT = (d1, d2) = (0;1), а из (11) следует, что

dBT = {d3, d4} = =(-1; -5).

Линейный поиск из точки х1(0,0,2,5)Т осуществляется по направлению d1 = {0;1;-1;-5}T. Максимальное значение l, для которого точка x1 + ld1 допустима, определяется по формуле:

 

Кроме того, имеем f(x1 + ld1) = 2l2 - 6l. Следовательно, нужно решить задачу минимизации 2l2 - 6l при условии

0 £ l £ 1. Оптимальным решением является l =1, так что х2 = х1 + ld1 = (0,1,1,0)T.

Итерация 2

 

 

Поиск направления минимизации.

В точке х2 = (0, 1, 1, 0) множество I2 = {2;3},

Т.е.

 

 

,

 

 

 

Ñf(x2) = (-6; -2; 0; 0)T.

 

 

При этом приведенный градиент (4)

 

 

В соответствии с (5) и (6) имеем

a = max{-r1, -r2, -r3} = -r1=

;

b = max{x2r2; x3r3; x4r4} = 0,

т.е. a > b, и тогда получаем

согласно (7): n = 1.

 

 

Согласно (9), (11) имеем

dNT = (d1, d4) = (1; 0).

 

 

 

 

Тогда d2 = (1; -0,2; -0,8; 0).

Линейный поиск.

Из точки x2 = (0,1,1,0)T по направлению

d2 = (1, -0,2; -0,8; 0)T.

Максимальное значение l, для которого точка (x2 + ld2) допустима, определяется по формуле (32):

.

 

 

Кроме того, f(x2 + xd2) = 2,48l2 – 5,6l - 4.

Следовательно, нужно решить следующую задачу: минимизировать 2,48l2 – 5,6l - 4 при условии 0 £ l £

Оптимальное решение равно l2= ,

т.е. x3 = x2 + l2d2 =

Итерация 3

Поиск направления.

В точке x3 множество I3 = (1,2), т.е.

 

 

 

 

 

Из (4) получаем rT = (0;0;0;1). В этом случае a = max{-r1, -r2, -r3} = 0,

b = max(x1r1; x2r2; x3r3; x4r4) = 0.

Таким образом, точка x3 оптимальна. Оптимальное значение целевой функции

 

I = -7,16.

Для практических расчетов целесообразно сочетать метод Зангвилла и метод ДФП.Метод Зангвилла более прост для определения направления минимизации, а для поиска минимума в выбранном направлении удобен метод ДФП.


Поделиться с друзьями:

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.022 с.