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

учебники / osnovy-informacionnyh-tehnologiy

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

Переход к эквивалентной системе неравенств

 

 

 

 

 

 

Идея этого метода состоит в следующем. Отыскивается некото-

Знак неравенства можно поменять на обратный, меняя знаки

 

 

 

рая вершина многогранника G и все ребра, выходящие из этой вер-

свободного члена и коэффициентов. Например, ограничение:

 

 

 

 

шины. Далее

перемещаются вдоль того из

ребер, по которому

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У

 

 

a11x1 +…a1nxn ≤ b1;

 

 

 

 

 

 

 

функция убывает (при поиске минимума), и попадают в следую-

 

 

 

 

 

 

 

 

щую вершину. Находят выходящие из нее ребра и повторяют про-

можно заменить условием:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

цесс. Когда приходят в такую вершину, в которой вдоль всех выхо-

 

 

 

 

 

 

 

 

 

 

 

 

дящих из

нее

 

 

Т

 

то минимум найден.

 

–a11x1 +…– a1nxn ≤ –b1.

 

 

 

 

 

 

 

ребер функция

возрастает,

 

 

 

 

 

 

 

 

Отметим,

что,

выбирая одно ребро,

исключают из рассмотрения

Переход от ограничения-неравенства к равенству.

 

 

 

 

 

 

 

 

 

 

вершины, лежащие на остальных траекториях. В результате коли-

Для этого необходимо ввести дополнительную неотрицательную

 

 

 

 

 

 

А

 

 

 

 

 

 

 

 

чество рассматриваемых вершин резко сокращается и оказывается

переменную. Так, условие:

 

 

 

 

 

 

 

 

 

 

посильным для ЭВМ. Симплекс-метод весьма эффективен и широ-

 

 

 

 

 

 

 

 

 

 

 

 

 

Г

 

 

 

 

 

 

 

a1x1 +…anxn b,

 

 

 

 

 

 

 

 

ко применяется для решения задач линейного программирования.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

эквивалентно двум ограничениям:

 

 

 

 

 

 

 

 

 

7.2.1. Транспортная задача линейного программирования

 

 

 

 

 

 

 

 

 

 

 

 

a11x1+…–a1nxn+xn+1

b; xn+1 b1.

 

 

 

 

 

Б

 

 

 

 

 

 

 

 

 

 

 

 

7.2.1.1. Постановка задачи

 

 

 

 

 

Представление ограничения-равенства парой неравенств.

 

 

 

 

Транспортная задача является частным типом задачи линейного

Ограничение:

 

 

 

 

 

 

 

 

 

 

 

программирования и формулируется следующим образом. Имеется

 

alx1 +… anxn b,

 

 

 

 

 

 

й

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и

m пунктов отправления (или пунктов производства) Аi …, Аm, в ко-

можно представить парой условий:

 

 

 

 

 

 

 

торых сосредоточены запасы однородных продуктов в количестве

 

 

 

 

 

 

 

a1, ..., аm единиц. Имеется n пунктов назначения (или пунктов по-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

требления) В1, ..., Вm, потребность которых в указанных продуктах

 

a11x1 +… a1nxn ≤ b1;

 

 

 

 

р

 

 

 

 

 

 

 

составляет b1, ..., bn единиц. Известны также транспортные расходы

 

a11x1 +…–a1nxn ≤ –b1.

 

 

 

 

 

 

 

 

 

 

 

Сij, связанные с перевозкой единицы продукта из пункта Ai в пункт

Переход к неотрицательным переменным

 

 

о

 

 

Вj, i 1, …, m; j 1, ..., n. Предположим, что

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

n

 

 

 

Если на знак переменной хi не наложено огран чен й, можно

 

 

 

 

 

 

 

 

b

 

 

заменить ее разностью двух неотрицательных переменных:

 

 

 

 

 

 

 

 

a =

j ,

(7.24)

 

 

 

 

 

 

 

т

 

 

 

 

 

 

 

i

 

 

xi

xn+2 xn+1, xn+1 ≥ 0; xn+2

≥ 0.

и

 

 

 

 

 

 

 

 

i=1

 

j=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

т. е. общий объем производства равен общему объему потребления.

Переход от переменных, ограниченных сни у, к неотрица-

 

 

 

Требуется составить такой план перевозок (откуда, куда и сколько

тельным переменным

 

 

 

 

з

 

 

 

 

 

единиц продукта везти), чтобы удовлетворить спрос всех пунктов

Если переменная

ограничена снизу

хi

bi

то, заменив ее

 

 

 

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

по формуле хi уi + bi

 

к задаче с не трицательной пере-

 

 

 

всеми пунктами производства, при минимальной общей стоимости

менной уi > 0.

 

 

о

 

 

 

 

 

 

всех перевозок. Приведенная формулировка транспортной задачи

Наиболее употребит льным числ нным методом решения задач

 

 

 

называется замкнутой транспортной моделью. Формализуем эту

линейного программирования явля тся симплекс-метод.

 

 

 

 

 

задачу.

 

 

 

 

 

 

 

 

 

 

 

п

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

361

 

 

 

 

 

 

 

 

 

 

 

 

 

 

362

 

 

 

 

переходим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пусть хij количество единиц продукта, поставляемого из пунк-

 

 

 

Задачи транспортного типа широко распространены в практике.

та Аi в пункт Вj. Подлежащие минимизации суммарные затраты

 

 

 

Кроме того, к ним сводятся многие другие задачи линейного про-

на перевозку продуктов из всех пунктов производства во все пунк-

 

 

 

граммирования – задачи о назначениях, сетевые, календарного пла-

ты потребления выражаются формулой:

 

 

 

 

 

 

 

 

нирования.

 

 

У

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Как одна из задач линейного программирования транспорт-

 

 

m

n

 

 

 

 

 

 

 

 

 

ная задача принципиально может быть решена универсальным

 

 

∑∑Cij xij .

 

 

 

(7.25)

 

 

 

 

 

Т

 

 

 

 

 

 

 

 

 

методом решения любой задачи линейного программирования,

 

 

i=1

j=1

 

 

 

 

 

 

 

 

 

