Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы оптимальных решений. Нелинейное программирование. Учебное пособие
.pdf
Эти рассуждения доказывают следующее утверждение.
*
0
s
xf
m
i
s
i
i
x
g
y
1
*
*
s
*
s
*
1m
*
0
s
xf
m
i
s
i
i
x
g
y
1
*
y
*
0
j
xf
(x*) –
m
i
j
i
i
x
g
y
1
*
(x*)
.если,0
,если,0
,если,0
*
*
*
jj
jj
jjj
x
x
x
(3.19)
*
0
y
*
0
j
xf
(x*) –
m
i
j
i
i
x
g
y
1
*
(x*) ≤ 0 с равенством при x
*
j
> 0.
(3.20)
Теорема 3.6. Необходимые условия локального решения для задачи
(3.1)(3.3) с дополнительным прямым ограничением xs ≥ s > (xs ≤ s < +)
можно записать, не используя множитель Лагранжа для дополнительного ограничения. Для этого нужно сохранить все необходимые условия первого порядка, соответствующие задаче (3.1)(3.3), кроме условия (3.4) при j = s, которое
следует заменить условием
y
(x*) –
(x*) ≤ (≥) 0 с равенством при x
> s (x
< s).
При этом множитель Лагранжа для прямого ограничения, записанного в виде –
xs –s или xs s, можно вычислить по формуле
y
= y
(x*) –
(x*).
Следствие 1. Для учета двустороннего прямого ограничения j ≤ xj ≤ j,
добавленного к задаче (3.1)–(3.3), достаточно изменить соответствующее условие (3.4) следующим образом
Условия Куна – Таккера для задачи с прямыми ограничениями – это (3.5),
(3.6) и (3.19) при y
= 1.
Следствие 2. Если к задаче (3.1)–(3.3) добавлено условие неотрицательности всех переменных x 0, то условия (3.4) для всех j принимают вид
Теорема 3.4 и следствия из нее во многих случаях позволяют упростить
необходимые условия локального решения, учесть прямые ограничения (в
частности, условия неотрицательности) как „дополнительные”, не вводя для
них множители Лагранжа.
Для иллюстрации рассмотрим задачу, изображенную на рис. 3.1 (см. раздел 3.1.1):
f(x) → max при x [a, b] (x, a и b — действительные числа).
В этой задаче есть только два прямых ограничения: x a и x b. Поэтому
достаточно ввести единственный множитель Лагранжа: y0. Все множители Лагранжа не могут быть равны нулю, следовательно, y0 = 1 по (3.7). Поскольку
„основных” ограничений в задаче нет, m = 0 и условие (3.14) принимает вид
41

f '(x*)
.если,0
,если,0
,если,0
*
*
*
bx
ax
bxa
*
i
i
ii
yx
*
0
Действительно, для того, чтобы внутренняя точка отрезка [a, b] была локальным максимумом (как точки c и d на рис. 3.1), необходимо, чтобы в ней
производная функции f(x) обращалась в нуль. Левая граница промежутка является
локальным максимумом, только если функция в ней не возрастает, f '(a) 0. Правая граница промежутка является локальным максимумом, только если функция в ней не убывает, f '(b) 0.
3.8. Устойчивость локального решения
В разд. 3.3.3 мы говорили о том, что анализ устойчивости является частью
послеоптимизационного анализа. Здесь мы рассмотрим только влияние вариации
правых частей ограничений на оптимальное значение целевой функции.
2.8.1. Невырожденное решение (определения)
Условие дополняющей нежесткости (3.5) для ограничения задачи (3.1)–
(3.3) с номером i m1 требует, чтобы в произведении y
(gi(x*) – bi) хотя бы один
сомножитель был равен нулю. Более сильным является условие строгой дополняющей нежесткости, которое требует, чтобы в указанном произведении ров-
но один сомножитель был равен нулю. Учитывая (3.6), можем это условие записать следующим образом: множитель Лагранжа для ограничения-неравенства положителен, если и только если оно активно в точке x*.
Определения
Скалярное произведение двух векторов одинаковой размерности – это
сумма попарных произведений соответствующих координат: если x = (x1, …, xn)
и y = (y1, …, yn), то xy =
.
Векторы ортогональны, если их скалярное произведение равно нулю.
Следующее определение описывает локальное решение задачи нелинейного программирования, в окрестности которого ограничения и целевая функция задачи ведут себя „стандартно”.
Определение. Локальное решение x* задачи (3.1)–(3.3), которому соответствует вектор множителей Лагранжа (y
, y*), невырожденно, если выполне-
ны следующие условия:
а) функции f, g1, …, gm дважды дифференцируемы в окрестности x*;
б) векторы gi(x*) для i I(x*) (градиенты активных в точке x* ограничений) линейно независимы;
в) векторы x* и y* удовлетворяют условиям строгой дополняющей нежесткости для всех ограничений-неравенств;
42

