Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Исследование операций и методы оптимизации. Элементы выпуклого и динамического программирования. Учебное пособие
.pdf
состояние. В таком случае нужно выяснить, при каких условиях искомое воздей-
выбрать такое решение xX, для которого (x)S*.
(1)
ствие существует (задача разрешима). Затем необходимо подобрать или разрабо-
тать алгоритм, позволяющий найти решение задачи, если оно существует.
Четвертый этап заключается в интерпретации результатов третьего эта-
па, вследствие чего происходит «перенос» знаний с модели на исследуемый
объект. Может оказаться, что интерпретация какого-то результата, полученного
при анализе модели, противоречит накопленным знаниям об объекте. В таком
случае приходится вернуться на третий этап для корректировки модели.
Наконец, на пятом этапе новые знания используют для достижения цели
исследования: развития теории, управления объектом или прогнозирования его
поведения.
При циклическом повторении описанных процедур экономикоматематического моделирования обогащение знаний об объекте способствует
совершенствованию модели, а это, в свою очередь, позволяет добыть новые
знания.
1.3. Задача нелинейного программирования
Пусть S и A ― множества возможных состояний некоторого экономического объекта и его внешней среды соответственно.
Предположение 1. Объект управляем, то есть некая оперирующая сторона
(другое название ― лицо, принимающее решения, ЛПР) может выбором решения
влиять на его деятельность и, следовательно, на результат этой деятельности.
Обозначение. X(a) для aA ― множество допустимых решений, то есть
множество управлений, возможных (доступных, реализуемых) при состоянии a
внешней среды.
Предположение 2. Известна функция реализации, s = (a, x, s0), сопостав-
ляющая каждой тройке (a, x, s0), где aA, xX(a) и s0S, состояние, в которое
переходит объект из исходного состояния s0, если в состоянии a внешней среды
применить к нему управление x.
Предположение 3. ЛПР имеет цель, которая для каждого возможного состояния внешней среды aA указывает множество S*(a) желательных состоя-
ний объекта управления.
Предположение 4. Выбор решения происходит в условиях определенно-
сти, то есть состояние a0 внешней среды в период реализации решения извест-
но оперирующей стороне.
Фиксированные аргументы a0 и s0 можно исключить, поэтому положим
X = X(a0), S* = S*(a0), (x) = (a0, x, s0).
Теперь можем сформулировать задачу выбора решения:
11

Предположение 5. Известна оценочная функция, h(s), которая указывает, в
f(x) → max при условии xX.
(2)
f(x) → max при условии xX Rn.
(3)
nm,
nm,
f(x) → max при условии xRn,
(4)
gi(x) ≤ bi для i
1
,1 m
,
(5)
gi(x) = bi для i
mm ,1
1
.
(6)
какой степени достигается цель ЛПР, если объект находится в состоянии s.
Предположение 6. Функция h(s) возрастает по мере приближения к цели.
Тогда желательными являются те состояния, в которых оценочная функция достигает максимума: S* = {sS | s'S [h(s) ≥ h(s')]}. Подставляя функцию
реализации вместо аргумента оценочной функции, получим определенную на X
целевую функцию f(x) = h((x)), которая указывает степень достижения цели в
результате решения x.
При сделанных предположениях задача (1) является задачей оптимизации:
найти оптимальное решение, то есть элемент xX, максимизирующий функцию
f(x),
Обозначение. Rn ― арифметическое пространство размерности n, множе-
ство всех векторов-столбцов вида x = (x1,…,xn)T, где xiR для всех i.
Предположение 7. Решения описаны как числовые векторы, то есть конечные наборы значений числовых показателей, управляемых входных пара-
метров: xRn.
При этом предположении задача (2) является задачей математического
программирования:
Предположение 8. Множество допустимых решений X есть множество
всех решений конечной системы ограничений: уравнений и (или) нестрогих неравенств.
Задача (3), дополненная предположением 8, становится задачей нелинейно-
го программирования.
Обозначение. Для целых чисел m и n положим
и
= , если m > n.
= {m,…,n}, если m ≤ n,
Задачу нелинейного программирования можно записать следующим образом:
В этой задаче m ограничений. Среди них есть ограничения-неравенства
(5), если m1 > 0, и ограничения-равенства (6), если m > m1.
12