но этот метод не учитывает специфики условий транспортной

 

 

 

 

 

 

 

 

 

 

 

 

 

задачи. Поэтому решение ее симплекс-методом оказывается

Суммарное количество продукта, направляемого из каждого

 

 

 

 

А

 

 

 

 

 

слишком громоздким.

 

 

 

пункта отправления во все пункты назначения, должно быть равно

 

 

 

Структура ограничений задачи учитывается в ряде специаль-

запасу продукта в данном пункте. Формально это означает, что

 

 

 

 

 

Г

 

 

 

 

 

 

 

ных вычислительных методов ее решения. Рассмотрим некоторые

n

 

 

 

 

 

 

 

 

 

 

 

 

из них. Предварительно сделаем следующее замечание. Открытая

 

 

 

 

 

 

 

 

 

 

 

 

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

xij

= ai ,

i =1, ... , m.

 

 

 

 

 

 

 

 

 

(7.26)

 

 

 

добавлениемБфиктивного

пункта отправления (потребления),

j=1

 

 

 

 

 

 

 

 

 

 

 

 

от которого поступает весь недостающий продукт или в который

Суммарное количество груза, доставляемого в каждый пункт на-

 

 

 

свозится весь избыточный запас. Стоимость перевозок между ре-

 

 

 

альными пунктами и фиктивным принимается равной нулю.

значения из всех пунктов отправления, должно быть равно потреб-

 

 

 

 

 

й

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ности. Это условие полного удовлетворения спроса:

 

 

 

 

и

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

 

 

 

 

в дальнейшем рассматриваются методы решения замкнутой моде-

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ли транспортной задачи.

 

 

 

xij

= bj ,

j =1, ... , n.

 

 

 

 

 

 

 

 

 

 

 

 

(7.27)

р

 

 

 

 

 

 

j=1

 

 

 

 

 

 

 

 

 

 

7.2.1.2. Венгерский метод

 

 

Объемы перевозок – неотрицательные числа, так как перев зки

 

 

 

 

 

 

 

 

 

из пунктов потребления в пункты производства

 

:

 

о

 

 

Идея метода была высказана венгерским математиком Эгер-

xij ≥ 0, i 1, ..., m; j 1, ..., n.

 

 

 

 

вари и состоит в следующем. Строится начальный план пере-

 

(7.28)

 

 

 

возок, не удовлетворяющий в общем случае всем условиям за-

Транспортная задача сводится к минимизации суммарныхатратпри

 

 

 

дачи (из некоторых пунктов производства не весь продукт

выполнении условий полного удовлетворения

 

 

равенства выво-

 

 

 

вывозится, потребность части пунктов потребления не полно-

зимогоколичествапродуктазапасамеговпунктахотправления.

 

 

 

 

 

стью удовлетворена). Далее осуществляется переход к новому

 

 

 

 

 

 

исключены

 

 

 

 

плану, более близкому

к оптимальному.

Последовательное

В ряде случаев не требуется, чтобы весь пр и веденный продукт

 

 

 

в каждом пункте производства был реализ ван. В таких случаях ба-

 

 

 

применение этого приема за конечное число итераций приво-

 

 

 

 

 

з

 

 

 

 

 

дит к решению задачи.

 

 

 

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

 

 

 

 

 

метода состоит из

подготовительного

n

 

 

 

i =1,спроса... , m.

 

 

 

 

 

 

Алгоритм венгерского

 

 

 

 

 

 

 

 

 

этапа и из конечного числа итераций. На подготовительном этапе

xij

ai ,

 

(7.29)

 

 

 

 

 

 

 

строится матрица X0 = (xij[0])m,n, элементы которой неотрицательны

j=1

 

 

 

 

 

 

 

 

 

 

 

 

и удовлетворяют неравенствам:

 

 

Введениеэтогоусловияприводиткоткрытойтранспортноймодели.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

п

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

363

 

 

 

 

 

 

 

 

 

 

 

364

 

 

е

 

 

 

 

 

 

 

 

 

 

 

 

 

Р

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

число итераций. Общая схема отдельной итерации такова. По до-

 

 

xij [0]ai ,

i =1, ... , m.

 

 

 

 

(7.30)

 

 

 

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

 

 

j=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

называемое его предварительным потенциалом. Пунктам Аi соот-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А

– числа vj. Они выбираются таким

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ветствуют числа ui, пунктам Bj

 

 

xij [0]bj ,

 

j =1, ... , n.

 

 

 

(7.31)

 

 

 

образом, чтобы их разность на k-й итерации была равна Сij стои-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Г

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мости перевозки единицы продукции между пунктами Аi и Вj:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Т

 

 

 

 

Если эти условия являются равенствами, то матрица Х0 реше-

 

 

 

vj[k] – ui[k] Cij, i 1, ..., m; j 1, …, п.

(7.33)

ние транспортной задачи. Если среди условий имеются неравенст-

 

 

 

Если разность предварительных потенциалов для каждой пары

ва, то осуществляется переход к первой итерации. На k-й итерации

 

 

 

пунктов Аi, Вj не превосходит Сij, то полученный план перевозок

строится матрица Хk

 

(xij[0])m,n. Близость этой матрицы к решению

 

 

 

является решением задачи. В противном случае указывается способ

задачи характеризует число

k — суммарная невязка матрицы Хk:

 

 

 

получения нового допустимого плана, связанного с меньшими

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

й

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

n

 

 

 

 

 

 

m

n

 

 

 

 

 

 

 

 

 

 

 

транспортными издержками. За конечное число итераций находит-

 

k

 

i

j

 

 

 

∑∑ ij

[

 

]

 

(7.32)

 

 

 

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

 

a +

 

 

b

 

2

 

 

 

x

 

k .

 

 

 

 

 

 

ся оптимальный план задачи.

 

 

 

 

 

 

 

 

 

 

i=1

 

j=1

 

 

 

 

 

i=1 j=1

 

 

 

 

 

 

 

 

 

 

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

 

В результате первой итерации строится матрица Хl, состоящая из

 

 

 

 

р

 

 

 

 

 

 

 

 

 

 

 

 

 

неотрицательных элементов. При этом

l

< 0. Если

l 0,

то Хl

 

и