г) для любого вектора h = (h1, …, hn) 0 такого, что gi(x*)h = 0 при всех
njn
k
kj
xx
L
1 1
1
2
f(x) max
при условиях
gi(x) = b
0
i
для i{1, …, m1},
gi(x) ≤ b
0
i
для i{m1+1, …, m}.
i
bV
(b0) = y
*
i
.
(3.21)
iI(x*), справедливо неравенство
H(h) =
(x*, y*)hjhk < 0.
В определении невырожденного решения условие (а) сильнее, чем условия гладкости теоремы Каруша – Джона, поэтому множители Лагранжа для
точки x* существуют. Из условия (б) по теореме 3.4 следует, что невырожденное решение является регулярным. Поэтому можно выбрать вектор множителей
Лагранжа в виде (1, y*), что учтено в условии (г). Оно требует, чтобы квадратичная форма H(h) была отрицательна для любого ненулевого вектора h, ортогонального градиентам активных в точке x* ограничений.
Следствие. Если для локального решения x* выполняются условия (а), (б)
и (в) определения невырожденного решения и число ограничений, активных в
точке x*, равно n (числу переменных), то решение x* невырожденно.
Доказательство. По условию следствия 2 градиенты ограничений, активных в точке x*, образуют базис пространства Rn. Поэтому никакой ненулевой вектор h Rn не может быть ортогонален всем этим градиентам, и условие
(г) выполнено. Следствие доказано.
2.8.2. Теорема об устойчивости локального решения
Пусть b = (b1, …, bm) – вектор правых частей ограничений задачи (3.1)–
(3.3), будем считать его вектором параметров, а задачу обозначим для краткости A(b). Зафиксируем b0 – „исходное” значение вектора b. Задача A(b0) имеет
вид
Теорема 3.7 (об устойчивости локального решения). Пусть x* – невырожденное локальное решение задачи A(b0), (1, y*) – соответствующий вектор множителей Лагранжа. Тогда при |b – b0| < , где – некоторое положительное число, существуют дифференцируемые в точке b0 вектор-функции x(b) и y(b) та-
кие, что x(b) – локальное решение задачи A(b), (1, y(b)) – соответствующий ему
вектор множителей Лагранжа, причем x(b) → x* и y(b) → y* при b → b0. Функция максимумов V(b) = f(x(b)) дифференцируема в точке b0 и
Пусть локальное решение x* задачи A(b0) невырожденно. Тогда малое отклонение вектора правых частей ограничений от b0 (|b – b0| < ) приводит к не-
43

