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

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

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
1 Мб
Скачать
плановый период) приведенное потребление. Это один из вариантов задачи
T,1
n,1
1,1 T
f(x) =
T
t
n
k
tk
n
k
tktk
t
xxg
1 11
1
])([
max при условиях
(45)
n
k
tk
x
1
K
t–1
для t
T,1
, xtk ≥ 0 для всех t и k,
(46)
Kt = K
t–1
n
k
tk
x
1
+
n
k
tktk
xh
1
)(
для t
1,1 T
.
(47)
T,1
n,1
1,1 T
n
k
tk
x
1
*
T
Z
n
k
TkTk
xg
1
)(
n
k
Tk
x
1
1,1 T
*
t
Z
n
k
tktk
xg
1
)(
n
k
tk
x
1
*
1t
Z
n
k
tk
x
1
nk
tktk
xh
1
)(
1
Вентцель1.
Положим x = (xtk | t дисконтирования, Kt для t
, k
)T. Пусть λ(0, 1) ― годовой коэффициент
― величина инвестиционного фонда в конце
года t (после отчислений года t, но до распределения средств на год t + 1). Вкладываемые в начале периода t средства дисконтируются с коэффициентом
t1
λ
, а прибыль, возникающая в конце периода, с коэффициентом λt. Поэтому
математическая модель имеет вид
Чтобы перейти к методу ДП, условимся, что состояние системы в начале шага t
описывается величиной инвестиционного фонда K
и на этом шаге
t–1
выбирается распределение инвестиционного фонда в году t, то есть вектор
(t)
x
= (xtk | k
)T. В отличие от ранее рассмотренных задач, здесь управление
каждого шага является вектором.
Формула (47) описывает уравнение перехода. Для t
определим мно-
гогранники
Lt = {x
(t)
≥ 0n |
K
t–1
}.
Уравнение Беллмана для шага T
(K
) = max{
T1
Уравнение Беллмана для шага t
(K
) = max{
t–1
(K
t–1
| x
(T)
LT}.
+
) | x
(t)
Lt}.
Для решения уравнений Беллмана нужно на каждом шаге выполнить па­раметрическую оптимизацию в Rn. В таком общем виде трудоемкость задачи слишком велика. Упростим ее.
См.: Вентцель Е. С. Исследование операций. М.: Сов. радио, 1972. С. 154–162; Гимади А. Х., Глебов Н. И. Математические модели и методы принятия решений. Новоcибирск: НГУ, 2008 (разд. 1.9); Павлов В. Н. Мате­матическая экономика. Новоcибирск: Изд-во СО РАН, 2005. С. 16.
51
Предположение 13. Весь инвестиционный фонд распределяется.
n
k
tk
x
1
= K
t–1
=
n
k
ktkt
xh
1
,1,1
)(
для t
T,1
.
(48)
n
k
tktk
xh
1
)(
T
t
n
k
tk
t
n
k
tktk
t
xxg
1 1
1
1
])([
T
t
n
k
ktkt
t
n
k
tktk
t
xhxg
1 1
,1,1
1
1
)]()([
  
1
0 11 1
)()(
T
t
n
k
tktk
t
T
t
n
k
tktk
t
xhxg
 
1
1 1
)]()([
T
t
n
k
tktktktk
t
xhxg
n
k
TkTk
xg
1
)(
1
1 1
1
)]()([
T
t
n
k
tktktktk
t
xhxg
n
k
TkTk
xg
1
)(
n
k
k
x
1
1
n
k
tk
x
1
n
k
ktkt
xh
1
,1,1
)(
T,2
1,1 T
nk
tk
x
1
*
T
Z
n
k
TkTk
xg
1
)(
*
t
Z
n
k
tktktktk
xhxg
1
)]()([
*
1t
Z
nk
tktk
xh
1
)(
При этом предположении ограничение (46) является равенством. Приме-
няя (47), получим
Отсюда получим фазовое уравнение
Kt =
.
Заметим, что в рассматриваемом случае состояние системы после шага t зави­сит только от управления x
(t)
.
Используя (48), преобразуем функцию (45):
f(x) =
=
= –K0 +
=
+ λ
=
T
.
Первое слагаемое и множитель λ из целевой функции можно исключить. Задача принимает вид
F(x, K0) =
Для t
= K0,
=
определим многогранники
+ λ
T–1
для t
max при условиях
, xtk ≥ 0 для всех t, k.
Mt = {x
(t)
≥ 0n |
= K
t–1
}.
Уравнение Беллмана для шага T
(K
) = max{
T–1
| x(T)MT}.
Уравнение Беллмана для шага t
(K
) = max{
t–1
(
) | x(t)Mt}.
Несмотря на упрощение, без дополнительных предположений метод ДП для этой задачи трудно реализовать из-за необходимости векторной параметри­ческой оптимизации на каждом шаге.
52
3.6.2. Линейная модель
Kt =
n
k
tktk
xh
1
)(
=
n
k
tktk
xb
1
для t
1,1 T
.
(49)
*
T
Z
n
k
TkTk
xg
1
)(
n
k
TkTk
xa
1
n,1
n,1
*
T
Z
1,1 T
*
1t
Z
*
t
Z
n
k
tktktktk
xhxg
1
)]()([
*
1t
Z
n
k
tktk
xb
1

n
k
tktkttktk
xbba
1
1
)(

n
k
tktkttk
xba
1
1
])1([
n,1
*
t
Z
n,1
n,1
1,1 T
В рамках предположения 13 допустим, что все функции gtk и htk линейны:
gtk(x) = atkx, htk(x) = btkx.
Из (44) следует, что atk ≤ btk для всех t, k.
Фазовое уравнение принимает вид
Уравнение Беллмана для шага T
(K
T–1
) = max{
(T)
| x
MT} = max{
| x
(T)
MT}.
Максимум линейной функции достигается в вершине многогранника, а верши­нами многогранника Mt являются векторы x
xtk(k) = K
Положим T = max{aTk | k
Допустим, что t
(K
) = max{
t–1
= max{
Положим t = max{atk + (λ
}. Понятно, что
и
| x
– 1)btk | k
t+1
и xtj(k) = 0 для j k.
t–1
(K
) = TK
T–1
(Kt) =
(t)
Mt} = max{
(K
t–1
(t)
(k) = (xtj(k) | j
.
T–1
. Уравнение Беллмана для шага t
t+1Kt
(
) | x
) такие, что
(t)
Mt} =
(t)
| x
}. Рассуждая, как при t = T, получим
) = tK
t–1
.
Mt}.
Пусть UT = {k t
. Теперь можем сформулировать результаты параметрической оптими-
| aTk = T)}, Ut = {k
| atk + (λ
– 1)btk = t} для
t+1
зации: на шаге t весь инвестиционный фонд следует произвольным образом распределить между технологическими способами с номерами из множества Ut.
Применив это правило на шаге 1, найдем оптимальное распределение ис­ходного фонда K0. Затем по формуле (49) вычислим К1 и распределим его по тому же правилу. Продолжая процедуру, найдем оптимальное решение.
53
3.6.3. Распределение между двумя технологическими способами
*
T
Z
1,1 T
*
t
Z
*
1t
Z
x'(t) = f(t, x(t)), или
)(tx
i
= fi(t, x1(t), …, x
n
n,1
,
(50)
n,1
n,1
Сохраняя предположение 13, рассмотрим случай n = 2 при произвольных функциях gtk и htk. Из (48) получим xt2 = K
– xt1 и фазовое уравнение
t–1
Kt = ht1(xt1) + ht2(K
Из xt2 ≥ 0 следует, что xt1[0, K
(K
) = max{gT1(xT1) + gT2(K
T1
Уравнение Беллмана для шага t
(K
) = max{gt1(xt1) + gt2(K
t–1
xT1) +λ
t–1
]. Уравнение Беллмана для шага T
t–1
xt1).
t–1
xT1) | 0 ≤ xT1 K
T–1
(ht1(xt1) + ht2(K
}.
T–1
xt1)) | 0 ≤ xt1 K
t1
Отсюда видим, что в этом случае на каждом шаге нужно решать одномер­ную задачу параметрической оптимизации.
Литература
Вентцель Е. С. Исследование операций. М.: Сов. радио, 1972. Разд. 3.
Гимади А. Х., Глебов Н. И. Математические модели и методы принятия решений. Новосибирск: НГУ, 2008. Гл. 1.
Гончаров Е. Н., Ерзин А. И., Залюбовский В. В. Исследование операций. Примеры и задачи. Новосибирск: НГУ, 2005. Разд. 2.
Калихман И. Л., Войтенко М. А. Динамическое программирование в при­мерах и задачах. М.: Высшая школа, 1979. Гл. 1–4.
t–1
}.
4. Оптимальное управление
4.1. Системы дифференциальных уравнений первого порядка
4.1.1. Основные понятия
Определения
Пусть x: R Rn, f : R
n+1
Rn. Нормальная система дифференциальных
уравнений первого порядка, разрешенных относительно производной, имеет вид
где x(t) = (xi(t) | i ке (a, b) R, f(t,x1, …, xn) = (fi(t, x(t)) | i прерывная в некоторой области D R
)T ― искомая вектор-функция, определенная на промежут-
)T ― заданная вектор-функция, не-
n+1
.
Если вектор-функция f(t, x(t)) не зависит от первого аргумента, f(t, x(t)) = = g(x(t)), то система дифференциальных уравнений (50) называется автоном- ной.
54
Решением системы дифференциальных уравнений (50) на интервале (a, b)
n,1
m,1
1
называют такую дифференцируемую на (a,b) вектор-функцию x(t) из R в Rn, ко­торая обращает векторное уравнение (50) в тождество на (a, b).
Если n = 1 и функция x(t) является решением уравнения (50) на интервале (a, b), то ее график называют интегральной кривой этого уравнения на (a, b).
Пусть t0(a, b), x0 = (x0j | j
)T и (t0, x01, …, x0n)TD. Задачу отыскания
решения x(t) уравнения (50), удовлетворяющего начальному условию x(t0) = x0, называют задачей Коши.
Значения функций x1(t), …, xn(t) при фиксированном t определяют точку в Rn. Поэтому решение задачи Коши задает в Rn кривую, проходящую через точ­ку x0 при t = t0. Эту кривую называют траекторией системы (50), а простран- ство переменных x1(t), …, x1(t) ― фазовым пространством
При n = 1 задача Коши состоит в нахождении интегральной кривой урав­нения (50), проходящей через данную точку (t0, x0)D R2.
Определение. Вектор-функция n переменных f(x) = (fi(x) | i
)T является
гладкой в области M Rn, если каждая координатная функция fi(x) = fi(x1, …, xn) имеет в области M непрерывные частные производные по всем переменным.
Теорема 4.1 (о разрешимости задачи Коши)1. Решение системы дифферен­циальных уравнений (50) с начальным условием (t0, x0) из области гладкости вектор-функции f(t, x) существует и единственно (в том смысле, что любые два решения с таким начальным условием совпадают в некоторой окрестности точ­ки t0).
Определения. Предположим, что задача Коши для системы уравнений (50) имеет единственное решение для любой точки (t0, x0)D.
Семейство вектор-функций x(t, C) с векторным параметром CRn называ­ется общим решением системы уравнений (50) в области D, если для любой точки (t0, x0)D выполнены следующие условия:
а) векторное уравнение x(t0, C) = x0 относительно C имеет единственное решение C0;
б) вектор-функция x(t0, C0) является решением задачи Коши для системы уравнений (50) с начальным условием x(t0) = x0.
Проинтегрировать систему дифференциальных уравнений (50) означает найти ее общее решение.
Система (50) линейна, если f(t, x(t)) = A(t)x(t) + F(t), где A(t) ― функцио­нальная матрица (отображение из R в R
Арнольд В. И. Обыкновенные дифференциальные уравнения. Ижевск: Ижевская республиканская ти-
пография, 2000. С. 100, следствие 3).
55
nn
), F(t) ― вектор-функция из R в Rn.
Если A(t) = (aij(t) | i
n,1
n,1
n,1
x'(t) = A(t)x(t) + F(t), или
)(tx
i
=
n
j
jij
txta
1
)()(
+ Fi(t) для всех i
n,1
.
(51)
n,1
n,1
n,1
n,1
n,1
x'(t) = Ax(t), или
)(tx
i
=
n
j
jij
txa
1
)(
для всех i
n,1
.
(52)
1
, j
) и F(t) = (Fi(t) | i
)T, то линейную систему
(50) можно записать следующим образом:
Если система дифференциальных уравнений (51) автономна, то
A(t) = A = (aij | i
, j
)R
nn
, F(t) = b = (bi | i
)TRn и x'(t) = Ax(t) + b,
где b = 0n, если система еще и однородна.
В дальнейшем мы ограничимся рассмотрением разрешенных относительно производной линейных систем дифференциальных уравнений первого порядка с постоянными коэффициентами (тогда матрица A(t) не зависит от t и соответ­ствующая однородная система автономна).
4.1.2. Решение линейной однородной автономной системы
Пусть A = (aij | i
, j
)R
nn
. Рассмотрим систему дифференциальных
уравнений вида
Определения и обозначения
K ― поле комплексных чисел.
Kn ― пространство векторов размерности n над полем комплексных чисел.
Если AR
nn
, xKn \ {0n}, λK и Ax = λx, то λ называют собственным чис- лом (или собственным значением) матрицы A, а x собственным вектором матрицы, соответствующим (или принадлежащим) этому собственному числу.
Определитель матрицы AR
nn
обозначим det(A).
En единичная матрица матрица размерности n n (диагональные эле-
менты равны единице, а остальные ― нулю).
Характеристическое уравнение матрицы AR
Теорема 4.21. Множество всех собственных чисел матрицы AR
nn
имеет вид det(A – λEn) = 0.
nn
совпа-
дает с множеством корней ее характеристического уравнения над полем ком­плексных чисел. Множество действительных собственных чисел матрицы сов­падает с множеством действительных корней ее характеристического уравне­ния.
Беклемишев Д. В. Курс аналитической геометрии и линейной алгебры. 7-е изд. М.: Высш. шк., 1998
(теорема 1 на с. 216).
56
Теорема 4.31. Если собственное число λ матрицы AR
m,1
(A – λEn)β
s+1
= βs.
(53)
z1(t) = eλtβ1, z2(t) = eλt(tβ1 + β2), …, zr(t) = eλt(
)!1(
1
r
t
r
β1 + … +
!2
2
t
β
r–2
+ tβ
r–1
+ βr).
(54)
)1(
α
j
)2(
α
j
m,1
)1(
α
j
)2(
α
j
)1(
α
j
)2(
α
j
1 2
nn
является корнем кратности k ее характеристического уравнения, то ему соответствуют не более k линейно независимых собственных векторов матрицы.
Заметим, что линейно независимые собственные векторы матрицы A, соот-
ветствующие ее собственному числу λ, о которых идет речь в теореме 4.3, мож­но найти как нормальную фундаментальную систему решений2 для однородной системы линейных алгебраических уравнений (A – λEn) = 0n.
Поскольку det(A – λEn) есть многочлен степени n относительно λ, из ос­новной теоремы алгебры следует, что он имеет ровно n комплексных корней (с учетом кратности). Все коэффициенты многочлена det(A – λEn) являются дей­ствительными числами, поэтому каждому комплексному корню соответствует сопряженный корень той же кратности.
Чтобы построить общее решение системы (52), нужно найти характери­стические числа матрицы A, для каждого определить кратность и найти макси­мальный набор линейно независимых соответствующих векторов. Возможны следующие случаи.
Случай 1. Действительное число λ является корнем кратности k характери-
стического многочлена и ему соответствуют m (1 ≤ m k) линейно независи­мых собственных векторов αjRn, j
. Эти векторы можно найти из системы
уравнений (A – λEn)α = 0n. Для каждого вектора αj строим жорданову цепочку линейно независимых векторов βs следующим образом. Полагаем β1 = αj. Если вектор βs найден, то β
находим из системы уравнений
s+1
Продолжаем процедуру, пока система (53) имеет решение. Сумма длин всех жордановых цепочек, порожденных векторами αj, равна k. Предположим, что построена жорданова цепочка β1, …, βr. Ей соответствуют r вектор-функций, которые являются решениями системы (52):
Случай 2. Комплексное число λ = μ + i является корнем кратности k харак- теристического многочлена и ему соответствуют m (1 ≤ m k) линейно незави­симых собственных векторов. Эти векторы тоже являются комплексными,
αj =
+ i
для j
, где
и
― векторы из Rn. По определению
Aαj = αj. Переходя в этом равенстве к сопряженным числам, обнаружим, что собственному числу μ – i соответствует собственный вектор
вательно, сопряженному собственному числу тоже соответствуют m линейно
Там же, теорема 3 на с. 219. Там же, с. 171.
57
i
. Следо-
независимых собственных векторов. Для вычисления векторов
)1(
α
j
)2(
α
j
)1(
α
j
)2(
α
j
)1(
α
j
)2(
α
j
)1(
α
j
)1(
α
j
)2(
α
j
)2(
α
j
)2(
α
j
)1(
α
j
m,1
nm ,12
x(t, C) =
n
j
jj
tyC
1
)(
, C = (Cj | j
n,1
)T.
(55)
m,1
nm ,12
)2()1(
αα
jj
i
m,1
nm ,12
1
пользуем условие
и
ис-
A(
+ i
) = (μ + i)(
+ i
),
из которого, приравнивая действительные и мнимые части, получаем сиcтему 2n уравнений с 2n неизвестными
A
= μ
и A
= μ
+
.
Затем, как в случае 1, для каждого αj строим жорданову цепочку. Векторы этих цепочек, как и αj, лежат в Cn. Для каждой цепочки по формулам (54) строим комплекснозначные функции zs, число которых равно длине цепочки. Действи­тельная и мнимая части каждой функции zs являются решениями системы (52). Таким образом, для двух комплексно-сопряженных собственных чисел кратно­сти k найдем 2k частных решений системы (52).
Предположим, что в результате применения описанной процедуры ко всем
характеристическим числам матрицы A, найдены m комплекснозначных функ­ций zs по случаю 2 и k действительных функций zs по случаю 1. Тогда 2m + k = n.
Полагая y
(t) = Re(zj) и y2j(t) = Im(zj) для j
2j–1
и yj(t) = zj для j
найдем ровно n частных решений yj(t).
Теорема 4.4 (общее решение однородной автономной системы)1. Общее
решение системы (52) является линейной комбинацией частных решений yj(t) с произвольными константами в качестве коэффициентов:
,
4.1.3. Частный случай: различные собственные числа
Конкретизируем описанную в подразд. 4.1.2 процедуру построения общего
решения системы (52) для важного частного случая, когда все характеристиче­ские числа матрицы A различны. По теоремам 4.2 и 4.3 это означает, что харак­теристическое уравнение имеет n различных корней кратности 1. Для каждого из них максимальное число линейно независимых собственных векторов равно единице, и все жордановы цепочки имеют длину 1.
Предположим, что у матрицы A есть m различных пар комплексно-
сопряженных собственных чиcел и n 2m различных действительных соб­ственных чиcел: μj j для j
и j для j
. Этим собственным числам
соответствуют собственные векторы
для j
Романко В. К. Курс дифференциальных уравнений и вариационного исчисления. 2-е изд. М.: Лаборато-
рия Базовых Знаний, 2001 (теорема 2 на с. 81).
и αj для j
.
58
Собственному вектору αj, j
nm ,12
j
t
j
e α
λ
)2()1(
αα
jj
m,1
)αα(
)2()1(
)ωμ(
jj
i
ie
jj
)ωsinαωcosα(
)2()1(
μ
tte
jjjj
t
j
)ωsinαωcosα(
)1()2(
μ
tte
jjjj
t
j
)ωsinαωcosα(
)2()1(
μ
tte
jjjj
t
j
)ωsinαωcosα(
)1()2(
μ
tte
jjjj
t
j
m
j
jjjj
t
jjjjj
t
j
tteCtteC
jj
1
)1()2(
μ
2
)2()1(
μ
12
)]ωsinαωcosα()ωsinαωcosα([
n
mj
j
t
j
j
eC
12
λ
α
x'(t) = Ax(t) + F(t), где AR
nn
, F(t): R Rn.
(56)
n,1
n,1
n,1
t
t
dssz
0
)(
1 2
, соответствует частное решение
yj(t) =
a+ib
Но e
системы (52). Паре комплексно-сопряженных собственных векторов
, j
соответствует комплекснозначная функция zj =
= ea(cosb + isinb), поэтому
zj(t) =
+ i
.
Действительная и мнимая части zj(t) дают частные решения системы (52):
y
2j–1
(t) =
и y2j(t) =
.
Запишем общее решение:
x(t) =
+
.
Здесь второе слагаемое описывает экспоненциальный рост, а первое ― колеба­тельный процесс с переменной амплитудой1.
4.1.4. Решение задачи Коши для линейной системы
Рассмотрим задачу Коши для системы линейных дифференциальных урав-
нений с постоянными коэффициентами
.
Соответствующая однородная система x'(t) = Ax(t) автономна, ее общее
решение (55) можно найти способом, описанным в подразд. 4.1.2. Вспомним, что решения yj(t) системы (52), построенные в плдразд. 4.1.2, являются вектор-
функциями: yj(t) = (yij(t) | i
Обозначение. Положим Y(t) = (yij(t) | i
).
, j
)R
nn
.
Теорема 4.5 (решение задачи Коши для неоднородной системы)2. Решени- ем задачи Коши для системы (56) с начальным условием x(t0) = x0 является век­тор-функция
x(t) = Y(t)[x(t0) +
],
где вектор-функция z(s) является решением системы линейных алгебраических уравнений Y(s)z(s) = f(s).
Павлов В. Н. Математическая экономика. Новосибирск: Изд-во СО РАН, 2005. С. 143–144. Хартман Ф. Обыкновенные дифференциальные уравнения. М.: Мир, 1970 (следствие 2.1 на с. 66).
59
4.2. Постановка задачи оптимального управления
n,1
m,1
x'(t) = f(x(t), u(t), t), или
)(tx
j
= fj(x1(t), …, xn(t), u1(t), …, um(t), t)
для всех j
n,1
и t[t0, T].
(57)
В теории оптимального управления объектом моделирования является управляемая система, состояние которой в каждый момент промежутка време­ни [t0, T] зависит от управления.
4.2.1. Основные понятия
Определения и обозначения
Замкнутое относительно операций сложения и умножения на число семей­ство вектор-функций из R в Rn, определенных на некотором множестве M R, образует линейное пространство функций (функциональное пространство).
Пусть U ― подмножество некоторого функционального пространства. Отображение J: UR, ставящее в соответствие каждой функции uU число J(u)R, назы­вают функционалом.
Задача максимизации (минимизации) функционала J(u), определенного на подмножестве U функционального пространства, состоит в отыскании хотя бы одной функции u*U такой, что J(u*) ≥ (≤) J(u) для всех uU.
Если вектор x(t) = (xj(t) | j
)T описывает состояние системы в момент t,
то Rn называют фазовым пространством, а координатные функции вектор- функции x(t) ― фазовыми координатами или фазовыми переменными.
При t[t0, T] точка фазового пространства x(t) описывает фазовую траек-
торию.
Управление в момент t ― это вектор-функция u(t) = (ui(t) | i
)T; коорди-
натные функции вектор-функции u(t) называют переменными управления.
Множество допустимых управлений ― это подмножество U некоторого функционального пространства.
Предположение 14. Управление является кусочно-непрерывной вектор­функцией.
Заметим, что множество всех кусочно-непрерывных вектор-функций раз­мерности m является функциональным пространством.
Допустим, что связь между переменными управления и фазовыми пере­менными выражена системой дифференциальных уравнений
Если объект управления в момент t0 находится в начальном состоянии x0 и выбрано допустимое управление u0(t), то (57) превращается в систему диффе- ренциальных уравнений относительно вектор-функции x(t). Возникает задача
60
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]