Литература
i
ii
xa
k,1
i
i
a
Ашманов С. А. Математические модели и методы в экономике. М.: Изд-во
МГУ, 1980. С. 7–9.
Замков О. О., Толстопятенко А. В., Черемных Ю. Н. Математические методы в экономике. 3-е изд., перераб. М.: Дело и Сервис, 2001. Гл. 1.
Иванилов Ю. П., Лотов А. В. Математические модели в экономике. М.:
Наука, 1979. Гл. 1.
Экономико-математические методы и прикладные модели / под ред. В. В. Федосеева. М.: ЮНИТИ, 1999. Гл. 1.
2. Выпуклое программирование
Если в задаче 4–6 функции f и gi для всех i линейны, то она относится к
классу задач линейного программирования (ЗЛП), которые хорошо решаются и
имеют обширные приложения. Нас сейчас интересует более широкий класс задач выпуклого программирования (ЗВП, определение см. в разд. 2.3). Суще-
ствуют весьма эффективные методы решения таких задач. Например, методы
внутренней точки позволяют за конечное число шагов найти решение ЗВП с
любой заданной точностью. Если прикладную задачу удалось свести к ЗВП, то,
с некоторой натяжкой, можно считать, что она уже решена.
Однако распознать ЗВП гораздо труднее, чем ЗЛП. Чтобы обосновать принадлежность задачи к классу ЗВП, необходимо проверить некоторые неочевидные свойства множества допустимых решений и участвующих в задаче функций.
Об этих свойствах множеств и функций мы будем говорить в разд. 2.1 и 2.2.
2.1. Выпуклые множества
2.1.1. Определение и примеры выпуклых множеств
Определения
Вектор xRn является выпуклой линейной комбинацией или взвешенным
средним векторов x1, …, xk из Rn, если x =
, где aiR+ для i
и
Множество всех выпуклых линейных комбинаций векторов x0 и x1 из Rn ―
это отрезок [x0, x1] с концами x0 и x1; [x0, x1] = {(1 – )x0 + x1 | [0, 1]}.
(x0, x1) = [x0, x1] \ {x0, x1} ― множество внутренних точек отрезка.
{x0 + v | R}, где x0Rn, vRn ― прямая в Rn, проходящая через точку x0
в направлении v.
{x0 + v | R+}, где x0Rn, vRn ― луч в Rn, исходящий из точки x0 в
направлении v.
Шар с центром x0Rn и радиусом rR+ ― это множество B(x0, r) = {xRn |
|x – x0| ≤ r}.
13
= 1.

Множество M Rn называется выпуклым, если любая выпуклая линейная
j
jj
yx
1
комбинация точек из M принадлежит этому множеству.
Теорема 2.1 (критерий выпуклости множества)1. Для выпуклости множе-
ства M Rn необходимо и достаточно, чтобы любой отрезок с концами из M
целиком лежал в этом множестве (рис. 1).
Рис. 1. Выпуклое (слева) и невыпуклое множества в R2
Пустое и одноэлементное множества являются выпуклыми подмножествами Rn.
Прямая, луч, отрезок, шар в Rn и все пространство Rn — выпуклые множества.
2.1.2. Теоремы отделимости для выпуклых множеств
Определения и обозначения
Скалярное произведение векторов x = (x1,..,xn) и y = (y1,..,yn), равное
будем обозначать 〈x, y〉.
0n — нуль-вектор в Rn.
Гиперплоскость в Rn — это множество {xRn | 〈a, x〉 = c}, где cR, aRn \
{0n}.
Точка x является внутренней точкой множества M Rn, если B(x, r) M
для некоторого r > 0.
Внутренность intM множества M Rn — это совокупность всех его внутренних точек.
Точка xRn является граничной точкой множества M Rn, если B(x, r)M и
B(x, r)(Rn \ M) для любого r > 0.
Граница M множества M Rn — совокупность всех его граничных точек.
Множество M Rn замкнуто, если M M.
Множество M Rn открыто, если M = int M (эквивалентно, MM = ).
,
Необходимость очевидна. Доказательство достаточности: Рокафеллар Р. Выпуклый анализ. М.: Мир,
1973 (теорема 2.2).
14

