Научная статья на тему 'Принцип оптимальности Беллмана в задаче оптимального распределения средств между предприятиями на расширение производства'

Принцип оптимальности Беллмана в задаче оптимального распределения средств между предприятиями на расширение производства Текст научной статьи по специальности «Математика»

CC BY
1276
87
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Вестник университета
ВАК
Область наук
Ключевые слова
ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ / ЭКОНОМИЧЕСКИЕ ЗАДАЧИ / ПРИНЦИП ОПТИМАЛЬНОСТИ БЕЛЛМАНА / МНОГОШАГОВАЯ ЗАДАЧА / РЕКУРРЕНТНОЕ СООТНОШЕНИЕ / МАКСИМИЗИРУЮЩИЕ ЗНАЧЕНИЯ / DYNAMIC PROGRAMMING / ECONOMIC PROBLEMS / BELLMAN’S OPTIMALITY PRINCIPLE / MULTI-STEP PROBLEM / RECURRENCE RELATION / MAXIMIZING VALUES

Аннотация научной статьи по математике, автор научной работы — Тарасенко А. В., Егорова И. П.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

THE OPTIMAL PRINCIPLE OF BELLMAN IN THE PROBLEM OF OPTIMAL MEANS DISTRIBUTION BETWEEN ENTERPRISES FOR THE EXPANSION OF PRODUCTION

The method of dynamic programming has been considered, which is used in solving multiple problems in economics, on the example of using Bellman’s optimality principle for solving nonlinear programming problems. On a specific numerical example, the features of the solution have been shown in detail with all the calculations. The problem of optimal distribution of funds among enterprises for the expansion of production has been formulated, which would give the maximum total increase in output. The solution of the task has been presented in the case, when the number of enterprises is 3. It has been shown, that the Bellman optimality principle allows you solve applied problems of cost forecasting with obtaining the optimal solution-maximum profit at minimum costs.

Текст научной работы на тему «Принцип оптимальности Беллмана в задаче оптимального распределения средств между предприятиями на расширение производства»

УДК 08.00.13

JEL C61

Тарасенко Анна Валерьевна

канд. физ.-мат. наук, ФГБОУ ВО «Самарский государственный технический университет», г. Самара, Российская Федерация e-mail: [email protected]

Егорова Ирина Петровна

канд. физ.-мат. наук, ФГБОУ ВО «Самарский государственный технический университет», г. Самара, Российская Федерация e-mail: ira. egorova81 @yandex. ru

Tarasenko Anna

Candidate of Physical and Mathematical Sciences, Samara State Technical University, Samara, Russia e-mail: [email protected]

Egorova Irina

Candidate of Physical and Mathematical Sciences, Samara State Technical University, Samara, Russia e-mail: ira. egorova81 @yandex. ru

DOI 10.26425/1816-4277-2019-10-132-138

ПРИНЦИП ОПТИМАЛЬНОСТИ БЕЛЛМАНА В ЗАДАЧЕ ОПТИМАЛЬНОГО РАСПРЕДЕЛЕНИЯ СРЕДСТВ МЕЖДУ ПРЕДПРИЯТИЯМИ НА РАСШИРЕНИЕ ПРОИЗВОДСТВА

Аннотация. Рассмотрен метод динамического программирования, применяющийся в решениях многих задач по экономике, на примере использования принципа оптимальности Бел-лмана для решения задач нелинейного программирования. На конкретном численном примере подробно показаны особенности решения со всеми вычислениями. Сформулирована задача оптимального распределения средств между предприятиями на расширение производства, которое давало бы максимальный общий прирост выпуска продукции. Приведено решение поставленной задачи для случая трех предприятий. Показано, что принцип оптимальности Беллмана позволяет решать прикладные задачи прогнозирования затрат с получением оптимального решения - максимальной прибыли при минимальных затратах. Ключевые слова: динамическое программирование, экономические задачи, принцип оптимальности Беллмана, многошаговая задача, рекуррентное соотношение, максимизирующие значения.

Цитирование: Тарасенко А.В., Егорова И.П. Принцип оптимальности Беллмана в задаче оптимального распределения средств между предприятиями на расширение производства//Вестник университета. 2019. № 10. С. 132-138.

