Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
198
Добавлен:
13.03.2016
Размер:
187.9 Кб
Скачать

8.5. Метод барьерных функций

Этот метод был предложен Фиакко и Мак-Кормиком и назван ими методом последовательной безусловной минимизации. Этот метод предназначен для решения задач нелинейного программирования в форме неравенств:

¦(x) ® min ; x Î X Ì E n , (8.32)

gi(x) < 0 , i = 1:m. (8.33)

Неравенство (8.33) запрещает присутствие в задании множества X ограничений-равенств. На множестве Х определим функцию B(x) , которая называется барьерной функцией. Барьерные функции могут быть двух типов.

В первом типе используется так называемая обратная функция:

B(x) = - [gi(x)]-1, (8.34)

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

Во втором типе используется логарифмическая функция вида

B(x) = - ln [-gi(x)], (8.35)

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

Составим функцию

¦(x, k) = ¦(x) + B(x).

Штрафная добавка B(x) к целевой функции ¦(x) образует как бы барьер, препятствующий выходу из допустимой области в процессе оптимизационного поиска.

Метод заключается в следующем. Выбирается последовательность постоянных {ki}, ki ® ¥ . Решается соответствующая последовательность задач минимизации без ограничений, в результате чего определяется последовательность минимальных точек {x(k)*}. При определенных условиях такая последовательность {x(k)*} существует и точка минимума x* задачи с ограничениями получается в виде предела.

, ¦*» ¦(x(k)).

Поскольку все точки последовательности {x(k)} лежат в допустимой области, метод барьерных функций называют методом внутренней точки.

Пример 8.7. Решить задачу

¦(x) = x ® min,

-x + 2 £ 0

методом барьерных функций, используя в качестве В(x) = -1/gi(x).

Решение. Обобщенная функция будет иметь вид

¦(x, k) = x + . (8.36)

Y

¦1(x)

A1

5

4

¦100(x)

3

A2

  1. A

1

x* x(100) x(1)

1 2 3 4 5 X

Рис. 8.8. Графическая иллюстрация задачи

Область ограничений лежит справа от вертикальной прямой x = 2 (рис. 8.8). Начиная из произвольной точки допустимого множества, например x(0) = 5, найдем решение ¦ (x, k) при различных k. Вычислим производную

d¦(x, k)/dx = 1 – 1/(k (x-2)2) = 0.

Откуда

k (x-2)2 – 1 = 0,(x-2)2 = , x = 2 + . (8.37)

Решая (8.37) при k=1; 9; 100, получим соответственно x(1)* = 3, x(9)* = 2,3, x(100)* = 2,1 (табл. 8.2).

Таблица 8.2.

Оптимальные значения функции (8.36)

k

x

¦(x,k)

1

3

4

9

2,3

2,67

100

2,1

2,2

Нетрудно видеть, что последовательность точек A1, A2, A3 стремится к A - минимуму функции при наличии ограничений.

d2¦(х, k)/dx2 = 2 /[k (x-2)3] и минимум достигается при x = 2 + . Тогда A1 есть точка с координатами (3; 4), A2 – точка с координатами (2,3;2,67), A3 – точка с координатами (2,1;2,2). Ясно, что при k ® ¥ x(k)* = 2.