7.3.1. Основные определения

 

 

 

 

оптимальное решение задачи. Если

 

l

>0, то переходят к следую-

 

Задача условной оптимизации заключается в поиске минималь-

щей итерации. Они проводятся до тех пор, пока

k при некотором k

 

ного или максимального значения скалярной функции f(x) n-

не станет равным нулю. Соответствующая матрица Хk является ре-

 

мерного векторного аргументах (в дальнейшем без ограничения

шением транспортной задачи.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

общности будут рассматриваться задачи поиска минимального зна-

Венгерский метод наиболее эффективен при решении

 

-

 

 

 

чения функции):

 

 

 

 

min ,

 

 

 

 

портных задач с целочисленными объемами производс ва и -

 

 

 

 

 

 

 

f(x)

 

 

 

(7.34)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

требления. В этом случае число итераций не превышает величины

 

 

 

при ограничениях:

 

 

 

 

 

 

 

 

0/2 ( 0 – суммарная невязка подготовительного этапа).

 

по

 

 

 

 

gi(x) 0, i 1, ..., k;

 

 

 

Достоинством венгерского метода является

 

 

 

 

 

ь оцен ва ь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

возможнос

 

 

 

 

 

 

 

hj(x) ≤ 0, j 1, .., m;

 

 

(7.35)

близость результата каждой из итераций к оптимальному планутрансперево-

 

 

 

 

 

 

 

зок. Это позволяетконтролироватьпроцесс вычислен й

прекрат тьего

 

 

 

 

 

 

 

a x b.

 

 

 

 

Метод

потенциалов

 

 

 

 

модификациейсимплекс-метода

 

 

 

 

x = ,

a

= ,

b =

.

(7.36)

при достижении определенных точностных пока ателей. Данное свойст-

 

 

 

Здесь x, a, b – векторы-столбцы:

 

 

 

 

восущественнодлязадачбольшойразмерн сти.

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

 

 

 

a1

 

 

b1

 

 

 

 

 

 

 

 

 

оптимальное

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7.2.1.3. Метод потенциалов

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

a2

 

 

b2

 

 

решения

задачи

 

 

 

является

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лин йного рограммирования

 

 

 

 

 

xn

 

 

 

an

 

 

bn

 

 

к транспортной задаче. Он

озволя

 

,

от

равляясь от некоторого

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

допустимого решения,

получить

 

 

 

 

 

 

 

 

решение за конечное

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

365

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

366

 

 

 

 

 

Оптимизируемую функцию f(x) называют целевой функцией.

 

 

 

7.3.2. Метод проекции градиента

 

 

 

Каждая точка x в n-мерном пространстве переменных x1, ..., х, в ко-

 

 

 

Рассмотрим данный метод применительно к задаче оптимизации

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

 

 

 

 

 

 

с ограничениями-неравенствами. В качестве начальной выбирается

 

 

 

 

 

 

 

 

 

 

 

 

 

точкой задачи. Множество всех допустимых точек называется до-

 

 

 

 

 

 

 

 

 

У

 

 

 

 

 

 

некоторая

точка допустимой области G. Если х[0]

внутренняя

пустимой областью G . Будем считать, что это множество не пус-

 

 

 

 

 

 

точка множества G (рис. 7.11), то рассматриваемый метод является

то. Решением задачи считается допустимая точка х*, в которой це-

 

 

 

 

 

 

 

 

 

 

Т

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

левая функция f(х) достигает своего минимального значения.

 

 

 

обычным градиентным методом:

 

 

 

 

 

 

 

 

x[k + l]

x[k] –akf'(x[k]), k = 0, 1, 2, ...,

 

(7.38)

Вектор х* называют оптимальным. Если целевая функция f(x) и ог-

 

 

 

 

 

раничения задачи представляют собой линейные функции незави-

 

 

 

 

 

А

 

T

 

 

 

симых переменных х1, ..., хn, то соответствующая задача является

 

 

 

где f (x[k]) = f (x[k])

,,

f (x[k])

(7.39) –

градиент

целевой

задачей линейного программировании, в противном случае – зада-

 

 

 

 

 

 

x1

 

 

xn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

чей нелинейного программирования. В дальнейшем будем полагать,

 

 

 

 

Г

 

 

 

 

 

 

 

 

 

 

функции f(х) в точке x[k].

 

 

 

 

 

 

что функции f(x), g(x), i 1, ..., k , hj(x), j 1, …, m, – непрерывные

 

 

 

 

 

 

 

 

 

и дифференцируемые.

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

 

 

 

 

В общем случае численные методы решения задач нелинейного

 

 

 

 

 

 

 

 

 

 

 

программирования можно разделить на прямые и непрямые. Пря-

 

 

 

После выхода на границу области G в некоторой граничной точ-

 

 

 

ке х[k] , k 0, 1, 2,..., движение в направлении антиградиента

мые методы оперируют непосредственно с исходными задачами

 

 

 

f’(х[k]) может вывести за пределы допустимого множества (см. рис.

оптимизации и генерируют последовательности точек {x[k]}, таких

 

 

 

7.11). Поэтому антиградиент проецируется на линейное многообра-

что f(х[k + 1])<(x[k]). В силу этого такие методы часто называют

 

 

й

 

 

 

 

 

 

 

 

 

 

 

и

з е М, аппроксимирующее участок границы в окрестности точки

методами спуска. Математически переход на некотором k-ом шаге

 

х[k]. Двигаясь в направлении проекции вектора –f'(x[k]) на много-

(k

0, 1, 2, ...)

от точки х[k]

к

точке x[k + 1] можно записать

 

образие

М, отыскивают

новую

точку

х[k + 1],

в

которой

в следующем виде:

 

 

 

 

 

 

 

р

 

f(х[k + 1]) < f(x[k]),

принимают х[k + 1] за исходное приближение

 

 

x[k + l] x[k] + akp[k] ,

 

 

(7.37)

 

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

 

 

 

 

 

процедуры.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где р[k] вектор, определяющий направление спуска; аk – длина

 

 

 

 

 

 

 

 

 

 

 

 

 

 

шага вдоль данного направления.

При этом в одн х алгор

о

 

 

 

 

 

 

 

 

 

 

 

 

 