THE OPTIMAL PRINCIPLE OF BELLMAN IN THE PROBLEM OF OPTIMAL MEANS DISTRIBUTION BETWEEN ENTERPRISES FOR THE EXPANSION OF PRODUCTION

Abstract. The method of dynamic programming has been considered, which is used in solving multiple problems in economics, on the example of using Bellman's optimality principle for solving nonlinear programming problems. On a specific numerical example, the features of the solution have been shown in detail with all the calculations. The problem of optimal distribution offunds among enterprises for the expansion of production has been formulated, which would give the maximum total increase in output. The solution of the task has been presented in the case, when the number of enterprises is 3. It has been shown, that the Bellman optimality principle allows you solve applied problems of cost forecasting with obtaining the optimal solution-maximum profit at minimum costs.

Keywords: dynamic programming, economic problems, Bellman's optimality principle, multi-step problem, recurrence relation, maximizing values.

For citation: Tarasenko A.V., Egorova I.P. The optimal principle of Bellman in the problem of optimal means distribution between enterprises for the expansion of production (2019) Vestnik universiteta, I. 10, pp. 132138. doi: 10.26425/1816-4277-2019-10-132-138

В различных областях человеческой жизнедеятельности часто оказывается полезным принимать решения не сразу, а постепенно, шаг за шагом. Таким образом, принятое решение рассматривается не как единичный процесс, а как процесс, который состоит из нескольких уровней. Такая схема уже довольно длительное время используется при решении некоторых частных вопросов. Одним из математических методов, который применяет данный подход, и который применяется при решении экономических задач, является динамическое программирование. Большой вклад в развитие теории динамического программирования внес американский математик Р. Беллман в 50-х гг. XX в. [2].

© Тарасенко А.В., Егорова И.П., 2019. Статья доступна по лицензии Creative Commons «Attribution» («Атрибуция») 4.0. всемирная (http://creativecommons.org/licenses/by/4.0/).

The Author(s), 2019. This is an open access article under the CC BY 4.0 license (http://creativecommons.org/licenses/by/4.0/).

Предметом динамического программирования является изучение многошаговых задач и их решений. В основе динамического программирования лежит принцип оптимальности, который имеет широкую сферу приложений в реальных жизненных процессах.

Динамическое программирование связано с временным процессом, динамика заключается не в решаемых задачах, а в методе решения. Решение задачи разбивается на шаги, которые последовательно решаются, приводя в итоге к искомому решению [4]. При этом решения на каждом шаге принимаются, исходя из интересов всего процесса в целом, а не каждого шага в отдельности. Процессы принятия решений, которые базируются на таком принципе, принято называть многошаговыми.

Метод динамического программирования состоит из 2-х этапов:

- получение основного рекуррентного соотношения;

- фактическое решение, причем практически во всех случаях состоит в численном решении основного рекуррентного соотношения.

Динамическое программирование применяют в различных областях экономики, и в настоящее время данный метод рассматривается многими исследователями. Широкий класс экономических задач составляют такие задачи, в которых идет речь о наиболее целесообразном распределении во времени каких-либо ресурсов, например, денежных средств, рабочей силы, сырья, топлива и т. п. [1; 3; 5]. При решении задач по динамическому программированию используют так называемый принцип оптимальности, который впервые был сформулирован для решения задач на экстремум Р. Беллманом.

Оптимальная последовательность решений обладает тем свойством, что независимо от первоначального состояния и решения, принятого в первый момент, последующие решения должны быть оптимальными относительно состояния, получающегося из исходного в результате первого решения.

Геометрической интерпретацией этого принципа может служить кривая А В быстрейшего спуска из А в В материальной точки (брахистохрона). Для любой промежуточной точки С участок пути СВ на брахистохроне должен минимизировать время движения материальной точки из С в В при заданной в точке С начальной скорости (независимо от способа попадания материальной точки в точку С).

Рассмотрим следующий методический пример, применим принцип оптимальности Беллмана для решения задачи нелинейного программирования. Требуется определить неотрицательные значения переменных, хг, х2 ,... , хп, удовлетворяющих неравенству:

(где а а, ... а Ь - постоянные коэффициенты, п - натуральное число), для которых целевая функция

принимает наибольшее значение.

Целевой функцией называется вещественная или целочисленная функция нескольких переменных, которая подлежит оптимизации (максимизации или минимизации) в целях решения некоторой оптимизационной задачи. В (1) и (2) постоянные а Ь и функции/¡(х) известны, и предполагается, что задача (1), (2) имеет единственное решение.

Рассмотрим следующую вспомогательную задачу: найти неотрицательные значения переменныхх ..., хк, удовлетворяющих неравенству:

аххх +а2х2 + ... + апхп <Ь,а, >0, (/=1,2, 3, ... , и),

(1)

/1ОО + /2ОГ2 ) + -+ЛОО

(2)

а1х1 +апхп + ... + акхк <5,

(3)

для которых целевая функция:

/ (Х1 ) + Л (Х2 ) + • • • + /к (Хк )

(4)

принимает наибольшее значение.

Эту задачу, назовем ^-шаговой подзадачей, а величину 5 - параметром состояния. При к =п и 5 = Ь получаем исходную задачу (1), (2).

Обозначим максимальное значение целевой функции в ^-шаговой подзадаче через

к

Rk(5)= max J]/(х,.). (5)

