Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2701

.pdf
Скачиваний:
1
Добавлен:
15.11.2022
Размер:
2.09 Mб
Скачать

 

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

решение

i

x1 ограни-

 

. Относительно полученного приближения

чения g(x) > 0 аппроксимируются разложениями в ряд Тейлора, что позволяет получить совокупность полупространств:

( ): ( )+ Т( )( − ) ≥ 0, = 1, . (3.19)

На следующем шаге решается задача линейного программирования на многограннике D1, представляющем пересечение многогранника D0 и совокупности полупространств

(3.19):

min{ },

где

=( ) .

Продолжая аналогичным образом после проведения k- ой итерации получим последовательность оптимальных решений (х1, ..., хk) совокупности задач линейного программирования. Тогда на (k + 1)-й итерации исходная задача (3.15) сводится к задаче линейного программирования:

где

min

{∑

},

(3.20)

=

 

 

, = 1, .

:

+

Т

≥ 0.

С ростом числа итераций аппроксимирующая область Dk все ближе приближается к выпуклой границе области допустимых решений D в той ее части, где находится точка ло-

51

кального минимума х* исходной задачи выпуклого программирования (рис. 3.1).

Рис. 3.1. Построение отсекающих плоскостей для задачи выпуклого программирования: {minx2 при условии, что

g(x) ≥ 0; a1 x1 b1; a2 x2 b2}

Процесс поиска оптимального решения х* считается законченным, если точка текущего приближения хk принадлежит области допустимых решений D с заданной точностью:

max | (

)| ≤ .

 

Недостатком алгоритма

 

является то, что в свя-

зи с тем, что на каждой итерации

добавляется m новых линей-

 

 

ных неравенств, число ограничений в задаче линейного программирования (3.20) все время расчет. На практике не обязательно вводить в задачу (3.20) все m новых ограничений. На

52

(k+1)-й итерации достаточно добавлять в качестве дополнительного ограничения только одно неравенство:

( ) + Т( )( − ) ≥ 0,

индекс j для которого определяется из условия:

( ) = min ( ).

Другой подход к построению совокупности аппрокси-

мирующих областей предложен в алгоритме

 

, реали-

зующем метод опорной гиперплоскости.

 

Так же, как в алгоритме F25, на первой итерации (k = 1) аппроксимирующая область D0 задается в виде многогранника (3.17). Затем определяется так называемая "внутренняя"

точка В такая, что в ней строго выполняются все ограничения исходной задачи выпуклого программирования

(3.15):

( В) > 0, = 1, .

Последующие итерации (k = 2, 3, ...) алгоритма F26 сводятся к следующей последовательности действий:

1. Для задачи линейного программирования

 

 

 

min{

}

находится оптимальное решение .

2.

Определяется точка

, являющаяся пересечением

отрезка (

,

) с границей области допустимых решений D.

Для этого решаетсяВ

одномерная задача оптимизации:

где

=

min min {

( В + ( − В))},

 

 

 

53

 

В ; ;

= В + ( − В).

3. В точке строится

опорная гиперплоскость для j-

ого ограничения, индекс которого был определен на предыдущем шаге:

+ Т − = 0.

4. Определяется аппроксимирующая область Dk+1, являющаяся пересечением области Dk и полупространства

 

:

+ Т

− ≥ 0.

Принимается k = k + 1 и все вычисления повторяются с шага 1.

5. Процесс поиска оптимального решения х* исходной задачи выпуклого программирования (3.15) считается законченным, если точка принадлежит области допустимых решений с заданной точностью:

min |

| ≤ .

На рис. 3.2 показаны четыре первых итерации построения опорных плоскостей для задачи выпуклого программирования:

min {x2}

при условии, что

g(x) ≥ 0; a1 x1 b1; a2 x2 b2.

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

54

Рис. 3.2. Построение опорных плоскостей для задачи выпуклого программирования: { minх2 при условии, что g(x)

0; a1 x1 b1; a2 x2 b2 }

3.2. Сведение задачи нелинейного программирования к последовательности задач безусловной оптимизации

Задачи линейного программирования можно свести к последовательности задач безусловной оптимизации с помощью функций штрафов.

Рассмотрим класс алгоритмов , которые позволяют решение задачи выпуклого программирования (3.1) - (3.2) свести к решению последовательности задач безусловной оптимизации. В общем виде такое преобразование осуществляется при помощи специальным образом сконструированной функции, называемой штрафной функцией (функцией нагружения):

Ф(x, ck) = Q(x) + R(x, ck) = Q(x) + ck (x),

(3.21)

55

где сk> 0 - параметр штрафа;

(x) - индикаторная функция, имеющая следующий

вид:

( ) =

0,если ;

в противном случае

R(x, ck) - функция штрафа;

- положительное большое число.

Таким образом, исходная задача выпуклого программирования (3.1) - (3.2) эквивалентна задаче безусловной оптимизации:

Если точка

 

minФ

, .

 

(3.22)

 

текущего приближения( )

 

 

хk принадлежит об-

ласти допустимых решений

,

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

минимизация функции Q(x). При( нарушении)

ограничений

функции Q(x) "штрафуется" на величину R(х,

с(9.2)k) , что( и определяет)

название данного алгоритма

 

 

 

 

 

одно-

как метод постоянного штрафа. На рис. 3.3(а) показана

мерная задача оптимизации:

+ ),

 

 

 

 