мах

 

 

 

 

 

 

 

 

 

 

 

 

 

 

прямых методов точки х[k]

выбираются так, чтобы для н х вы-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

т

 

 

 

 

 

 

 

 

 

 

 

 

 

 

полнялись все ограничения задачи, в других эти огран чен

я мо-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

гут нарушаться на некоторых или всех итерац ях. Так м обра-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зом,

в прямых

методах

при

выб ре

направленияиспуска

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ограничения, определяющий

допустимую

бласть G, учиты-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ваются в явном виде.

 

 

 

 

з

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

Рис. 7.12. Геометрическая интерпретация метода проекции градиента

 

 

 

 

 

 

о

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ции некоторых вспомогат льных функций. При этих методах огра-

 

 

 

В точке х[k] часть ограничений-неравенств удовлетворяется как

ничения исходной задачи учитываются в неявном виде.

 

 

 

 

 

 

 

 

 

 

равенство:

 

 

 

 

 

 

 

 

Рассмотрим некоторые алгоритмы

 

методов.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

прямых

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

367

 

 

 

 

 

 

 

 

 

 

 

 

 

 

368

 

 

 

 

 

 

е

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У

 

 

 

 

 

hi(x) 0, j 1, ..., l; l<m.

 

 

 

 

 

 

 

 

Т

 

 

 

 

 

 

 

 

 

 

Эти условия означают, что антиградиент ( –f’(х[k])) целевой

 

Такие ограничения называют активными.

 

 

 

 

 

функции является линейной комбинацией с неотрицательными ко-

 

 

 

 

 

 

эффициентами градиентов ограничений hj(x) 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А

 

 

 

Обозначим через J набор индексов j(1 j

l) этих ограничений.

 

 

 

В соответствии с изложенным, алгоритм метода проекции гра-

Их уравнения соответствуют гиперповерхностям, образующим грани-

 

 

 

диента состоит из следующих операций.

 

цу области G в окрестности точки х[k] . В общем случае эта граница

 

 

 

1.

В точке х[k] определяется направление спуска р[k].

 

является нелинейной (см. рис. 3.1). Ограничения hj(x), j J, аппрок-

 

 

 

2.

Находится величина шага аk.

 

симируются гиперплоскостями, касательными к ним в точке х[k]:

 

 

 

3.

Определяется новое приближение х[k + 1].

 

 

 

 

Рассмотрим детально каждую из этих операций.

 

 

 

 

hi (x[k])

 

 

 

 

 

 

 

 

 

 

 

 

N

 

(xi xi [k]) = 0,

 

 

 

 

 

 

1. Определение направления спуска состоит в следующем.

 

j J.

 

 

 

 

Пусть найдена некоторая точка х[k] G и известен набор актив-

 

 

 

 

 

 

 

=

 

 

x

 

 

 

 

 

(7.39)

 

 

 

 

 

Г

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

ных ограничений hi(х[k]) 0, j J. На основании данной инфор-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

й

 

 

 

 

 

Полученные

гиперплоскости ограничивают некоторый много-

 

 

 

мации вычисляют ( –f'(х[k])) и определяют проекцию Р[ –f'(х[k])].

гранник М, аппроксимирующий допустимую область G в окрестно-

 

 

 

При этом возможны два случая:

 

 

сти точки х[k] (см. рис. 7.11).

 

 

 

 

 

 

 

и