Теорема 2.2 (об отделимости точки)1. Если M Rn — непустое выпуклое
1
2
3
замкнутое множество и x0Rn \ M, то существуют aRn \ {0n} и bR такие, что:
а) 〈a, x0〉 < b и 〈a, x〉 ≥ b для всех xM (гиперплоскость {xRn | 〈a, x〉 = b}
проходит «выше» точки x0, но «не выше» множества M);
б) 〈a, x〉 > 〈a, x0〉 для всех xM (гиперплоскость {xRn | 〈a, x〉 = 〈a, x0〉}
проходит через точку x0 и «ниже» множества M).
Теорема 2.3 (о разделяющей гиперплоскости)2. Если X Rn — непустое,
открытое, выпуклое множество и Y Rn \ X — замкнутое, ограниченное, выпуклое множество, то существует гиперплоскость {xRn | 〈a, x〉 = b} такая, что
〈a, x〉 > b для всех xX и 〈a, y〉 ≤ b для всех yY (множество X расположено
«выше» гиперплоскости, а множество Y — «не выше»).
2.1.3. Операции над множествами, сохраняющие выпуклость
Определения и обозначения
Декартово произведение множеств A и B ― это множество A B = {(a, b) |
aA, bB}.
Прямой суммой или суммой по Минковскому множеств A Rn и B Rn
называют множество A + B = {a + b | aA, bB}.
Вектор x = (x1,…,xm) принадлежит проекции множества M R
m+n
на про-
странство Rm, если существует вектор (y1,…,yn) такой, что (x1,…,xm, y1,…,yn)M.
mn
R
― множество всех матриц размерности mп с элементами из R.
f : Rn → Rm ― функция, определенная на некотором подмножестве Rn и
принимающая значения из Rm, однозначное отображение из Rn в Rm.
Функция f : Rn → Rm называется аффинной, если она имеет вид f(x) = Ax + b,
где AR
mn
, xRn и bRm.
Если f : Rn → Rm и M Rn, то f(M) = {f(x) | xM} ― образ множества M
при отображении f.
Если f : Rn → Rm и M Rm, то f –1(M) = {x | f(x)M} ― прообраз множества
M при отображении f.
Теорема 2.4 (операции над множествами, сохраняющие выпуклость)3.
а) Пересечение, декартово произведение, прямая сумма выпуклых мно-
жеств являются выпуклыми множествами.
б) Проекция выпуклого множества, образ и прообраз выпуклого множе-
ства при аффинном отображении являются выпуклыми множествами.
Доказательство: Никайдо Х. Выпуклые структуры и математическая экономика. М.: Мир, 1970. С. 48
(теорема 3.2.).
Утверждение следует из теоремы 3 на с. 201 книги: Васильев Ф. П. Численные методы решения экстре-
мальных задач. М.: Наука, 1980.
Доказательство оставляем читателю в качестве упражнения.
15

Заметим, что объединение и теоретико-множественная разность выпуклых
n
j
jij
xa
1
1
,1 m
n
j
jij
xa
1
mm ,1
1
m,1
1
m
R
1
0
mm
1
m
R
1
,1 m
множеств не обязательно выпуклы. На рис. 2 изображены выпуклые множества
A и B. Видно, что их пересечение (двойная штриховка) выпукло, а объединение
(заштрихованная часть прямоугольника) и разность B \ A (только вертикальная
штриховка) не выпуклы.
Рис. 2. Теоретико-множественные операции над выпуклыми множествами
Ниже мы опишем некоторые два важных класса выпуклых множеств.
2.1.4. Многогранные множества
Определения
Замкнутым полупространством в Rn называют множество {xRn | 〈a, x〉 ≤ c},
где cR, aRn \ {0n}.
Многогранное множество ― это совокупность всех решений системы ли-
нейных уравнений и нестрогих линейных неравенств (пересечение конечного
числа гиперплоскостей и замкнутых полупространств).
Теорема 2.5. Всякое многогранное множество выпукло.
Доказательство. Запишем систему уравнений и неравенств, определяющую многогранное множество P в Rn:
≤ bi для i
Положим A = (aij)R
mn
, b = (bi | i
,
= bi для i
.
) и определим аффинную функцию f :
Rn→ Rm следующим образом: f(x) = b – Ax. Тогда множество P есть прообраз
относительно отображения f множества M =
теоремы 2.4 множество
для i
, множество M выпукло как декартово произведение выпуклых мно-
выпукло как пересечение полупространств хi ≥ 0
{
}. По утверждению (а)
жеств. Теперь выпуклость множества P следует из утверждения (б) теоремы
2.4. #
16

