Научная электронная библиотека
Монографии, изданные в издательстве Российской Академии Естествознания

6.2. Метод функциональных уравнений

Как показал Р. Беллман [3], определение оптимального решения многоэтапного процесса сводится к использованию некоторого функционального уравнения, основанного на принципе оптимальности Беллмана. Для построения такого уравнения рассмотрим следующую задачу математического программирования

W = g1(x1) + g2(x2) + … + gn(xn); shukaev318.wmf xj ≥ 0, i = 1, …, n. (6.1)

относящейся к классу задач распределения ресурсов. Эта задача имеет аддитивную целевую функцию и несмотря на простую структуру может быть решена аппаратом нелинейного программирования в виде статической (одноэтапной) задачи, если только функции gi(x) являются вогнутыми (выпуклыми). Как будет показано ниже, применение для решения таких задач метода функциональных уравнений, в большинстве случаев, позволяет преодолеть различные трудности, связанные с видом их целевых функций.

Поэтому вместо одной задачи (6.1) с заданным количеством ресурсов х и фиксированным числом процессов n рассмотрим целое семейство таких задач, в которых х может принимать любые положительные значения, а n – любые целые значения.

То, что на первый взгляд может показаться статическим процессом необходимо искусственно развернуть во времени и производить распределения ресурсов в каждую единицу времени. Сначало какое-то количество ресурсов назначается n-му процессу, затем (n – 1)-му процессу и т.д. Поступая таким образом вводим динамический процесс распределения.

Перейдем теперь к аналитическому рассмотрению. Так как максимум F зависит от х и n сделаем эту зависимость явной, задав последовательность функций {fn(x)}, определенных для n = 1, 2,…, х, следующим образом

fn(x) = max W(x1, x2, …, xn),

где xj ≥ 0 и shukaev319.wmf

Функция fn(x) выражает оптимальный доход, который получается от распределения ресурсов х по n процессам. В двух частных случаях элементы последовательности {fn(x)} принимают особенно простой вид. Очевидно,

fn(0) = 0, n = 1, 2, …

если gi(0) = 0 для любого i, что является разумным предположением. Также очевидно,

f1(x) = g1(x) (6.2)

для х ≥ 0.

Легко найти рекуррентное соотношение, связывающее fn(x) и fn–1(x) для произвольных n и х. Пусть xn, где 0 ≤ xn ≤ x – количество ресурсов, назначенных для n-го процесса. Тогда, каково бы ни было значение xn, остающееся количество ресурсов (x – xn) должно быть использовано так, чтобы получить максимальный доход от оставшихся n – 1 процессов.

Так как этот оптимальный доход от распределения количества ресурсов (x – xn) по n – 1 процессам по определению есть fn–1(x – xn), назначение xn для n-го процесса приводит к общему доходу

gn(xn) + fn–1(x – xn)

для системы с n процессами.

Ясно, что оптимальным будет такой выбор xn, который максимизирует эту функцию. Таким образом, получаем основное функциональное уравнение Беллмана:

shukaev320.wmf (6.3)

для n = 2, 3, ……. Причем f1(x) определяется из выражения (6.2).

Применим метод функциональных уравнений для распределения средств х между двумя предприятиями. Если в первое предприятие вложить средства у, а во второе (х – у), то доходы составят g(y) и h(x – y). Надо так распределить х, чтобы общий доход за первый этап был максимальным

W1(x, y) = g(y) + h(x – y)

для всех y ∈ [0; x].

Рассмотрим двухэтапный процесс. Предположим, что за счет издержек, необходимых для получения дохода g(y) средство у уменьшиться до величины ау, где а < 1. Аналогично (х – у) уменьшиться до величины b(х – у), где b < 1. Так что после первого этапа останется средств

x1 = ay + b(x – y).

Повторим распределение средств

x1 = y1 + (x1 – y1).

Тогда на втором этапе получим доход

g(y1) + h(x1 – y1)

и полный доход будет

shukaev321.wmf;