БР[ –f'(х[k])] не равна 0. В качестве направления спуска р[k]

 

 

 

 

 

 

 

 

 

принимают полученную проекцию;

 

 

Проекция р[k] антиградиента – f'(x[k]) на многогранник вычис-

 

 

 

 

 

 

 

 

 

Р[ –f'(х[k])] 0, т. е.

 

 

ляется по формуле:

 

 

 

 

 

 

р

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p[k] P[ –f'(x[k])].

 

 

(7.40)

 

 

 

 

 

l

 

 

 

 

 

 

 

 

 

 

 

 

f ′(x[k]) = ∑u jaj .

(7.46)

 

Здесь Р – оператор ортогонального проектирования, определяе-

 

 

 

 

 

 

 

 

 

 

 

 

 

j=1

 

мый выражением:

 

 

 

 

 

 

 

 

 

 

 

Данное выражение представляет собой систему из п уравнений

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р E AT(AAT)–1A,

 

 

(7.41)

 

 

 

для определения коэффициентов иj. Если все иj 0, j J, то в соот-

где Е – единичная матрица размеров п; А – матрица размер в lхn .

 

 

 

ветствии с вышеизложенным точка х[k] является решением задачи.

 

 

 

Если же некоторый компонент иq <0, то соответствующий ему гра-

 

 

 

 

 

 

 

 

 

 

решением

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

некоторого положительного числа ε. Считают, что точка х удовле-

Она образуется транспонированными векторами-градиен ами аj, j

 

 

 

 

 

 

 

 

 

 

1, ..., l, активных ограничений. Далее осуществляется спуск вовы-

 

 

диент выводится из матрицы А и порождается новая проецирующая

бранном направлении:

 

 

 

 

 

т

 

 

 

матрица Р. Она определит новое направление спуска.

 

 

 

 

 

 

 

 

 

Для определения величины шага аk целевая функция минимизиру-

 

 

 

 

x[k + 1] x[k] + akp[k].

 

 

(7.42)

 

 

 

ется по направлению р[k] при условии соблюдения ограничений за-

 

Можно показать, что точка х[k + 1] является

 

задачи

 

 

 

дачи с установленной точностью. Последняя задается введением

минимизации функции f(х) в области G т гда и т лько тогда, когда:

 

 

 

 

 

 

 

 

 

 

 

 

 

Р[ –f'(x[k])] 0,

з

(7.43)

 

 

 

творяет условиям задачи с заданной точностью, если hi(х)

≤ ε,

 

 

 

 

f ′(x

 

l

 

 

 

 

 

 

 

j 1, ..., m. Величина шага аk определяется решением задачи вида:

т. е.

 

 

[k]) = ∑u j aj

 

 

(7.44)

 

 

 

 

 

 

f(x[k] + ар[k]) > min;

(7.47)

 

 

 

 

е

j=1

 

 

 

 

 

 

 

 

hj(x[k] + ар[k]) ε, j 1, ..., m.

(7.48)

и

u

 

 

 

 

 

 

о

(7.45)

 

 

 

 

 

 

 

(u1, ..., ul) = (ATA)1AT( –f’(х[k])) > 0.

 

 

 

Определение нового приближения состоит в следующем. Очеред-

 

 

 

 

Р

п

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ная точка вычисляется по формуле:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

369

 

 

 

 

 

 

 

 

 

 

 

 

370

 

 

x[k + 1] x[k] + аkр[k].

(7.49)

 

 

 

0 могут быть нарушены. В этом случае недопустимая точка заме-

Признаком сходимости является стремление к нулю векторов

 

 

 

няется новой, лежащей в середине отрезка, соединяющего недопус-

 

 

 

тимую точку с центром тяжести выбранных допустимых вершин.

р[k]. Рассмотренный метод является в некотором смысле аналогом

 

 

 

 

 

 

 

У

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

градиентных методов для решения задач на безусловный экстре-

 

 

 

Данная операция повторяется до тех пор, пока не будут выполнены

 

 

 

все ограничения задачи. Далее, как и в методе деформируемого

мум, и ему свойствен их недостаток – медленная сходимость.

 

 

 

 

 

 

 

 

 

 

многогранника, на каждой итерации заменяется вершина х[h, k],

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Т

 

7.3.3. Комплексный метод Бокса

 

 

 

 

 

 

 

 

 

 

в которой значение целевой функции имеет наибольшую величину.

 

 

 

 

 

 

 

 

 

 

Для этого х[h, k] отражается относительно центра тяжести х[l, k] ос-

Этот метод представляет модификацию метода деформируемого

 

 

 

 

 

 

тальных вершин комплекса. Точка х[р, k], заменяющая вершину

многогранника и предназначен для решения задачи нелинейного

 

 

 

А

 

 

 

 

 

х[h, k], определяется по формуле:

 

программирования с ограничениями-неравенствами. Для миними-

 

 

 

Гx[p, k] (a + 1)х[l, k] + ax[h, k],

(7.53)

зации функции n переменных f(x) в n-мерном пространстве строят

 

 

 

 

 

 

 

 

 

многогранники, содержащие q>п+1 вершин. Эти многогранники

 

 

 

гдеа>0 некотораяконстанта, называемаякоэффициентомотражения.

называют комплексами, что и определило наименование метода.

 

 

 

Наиболее удовлетворительные результаты дает значение а 1,3.

Введем следующие обозначения:

 

 

 

 

 

 

 

 

 

 

При Бэтом новые вершины комплекса отыскиваются за небольшое

х[j, k] (х1[j, k], …, хi[j, k], …, хn[j, k])T,

(7.50)

 

 

 

количество шагов, а значения целевой функции уменьшаются дос-

 

 

 

таточно быстро.

 

 

где j 1, ..., q; k 0, 1, 2, ... – j-ая вершина комплекса на k-ом этапе

 

 

 

Если f(x[р, k])>f(x[h, k]), то новая вершина оказывается худшей

 

 

й

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

поиска;

 

 

 

 

 

 

 

 

 

 

 

 

 

и

вершиной комплекса, В этом случае коэффициент а уменьшается

 

 

 

 

 

 

 

 

 

 

 

 

 

в два раза. Если в результате отражения нарушается какое-либо

х[h, k] вершина, в которой значение целевой функции макси-

 

 

из ограничений, то соответствующая переменная просто возвраща-

мально, т. е. f(x[h, k]) max{f(x[l, k]), ..., f(x[q, k])};

 

 

 

 

x[h, k] – центр тяжести всех вершин, за исключением х[h, k] .

 

р

 

ется внутрь нарушенного ограничения. Если при отражении нару-

 

 

шаются ограничения hj(x)<0. то коэффициент а каждый раз умень-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Координаты центра тяжести вычисляются по формуле:

 

 

 

 

шается вдвое до тех пор, пока точка х[р, k] не станет допустимой.

 

 

о

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

Вычисления заканчиваются, если значения целевой функции мало

 

 

q

 

 

 

 

 

 

 

 

меняются в течение пяти последовательных итераций: |f(х[l, k+1])

xi [l,k]=

 

 

xi [ j,k]− xi

[h,k]

, i = l, ..., n.

 

 

 

 

f(х [l, k])| ε, k 1, ..., 5, где ε – заданная константа. В этом случае

 

(7.51)

 

 

 

 

q

 

j=1

 

 

 

 

 

т

 

 

 

центр тяжести комплекса считают решением задачи нелинейного

Алгоритм комплексного поиска состоит в следующем. В качест-

 

 

 

программирования.

 

 

ве первой вершины начального комплекса выбирается некоторая

 

 

 

Достоинствами комплексного метода Бокса являются его про-

допустимая точка х[1, 0]. Координаты

стальных q вершин1

ком-

 

 

 

стота, удобство для программирования, надежность в работе. Ме-

плекса определяются соотношением

 

 

 

з

 

 

 

 

 

 

тод на каждом шаге использует информацию только о значениях

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

целевой функции и функций ограничений задачи. Все это обуслов-

хj[j, 0] аi

+ ri(bi – ai), i 1, ...,

; j 2, ..., q.

(7.52)

 

 

 

 

 

 

ливает успешное применение его для решения различных задач не-

Здесь аi, bi – соответственно нижнее

и

верхнее ограничения

 

 

 

линейного программирования.

 

 

на переменную хi', ri пс

 

 

о

 

 

 

 

 

 

Выбор начальной точки допустимой области

 

 

 

 

числа, равномерно распре-

 

 

 

 

деленные на интервале [0, 1]. Получ нные таким образом точки

 

 

 

Для применения прямых методов решения задач нелинейного

удовлетворяют огранич ниям а

пх b , однако ограничения hj(x)

 

 

 

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

 

 

 

 

 

371

 

 

 

 

 

 

 

 

 

 

 

372

 

 

 

 

 

вдослучайные

 

 

 

 

 

 

 

 

 

 

 

 

Р

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У

 

ной точки области G . Если структура этой области сложная, отыска-

 

 

 

 

 

 

Т

 

 

 

 

Следовательно, минимальное значение ζ меньше нуля. В силу

ние такой точки представляет серьезные трудности. Произвольно

 

 

 

этого после конечного числа шагов некоторого прямого алгоритма

выбранная начальная точка в общем случае может удовлетворять

 

 

 

будут получены x[0], ζ, такие, что ζ<0, и условия задачи удовлетво-

только части ограничений. Следовательно, необходим алгоритм,

 

 

 

ряются. Точка х[0] и принимается в качестве начальной для исход-

приводящий из произвольной точки в допустимую область. На прак-

 

 

 

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

 

тике для получения начального вектора применяют тот же метод, ко-

 

 

 

 

Г

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

7.4. Методы штрафных функций

 

Рассмотрим один из способов отыскания такого вектора.

 

 

 

 

 

 

 

 

 

7.4.1. ОсновныеАопределения

 

 

Пусть

x

– произвольная

точка,

в

 

которой часть ограничений

 

 

 

 

 

не удовлетворяется. Обозначим через J1 множество индексов огра-

 

 

 

Методы штрафных функций относятся к группе непрямых ме-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ничений, выполняющихся в точке

x , и через J2 – множество ин-

 

 

 

 

 

 

тодов решения задач нелинейного программирования:

 

дексов ограничений, не выполняющихся в ней, т.е.

 

 

 

 

 

 

 

 

f(x) →min;

(7.60)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

J1 ={j|hj(

 

 

 

) ≤ 0

j =1,...,m} ;

 

 

 

 

Б gi(x) 0, i 1, ..., k;

 

 

 

 

 

 

 

 

 

 

x

(7.54)

 

и

 

 

 

 

 

 

 

 

 

 

J2 ={j|hj(

 

 

) > 0

j =1,...,m}.

 

 

 

 

 

 

hj(x) < 0, j 1, ..., m;

 

 

 

 

 

 

 

 

 

 

x

(7.55)

 

 

 

 

 

 

a ≤ x ≤ b.

(7.61)

Введем дополнительную переменную ζ и сформулируем задачу

 

 

 

Они преобразуют задачу с ограничениями в последовательность

 

 

й

 

оптимизации

некоторых вспомогательных

поиска допустимой точки следующим образом:

найти минимум

 

 

 

задач безусловной

 

 

 

функций.

Последние

получаются

путем модификации

целевой

функции z ζ при ограничениях:

 

 

 

 

 

 

 

 

о

 

 

 

 

 

 

 

 

 

 

 

р

 

функции с помощью функций-ограничений таким образом, чтобы

 

 

 

 

 

 

 

 

 

 

hj (

 

 

) ≤ 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j j1;

 

 

 

ограничения в явном виде в задаче оптимизации не фигурировали.

 

 

 

 

 

 

 

 

 

x

 

т

 

 

 

 

 

 

 

 

 

 

hj (

 

)−ξ 0

 

 

 

 

 

 

 

Это обеспечивает возможность применения методов безусловной

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

j j1.

(7.57)

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

F(x,a) f(x) + Ф(х, а).

(7.62)

Допустимый вектор этой

 

 

задачи

находится довольно прос .

 

 

 

Здесь

f(x) целевая функция

задачи оптимизации;

Ф(х, а) –

Действительно, если положить:

 

 

 

 

 

 

 

 

 

 

 

 

штрафная функция; параметр а > 0. Точку безусловного минимума

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(

 

))

 

 

 

 

 

 

функции F(x, a) будем обозначать через х(а).

 

 

 

 

 

 

 

 

 

 

ξ = max

h

x

,

(7.58)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j J2 (

 

2

 

 

 

 

 

7.4.2. Методы внутренних штрафных функций

 

 

 

 

 

 

 

 

 

) является допустимым решениемзсф рмулированной

 

 

 

 

то точка (

 

,

 

 

 

 

 

 

В зависимости от вида Ф(х, а) различают методы внутренних

ξ

x

 

 

 

задачи. Так как область G исходной задачи не пуста, то существует

 

 

 

штрафных, или барьерных, функций и методы внешних штрафных

 

 

 

функций.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

е

 

о

 

 

 

 

 

 

 

 

 

 

 

такая точка x , что:

 

 

 

 

 

 

 

Эти методы применяются для решения задач нелинейного про-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

граммирования с ограничениями-неравенствами. В рассматриваемых

 

 

 

 

 

 

 

 

Р

 

 

1, …, m.

(7.59)

 

 

 

методах функции Ф(x, а) подбирают такими, чтобы их значения не-

 

 

 

 

 

 

 

 

 

h(x)<0, j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

п

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

373

 

 

 

 

 

 

 

 

 

 

 

 

 

 

374

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У

 

 

области G (рис. 7.12). Иными

словами,

приближение

к границе

 

 

 

 

 

 

 

 

 

 

 

Т

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

(hj

 

«штрафуется» резким увеличением значения функции F(x, а). На

 

 

 

 

 

 

F (x,a) = f (x)

+ a

φj

(x)) .

(7.65)

границе G построен «барьер», препятствующий нарушению ограни-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j=1

 

 

 

 

чения в процессе безусловной минимизации F(x, a). Поиск миниму-

 

 

 

Она определена в области G и неограниченно возрастает, если

ма вспомогательной

функции F(x, а)

 

необходимо

начинать

 

 

 

 

 

 

 

hj(х) > 0 для некоторого j. В качестве внутренних штрафных функ-

 

 

 

 

 

 

 

 

 

 

 

 

с внутренней точки области G .

При этом в процессе оптимизации

 

 

 

 

Г

 

 

 

 

 

 

 

 

 

 

 

траектория спуска никогда не выйдет за пределы допустимой облас-

 

 

 

ций используют, например, такие:

 

 

 

 

 

 

ти. Все перечисленные особенности функции Ф(х, а) определили на-

 

 

 

 

 

 

 

 

 

m

 

1

 

 

 

 

 

 

m

 

именование рассматриваемой группы методов.

 

 

 

 

 

Φ(x,a) = a

 

 

; Φ(x,a) = −aln hj (x).

.(7.66)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Аj=1 h (x)

 

 

 

 

 

 

j=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Алгоритм метода внутренних штрафных функций состоит в сле-

 

 

 

 

 

 

 

 

 

 

 

й

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дующем. В качестве начальной точки х[0] выбирается произвольная

 

 

 

 

 

 

 

 

 

 

 

 

внутренняя точка области G. Задается некоторая монотонно убы-

 

 

 

 

 

 

 

 

 

 

и

вающаяБсходящаяся к нулю последовательность положительных

 

 

 

 

 

 

 

 

 

 

чисел {ak}, k 1, 2, .... Для первого элемента а1 этой последова-

 

 

 

 

 

 

 

 

 

р

 

тельности решается задача безусловной минимизации функции

 

 

 

 

 

 

 

 

 

 

F(x, а), в результате чего определяется точка х(а1). Эта точка ис-

 

 

 

 

 

 

 

 

 

 

 

 

пользуется в качестве начальной для решения задачи поиска мини-

Рис. 7.13. Внутренняя штрафная функция

 

 

 

 

 

мума функции F(x, а2), где а21, и т. д. Таким образом, решается

 

 

 

 

 

последовательность задач

безусловной

минимизации

функций

Таким образом, внутренняя штрафная функция Ф(х, а) м жет

 

 

 

F(х, аk), k 1, 2, ..., причем решение предыдущей задачи х(аk) ис-

 

 

 

 

 

 

 

 

т

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

быть определена следующим образом:

 

 

 

 

(7.63)о

 

 

пользуется в качестве начальной точки для поиска последующего

,

если

 

x G;

 

 

 

 

 

 

вектора х(аk+1). Последовательность полученных таким cпособом

 

 

 

 

 

 

 

точек х(аk) сходится к оптимальному решению исходной задачи –

Φ(x,a) = 0,

если

 

x G,

x dG;

a 0,

 

 

локальному минимуму х*. Вычисления прекращают при выполне-

,

если

 

x G,

 

 

з

 

 

 

 

нии условий:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x dG.

и

 

 

 

 

 

 

 

 

 

|f(x[k]) – f(x[k – l])|≤ ε;

 

(7.67)

Здесь dG –граница области G.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

||x[k] – x[k – l]|| ≤β,

 

(7.68)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Общий вид внутренней штрафной функции:

 

 

 

где ε, β заданные числа, определяющие точность вычислений.

 

 

п

 

 

 

 

 

 

Можно показать, что рассмотренный метод внутренних штраф-

 

 

 

m

 

 

 

 

 

 

 

Φ(x,a) = a

φj (hj (x)) ,

 

(7.64)

 

 

 

ных функций обладает следующими свойствами:

 

 

 

 

j=1

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

е

 

 

 

 

 

 

 

 

1) limk→∞ ak ϕj (hi (x[k])) = 0;

 

 

 

 

 

 

 

 

где ϕ j непрерывные дифференцируемыеофункции, определяемые ог-

 

 

 

 

 

 

 

 

 

 

 

раничениями-неравенствами исходной задачи нелинейного программи-

 

 

 

k→∞

j=1

 

)

 

(

 

)

 

(

 

 

)

 

 

 

 

рования. ВспомогательнаяфункцияF(x, а)

риэтомимеетформу:

 

 

 

(

x

[k]

= f

x*

и f

x[k]

 

 

 

 

 

 

 

2) lim f

 

 

 

 

 

 

монотонно убывает;

Р

375

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

376

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3) lim F (x[k]ak ) = f (x

*

).

 

 

 

 

 

 

 

 

 

 

особенности функции Ф(х, а) определили название данной груп-

 

 

 

 

 

 

 

 

 

 

 

пы методов. Общий вид внешней штрафной функции:

 

 

 

k→∞

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Эти свойства справедливы для задач, содержащих непрерывные

 

 

 

 

 

А

 

 

 

m

 

 

 

 

функции и имеющих локальные минимумы внутри области G.

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Φ(x,a) = a

 

 

 

У

,

 

(7.70)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

φi (gi (x))+

φj (hj (x))

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

j=1

 

 

 

 

7.4.3. Методы внешних штрафных функций

 

 

 

 

 

 

 

 

 

 

 

 

Т

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где ϕj, φj – функции, определяемые соответственно ограничениями-

Данные методы применяются для решения

задачи

оптимизации

 

 

 

равенствами и неравенствами исходной задачи нелинейного

вобщей постановке, т. е. при наличии как ограничений-неравенств, так

 

 

 

программирования. Вспомогательная функция F(х, а) при этом

иограничений-равенств. В рассматриваемых методах функции Ф(х, а)

 

 

 

имеет форму:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выбирают такими, что их значения равны нулю внутри и на границе до-

 

 

 

 

Г

 

 

k

 

 

 

 

m

 

 

 

 

пустимой области G, а вне ее– положительны и возрастают тем больше,

 

 

 

 

F (x,a)

= f (a) + a

φi (gi (x))

+ φj (hj

(x))

.

(7.71)

чем сильнее нарушаются ограничения (рис. 7.13). Таким образом, здесь

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

j=1

 

 

 

 

«штрафуется» удалениеотдопустимойобластиG.

 

 

 

 

 

 

 

 

ОднаизБприменяемых внешних штрафных функций имеет вид:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

р

 

 

 

k

 

 

 

 

 

 

2

 

k

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

йΦ(x,a) = a (max(0, gi (x)))

 

+ φj (hj

(x))

,

(7.72)

 

 

 

 

 

 

 

 

 

 

 

 

и

 

 

i=1

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,

если

g

(x) 0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

здесь

max(0, gi (x)) =

 

 

 

 

i

 

 

 

 

(7.73)

 

 

 

 

 

 

 

 

 

 

 

 

 

(x),

если gi (x) > 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Алгоритм метода внешних штрафных функций формулируется

Рис. 7.14. Внешняя штрафная функция

и

 

 

 

 

так же,

как и алгоритм метода внутренних штрафных функций,

 

 

 

 

и обладает аналогичными

 

свойствами.

 

Однако в

этом

случае

 

 

 

 

 

 

 

 

 

 

 

 

 

Внешняя штрафная функция Ф(х, а) в общем случае

 

бы ь

 

 

 

не требуется, чтобы

начальная

точка

х[0] G ,

а последо-

определена следующим образом:

 

 

 

 

 

 

о

 

 

 

з

 

 

 

 

 

вательность {ak}, k 1, 2, ..., положительных чисел должна быть

0,

если

x G;

 

 

 

может

 

 

 

монотонно возрастающей.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Анализ методов штрафных функций позволяет сделать следую-

Φ(x,a) =

 

 

 

 

 

 

 

 

 

 

 

 

 

ции расположен на границе до устимойобласти, то эта траекто-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

если

x G,

a

→ ∞.

 

(7.69)

 

 

 

щие выводы об их вычислительных свойствах. В

соответствии

Поиск минимума вспомогательн й функции F(x, а) можно на-

 

 

 

с методами внутренних штрафных функций ведут поиск решения,

 

 

 

п

 

 

 

 

 

 

 

 

 

не выходя за пределы допустимой области. Это весьма важно в тех

чинать из произвольной точки. В б льшинстве случаев она явля-

 

 

 

случаях,

когда целевая функция или ограничения не определены

ется недопустимой, поэтому траект рия

с

уска располагается

 

 

 

за пределами допустимого множества. Кроме того, прервав вычис-

е

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

частично вне допустимой области. Если минимум целевой функ-

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рия полностью находится снаружи области G. Перечисленные

 

 

 

решение. Однако для задания в качестве начальной некоторой до-

 

 

 

пустимой точки

иногда

требуется

решать задачу, по сложности

Р

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

377

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

378

 

 

 

 

 

 

 

 

сравнимую с исходной задачей нелинейного программирова-

 

 

 

В качестве начальной точки выбирается вектор х[0] , удовлетво-

ния. В этом смысле метод внешних штрафных функций пред-

 

 

 

ряющий условиям hj(х) > 0, j 1 ,..., m. Последовательность {ak} ,

почтительнее, так как он обеспечивает решение из любой на-

 

 

 

k 1, 2,..., положительных чисел является монотонно убывающей

чальной точки.

В результате

программирование для

ЭВМ

 

 

 

и сходящейся к нулю.

 

 

 

У

 

 

 

 

 

 

 

 

 

 

 

алгоритмов внешних штрафных функций существенно упроща-

 

 

 

Выбор начальной точки допустимой области

 

ется. Общим недостатком методов штрафных функций является

 

 

 

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

сложность вспомогательной функции F(x, a), которая часто

 

 

 

 

 

 

 

 

Т

1, ..., т. Рассмотрим два

 

 

 

щей строгим неравенствам hi(х) > 0, j

имеет овражную структуру. Степень овражности увеличивается

 

 

 

множества индексов:

 

 

 

 

 

 

 

с увеличением а.

Кроме того,

при больших значениях а точ-

 

 

 

 

 

 

А

 

 

 

 

 

ность вычислений минимума F(х, а) сильно уменьшается из-за

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

J1 ={ j | hj (x) < 0

j =1,...,m}

(7.76)

ошибок округления.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Г

 

 

 

j

=1,...,m}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(7.77)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