5 <=1

¿=1

Если в задаче (3), (4) временно зафиксировать переменную хк, то остальные переменные хр х2,... , хы, как это непосредственно следует из (3), должны удовлетворять неравенству:

А-1

<5 -акхк.

Поэтому при фиксированном значении переменной х для максимума целевой функции (4) имеем:

к ■

к к-1

max Y, f, (х,) = fk (ха ) + м max X fi(х<) = Л (ха■) + Rk-i (5 - акхк), (6)

i=1 i=l

где ! (d-£7; x;) - максимальное значение целевой функции (к-1 )-шаговой подзадачи с параметром состояния 5 -акхк, отличным от параметра состояния 5 ^-шаговой подзадачи.

Если функция R (5 — акх^) найдена или хотя бы определена для любого допустимого значения х;. • (0 <х; < < 6/af ). то, переходя в (6) к максимуму по хк, получаем:

Rk(5)= max [fk(xk) + Rk ,(5-я,*,)]. (7)

i)<xt<a/at

Так как форма данной задачи (1), (2) инварианта относительно п, то равенство (6) можно рассматривать как рекуррентное соотношение для определения функции R (5), к = 2, 3,..., п. При этом начальное условие i?j(5) определяется из равенства (5):

Д(8)= max /(д),

u nu^

а искомый максимум при Rn(8).

Инвариант (или инвариантность) - свойство некоторого класса (множества) математических объектов, остающееся неизменным при преобразованиях определенного типа.

Рекуррентным соотношением или рекуррентной формулой называется такая формула, которая позволяет вычислить каждый член последовательности, если заданы ее первые к члены. Рекуррентное соотношение (7) можно также получить непосредственно из принципа оптимальности, согласно которому целевая функция ^-шаговой подзадачи с параметром состояния 5 для данного хк равна вкладу /¿(х,) от к-то шага плюс оптимальный вклад Rk (Ь-ак х;) от (к- 1)-шаговой подзадачи.

Максимизирующим значением (или аргументом максимизации) называется величина аргумента, при которой рассматриваемое выражение достигает максимума. (Аналогично вводится понятие аргумента минимизации - величина, при которой данное выражение достигает минимума).

Допустимое значение переменной хк = хк(8). 0<х;. < 5/ак максимизирующее функцию fk(xk)+Rk_l(b-akxk), явно зависит от 5, то есть хк = хк (8). После того, как при помощи рекуррентного соотношения (7) найдены R (5) и функции, хк = хк (8), к = 1, 2, ... , п, искомые максимизирующие значения х *, х*, ... , х *. опре-

* — /1 \

деляются следующим образом: прежде всего, очевидно, что хп = хп(о). Далее, так как оставшиеся переменные х х0,... , х должны удовлетворять неравенству

77-1

7=1

то. „_1

К IФ - а„х*„) = ^ шах (х>) •

'=1

¿=1

Поэтому имеем:

Ci =

Аналогично получаем:

х* = х„ - а, „х* - а„ ,х* ,).

п—2 п—2 V ИИ и—1 п— 1 ^

И Т. д.