W(x, y, y1) = g(y) + h(x – y) + g(y1) + h(x1 – y1),

при 0 ≤ y ≤ x, 0 ≤y1 ≤ x1.

Рассмотрим теперь n этапный процесс

shukaev322.wmf +

shukaev323.wmf;

W(x, y, y1, …, yn–1 = g(y) + h(x – y) + g(y1) + + h(x1 – y1) + … + g(yn–1) + h(xn–1 – yn–1),

где

x1 = ay + b(x – y);

x2 = ay1 + b(x1 – y1);

…………………;

xn–1 = ayn–2 + b(xn–2 – yn–2).

Прямое решение такой задачи связано со значительными трудностями и как было отмечено выше дает только локальный экстремум. Решим эту задачу поэтапно, основываясь на принципе оптимальности Беллмана. Построим функциональное уравнение для определения максимума функции

fn(x) = max Wn(x, y, y1, …, yn–1)

как рекуррентное соотношение.

Сначала рассмотрим двухэтапный процесс

f2(x) = max {g(y) + h(x – y) + f1[ay + b(x – y)]}= = max {W1(x, y) + f1[ay + b(x – y)]}.

Рассуждая аналогично, получим основное функциональное уравнение для n этапов

fn(x) = max {g(y) + h(x – y) + fn–1[ay + b(x – y)]}= = max {W1(x, y) + fn–1[ay + b(x – y)]}.

Это уравнение позволяет одну n-мерную задачу привести к последовательности n одномерных задач.

Пример 6.2 [7]. Для развития двух предприятий на пять лет выделено х средств. Количество средств, выделенных для первого предприятия (у) дает годовой доход g(y) = y2 и уменьшиться до величины g(y) = 0,75y.

А для второго предприятия, соответственно

h(x – y) = 2(x – y)2 и ρ(x – y) = 0,3(x – y).

Надо максимизировать полный доход за 5 лет (этапов).

Нахождение оптимального решения начинается с пятого этапа, в начале которого надо распределить остаток средств x4. Для этого необходимо определить оптимальное значение y5. Так как

shukaev324.wmf

то shukaev325.wmf

Взяв первую производные от W5 получим

shukaev326.wmf shukaev327.wmf

Вторая производная

shukaev328.wmf

больше нуля и найденное решение соответствует минимуму, а оптимальное решение будет на границе, т.е. y5 = 0. Тогда условный максимальный доход за один пятый год будет

shukaev329.wmf

т.е. все оставшиеся средства выделяются на второе предприятие.

Теперь перейдем на четвертый этап, оптимизирующий доход за два последних года

shukaev330.wmf

Здесь x4 сумма оставшихся средств после четвертого этапа

x4 = 0,75y4 + 0,3(x3 – y4).

Тогда функциональное уравнение примет вид

shukaev331.wmf

Взяв производную из выражения в фигурной скобке найдем

x4 = 0,75x3.

Вторая производная здесь также указывает на минимум и оптимальное решение снова лежит на концах интервала [0; x3], т.е. все средства в начале четвертого этапа также выделяются второму предприятию и y4 = 0

shukaev332.wmf

Напишем функциональное уравнение для третьего этапа, где f3(x2) – максимальный доход за последние три года

shukaev333.wmf

где x3 = 0,75y3 + 0,3(x2 – y3).

Поступая аналогично предыдущим операциям найдем, что оптимальное решение будет

y3 = x2 и shukaev334.wmf

т.е. средства выделяются первому предприятию.

Функциональное уравнение для второго этапа будет

shukaev335.wmf

Здесь также средства выделяются первому предприятию y2 = x1 и shukaev336.wmf.

Наконец составляем функциональное уравнение для первого этапа

shukaev337.wmf

Здесь оптимальное решение y1 = x, т.е. все средства передаются первому предприятию.

Таким образом, оптимальная стратегия состоит в том, чтобы первые три года средства выделялись только первому предприятию, а два последних года – второму предприятию. При этом максимальный доход за пять лет составит

f5(x) = 2,27x2.


Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1.074