min (

 

 

а на рис. 3.3(б) эквивалентная ей задача безусловной

оптимизации штрафной функции Ф (х, сk) при

= ∞.

56

а

 

 

 

б

 

Рис. 3.3. Штрафная функция Ф(х, сk) (б) с бесконечно

большим штрафом (

), построенная для задачи

параметрической

 

= ∞

min

( +

)( )

 

оптимизации:

 

 

 

Штрафная функция, определяемая выражением

(3.21)

для больших значений (сk,

), оказывается плохообуслов-

ленной, что приводит к тому, что структура минимизируемой функции Ф(x, ck) приобретает овражный характер. Следует

отметить, что чем меньше значение (сk,

) тем менее ярко

выражен овраг, но, с другой стороны,

с уменьшением

снижается точность определения оптимального решения х* исходной задачи (3.1) - (3.2). В связи с этим при преобразовании задачи нелинейного программирования к последовательности задач безусловной оптимизации целесообразно рас-

сматривать не постоянное значение штрафа

в индикатор-

ной функции

при нарушении ограничений, а менять его

значение постепенно( )

, увеличивая при приближении к точке х*,

тем самым усиливая влияние ограничений gi(x) ≥ 0,

требо-

на минимизируемую штрафную функцию Ф(х, сk). Это = 1,

вание накладывает на индикаторную функцию

( )

следую-

щие условия:

 

57

 

 

 

 

 

lim

lim{

(

)} = 0;

{Ф( ,

) −

( )} = 0,

т.е. влияние функции штрафа R (х, сk) должно постепенно ослабевать, а последовательность оптимальных реше-

ции:

 

, = 1,2,…

совокупности задач безусловной оптимиза-

ний

 

 

 

 

должна

 

Ф

 

,

= minФ

(

, )

(3.23)

 

 

 

сходиться(

 

 

локального

 

 

 

 

к точке)

минимума ис-

ходной задачи выпуклого программирования.

 

 

 

 

Конкретный вид функции штрафа R (х, сk) может быть

получен из условий Куна-Таккера.

 

 

 

 

 

 

 

Представим множители Лагранжа ui в виде функции от

параметра > 0:

 

 

=

,

= 1,

 

 

(3.24)

 

 

 

 

 

 

 

 

вию:

 

Очевидно,

что условие uigi(x) = 0 эквивалентно усло-

 

 

 

 

условия( )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(3.25)

 

 

Предположим, что

(3.25) не выполняются и их

 

 

 

 

= 0,

= 1,

 

 

 

левые части равны некоторой положительной величине аk:

 

 

Откуда получаем, что(:) =

,

= 1, .

 

 

 

 

 

 

 

= ⁄

( ),

= 1,

 

,

 

или, учитывая соотношение (3.24), для множителей Лагранжа ui можем записать:

58

= ⁄ ( ), = 1, .

Подставляя полученные значения ui в последние соотношения условий Куна-Таккера, получаем следующее равенство:

( )−∑

( )⁄ ( ) = 0.

(3.26)

Выражение (9.26) соответствует необходимому условию существования минимума многопараметрической функции следующего вида:

 

 

Ф

(

)

(

)

 

 

 

(3.27)

 

Здесь

 

,- параметр=

+штрафа,

(1который( ))выбирается.

таким образом,=чтобы его значение стремилось к нулю при

стремлении

индекса k к бесконечности;

 

 

- индикаторная функция,

которая при прибли( ) =-

(1⁄ (

))

 

 

 

 

 

 

 

 

 

 

 

жении к границе области допустимых решений D, препятст-

вует

нарушению

ограничений

вида

{

( ) ≥ 0, =0

1,

},

стремясь к бесконечности.

 

 

 

 

 

 

 

 

Таким образом, если начальное приближение х

явля-

ется "внутренней"

точкой

т.е. такой точкой, в которой все

ограничения выполняются какВ,

строгие неравенства:

 

 

 

 

 

 

( В) > 0,

= 1,

,

 

 

 

 

то оптимальное решение

 

 

задачи безусловной опти-

мизации:

min { (

)+

 

(1⁄ ( ))}

 

 

 

 

 

(3.28)

будет всегда находиться внутри области допустимых решений D, так как штраф R(х, сk) = сk (х) как бы ставит "барьер" против ее выхода за границы области D. Это свойст-

59

во штрафной функции (3.27) позволяет называть ее также барьерной функцией. При уменьшении параметра сk ослабевает влияние функции штрафа R (х, сk) и возрастает влияние критерия Q(x) на значение барьерной функции Ф(х, сk). В связи с чем, при → 0 уменьшение функции Ф(х, сk) возможно только за счет минимизации функции Q(x) без нарушения ограничений (3.2) (рис. 3.4).

Предположим, что первое соотношение условий КунаТаккера не выполняется, т.е. равно не нулю, а некоторому значению ak:

( ) = , = 1, .

Тогда множители Лагранжа при условии, что gi(x) = 0 имеют вид:

ui = ak / gi(x), = 1,

Подставляя полученные значения ui в последние соотношение условий Куна-Таккера, получаем:

( )− ∑ ( )⁄ ( ) = 0.

(3.29)

Выражение (3.29) соответствует необходимому условию существования минимума многопараметрической функции следующего вида:

( )−

ln(1⁄ ( )) =

 

= ( )−

∑ ln( ( )).

(3.30)

60

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