большому отклонению нового локального решения x(b) от x* (так как x(b) → x*
*
i
0
i
0
k
*
i
2
i
2
i
i
ii
i
bb
b
V
)()(00b
0
i
b
V(b) V(b0) ≈
iii
y
*
.
(3.22)
при b → b0). То же справедливо для значения V(b) целевой функции в новом
локальном решении и для нового вектора множителей Лагранжа. Множитель
Лагранжа y
оценивает влияние изменения правой части ограничения i на V(b),
локально оптимальное значение целевой функции. Если bi = b
для k ≠ i, то V(b) = V(b0) + y
i + O(
), где O(
) бесконечно малая второго
+ i и bk = b
порядка относительно i. Более того, для векторов b, лежащих в некоторой
окрестности точки b0, по формуле Тейлора имеем
V(b) = V(b0) +
Обозначив i = bi
, можем записать
+ O(|b – b0|2).
Формула (3.17) показывает, что прирост локально оптимального значения
целевой функции вследствие перехода от b к b0 складывается, в первом приближении, из величин, пропорциональных изменениям правых частей ограничений. При этом множители Лагранжа являются коэффициентами пропорциональности.
3.9. Геометрические интерпретации
Пусть функция F определена на множестве M Rn.
Определения. Пусть функция F определена на множестве M Rn. Мно-
жество всех решений уравнения F(x) = c (cR) называется поверхностью уров-
ня (в двухмерном случае – линией уровня) c для функции F.
Поверхность уровня c для функции F проходит через точку x (точка ле-
жит на поверхности уровня), если F(x) = c.
Понятно, что через каждую точку xM проходит единственная поверхность уровня c = F(x) для функции F. Точки, удовлетворяющие неравенству
F(x) c, образуют замкнутую область, которая ограничена поверхностью уровня c для функции F и лежит „по одну сторону” от нее. Следовательно, множество допустимых решений задачи (3.1)–(3.3) является пересечением поверхностей уровня, определенных ограничениями (3.2), и областей, определенных
ограничениями (3.3).
На рис. 3.2 изображено множество допустимых решений задачи нелинейного программирования с тремя ограничениями-неравенствами (m1 = 0, m = 3):
f(x) max при условиях gi(x) ≤ bi, i {1,2,3}.
44

)()(
0
0x
h
d
dF
,
)()(
2
2
0
2
2
0x
h
d
dF
.
(3.23)
j
j
0
j
0
h)(x
x
F
)(x
h
F
= F(x0)h ;
kj0
j k
kj
2
0
2
2
h)h(x
xx
F
)(x
h
F
.
(3.24)
g3(x) b
3
x
1
∇f(a2)
f(x) = c
1
g2(x) b
2
∇g3(a1)
∇f(a1)
∇g2(a1)
g1(x) b
1
f(x) = c
f(x) = c
2
a
2
∇g2(a2)
∇g1(a2)
a
1
Рис. 3.2. Геометрическая интерпретация условий Куна – Таккера
Области, соответствующие ограничениям gi(x) ≤ bi, i {1,2,3}, указаны
штриховкой; пересечение этих областей есть множество допустимых решений
задачи.
Определения. Если функция F линейна (F(x) = a∙x, a 0), то ее поверх-
ность уровня называется гиперплоскостью. Другими словами, гиперплоскость в
Rn – это множество всех решений линейного уравнения a∙x = c при a 0.
Любой вектор a при λ 0 называется нормалью (к) гиперплоскости a∙x = c.
Гиперплоскость F(x0)∙x = F(x0)∙x0 называется касательной гиперплос-
костью к поверхности уровня функции F в точке x0.
Понятно, что гиперплоскостями в R2 и R3 являются соответственно прямые и плоскости. Из определения касательной гиперплоскости следует, что
градиент функции F в точке x0 является нормалью гиперплоскости, касательной
к поверхности уровня функции F, проходящей через x0.
Определения
Параметрическое уравнение прямой, проходящей через точку x0 Rn в
направлении hRn, имеет вид x() = x0 + h, где R.
Производной по направлению h функции F в точке x0 называется производная функции одной переменной () = F(x0 + h) в точке = 0:
Поскольку F(x0 + h) = F(x01 + λh1, ..., x0n + λhn), из (3.18) получаем (предполагая, что требуемые производные существуют)
Таким образом, первая производная по направлению равна скалярному
произведению градиента на направляющий вектор. Если считать модуль
45

направляющего вектора фиксированным, то из неравенства Коши – Буняков-
*
0
j
xf
(x*) =
m
i
j
i
i
x
g
y
1
*
(x*).
(3.25)
*
i
y
x
x
x + y
y
ского следует, что производная по направлению h имеет максимальное и неотрицательное значение, если вектор h коллинеарен градиенту, h = λF(x0), 0.
Это значит, что градиент указывает направление наискорейшего роста функции
F при движении из точки x0. Если F(x0) = c, то при малых положительных поверхности уровней c + расположены „со стороны” вектора F(x0) от поверхности уровня c.
На рис. 3.2 пунктиром изображены линии трех уровней (с, c1, с2) для целевой функции f(x). Предположим, что с2 < с < c1, т. е. функция растет „вправо
вверх”. Двигая линию уровня в сторону роста функции (в направлении градиента), найдем решение задачи в точке a1, которая лежит на пересечении кривых
g3(x) = b3 и g2(x) = b2. Соответствующие ограничения активны в точке a1: I(a1) =
= {2, 3}. Через эту точку проходит линия уровня c1 для целевой функции. Про-
ведя мысленно касательные к указанным трем кривым, можем примерно изобразить направления градиентов g2(a1), g3(a1) и f(a1).
Определения
Конической линейной комбинацией векторов x1, ..., xk называется линейная
комбинация этих векторов с неотрицательными коэффициентами.
Конус, натянутый на векторы x1, ..., xk, есть множество всех конических
линейных комбинаций этих векторов.
Геометрический смысл предшествующих определений иллюстрирует
рис. 3.3. На нем изображена коническая линейная комбинация двухмерных век-
торов x и y с коэффициентами α > 1 и (0,1). Дуга указывает конус, натянутый
на векторы x и y.
Рис. 3.3. Коническая линейная комбинация
Рассмотрим задачу нелинейного программирования при m1 = 0 (без ограничений-равенств) и регулярную точку x* этой задачи. Для регулярной точки
y
= 1, поэтому условие (3.4) принимает вид
Если ни одно ограничение-неравенство не активно в точке x* (gi(x*) < bi
для всех i, I(x*) = ), то x* – внутренняя точка множества X допустимых решений (см. свойства множества I(x) в разд. 3.2). В этом случае по условию (3.5)
y
= 0 для всех i. Поэтому из (3.25) следует, что x* – стационарная точка функ-
46

ции f(x) (все частные производные равны нулю). Если же I(x*) , то условия
(3.25), (3.5) и (3.6) требуют, чтобы градиент f(x*) лежал в конусе, натянутом
на градиенты активных в точке x* ограничений.
На рис. 3.2 видно, что в точке максимума a1 градиент целевой функции
лежит в конусе, образованном градиентами активных ограничений. Но этим
свойством не обладает точка a2, которая не является локальным решением задачи.
Условие (г) из определения невырожденного решения требует, чтобы при
y = y* вторая производная функции Лагранжа по любому направлению, ортогональному градиентам ограничений, активных в точке x*, была отрицательной.
Отсюда следует, что при y = y* в таких направлениях функция Лагранжа должна быть вогнута по x в точке x*.
3.10. Экономические интерпретации
Многие и разнообразные задачи принятия решений допускают формализацию в виде модели нелинейного программирования. Мы опишем стандартную экономическую интерпретацию задачи нелинейного программирования:
задачу планирования производства.
Рассмотрим операцию, цель которой – составление плана работы экономической системы на некоторый плановый период. Предположим, что система
может в различных сочетаниях применять n технологий производства (техно-
логических способов или просто способов). Предположим также, что в реализации технологических способов участвуют ингредиенты (материальные и трудовые ресурсы, оборудование, другие факторы производства, полуфабрикаты,
конечные продукты, полезности) с номерами 1, ..., m. Каждый ингредиент может производиться и/или потребляться рассматриваемой системой.
Мерой использования технологического способа в плановом периоде является его интенсивность, определенная в соответствии с содержанием способа и принимающая неотрицательные действительные значения. Обычно интенсивность использования способа характеризуют объемом производства или потребления (за рассматриваемый период) какого-то (основного для данного способа) ингредиента. Пусть xj 0 – интенсивность использования способа j (xj = 0
означает, что способ не применяется). Тогда вектор x = (x1, ..., xn) естественно
назвать планом производства.
Пусть gi(x) – чистое потребление системой ингредиента i за плановый
период при плане x (разность потребления и производства); gi(x) < 0 означает,
что в системе к концу периода образуется избыток ингредиента i, равный |gi(x)|.
В начале периода система имеет запас bi ингредиента i; bi < 0 означает,
что система имеет обязательство по поставкам ингредиента i (за плановый период) во внешнюю среду в размере |bi|.
47

Допустим, что план x дает системе (в течение планового периода) полез-
f(x) max
при условиях
(2.26)
gi(x) bi
для i{1, …, m},
(2.27)
x 0.
(2.28)
ность (например, прибыль или условно чистый доход) f(x). Теперь модель рассматриваемой операции можно записать следующим образом:
Это задача нелинейного программирования. Если bi 0, то условие (3.27)
означает, что чистое потребление системой ингредиента i не может превышать
его исходный запас; при bi < 0 условие (3.27) удобно записать в виде –g(x) |bi|:
чистое производство ингредиента должно покрывать запланированные поставки.
Предположим, что целевая функция описывает условно чистый доход
(без учета затрат, связанных с приобретением участвующих в задаче ингредиентов) и y = (y1, …, ym) — вектор множителей Лагранжа для ограничений (3.27).
Тогда формула (3.21) указывает приближенное значение прироста максимального дохода при малых вариациях ресурсных запасов и обязательств по поставкам. Если правая часть ограничения (3.27) неотрицательна, то ее можно трактовать как запас ингредиента i. Увеличение (уменьшение) запаса на влечет при-
рост (снижение) дохода в оптимуме примерно на yi, следовательно, yi есть предельный доход от ингредиента i, максимальная цена, приемлемая для рассматриваемой экономической системы при покупке (минимальная приемлемая цена
при продаже) небольшого количества этого ингредиента. Ограничение (3.27) с
отрицательной правой частью мы интерпретируем как обязательство по поставкам ингредиента i в количестве |bi|. Увеличение (уменьшение) bi на означает уменьшение (увеличение) обязательств, в результате которого максимальный доход возрастает (снижается) примерно на yi. И опять yi играет роль цены:
это максимальный штраф, который система согласилась бы заплатить за малое
„недовыполнение” поставок, и минимальная (компенсирующая снижение дохода) цена, по которой она готова поставить небольшое дополнительное количество ингредиента i.
Предположим теперь, что целевая функция описывает прибыль. Тогда в
целевой функции учтены затраты на приобретение запасов bi по каким-то исходным ценам. Дополнительная единица ингредиента i даст прирост прибыли
примерно yi, если будет куплена по исходной цене. Поэтому yi указывает, при
какой максимальной надбавке к исходной цене предприятие согласилось бы
приобрести небольшое дополнительное количество ингредиента i. Симметрично, уменьшение запаса ингредиента i на единицу уменьшает прибыль примерно
на yi. Предприятие согласится продать небольшое количество ингредиента i,
если прибыль от продажи компенсирует этот ущерб, т. е. по цене, превосходящей исходную хотя бы на yi.
48

Видим, что множители Лагранжа указывают „внутренние цены” ингредиен-
2
i
j
xf
m
i
j
i
i
x
g
y
1
*
*
j
тов, обусловленные спецификой рассматриваемой экономической системы. Чтобы
улучшить условия выполнения операции, нужно стремиться увеличить в первую
очередь правую часть ограничения с наибольшим множителем Лагранжа.
Более интересные выводы можно получить, рассматривая одновременные
изменения правых частей всех ограничений. Если в точке максимума выполнены условия теоремы 3.7, то из (3.21) следует, что V(b) = y.
Если, например, целевая функция выражает прибыль, то V(b) – максимальная прибыль, которую можно получить, если правые части ограничений
заданы вектором b. Поскольку градиент указывает направление наискорейшего
роста функции, для улучшения результата операции компоненты вектора b следует увеличивать пропорционально множителям Лагранжа, т. е. переходить от
b к b + λy, λ > 0 (этот вывод справедлив, вообще говоря, только при малых λ).
Из (3.22) следует, что в этом случае прирост оптимального значения целевой
функции будет равен приблизительно i λy
= λ|y|2.
В некоторых моделях экономики цены равновесия совпадают с множителями Лагранжа для подходящей задачи нелинейного программирования. Есть
также модели, в которых множители Лагранжа совпадают с текущими ценами
ресурсов. Но в общем случае множители Лагранжа не являются ни ценами равновесия, ни реальными ценами. Чтобы подчеркнуть взаимосвязь и различие
между ценами и множителями Лагранжа, последние называют теневыми цена-
ми (shadow prices) или объективно обусловленными оценками ограничений (ингредиентов, ресурсов и т. п.).
Как мы видели, оценки позволяют, во-первых, оценить экономические
последствия небольших изменений параметров bi посредством формулы (3.22)
и, во-вторых, определить целесообразные улучшения условий, в которых работает система: чем больше оценка ингредиента, тем желательней увеличение его
запаса (если это ресурс) или сокращение производства (если это продукт).
Естественную трактовку получают теперь условия дополняющей нежесткости (3.5) для ограничений (3.27): если оптимальный план производства порождает в системе избыток ингредиента i (потребление меньше исходного запаса или производство больше обязательных поставок), то оценка этого ингредиента равна нулю; или, что эквивалентно, всякий ингредиент с ненулевой
оценкой в оптимальном плане используется полностью (потребление равно запасу или производство равно поставкам).
Предположим, что x* – регулярное оптимальное (или локальное) решение
задачи (3.26)–(3.28). Поскольку переменные задачи подчинены условию неотрицательности, необходимые условия первого порядка имеют вид (3.20):
(x*) –
(x*) ≤ 0 с равенством при x
> 0.
В левой части неравенства записана разность предельной полезности технологического способа j в точке оптимума и соответствующих суммарных пре-
49

дельных затрат, измеренных в теневых ценах. Множители Лагранжа соизмеря-
*
j
)(1tx
)(2tx
.)(
0
2
T
dttx
)(1tx
)(2tx
)(1t
),,,,(
0
1
tux
x
H
)(2t
),,,,(
0
2
tux
x
H
)(1t
2
2
t
ют полезность способа с затратами ингредиентов, несмотря на то, что эти величины, как правило, выражены в разных единицах измерения, например, полезность измеряется в деньгах, а количества ингредиентов – в соответствующих
натуральных единицах. Левая часть неравенства – это оценка технологического
способа j, предельная эффективность этого способа в оптимуме, измеренная тене-
выми ценами; неравенство утверждает, что она не может быть положительна. Если эта оценка отрицательна, то способ j не входит в оптимальный план, x
= 0. Ре-
ализуются же только способы, имеющие максимальную (нулевую) оценку.
Рассмотрим задачу с экономическим содержанием.Экономика состоит из
двух агрегированных отраслей: производство средств производства и производство предметов потребления. Пусть xi(t) – выпуск конечного продукта отрасли i {1, 2} в момент t. Известно, что x1(0) = x2(0) = 1. В каждый момент t
продукция отрасли 1 распределяется между отраслями (инвестируется). Инвестиции момента t в отрасли 1 и 2 запишем в виде u(t) и x1(t) – u(t). Допустим,
что u(t) [0, 1] и отрасли откликаются на инвестиции следующим образом:
= u(t),
= x1(t) – u(t). Найдите распределение инвестиций, максимизи-
рующее интегральный выпуск отрасли 2 за фиксированный период [0, T ] при
следующих условиях.
1. x1(T ) = x2(T ) = 2.
Решение. Здесь состояние x(t) = (x1(t), x2(t))T, управление u(t) – инвестиции
момента t в отрасль 1. Интегральный выпуск отрасли 2 за период [0, T ] описывается функционалом
J(x(t), u(t)) =
Задача заключается в максимизации функционала J(x(t), u(t)) при:
а) системе дифференциальных связей
= u(t),
б) ограничениях на управление 0 ≤ u(t) ≤ 1 для всех t;
в) краевых условиях t0 = 0, t1 = T, x1(0) = x2(0) = 1 и x1(T ) = x2(T ) = 2.
Это задача с фиксированным временем и закрепленными концами траектории, поэтому условия трансверсальности не нужны.
Введем сопряженные переменные: постоянную 0 и вектор-функцию
ψ(t) = (ψ1(t), ψ2(t)). Функция Понтрягина имеет вид
H(x, u, t, 0, ψ) = 0x2 + ψ1u + ψ2(x1 –u) = 0x2 + ψ2x1 + u(ψ1 – ψ2).
Сопряженная система дифференциальных уравнений
=
Отсюда ψ2(t) = –0t + C1,
= – ψ2(t),
= 0t – C1 и
ψ1(t) =
– C1t + C2.
0
=
= x1(t) – u(t);
= –0.
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