J1

={ j | hj (x) ≤ 0

7.4.4. Комбинированные алгоритмы штрафных функций

 

 

 

Поиск внутренней точки должен состоять в том, чтобы перейти

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

от точки (x)к новой точке (x), в которой удовлетворяются неко-

равенствами методы внутренних штрафных функций неприме-

 

 

 

 

 

 

торые из ограничений множества J2. При этом ни одно из условий

нимы. Однако при практических расчетах в ряде случаев необ-

 

 

 

ходимо выполнение некоторых ограничений-неравенств в тече-

 

 

ймножества J1 не должно нарушаться.

Затем необходимо перейти

ние всего процесса оптимизации. В подобных обстоятельствах

 

и

от точки (x)к другой точке, и так далее до тех пор, пока не будут

используют комбинированные

алгоритмы, учитывающие

-

 

бенности внутренних и внешних штрафных функций. Всп м га-

 

удовлетворены все ограничения. Эта процедура реализуется мини-

р

 

тельная функция F(x, a) включает в себя слагаемые в виде

-

 

мизацией функции

 

 

 

 

 

 

 

ренних штрафных функций ϕ(х,

а) для ограничений-неравенс в и

 

 

 

 

 

 

 

 

 

 

 

 

внешних штрафных функций φ(х, а) для ограничений-равенс в:

 

 

 

 

 

 

W (x,ak ) = hj (x)+akV (x),

 

 

 

 

 

 

 

 

 

 

осо

 

 

 

 

 

(7.78)

F(x, а) f(х) + Ф(х, а) + φ (х, а) .

 

 

 

 

 

 

 

 

 

j J2

 

 

 

 

 

(7.74)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

внут

 

 

 

где V(x) внутренняя штрафная функция одного из видов, пред-

В таком случае неравенства будут

 

 

 

на протяжен и

 

 

 

ставленных выше, относительно ограничений из множества J1.

всего вычислительного процесса, а равенства – прииприближении

 

 

 

Последовательность {аk},

k

1,

2, ..., сходится

к нулю.

к минимуму. Например, в качестве внутренней м жно использовать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

логарифмическую

штрафную функцию, а

взкачестве внешней –

 

 

 

В процессе минимизации производится проверка знаков функ-

квадратичную функцию, т. е.

 

 

выполн1

 

 

 

 

 

 

 

ций hj, j J2. Как

только

какое-либо из этих ограничений

 

 

 

 

 

 

 

 

 

удовлетворяется, оно переводится во второе слагаемое, т. е.

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

k

2

 

 

 

 

 

формируется соответствующая штрафная функция V(х). Мини-

 

 

 

 

ены

(x).

(7.75)

 

 

 

мизация полученной в результате новой функции W(x, а) осу-

F (x,ak ) = f (x)+ ak ln (h(x))+

ak

g

 

 

 

 

 

 

j=1

 

 

i=1

 

 

 

 

 

 

ществляется из последней найденной точки х[k].

 

 

 

п

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

379

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

380

 

 

 

 

е

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р