Рекуррентное соотношение (7) позволяет сравнительно просто определить оптимальное значение R (5) целевой функции ^-шаговой подзадачи, если уже найдено для всех значений ц из некоторого множества оптимальное значение Rt Дц) целевой функции (к-1 )-шаговой подзадачи. При этом автоматически находится условное оптимальное управление хк = хк (5) . На последнем (во времени) шаге получаем искомые оптимальные значения R (5) и хк = хк (5) , где b - параметр состояния исходной задачи. Остальные оптимальные значения х" п р х* ... , х* находятся обратной подстановкой.

Одна из замечательных особенностей метода динамического программирования состоит в том, что при использовании этого метода, наряду с решением данной задачи, автоматически получают решения целого семейства сходных задач (для значений параметров состояния, меньших Ь, и размерностей задачи, меньших п).

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

Как правило, метод динамического программирования применяется для решения задач на отыскание экстремумов, в которых целевая функция, а также функции, входящие в ограничения, являются аддитивными.

Функции п переменных, представляемых в виде суммы п функций, каждая из которых зависит только от одной переменной, называются аддитивными.

Теперь мы раздерем конкретный пример. В данной статье мы подробно рассмотрим задачу оптимального распределения средств на расширение производства следующего содержания: салон красоты Perfect Image ИП С. В. Скворцовой в г. Самара оказывает три вида услуг (/' = 1, 2, 3):

- услуги эпиляции;

- маникюр и педикюр;

- наращивание ресниц и окраска бровей.

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

Через х обозначим количество средств, которые выделяются каждому из видов услуг. По каждой услуге указан возможный прирост прибылиДх) в зависимости от выделенной суммы х Требуется так распределить между этими услугами салона красоты средства С = 210 тыс. денежных единиц, чтобы общая прибыль была максимальной.

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

Значение fix) прибыли от оказанных услуг в зависимости от выделенной суммы х (без учета затрат на оплату коммунальных услуг, аренды помещения, налоговых выплат и денежных средств на закупку нового расходного материала) приведены в таблице 1.

Данные в таблице в столбцах fix) имеет нелинейную зависимость сходя из спроса на виды услуг в каждый сезон, например, в предпраздничные дни, такие как Новый год, 8 Марта, выпускные, сезон свадеб и сезон отпусков, спрос на данные виды услуг увеличивается, соответственно возрастает прибыль, и, наоборот, в период «затишья» (после праздников) спрос падает, соответственно уменьшается прибыль.

Таблица 1

Прирост прибыли в зависимости от выделенных средств

Средства, тыс. ден. ед. Виды услуг

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

№ 1 № 2 № 3

Прирост прибыли Дх), тыс. ден. ед.

№ № №

0 0 0 0

35 30 19 20

70 42 37 63

105 85 90 82

140 112 119 121

175 162 128 140

210 182 179 181

Составлено авторами по материалам исследования Решение.

Основываясь на принципе оптимальности Беллмана, основное рекуррентное соотношение для поставленной задачи имеет вид

Rk (5) = таx[fk (xk) + Rk_, (5 - )], к = 2,3, (8)

где максимум берется по всем хк, равным 0, ... , 5 [2; 4]. Причем при к= 1

Rl(8) = шах/(Xj) = fx(5), хх = 5, хх=Ъ, (9)

где 5 - параметр состояния ^-шаговой подзадачи; хк - переменная, условное оптимальное значение которой; хк = хк (5) определяется на к-м шаге.

При к = 1 все средства вкладываются в одно предприятие. Используя данные из таблицы 1 и применяя формулу (9), результаты запишем в таблицу 2.

Таблица 2

Оптимальные значения целевой функции при вложении в одно предприятие

Ö=Xj Я,(6) X,

0 0 0

35 30 35

70 42 70

105 85 105

140 112 140

175 162 175

210 182 210

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

При к=2 все средства вкладываются в два предприятия. Тогда из (8) рекуррентное соотношение имеет вид

= тах1/2 (х2) + Я, (5 - х2)] (Ш)

136

При к=3 все средства вкладываются в три предприятия. Из (8) рекуррентное соотношение в данном случае примет следующий вид

Я3(8) = тах[/3(х3) + Л,(8-х3)]. (11)

Лз=<Л...,5

Используя данные из таблиц 1, 2, и применяя формулы (10), (11), результаты вычислений запишем в таблицу 3.

Таблица 3