2.1.5. Конусы
m,1
m,1
m
i
ii
a
1
m
R
*
1
K
*
2
K
1
Определения
Множество K Rn является конусом, если αxK для всех xK и αR+.
Конической линейной комбинацией называется линейная комбинация с не-
отрицательными коэффициентами.
Для произвольного множества M Rn сопряженным (двойственным) конусом называется множество M * = {yRn | xM (x, y ≥ 0)}.
Легко проверить, что M * ― действительно конус для любого M. Заметим,
что всякий непустой конус K содержит начало координат, так как из x K следует 0n = 0xK.
Теорема 2.6. Конус является выпуклым тогда и только тогда, когда он за-
мкнут относительно сложения векторов.
Доказательство
1. Пусть конус K замкнут относительно сложения и {x, y} K. Достаточ-
но доказать, что любая коническая линейная комбинация x и y лежит в K. Поскольку выпуклая линейная комбинация является частным случаем конической,
выпуклость K будет тогда следовать из теоремы 1. Положим z = ax + by, где
{a, b} R+. Тогда {ax, by} K по определению конуса и zK по предположе-
нию о замкнутости конуса относительно сложения.
2. Пусть K ― выпуклый конус, {x, y} K и z = x + y. Тогда {2x, 2y} K
по определению конуса и zK как выпуклая линейная комбинация точек 2x и 2y
с коэффициентами ½. То есть, множество K замкнуто относительно сложения.
#
Следствие. Для любого множества M сопряженный конус M * является
выпуклым множеством.
Доказательство. Учитывая теорему 2.6, достаточно доказать, что множе-
ство M * замкнуто относительно сложения векторов. Пусть {a, b} M *. Тогда
〈x, a〉 ≥ 0 и x, b ≥ 0 для всех xM. Положим z = a +b. Для xM имеем x, z =
= x, a + x, b ≥ 0. Поэтому zM *. #
Пусть заданы векторы aiRn, i
. Легко проверить, что выпуклыми ко-
нусами являются следующие множества:
K1 = {xRn | i
(x, ai ≥ 0)}, K2 = {yRn | y =
, (1,…,m)T
}.
Теорема 2.7 (о сопряженных конусах)1. Определенные выше конусы K1 и
K2 являются взаимно сопряженными:
= K2 и
= K1.
Доказательство: Павлов В. Н. Математическая экономика. Новосибирск: Изд-во СО РАН, 2005 (лемма
1.2).
17

