Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Исследование операций и методы оптимизации. Элементы выпуклого и динамического программирования. Учебное пособие
.pdf
Поскольку int X , матрица Гессе для функции gi положительно полу-
*
j
x
n,1
*
i
у
m,1
)(
*
x
x
f
j
–
m
i
j
i
i
x
x
g
y
1
**
)(
≤ 0 с равенством при
*
j
x
> 0, j
n,1
;
(25)
*
i
у
(gi(x*) – bi) = 0, i
m,1
;
(26)
y* 0m.
(27)
*
i
у
*
i
у
*
i
у
определена (утверждение (а) теоремы 2.14). По теореме 2.8 это означает, что
вторая производная функции gi по любому направлению неотрицательна, а первая производная, следовательно, не убывает. Другими словами, с ростом производства не убывает как потребление каждого ингредиента, так и скорость потребления, отсутствует экономия от масштаба.
Этот вывод можно получить, не используя дифференцируемость функции.
Действительно, по определению выпуклой функции gi(0,5(x1 + x2)) ≤ 0,5(gi(x1) +
+ gi(x2)) для любых x1 и x2 из X. При x1 = x и x2 = x + 2x получим: gi(x + x) ≤
≤ 0,5(gi(x) + gi(x + 2x), или
gi(x + 2x) – gi(x + x) ≥ gi(x + x) – gi(x).
Следовательно, наращивая план производства «равными порциями», предприятие будет потреблять все ингредиенты в неубывающих количествах. В области строгой выпуклости функции gi последнее неравенство является строгим,
затраты ингредиента i на равные приросты планов возрастают, продуктивность
ингредиента убывает.
Аналогичные рассуждения показывают, что ЦФ задачи (22)–(24) имеет невозрастающую производную по любому направлению, рост полезности не
ускоряется с ростом производства. Если ЦФ строго вогнута, то прирост полез-
ности уменьшается с каждым следующим приростом производства, f(x + 2x) –
– f(x + x) < f(x + x) – f(x), продуктивность убывает и в этом смысле.
2.4.3. Множители Лагранжа и условия Куна – Таккера
Пусть x* = (
| j
)T и y* = (
| i
) ― оптимальное решение и вектор
множителей Лагранжа для задачи (22) – (24). Будем считать, что эта задача удовлетворяет условиям вех теорем об устойчивости раздела 2.3.3 и предположим
сначала, что ЦФ задачи (22)–(24) описывает доход.
Условия Куна – Таккера имеют вид:
По теореме 2.15 множитель Лагранжа
― это производная функции мак-
симумов по правой части bi ограничения i. Это значит, что при увеличении bi на
ε максимальный доход вырастет примерно на ε
. Следовательно,
― это
максимальная цена, неотрицательная по (27), которую предприятие могло бы
без ущерба заплатить за единичный прирост bi. Тогда уменьшение bi на ε сни-
31

зит максимальный доход предприятия на ε
*
i
у
*
i
у
*
i
у
)(
*
x
x
f
j
m
i
j
i
i
x
x
g
y
1
**
)(
m,1
*
j
x
. Тогда
― это минимальная це-
на, за которую предприятие согласилось бы уменьшить bi на единицу.
Определение. Множитель Лагранжа для ограничения (23) с номером i
называют теневой ценой соответствующего ингредиента.
Если bi ≥ 0, то можно считать ингредиент i ресурсом, а его теневую цену ―
максимальной приемлемой ценой при покупке дополнительной единицы этого
ресурса и минимальной приемлемой ценой при продаже единицы ресурса. Если
bi < 0, то |bi| мы интерпретируем как величину обязательной поставки ингреди-
ента i во внешнюю среду. Тогда
― это максимальный штраф, который пред-
приятие готово заплатить за уменьшение поставки на единицу, и минимальная
приемлемая оплата дополнительной единицы обязательной поставки.
При такой интерпретации множителей Лагранжа левая часть УПП (25) с
номером j указывает предельный эффект от увеличения интенсивности технологического способа j: предельный прирост дохода за вычетом предельного
прироста затрат на приросты потребления ингредиентов. Заметим, что затраты
измерены в теневых ценах, а прирост потребления ингредиента может быть отрицательным.
Определение. Величину
zj(x*, y*) =
–
называют эффективностью способа j.
Следовательно, условие (25) утверждает, что технологические способы,
имеющие отрицательную эффективность, не могут использоваться в оптимальном плане с ненулевой интенсивностью. Одновременно это условие запрещает
положительную эффективность способа. Таким образом, в оптимальном плане
используются только способы с максимальной эффективностью, но эта эффективность равна нулю.
Представим себе, что зафиксирован вектор p = (pi, i
) цен, по которым
предприятие может покупать и продавать ингредиенты. В этих ценах можно
измерить затраты на приобретение дополнительных ресурсов, выручку от продажи продукции и излишних ресурсов, ущерб от снижения производства. Пусть
zj(x*, p) ― эффективность технологического способа j относительно цен p при
плане x*. Изменение интенсивности способа j (по сравнению с планом x*) порождает приросты чистого потребления ингредиентов. Среди этих приростов
могут быть как положительные, так и отрицательные. Предприятие покупает
положительные приросты и продает отрицательные по ценам p. Поэтому при
zj(x*, p) > 0 ему выгодно немного увеличить интенсивность способа j, а при
zj(x*, p) < 0 и
> 0 ― немного уменьшить. В обоих случаях предприятие стре-
32

милось бы изменить вектор правых частей ограничений, и исходное распреде-
m,1
m,1
))((
*
xG
d
С
i
*
i
у
*
i
у
ление ингредиентов между предприятиями было бы неустойчивым.
Если же цены ингредиентов совпадают с множителями Лагранжа, то предприятие не может получить выгоду от изменения исходного запаса ингредиентов. В этом смысле теневые цены являются ценами равновесия.
Условие дополняющей нежесткости (26) утверждает, что в оптимальном
плане ресурс с положительной теневой ценой должен быть израсходован полностью, а обязательство с положительной теневой ценой не может быть перевыполнено (иначе увеличение правой части соответствующего ограничения
позволило бы увеличить доход). Или, эквивалентно, теневая цена недоиспользованного ресурса или перевыполненного обязательства должна быть нулевой.
Если ЦФ задачи (22)–(24) описывает условно чистый доход или прибыль,
то предшествующие интерпретации сохраняются со следующим уточнением.
Будем считать, что условно чистый доход «очищен» от некоторых элементов затрат, связанных с потреблением или производством ингредиентов. Чистое
потребление ингредиента i при выполнении любого плана x равно gi(x). Пусть
G(x) = (gi(x) | i
)T. Эта функция из Rn в R
m
описывает чистое потребление
всех ингредиентов при плане x. Допустим, что модель учитывает затраты, связанные с чистым потреблением ингредиентов, в размере C(d), если это потреб-
ление описано вектором d = (di | i
)TRm. Пусть ci(x*) ― предельные затраты
на потребление ингредиента i при плане x*,
ci(x*) =
.
Предельный условно чистый доход от потребления ингредиента i равен
а предельные затраты равны ci(x*). Тогда предельный «неочищенный» доход
равен
+ ci(x*). Это и есть цена равновесия, максимальная цена, по которой
предприятие согласилось бы купить дополнительное количество ингредиента i.
Другими словами, если ЦФ выражает условно чистый доход, то теневая
цена ингредиента ― это разница между его равновесной ценой и учтенными в
модели предельными затратами на его потребление.
Литература
Васильев Ф. П. Численные методы решения экстремальных задач. М.:
Наука, 1980 (гл. 4, §§ 1–3, 5, 8, 9).
Никайдо Х. Выпуклые структуры и математическая экономика. М.: Мир,
1970 (§ 2 и 3 гл. 2).
Павлов В. Н. Математическая экономика. Новосибирск: Изд-во СО РАН,
2005 (разд. 1).
Пшеничный Б. М. Выпуклый анализ и экстремальные задачи. М.: Наука,
1980 (гл. I, § 1 и § 3 гл. II, § 6 гл. III).
,
33

Рокафеллар Р. Выпуклый анализ. М.: Мир, 1973 (§ 27–29).
n,1
n,1
n
k
kkk
sxf
1
1
),(
Сухарев А. Г., Тимохов А. В., Федоров В. В. Курс методов оптимизации.
2-е изд. М.: ФИЗМАТЛИТ, 2005 (§ 1–3 гл. 3; § 1, § 2 и разд. 5 § 4 гл. 4).
Berkovitz L.D. Convexity and optimization in Rn. New York: John Wiley & Sons,
2002 (chapters 2–5).
Boyd S., Vandenberg L. Convex Optimization. Seventh printing with corrections.
Cambridge, UK: Cambridge University Press, 2009 (p. 7–9, 21–42, 51–58, 67–89,
127–145).
3. Динамическое программирование
3.1. Задача динамического программирования
В разд. 1.3 на основании предположений 1–7 мы сформулировали модель
выбора решения в виде задачи математического программирования (3)
f(x) → max при условии xX Rn.
Эту задачу можно записать как задачу динамического программирования
(ДП), если выполнены сформулированные ниже предположения 9–12.
Предположение 9. Задача принятия решения является многоэтапной, то
есть процесс выбора решения (управления) x = (x1,…,xn)T можно представить
как последовательность шагов (этапов) с номерами k
таких, что на шаге k
ЛПР определяет значение xk (управление на шаге k).
Предположение 10. После шага k (и в начале шага k + 1) объект управле-
ния находится в состоянии sk, которое определяется значениями m числовых
показателей (фазовых координат), то есть skRm. Известны функции перехода
(фазовые уравнения) sk = k(xk, s
) для k
k–1
(здесь s0 ― начальное состояние
объекта, которое обычно считают известным).
Функция перехода k действует из Rm Rn в Rm. Это в сущности функция
реализации для шага k. Запись sk = k(xk, s
) означает, что состояние объекта
k–1
после шага k зависит от состояния в начале этого шага и управления на шаге k,
но не зависит от того, через какую последовательность состояний и управлений
объект пришел в состояние s
. Это свойство системы управления называют
k–1
отсутствием последействия.
Предположение 11. Целевая функция f(x) аддитивно сепарабельна, то есть
f(x) =
.
В соответствии с предположением 11 эффект от применения управления x
к объекту, находящемуся в состоянии s0, складывается из эффектов, полученных на отдельных шагах. На шаге k под воздействием управления xk объект,
34

находящийся в состоянии s
n,1
Fn(x, s0) =
n
k
kkk
sxf
1
1
),(
→ max при условиях
(28)
1
s0 s
1
s
k–1 sk
s
n
xxx
x
f1(x1, s0)
f
k–1(xk–1
, s
k–2
)
fk(xk, s
k–1
)
fn(xn, s
n–1
)
f(x)
Рис. 3. Схема пошагового управления с аддитивно сепарабельной
целевой функцией
ем эффекта fk(xk, s
k–1
).
, переходит в состояние sk = k(xk, s
k–1
) с получени-
k–1
Принципиальная схема поэтапного управления показана на рис. 3.
Отрезки горизонтальной линии соответствуют этапам процесса управления. На состояние объекта влияют управляющие воздействия (стрелки сверху).
На каждом шаге возникает некоторый эффект, и эти эффекты суммируются
(стрелки вниз), формируя интегральный эффект.
Предположение 12. Множество допустимых (возможных, реализуемых)
управлений на шаге k зависит только от состояния объекта в начале этого шага.
Определения и обозначения
Xk(s
объекта s
) ― множество допустимых управлений на шаге k при состоянии
k–1
в начале этого шага.
k–1
Sk ― множество состояний, в которых может находиться объект управле-
ния в конце шага k; S0 = {s0} по определению.
Следствие 3.1 (описание множеств Sk)1.
S0 = {s0}; Sk = {k(xk, s
k–1
) | s
k–1Sk–1
, xkXk(s
)} для k
k–1
.
Пусть Sn ― множество допустимых состояний объекта после шага n (тер-
минальных состояний). Учитывая принятые предположения и обозначения, ис-
ходную задачу математического программирования можно записать следующим образом.
Доказательство очевидно.
35

x = (x1,…,xn)TRn, xkXk(s
k–1
) и sk = k(xk, s
k–1
) для k
n,1
, snSn.
(29)
Определения и обозначения
*
1
x
*
n
x
*
1
s
*
n
s
*
k
s
*
k
x
*
1k
s
j
ik
kkk
sxf ),(
1
ji,
*
1
x
*
n
x
*
0
s
*
k
s
*
k
x
*
1k
s
n,1
*
k
s
1,1 n
*
i
x
*
j
x
*
1i
s
*
1i
s
*
1i
s
ji,
Задачу (28) – (29) будем называть задачей динамического программирования и обозначать Pn(s0, Sn).
Вектор s0 и множество Sn устанавливают граничные условия задачи Pn(s0, Sn).
Вектор x* = (
,…,
)T, доставляющий максимум целевой функции, назы-
вают оптимальным управлением.
Последовательность состояний s* = (s0,
,…,
), где
= k(
,
) ― это
оптимальная траектория объекта управления в фазовом пространстве (про-
странстве состояний).
Мы не накладываем никакие условия на множества и функции, фигурирующие в задаче (28) – (29). Поэтому задача может быть неразрешимой. Если же
оптимальное решение существует, то его (или хорошее приближение к нему) во
многих случаях удается найти с помощью подхода, изложенного разд. 3.3.
3.2. Уравнения Беллмана
Задачу Pn(s0, Sn) можно сформулировать следующим образом: найти управление, которое с наибольшим эффектом за n шагов переводит объект из состояния s0 в одно из состояний sSn.
Обозначения
Пусть 1 ≤ i ≤ j ≤ n, x(i, j) = (xi,…,xj)T, s
i–1Si–1
, Tj Sj. Обозначим P
j–i+1(si–1
, Tj)
следующую задачу оптимизации:
F
j–i+1
(x(i, j), s
i–1
) =
→ max при условиях
Задача P
xkXk(s
j–i+1(si–1
, Tj) определяет последовательность управлений для шагов
) и sk = k(xk, s
k–1
) для k
k–1
, sjTj.
с номерами от i до j, которая с максимальным эффектом переводит систему из
состояния s
в одно из состояний, входящих в Tj.
i–1
Теорема 3.1 (оптимальность частей оптимального решения). Пусть
x* = (
= k(
вектор x*(i, j) = (
,…,
,
)T ― оптимальное решение задачи Pn(s0, Sn). Положим
) для k
,…,
, Tn = Sn и Tk = {
} для k
. Если 1 ≤ i ≤ j ≤ n, то
)T является оптимальным решением задачи P
j–i+1
= s0,
(
, Tj).
Доказательство. Предположим, что вектор x*(i, j) не является оптималь-
ным решением задачи P
и последовательность состояний s
sk = k(xk, s
) для k
k–1
(
j–i+1
, sjTj,
, Tj). Тогда существуют вектор x(i, j) = (xi,…,xj)T
,…,sj такие, что s
i–1
i–1
=
, xkXk(s
) и
k–1
36

F
j
ik
kkk
sxf ),(
*
1
*
j
ik
kkk
sxf ),(
1
0
k
x
n,1
0
k
x
*
k
x
1,1 i
nj,
0
k
x
ji,
1
1
*
1
*
),(
j
k
kkk
sxf
*
1i
s
n
jk
kkk
sxf
1
*
1
*
),(
1
1
*
1
*
),(
j
k
kkk
sxf
*
1i
s
n
jk
kkk
sxf
1
*
1
*
),(
*
1i
s
ji,
n,1
nk,
nk,
)(
*
sZ
k
1
1,1 n
)(
*
1 kk
sZ
nk,
)(
*
sZ
k
)(*sZ
n
= max{Zn(xn, s) | xnXn(s), n(xn, s)Sn}.
(30)
1
j–i+1
(x*(i, j), s
i–1
) =
<
= F
j–i+1
(x(i, j), s
i–1
).
Построим вектор x0 = (
=
| k
для k
)T следующим образом:
,
= xk для k
.
Вектор x0 удовлетворяет условиям (29) и
Fn(x*, s0) =
<
+ F
j–i+1
+ F
(
, x(i, j)) +
j–i+1
(
, x*(i, j)) +
<
= Fn(x0, s0),
что противоречит выбору x*. #
Задача P
номерами k
(
j–i+1
, Tj) требует найти оптимальное управление для шагов с
при условии, что граничные условия на шагах i и j установле-
ны в соответствии с планом x*. Теорема 3.1 доказывает, что всякий «отрезок»
оптимального управления тоже является оптимальным управлением в соответствующей задаче ДП.
Определения и обозначения
Для k
и sS
положим Qk(s) = P
k–1
n–k+1
(s, Sn).
Если задача Qk(s) имеет решение, обозначим его x(k, s) = (xj(k, s) | j
Это условно оптимальное управление для шагов с номерами i
симу
= F
.
Для k
(x(k, s), s), если задача Qk(s) имеет решение. Это условный мак-
n–k+1
, sS
и xkXk(s) положим Zk(xk, s) = fk(xk, s) +
k–1
.
,
)T.
где sk = k(xk, s).
Для sS
и xnXn(s) положим Zn(xn, s) = fn(xn, s).
n–1
Задача Qk(s) находит управление, которое оптимально для шагов с номе-
рами i
при условии, что к шагу k система приходит в состоянии s. Zk(xk, s)
― это максимальный эффект, достижимый на шагах k,…,n, если шаг k начинается в состоянии s и на этом шаге применяется управление xk.
― это мак-
симальный эффект, достижимый на шагах k,…,n, если шаг k начинается в состоянии s.
Теорема 3.2 (уравнения Беллмана)
Если задача Qn(s) имеет решение, то
В теории оптимизации термин «условный максимум» имеет другое значение.
37

Если k
1,1 n
)(
*
sZ
k
= max{Zk(xk, s) | xkXk(s)} = max{fk(xk, s) +
)),((
*
1
sxZ
kkk
| xkXk(s)}.
(31)
1,1 n
nk,
nk ,1
)(*sZ
k
))),,(((
*
1
sskxZ
kkk
)),((
*
1
sxZ
kkk
)),((
*
1
sxZ
kkk
)(
*
sZ
k
)(*sZ
k
)(
*
sZ
k
)(
*
1
sZ
k
)(
*
sZ
k
)(
*
sZ
k
)(
*
1sZk
)(
*
1sZk
= max{f
k–1(xk–1
, s) +
)),((
11
*
sxZ
kkk
| x
k–1Xk–1
(s)}.
(32)
и задача Qk(s) имеет решение, то
Доказательство. Задача Qn(s) = P1(s, Sn) имеет вид:
F1(xn, s) = fn(xn, s) → max при условиях xnXn(s), sn = n(xn, s)Sn,
что эквивалентно равенству (30).
Пусть k
теореме 3.1 вектор x(k+1, s) = (xj(k + 1, s) | j
Q
k+1(k(xk
(k, s), s)). Поэтому
≤ max{fk(xk, s) +
С другой стороны, Zk(xk, s) = fk(xk, s) +
следовательно, max{Zk(xk, s) | xkXk(s)} ≤
Функции
и задача Qk(s) имеет решение x(k, s) = (xj(k, s) | j
)T. По
)T является решением задачи
= fk(xk(k, s), s) +
≤
| xkXk(s)} = max{Zk(xk, s) | xkXk(s)}.
≤
для всех xkXk(s),
. Отсюда получаем (31). #
называют функциями Беллмана, а связывающие их функци-
ональные уравнения (30), (31) ― уравнениями Беллмана. Уравнение Беллмана
для k < n использует функцию
для вычисления функции
. Такие
уравнения называют рекуррентными.
Уравнение (30) формализует следующее интуитивно ясное соображение.
Если к последнему шагу система пришла в состоянии s, то эффекты предыдущих шагов уже определены, поэтому задача максимизации суммарного эффекта сводится к поиску допустимого на шаге n управления, которое с максимальным эффектом переводит систему в одно из терминальных состояний. Другими
словами, формула (30) при фиксированном s описывает задачу оптимизации по
одной скалярной переменной xn при ограничениях xnXn(s) и n(xn, s)Sn.
Сложность этой задачи определяется свойствами функций fn(xn, s), n(xn, s) и
множеств Xn(s), Sn. Сложность увеличивается тем, что задачу нужно решить для
всех sS
n–1
.
Формула (31) утверждает, что оптимальное управление для шага k < n не
должно (в отличие от управления для шага n) максимизировать эффект, полученный на текущем шаге. Это управление следует выбрать так, чтобы максимизировать сумму эффекта, полученного на шаге k, и наилучшего суммарного результата, который можно получить на шагах с номерами от k + 1 до n из того
состояния, в котором система закончит шаг k.
Если k > 1 и удалось вычислить функцию
ние (31) позволяет построить функцию
для всех sS
(31) заменим k – 1 на k и подставим выражение для Z
для всех sS
. Действительно, в
k–2
k–1(xk–1
, s):
, то уравне-
k–1
38

Если sS
)),((
11
*
sxZ
kkk
)(
*
1
sZ
k
)(
*
sZ
k
n,2
)(
*
1
sZ
= max{f1(x1, s) +
)),((
11
*
2
sxZ
| x1X1(s)}.
(33)
)(
*
1
sZ
n,1
)(
*
sx
k
)(
*
sZ
n
)(
*
sx
n
1,2 n
)(
*
sZ
k
)(
*
sx
k
)),((
011
*
2
sxZ
)(
0
*
1
sZ
*
1
x
)(
0
*
1
sx
*
0
s
n,2
*
k
x
)(
*
1
*
kk
sx
*
k
s
*
k
x
*
1k
s
n,1
)(*sZ
k
)(*sZ
n
(32) значения
k–2
и x
k–1Xk–1
(s), то
k–1(xk–1
, s)S
k–1
определены для всех x
по следствию 3.1. Поэтому в
k–1Xk–1
(s). Тогда вычисление
для каждого sS
переменной x
Вычисление
при ограничении x
k–1
является задачей оптимизации по одной скалярной
k–2
k–1Xk–1
для каждого k
(s).
― это одномерная задача парамет-
рической оптимизации, так как нужно найти максимум Zk(xk, s) по xk при всех
значениях параметра s из множества S
. Формулы (30) и (31), в принципе, поз-
k–1
воляют последовательно решать эти задачи для значений k от n до 2.
При k = 1 формула (31) принимает вид
Функцию
нужно найти для всех sS0 = {s0}, поэтому здесь оптимиза-
ция не параметрическая: достаточно решить задачу оптимизации при s = s0.
Обозначение. Для k
по xk на множестве Xk(s), точку максимума обозначим
и sS
, если функция Zk(xk, s) имеет максимум
k–1
.
3.3. Метод динамического программирования
Теперь мы можем сформулировать вычислительную схему метода динамического программирования.
1. Решая задачу параметрической оптимизации (30), находим значения
функций
и
для всех sS
n–1
.
2. Рекуррентно (последовательно) решаем задачи параметрической опти-
мизации (31) для k
для всех sS
k–1
.
3. Решаем задачу Z1(x1, s0) = f1(x1, s0) +
x1X1(s0). Находим
4. Для k
последовательно находим
. При каждом k находим значения функций
→ max при условии
и
=
. Положим
=
= s0.
и
= k(
и
,
).
Первый этап метода ДП (пункты 1 и 2) часто называют условной оптимизацией, а второй (пункты 3 и 4) ― безусловной оптимизацией. Заметим, что та-
кое словоупотребление специфично для динамического программирования, в
теории оптимизации эти термины имеют другие значения. Более удачные
названия для указанных этапов метода ДП ― обратный ход и прямой ход.
Следствие 3.2. Пусть k
то
равно оптимальному значению ЦФ в задаче Qk(s).
, sS
. Если значение найдено методом ДП,
k–1
Доказательство. Проведем индукцию по k, начиная с k = n.
Из определения Zn(xn, s) и описания метода ДП (пункт 1) следует, что
= max{fn(xn, s) | xnXn(s), n(xn, s)Sn}.
39

Задача Qk(s) по определению имеет вид:
)(
*
sZ
n
n
ki
iii
sxf
1
1
),(
)(
*
1sZk
nk ,1
)(*sZ
k
)),((
*
1
sxZ
kkk
nk,
n
ki
iii
sxf ),(
1
n
ki
iii
sxf
1
1
),(
)),((
*
1
sxZ
kkk
)(
*
sZ
k
)(
0
*
1
sZ
*
1
s
*
n
s
*
1
x
*
n
x
)(
0
*
1
sZ
*
1
x
)(
0*1
sZ
*
1
s
*
1
x
)(
*
1
*
2
sZ
*
1
s
*
2
x
)(
0
*
1
sZ
)(
0*1
sZ
fn(xn, s) → max при условиях xnXn(s), n(xn, s)Sn.
Очевидно, что
― оптимальное значение ЦФ в задаче Qk(s).
При k < n предположим, что утверждение верно для k + 1. Тогда для любого sSk и любого допустимого решения x = (x
,…,xn)T задачи Q
k+1
(s) справед-
k+1
ливо неравенство
F
где sk = s, si = i(xi, s
) для i
i–1
(x, s) =
n–k
. По построению (пункты 2 и 3 описания ме-
≤
,
тода ДП)
= max{fk(xk, s) +
| xkXk(s)}
для любого sSk. Пусть x = (xk,…,xn)T ― допустимое решение задачи Qk(s),
si = i(xi, s
чи Q
k+1(sk
F
n–k+1
(x, s) =
Это завершает шаг индукции, так как F
) для i
i–1
). Поэтому
, s
= s. Тогда (x
k–1
= fk(xk, s) +
,…,xn)T ― допустимое решение зада-
k+1
≤ fk(xk, s) +
(x, s) ― это целевая функция задачи
n–k+1
≤
.
Qk(s). #
Теорема 3.3 (корректность метода ДП).
Метод динамического программирования определяет значение
последовательность s* = (s0,
,…,
) и вектор x* = (
,…,
)T, если и только если
R,
задача (28)–(29) разрешима. В этом случае оптимальное значение ЦФ в задаче
(28)–(29) равно
, вектор x* является оптимальным управлением, а последо-
вательность s* указывает оптимальную траекторию в пространстве состояний.
Доказательство
1. Пусть задача (28)–(29), она же ― задача Pn(s0, Sn), имеет решение. По
определению Pn(s0, Sn) = Q1(s0), следовательно, задача Q1(s0) имеет решение
Оптимальное значение ЦФ этой задачи мы обозначили
следует, что при
дача Q2(
) имеет решение
= 1(
, s0) определено значение
. Продолжая рассуждение, построим вектор x* и
. Из (31) при k = 1
, а это значит, что за-
последовательность s*.
2. Допустим, что метод ДП определил значение
R. Тогда, в соответ-
ствии с пунктами 3 и 4 описанной выше процедуры, можно найти вектор x* и
последовательность s*. Они по построению удовлетворяют всем ограничениям задачи (28)–(29). По следствию 3.2 при k = 1 и s = s0 заключаем, что
равно оп-
.
тимальному значению ЦФ в задаче Q1(s0), которая совпадает с задачей (28)–(29).
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
