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

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

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
1 Мб
Скачать
3. Если задача Q1(s0) разрешима, то Fn(x*, s0) =
)(
0
*
1
sZ
n,1
n,1
n
j
jj
xf
1
)(
n
j
j
x
1
Fn(x, s0) =
n
j
jj
xf
1
)(
→ max при условиях 0 ≤ xj s
j–1
и sj = s
j–1
– xj для
n,1
(34)
, оптимальное значение
целевой функции в задаче (28)–(29) достигается при x = x*. Оптимальному ре­шению x* соответствует последовательность состояний s*, определенная в соот­ветствии с пунктами 3 и 4 описания метода ДП. #
Таким образом, метод динамического программирования корректно реша­ет задачу динамического программирования, если удается преодолеть трудно­сти параметрической оптимизации. Ниже мы рассмотрим основные типы при­кладных задач динамического программирования.
3.4. Статические распределительные задачи
3.4.1. Распределение ресурса
Предположим, что в некоторой экономической системе n процессов (тех­нологических способов) конкурируют за ресурс, суммарное использование ко-
торого ограничено величиной K. Технологический способ j
, используя xj
единиц ресурса, порождает эффект fj(xj). Естественно предположить, что эти функции монотонно возрастают.
Оценкой эффективности распределения ресурса является суммарный эф­фект. Нужно найти самое эффективное распределение ресурса.
Пусть x = (xj | j
F(x) =
)T. Тогда задача формализуется следующим образом:
→ max при условиях
K, x ≥ 0n.
Представим процедуру выбора управления x как многошаговую, считая, что на шаге j определяется значение xj, количество ресурса, используемое спо­собом j. Пусть sj ― нераспределенный остаток ресурса после шага j. Эта вели­чина характеризует состояние системы в начале шага j + 1. Положим s0 = K (наличие ресурса в начале шага 1).
Запишем фазовое уравнение: sj = s
– xj (остаток ресурса после шага j ра-
j–1
вен остатку ресурса после предыдущего шага за вычетом количества, предо­ставленного способу j). Множество управлений, допустимых на шаге j, имеет вид Xj(s
) = [0, s
j–1
]. До шага j + 1 может быть распределено любое количество
j–1
ресурса от нуля до K, поэтому множество состояний, возможных в начале шага j + 1, имеет вид Sj = [0, K].
Условие задачи не ограничивает множество терминальных состояний, по­этому можем считать, что Sn = R. Впрочем, из монотонности функции fn следу­ет, что в оптимальном плане ресурс будет использован полностью, тогда sn = 0. Эквивалентная формулировка задачи:
41
Это частный случай задачи (28) – (29), предположения 9 – 12 выполнены с
)(
1
*
nn
sZ
)(
1
*
nn
sx
)(
1
*
nn
sZ
1,1 n
)(
1
*
jj
sZ
)(
1
*
1 jjj
xsZ
)(
2
*
1 nn
sZ
n,1
*
j
x
*
r
x
)(
1
*
nn
sZ
)0(
*
n
Z
)(
12
*
nnn
xsZ
)(
2
*
1 nn
sZ
)(
2
*
nn
sZ
)0(
*
n
Z
)(
2
*
nn
sZ
)0(
*
1n
Z
)(
2
*
1 nn
sZ
1,1 n
)(
1
*
jj
sZ
)(
1
*
1 jj
sZ
)0(
*
j
Z
)(
1
*
jj
sx
очевидностью, следовательно, можем применить метод ДП.
Уравнение Беллмана для шага n: Из монотонности функции fn следует, что
Уравнение Беллмана для шага j
= max{fj(xj) +
= max{fn(xn) | 0 ≤ xn s
= s
n–1
и
| 0 ≤ xj s
j–1
}, s
[0, K].
j–1
}, s
n–1
= fn(s
n–1
n–1
).
[0, K].
Это уравнение, вообще говоря, не решается формульно, в отличие от уравнения для шага n. Уже для шага n – 1 получаем
0 ≤ x
n–1
s
}. Для аналитического решения этого уравнения необходимы более
n–2
= max{f
n–1(xn–1
) + fn(s
n–2
x
n–1
) |
сильные предположения о функциях fj.
Если аналитическое решение уравнений Беллмана невозможно, то обычно предполагают, что ресурс распределяется дискретными «порциями» , причем
K = N (N ― натуральное число). Тогда
Sj = {0, , 2,…, K}, Xj(s
и уравнение Беллмана для j < n при каждом s всех xjXj(s
j–1
).
) = {0, , 2,…, s
j–1
j–1Sj–1
можно решать перебором
j–1
},
Задача упрощается, если функции fj выпуклы.
Теорема 3.4. Предположим, что задача (34) удовлетворяет следующим условиям: все функции fj выпуклы и fr(K) = max{fj(K) | j
j r и
= K.
}. Тогда
Доказательство
1.
= fn(s
) ― выпуклая функция по условию и
n–1
= 0. Из утвер-
ждений (е) и (г) теоремы 2.10 следует выпуклость функции
Тогда при любом s
Z
n–1(xn–1
n–2Sn–2
, s
) = f
n2
максимум Z
n–1(xn–1
n–1(xn–1
) +
, s
) по x
n–2
n–1
.
[0, s
] достигается
n2
на одном из концов промежутка1. Поэтому
= max{f
Ясно, что следовательно,
= 0. Кроме того, обе функции в фигурных скобках выпуклы,
n–1
(0) +
, f
n–1(sn–2
) +
} = max{
, f
n–1(sn–2
― выпуклая функция по утверждению (д) теоремы
2.10.
Продолжая рассуждение, для j
= max{
, fj(s
по индукции докажем, что
j–1
)},
= 0 и
{0, s
j–1
= 0 при
)}.
}.
(1)
Рокафеллар Р. Выпуклый анализ. М.: Мир, 1973 (следствие 32.3.1).
42
2. По доказанному
*
1
x
)(
0
*
1
sx
*
1
x
*
1j
s
*
j
x
*
1
x
*
1
s
*
2
x
)(
*
1
*
2
sx
*
r
x
*
j
x
n,1
n,1
n,1
n
j
jj
xf
1
)(
n
j
j
x
1
n
j
j
a
1
=
{0, K}. Если
= K, то
=
= 0 для всех j > 1.
Если же что
= K для некоторого r и
3. Следовательно, Fn(K) = fr(K). Тогда fr(K) = max{fj(K) | j
= 0, то
= K,
=
{0, K}. Рассуждая по индукции, докажем,
= 0 для j r.
}, так как
Fn(K) ≥ fj(K) для всех j. #
Таким образом, при выпуклых функциях эффекта все доступное количе­ство ресурса следует выделить одному способу – тому, который использует этот ресурс с наибольшим эффектом. Заметим, что теорема 3.4 использует ме­тод ДП для обоснования формульного решения задачи.
3.4.2. Распределение производства товаров (услуг)
Предположим, что товар (услугу) можно произвести n способами. Способ
j
производит xj единиц товара (услуги) с затратами fj(xj) и за рассматривае-
мый период может произвести не более aj единиц (aj ― мощность способа j). Нужно распределить производство K единиц товара (услуги) между способами так, чтобы минимизировать суммарные затраты. Будем считать, что функции fj(xj) монотонно возрастают при xj[0, aj], fj(0) = 0 и fj(xj) = +∞ при xj > aj.
Пусть x = (xj | j
)T. Задача формализуется следующим образом:
F(x) =
→ min при условиях
= K, x ≥ 0n.
Необходимым и достаточным условием разрешимости задачи является выпол­нение неравенства
K
.
Пусть на шаге j определяется значение xj, объем производства товара (услуги) способом j. Состояние sj системы в начале шага j + 1 ― это нераспре­деленный объем производства после шага j. Положим s0 = K (нераспределенный объем производства в начале шага 1). Производство в количестве K должно быть распределено, поэтому после шага n система должна перейти в состояние
s = 0: Sn = {0}.
Фазовое уравнение имеет вид sj = s
– xj. Множество состояний, возмож-
j–1
ных в начале шага j + 1, описывается, как в предыдущей модели: Sj = [0, K]. Описание множества управлений, допустимых на шаге j, должно учитывать мощность способа j: Xj(s
) = [0, min{s
j–1
, aj}].
j–1
Соответствующая задача ДП имеет вид
43
Fn(x, s0) =
n
j
jj
xf
1
)(
→ min при условиях
0 ≤ xj ≤ min{s
j–1
, aj} и sj = s
j–1
xj для j
n,1
, sn = 0.
(35)
Уравнение Беллмана для шага n
)(
1*nn
sZ
)(
1
*
nn
sZ
)(
1
*
nn
sx
)(
1
*
nn
sZ
)(
1
*
nn
sZ
= fn(s
n–1
),
.если,существуетне
,если,
)(
1
11
1
*
nn
nnn
nn
as
ass
sx
(36)
1,1 n
)(
1*jj
sZ
)(
1
*
1 jjj
xsZ
1,1 n
n,1
1,1 n
 
;если)},()(),(min{
,если)},(),(min{
)(
11
*
11
*
1
111
*
1
1
*
jjjjjjjjj
jjjjjj
jj
asasZafsZ
assfsZ
sZ
(37)
= min{fn(xn) | 0 ≤ xn ≤ min{s
Из sn = s случае будем считать, что
– xn следует, что xn = s
n–1
= fn(s
). Таким образом,
n1
. Это невозможно, если s
n–1
= +∞. Если же s
Уравнение Беллмана для шага j
= min{fj(xj) +
| 0 ≤ xj ≤ min{s
Аналитическое решение уравнений Беллмана для j
, an}, sn = 0}, s
n–1
an, то
n–1
, aj}}, s
j–1
[0, K].
n–1
> an. В таком
n–1
= s
[0, K].
j–1
возможно толь-
n–1
и
ко при дополнительных предположениях относительно функций fj. Если для та­ких предположений нет оснований, то обычно допускают, что товар (услуга) производится неделимыми «порциями» , причем K = N и aj = nj для всех j
(N и nj для всех j ― натуральные числа). Тогда
Sj = {0, , 2,…, K}, Xj(s
) = {0, , 2,…, min{s
j–1
, aj}},
j–1
и уравнение Беллмана для j < n при каждом s всех xjXj(s
j–1
).
j–1Sj–1
можно решать перебором
Задача упрощается при вогнутых функциях fj. Если ограничения способов по мощности несущественны (например, K aj для всех j), то нетрудно дока­зать аналог теоремы 3.5: следует использовать только один способ, тот, кото­рый может произвести K единиц товара (услуги) с наименьшими затратами. Ес­ли же ограничения по мощности сохраняются, то удается только упростить уравнения Беллмана.
Теорема 3.5. Допустим, что в задаче (35) для любого j гнута на промежутке [0, aj]. Тогда, для j
,
функция fj во-
44
 
 




.)(если,существуетне
,)()()(иесли,
,)()(иесли,
,)()(если,0
)(
1
*
1
*
11
*
1
11
*
11
1
*
11
*
1
*
jj
jjjjjjjjjj
jjjjjjj
jjjj
jj
sZ
asZafsZasa
sfsZass
sZsZ
sx
(38)
Доказательство. По условию функция fj вогнута на [0, aj] для любого
n,1
)(
1
*
nn
sZ
)0(
*
1j
Z
)(
*
1 jj
sZ
n
jk
k
a
1
)(
1
*
1 jjj
xsZ
)(
1
*
1 jjj
xsZ
n
jk
k
a
1
s
j–1
[0,
n
jk
k
a
],
(39)
)(
1
*
jj
sx
)(
1
*
jj
sZ
)(
1
*
jj
sx
)(
1
*
jj
sx
)(
1
*
jj
sx
)(
1*jj
sZ
)(
1
*
jj
sx
)(
1
*
jj
sx
)(
1
*
jj
sZ
)(
1
*
1 jj
sZ
)(
1
*
1 jjj
asZ
)0(
*
j
Z
)(
1
*
jj
sZ
1
j
. Тогда из (36) следует, что функция
Допустим, что j < n и
Рассмотрим функцию Zj(xj, s и вогнута на [0, aj], функция гнута при
Тогда функция Zj(xj, s
то функция Zj(xj, s
xj = min{s
, aj}.
j–1
При любом s Zj(xj, s
Если s
) достигает минимума по xjXj(s
j–1
aj, то
j1
) вогнута в области определения. Если
j1
) конечна при некоторых xjXj(s
j1
, которое удовлетворяет условию (39), вогнутая функция
j1
{0, s
= 0, функция
sj[0,
) = fj(xj) +
j1
0 ≤ s
} и
j–1
xj
j–1
конечна и вогнута на [0, an].
конечна и вогнута при
].
. Функция fj(xj) определена
по предположению определена и во-
.
), например, при
j1
) на конце отрезка 0 ≤ xj ≤ min{s
j–1
j–1
определяется первой строкой форму-
, aj}1.
лы (37), причем первое значение в фигурных скобках возникает при а второе ― при
= s
. Если же s
j–1
> aj, то
j–1
{0, aj} и
= 0,
опре-
деляется второй строкой формулы (37), причем первое значение в фигурных скобках возникает при
Функция fj монотонно возрастает на [0, aj] и fj(s
= 0, а второе ― при
= aj.
) = +∞ при s
j–1
> aj, поэто-
j–1
му равенство (37) эквивалентно
Тогда
= min{
= 0 и функция
, fj(s
), fj(aj) +
j–1
}.
при условии (39) вогнута по утверждениям
(е), (г) и (д) теоремы 2.10.
Рокафеллар Р. Выпуклый анализ. М.: Мир, 1973 (следствие 32.3.1).
45
Таким образом, по индукции доказано, что функция Zj(xj, s
)0(
*
j
Z
)(
1
*
jj
sZ
)(
1
*
jj
sZ
1,0 n
n,1
n,1
F(x) =
nk
kk
xс
1
→ max при условиях
n
k
kk
xw
1
W, xk
k
m,0
для всех k.
(40)
1
ласти определения,
= 0, функция
определена и вогнута при усло-
) вогнута в об-
j1
вии (39) и для нее справедлива формула (37).
Из предшествующих рассуждений очевидна справедливость первых трех строк формулы (38). Если (39) не выполняется, то терминальное состояние 0 не достигается из состояния s
j–1
и
= +∞. Это доказывает последнюю строку
формулы (38). #
Теорема 3.5 позволяет существенно сократить перебор в задаче распреде­ления производства с вогнутыми функциями затрат.
Следствие 3.4. В условиях теоремы 3.5 множества Sj для j ваются следующим образом: S0 = {K}, Sj = {0}{s
s
j–1Sj–1
, s
> aj} для j > 0. При этом можно считать, что Xj(s
j–1
j–1
| s
j–1Sj–1
) = {0, min{s
j–1
}{s
описы-
aj |
j–1
, aj}}.
j–1
Доказательство. Из (38) следует, что из всех возможных управлений условно оптимальными могут быть только 0 и min{s значения xj можно исключить из Xj(s
Тогда по формуле перехода либо sj = s либо sj = s
– aj (при xj = aj < s
j–1
j–1
). #
j–1
).
(при xj = 0), либо sj = 0 (при xj = s
j–1
, aj}. Поэтому другие
j–1
aj),
j–1
3.5. Задача о ранце
3.5.1. Основная модель
Линейная задача о ранце (ЛЗР) формулируется следующим образом. Есть неделимые предметы n типов, mk предметов типа k
. Предмет типа k весит
wk > 0 и имеет ценность ck > 0. Нужно уложить в ранец набор предметов с сум­марным весом не более W и максимальной суммарной ценностью.
Пусть xk ― число предметов типа k в загружаемом наборе, x = (xk | k
)T.
Формализация задачи:
Следствие 3.51. Опимальное решение задачи (40) существует при всех до- пустимых сочетаниях параметров.
Если отказаться от условия целочисленности и считать, что xk[0, mk] для всех k, то решение строится следующим образом: упорядочим типы предметов по невозрастанию стоимости на единицу веса (ck /wk) и положим
Доказательство оставляем читателю.
46
x1 = min{m1, W/w1}, xk = min{mk,
k
k
j
j
w
xW
1
1
 
 
k
w
s
n,1
)(,0
1kk
sd
n
k
kk
xc
1
n,1
)(
1
*
nn
sZ
)(,0
1nn
sd
)(
1
*
nn
sx
1,1 n
)(
1
*
kk
sZ
)(
1
*
1 kkkk
xwsZ
)(,0
1kk
sd
H(x) =
n
k
kk
xw
1
→ min при условиях
n
k
kk
xc
1
A, xk
k
m,0
для всех k.
(41)
} для k > 1.
Перейдем к решению ЛЗР в виде (40) методом ДП.
На шаге k определяется значение xk, число загружаемых предметов типа k. Состояние s зованная до шага k. Тогда фазовое уравнение имеет вид sk = s
системы в начале шага k ― это «грузоподъемность», не исполь-
k–1
– wkxk. Положим
k–1
s0 = W. В задаче нет ограничений на состояние системы после шага n, может считать, что Sn = [0, W].
Обозначения
[x] целая часть числа xR, наибольшее целое число, не превосходящее x.
dk(s) = min{mk,
} для k
и sR.
Множество управлений, допустимых на шаге k, если в начале шага система находится в состоянии s
k–1
Xk(s
k–1
) =
.
Множество Sk состояний, возможных в начале шага k + 1:
Sk = {s – wkxk | sS
, xkXk(s)} при k > 0, S0 = {W}.
k–1
Задача ДП, соответствующая задаче (40), имеет вид
Fn(x, W) =
Уравнение Беллмана для шага n: отсюда
Уравнение Беллмана для шага k
max при условиях xkXk(s
= dn(s
n–1
).
= max{ckxk +
) и sk = s
k–1
= max{cnxn | xn
| xk
wkxk для k
k–1
} = cndn(s
}.
n–1
.
),
Множества Sk для всех k и Xk(s) для всех k, s конечны, поэтому уравнения Белл­мана решаются перебором.
3.5.2. Обратная задача о ранце
Допустим, что при исходных данных разд. 3.5.1 нужно составить самый легкий набор предметов с суммарной ценностью не менее A:
Здесь переменные интерпретируются, как в задаче (40). Это обратная задача о
ранце (ОЗР).
47
Следствие 3.61. Задача (41) разрешима, если и только если
n
k
kk
nc
1
 
 
k
с
s
n,1
)(,0
1kk
sg
Hn(x, A) =
n
k
kk
xw
1
→ min при условиях
xkXk(s
k–1
) и sk = max{0, s
k–1
– ckxk} для k
m,1
, sn = 0.
(42)
)(
1
*
nn
sZ
= min{wnxn | xn
)(,0
1nn
sg
, s
n–1
cnxn}.
(43)
)(
1
*
nn
sZ
)(
1
*
nn
sx
)(
1
*
nn
sx
)(
1*nn
sZ
1,1 n
)(
1*kk
sZ
}),0(max{
1
*
1 kkkk
xcsZ
)(,0
1kk
sg
A.
Шаг k состоит в выборе значения xk. Будем считать, что состояние s
k–1
си-
стемы в начале шага k равно разности между величиной A и ценностью набора, составленного до шага k, если эта разность положительна, в противном случае
s
= 0.
k1
Отсюда получаем фазовое уравнение: sk = max{0, s
– ckxk}.
k–1
Обозначения
]x[ минимальное целое число, не меньшее, чем xR.
gk(s) = min{nk,
Понятно, что Xk(s
} для k
) =
k–1
и sR.
, Sk = {max{0, s
ckxk}| sS
k–1
, xkXk(s)}
k1
при k > 0 и S0 = {A}. В конце шага n требуемая ценность должна быть накопле­на, поэтому Sn = {0}.
Задача ДП, эквивалентная задаче (41), имеет вид
Предположим, что задачи (41) и (42) разрешимы.
Уравнение Беллмана для шага n
Если cngn(s минимизация в (43) происходит на пустом множестве, значение делено; положим
Уравнение Беллмана для шага k
n1
) ≥ s
, то
n–1
= +∞.
= min{wkxk +
= cngn(s
n1
) и
= gn(s
). В противном случае
n–1
не опре-
| xk
}.
Множества Sk для всех k и Xk(s) для всех k, s конечны, поэтому уравнения Белл­мана решаются перебором.
3.5.3. Задача о выборе проектов
Предположим, что для каждого из n инвестиционных проектов указаны необходимые затраты wk и ожидаемый эффект (например, прибыль) ck. Все про-
(1)
Доказательство оставляем читателю.
48
екты совместимы, поэтому выбор проектов для реализации ограничен только
n
k
kk
xc
1
n
k
kk
xw
1
)(
1
*
nn
sZ
;если,
,если,0
11nnn
nn
wsс
ws
)(
1
*
nn
sx
;если,1
,если,0
11nn
nn
ws
ws
1,1 n
)(
1
*
kk
sZ
.если)},(),(max{
,если),(
11
*
11
*
1
11
*
1
nkkkkkkk
kkkk
wswsZсsZ
wssZ
)(
1
*
kk
sx
случае.противномв1
),()(или если,0
1
*
11
*
11 kkkkkkkk
sZwsZсws
nk
kk
xw
1
nk
kk
xc
1
nk
k
c
1
величиной K доступных для инвестирования средств. ЛПР стремится получить максимальный суммарный ожидаемый эффект.
Это частный случай ЛЗР при nk = 1 для всех k:
F(W) =
→ max при условиях
K, xk{0, 1} для всех k.
Здесь xk = 1, если проект k выбран для реализации, иначе xk = 1.
В обозначениях подразд. 3.5.1 имеем
dk(s) = 1, если s wk, иначе dk(s) = 0;
Xk(s
Уравнение Беллмана для шага k
) = {0, 1}, если s
k–1
Sk = S
k–1
{s
=
wk | s
k–1
wk, иначе Xk(s
k–1
k–1Sk–1
, s
=
k–1
wk};
k–1
) = {0};
=
Отсюда
=
.
Обратная задача: составить набор проектов, обеспечивающий суммарный эффект не менее A с минимальными суммарными затратами. Это частный слу­чай ОЗР при mk = 1 для всех k. Интерпретируя xk так же, как в предыдущей за­даче, получим следующую модель:
H(x) =
→ min при условиях
A, xk{0, 1} для всех k.
По следствию 3.6 необходимым и достаточным условием разрешимости обратной задачи является неравенство
A.
Если задача разрешима, то решение можно найти методом ДП. Для этого опишем шаги процедуры и состояния системы, как в подразд. 3.5.2. Положим:
gk(s) = 1, если s > 0, иначе gk(s) = 0;
Xk(s
Sk = S
49
) = {0, 1}, если s
k–1
{max{0,s
k–1
– ck} | s
k–1
> 0, иначе Xk(s
k–1
k–1Sk–1
} для k > 0, S0 = {A}.
) = {0};
k1
Уравнение Беллмана для шага n
)(
1
*
nn
sZ
 
 
.0если,
,0если,
,0если,0
1
1
1
nn
nnn
n
sc
csw
s
)(
1*nn
sx
 
 
.0если,определенне
,0если,1
,0если,0
1
1
1
nn
nn
n
sc
cs
s
1,1 n
)(
1
*
kk
sZ
 
 
.если)},(),(min{
,0если},),(min{
,0если,0
11
*
11
*
1
11
*
1
1
kkkkkkkk
kkkkk
k
cscsZwsZ
cswsZ
s
)(
1
*
kk
sx
)(
1
*
1 kk
sZ
)(
1
*
1 kk
sZ
)(
1
*
1 kkk
сsZ
)(
1
*
kk
sx
n,1
T,1
1,1 T
htk(x) ≤ gtk(x) для x ≥ 0 и всех t, k.
(44)
=
Соответственно, находим условно оптимальное управление
=
Уравнение Беллмана для шага k
=
Поэтому
s
= 0; 0 < s
k–1
В остальных случаях
= 0, если выполнено хотя бы одно из следующих условий:
ck и
k–1
wk; s
> ck и
k–1
wk +
= 1.
.
3.6. Распределение возобновляемого ресурса в динамике
Для определенности будем считать, что распределяемым и возобновляе­мым ресурсом являются денежные инвестиции.
3.6.1. Задача Вентцель
Предположим, что экономическая система может использовать n техноло­гических способов в течение T лет. В начале периода система создает инвести-
ционный фонд K0. Технологический способ k
, получив в начале года t
инвестиции в размере xtk, дает в течение года прибыль gtk(xtk). В конце года
t
технологический способ k отчисляет сумму htk(xtk) в инвестиционный
фонд. Будем считать, что
В начале каждого года система выделяет технологическим способам инве­стиции из накопленного инвестиционного фонда. Нераспределенная часть при­были года t (вся прибыль при t = T) потребляется в конце года. Нужно так рас­пределить инвестиции каждого года, чтобы максимизировать суммарное (за
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]