2.2. Выпуклые и вогнутые функции
)(x
h
f
)()(
lim
0
xfhxf
)0,(x
)(x
x
f
j
n,1
)(x
x
f
)(
2
x
xx
f
ji
n,1
n,1
n,1
n,1
)(x
hf
)(
2
2
x
hf
)(x
hf
)0,(x
0
)(
))((
j
j
j
d
dx
x
x
f
j
j
j
hx
x
f
)(
1
2.2.1. Предварительные сведения
Определения. Пусть функция f: Rn → R определена на множестве M.
Подграфиком (надграфиком) функции на M, называется множество
{(x1,…,xn,y) | (x1,…,xn)= xM, y ≤ (≥) f(x)}.
Вектор hRn такой, что |h| = 1, называют направлением.
Пусть (x, ) = f(x + h) и xint M. Производной функции f по направлению
h в точке x называют величину
=
=
,
если указанный предел существует и конечен.
Если функция f дифференцируема в точке x, то вектор-строку ее частных
производных
f '(x) = (
называют градиентом функции в точке x; другие обозначения:
| j
)
, grad f(x),
f(x)1.
Если функция f дважды дифференцируема в точке x, то матрицу ее вторых
частных производных
f ''(x) = (
| {i, j}
)
называют матрицей Гессе или гессианом функции в точке x; другое обозначение: Hf (x).
Теорема 2.8. Предположим, что функция f : Rn → R дважды дифференци-
руема в точке x = (xj | j
x() = (xj() | j
) = x + h, (x, ) = f(x()). Тогда
). Зафиксируем направление h = (hj | j
= f '(x), h,
= hTf ''(x)h.
). Пусть
Доказательство. Используя правило дифференцирования сложной функ-
ции и учитывая, что xj() = xj + hj, получим
=
Символ читается «набла» (в переводе с греч. ― арфа).
=
=
= f '(x), h;
18

)(
2
2
x
h
f
=
)(x
h
f
h
0
2
)(
))((
j k
k
j
kj
d
dx
hx
xx
f
j k
kj
kj
hhx
xx
f
)(
2
i j
jiij
xxa
f((1 – )x1 + x2) (1 – )f(x1) + f(x2)
(7)
1
2
=
=
#
= hTf ''(x)h.
Известно1, что если функция дважды непрерывно дифференцируема, то ее
вторые частные производные не зависят от порядка дифференцирования, то
есть матрица Гессе такой функции симметрична.
Определения. Пусть AR
nn
.
Определитель матрицы, находящейся на пересечении строк матрицы A с
номерами i1,…,ik и столбцов с номерами j1,…,jk называется минором порядка k
матрицы A.
Минор называют главным, если (i1,…,ik) = (j1,…,jk).
Минор называют ведущим главным, если (i1,…,ik) = (j1,…,jk) = (1,…,k).
Симметричная матрица AR
Q(x) = xTAx =
nn
и соответствующая квадратичная форма
положительно определены (положительно полуопределены, отрицательно полуопределены, отрицательно определены), если Q(x) > (≥, ≤, <) 0 для всех xRn.
Теорема 2.9 (критерии Сильвестра)2. Пусть AR
nn
― симметричная матрица.
Матрица A положительно определена тогда и только тогда, когда все ее
ведущие главные миноры положительны.
Матрица A положительно полуопределена тогда и только тогда, когда все
ее главные миноры неотрицательны.
Матрица A отрицательно полуопределена тогда и только тогда, когда все
ее главные миноры нечетных порядков неположительны, а все главные миноры
четных порядков неотрицательны.
Матрица A отрицательно определена тогда и только тогда, когда все ее ве-
дущие главные миноры нечетных порядков отрицательны, а все ведущие главные миноры четных порядков положительны.
2.2.2. Определение и основные свойства выпуклых и вогнутых функций
Определения. Пусть M Rn ― непустое выпуклое множество.
Функция f : Rn → R вогнута на M, если
для всех [0, 1] и x1, x2 из M; она строго вогнута на M, если (7) выполняется
как строгое неравенство при (0, 1) и x1, x2 из M таких, что x1 x2.
Никольский С. М. Курс математического анализа. 6-е изд. М.: ФИЗМАТЛИТ, 2001. § 7.7.
Доказательство: Гантмахер Ф. Р. Теория матриц. М.: Наука, 1988. С. 261–263.
19

Функция f : Rn → R выпукла на M, если
f((1 – )x1 + x2) (1 – )f(x1) + f(x2)
(8)
i
ii
xf )(
i
ii
xf )(
i
i
R
m
i
ii
xfa )(
1
2
3
4
5
для всех [0, 1] и x1, x2 из M; она строго выпукла на M, если (8) выполняется
как строгое неравенство при (0, 1) и x1, x2 из M таких, что x1 x2.
Теорема 2.10 (свойства выпуклых и вогнутых функций).
Пусть M Rn — непустое выпуклое множество.
а) Вогнутость (выпуклость) функции f на M эквивалентна выпуклости (во-
гнутости) функции (–f ) на том же множестве1.
б) Если функция f выпукла (вогнута) на M, то множество M(b) = {xM | f(x)
() b} выпукло для любого bR2.
в) Если функция f выпукла на M, то
≤
для любого конечного набора векторов xiM и чисел λi ≥ 0 такого, что
= 1
(неравенство Йенсена)2.2
г) Если функции f1,…,fm выпуклы (вогнуты) на M и (a1, …, am)T
― выпуклая (вогнутая) функция на M.
(1)
, то
д) Пусть F ― произвольное семейство функций из Rn в R, выпуклых на M,
и величина g(x) = sup{f(x) | f(x)F} конечна для любого xM. Тогда функция
g(x) выпукла на M. Аналогично, если все функции из F вогнуты на M и величина h(x) = inf{f(x) | f(x)F} конечна для любого xM, то функция h(x) вогнута на
M3.
е) Пусть функция f определена на M, AR
n×m
, bRn. На множестве N =
= {xRm | Ax + bM} определим функцию g(x) = f(Ax + b). Если f выпукла на M,
то g(x) выпукла на N. Если f вогнута на M, то g(x) вогнута на N4.
Теорема 2.11 (критерий выпуклости / вогнутости функции)5.
Для того чтобы функция f: Rn → R, определенная на выпуклом множестве
M, была вогнута (выпукла) на этом множестве M, необходимо и достаточно,
чтобы ее подграфик (надграфик) на M был выпуклым множеством.
Доказательство оставляем читателю в качестве упражнения.
Доказательство: Карманов В. Г. Математическое программирование. М.: Наука, 1980 (разд. 2.4.6).
Доказательство для выпуклых функций: Васильев Ф. П. Численные методы решения экстремальных за-
дач. М.: Наука, 1980 (теорема 7 на с. 176). На вогнутые функции результат переносится с помощью свойства
(а).
Доказательство: Boyd S., Vandenberg L. Convex Optimization. Seventh printing with corrections. Cambridge,
UK: Cambridge University Press, 2009, разд. 3.2.2.
Доказательство для выпуклой функции: Васильев Ф. П. Численные методы решения экстремальных за-
дач. М.: Наука, 1980 (теорема 9 на с. 178). Для вогнутой функции рассуждения аналогичны.
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