Оптимальные значения целевых функций при вложении в два и в три предприятия

б „И II К) 6-х., г =2,3 /2(х2)=й1(б-х2) Л2 /З(*З)=Д2(8-*3) й3(6)

0 35 30 30

35 30 0 30 0

35 0 19 20

0 70 42 49

70 35 35 49 Л О 50

70 0 37 63 63 70

0 105 85 90

1 Ач 35 70 61 69

70 35 67 93 93

105 0 90 90 105 82 /и

0 140 112 120

35 105 104 110

140 70 70 79 112

105 35 120 120 105 112

140 0 119 121 121 140

0 175 162 162

35 140 131 140

70 105 122 153

175 162 0 162 0

105 70 132 131

140 35 149 151

175 0 128 140

0 210 182 182

35 175 181 182

70 140 149 183

210 105 105 175 182 0 172

140 70 161 170 183 70

175 35 158 170

210 0 179 181

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

Применяя формулы [2; 4]:

Хп-\ = Хп-\ (С ~~ Хп X

определим искомые максимизирующие значения, х*, х*, х* (ассигнования трем предприятиям) определяют следующим образом (по условию С=210 тыс. ден. ед.):

1. Из таблицы 3 следует: х'3 = х3(С-х*) = х3(210-0) = х3(210) = 70 ;

2. Из таблицы 3 следует: х2 = х2(С-х!) = х2(210-70) = х2(140) = 105 ;

3. Из таблицы 3 следует: х* = х1 (С - х! - х2) = хг (210 - 70 -105) = (3 5) = 3 5 .

Основываясь на результатах вычислений, можно сделать следующий вывод: из последней таблицы следует, что максимальная прибыль составляет 183 тыс. ден. ед. (R3 (210) = 183), если выполнено распределение денежных средств по всем трем видам услуг, при котором на услугу № 3 «наращивание ресниц и окраска бровей» должно быть выделено 70 тыс. ден. ед. (х3* = 70), на услугу № 2 «маникюр и педикюр» - 105 тыс. ден. ед. (х2* = 105), услуге № 1 «услуги эпиляции» - 35 тыс. ден. ед. (x1* = 35).

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

Библиографический список

1. Афанасьев, М. Ю. Суворов, Б. П. Исследование операций в экономике: модели, задачи, решения. - М.: ИНФРА-М, 2003. - 444 с.

2. Беллман, Р. Динамическое программирование. - М.: Изд-во иностранной литературы, 1960. - 401 с.

3. Кремер, Н. Ш., Путко, Б. А., Тришин, И. М., Фридман, М. Н. Исследование операций в экономике: Учеб. пособие для вузов. - М.: ЮНИТИ, 2002. - 407 с.

4. Лежнев, А. В. Динамическое программирование в экономических задачах: учебное пособие. - М.: БИНОМ. Лаборатория знаний, 2010. - 176 с.

5. Токарев, В. В. Модели и решения: Исследование операций для экономистов, политологов и менеджеров - М.: Физматлит, 2014. - 408 с.

References

1. Afanas'ev M. Yu., Suvorov B. P. Issledovanie operatsii v ekonomike: modeli, zadachi, resheniya [Operations research in Economics: models, tasks, solutions], Moscow, INFRA-M, 2003, 444 p.

2. Bellman R. Dinamicheskoe programmirovanie [Dynamic programming], Moscow, Izd-vo inostrannoi literatury, 1960, 401 p.

3. Kremer N. Sh., Putko B. A., Trishin I. M., Fridman M. N. Issledovanie operatsii v ekonomike: Ucheb. posobie dlya vuzov [Operations research in Economics: textbook for universities], Moscow, YuNITI, 2002, 407 p.

4. Lezhnev A. V. Dinamicheskoe programmirovanie v ekonomicheskikh zadachakh: uchebnoe posobie [Dynamic programming in economic problems: textbook], Moscow, BINOM, Laboratoriya znanii, 2010, 176 p.

5. Tokarev V V. Modeli i resheniya: Issledovanie operatsii dlya ekonomistov, politologov i menedzherov [Models and solutions: operations Research for economists, political scientists and managers], Moscow, Fizmatlit, 2014, 408 p.

i Надоели баннеры? Вы всегда можете отключить рекламу.