- •Содержание
- •Введение
- •Тема 1. Экономико-математические методы и модели и их классификация
- •1.1. Социально-экономические системы, методы их исследования и моделирования
- •1.2.Этапы экономико-математического моделирования, классификация экономико-математических моделей и методов
- •Примеры описательных моделей
- •Тема 2. Балансовый метод в экономике
- •2.1. Общие понятия балансового метода, принципиальная схема межпродуктового баланса
- •2.2. Экономико-математическая модель межотраслевого баланса
- •2.3. Плановые расчеты на основе матричных моделей систем производства и распределения продукции
- •2.3.1. Методика расчета планового баланса по заданным валовым выпускам продукции Xiпл
- •2.3.2. Коэффициенты полных материальных затрат и методы их расчета
- •2.3.3. Методика расчета планового баланса по заданным плановым уровням конечной продукции Yiпл
- •2.4. Пример расчета планового баланса для трехотраслевой экономической системы
- •2.5. Использование балансового метода на предприятии
- •Тема 3. Математические методы сетевого планирования и управления
- •3.1. Основные понятия сетевой модели
- •Распределение (расслоение) вершин сетевого графика по рангам
- •3.2. Анализ сетевого графика и расчет его временных характеристик
- •3.2.1. Расчет временных характеристик событий
- •3.2.2. Расчет временных характеристик работ
- •3.3. Сетевое планирование в условиях неопределенности
- •Вероятностные оценки продолжительности работ
- •3.4. Оптимизация сетевой модели
- •Краткая характеристика метода оптимизации
- •Тема 4. Классификация задач математического программирования и область их эффективного применения в экономике
- •4.1. Математическая постановка и структура задачи оптимизации
- •4.2. Краткая классификация методов математического программирования
- •Тема 5. Линейное программирование
- •5.1. Предмет линейного программирования
- •5.2. Построение оптимизационных моделей для решения экономических задач
- •5.3. Общая задача линейного программирования. Основные определения
- •5.4. Графический метод решения задач линейного программирования
- •I этап. Графическая интерпретация области допустимых решений
- •II этап. Графическая интерпретация целевой функции
- •III этап. Нахождение оптимального решения
- •5.5. Примеры решения задач линейного программирования графическим методом
- •5.6. Понятие о симплекс-методе озлп
- •5.7. Каноническая форма задач линейного программирования
- •5.8. Базисные решения задачи линейного программирования
- •5.9. Алгоритм симплекс-метода озлп
- •5.10.Примеры решения задач линейного программирования симплекс-методом
- •Тема 6. Двойственность в линейном программировании
- •6.1.Понятие двойственности. Построение двойственных задач и их свойства
- •6.2. Основные теоремы двойственности и их экономическое содержание
- •Первая теорема двойственности
- •Вторая теорема двойственности (теорема о дополняющей нежесткости)
- •6.3.Экономическая интерпретация двойственной задачи Пример 1. Задача оптимального использования ресурсов.
- •6.4.Экономико-математический анализ полученных оптимальных решений
- •Свойство 1. Оценки как мера дефицитности ресурсов
- •Свойство 2. Оценки как мера влияния ограничений на функционал
- •Свойство 3. Оценки - инструмент определения эффективности отдельных вариантов (технологических способов) с позиций общего оптимума
- •Тема 7. Транспортная задача линейного программирования
- •7.1. Постановка транспортной задачи
- •Классическая постановка транспортной задачи
- •Модели транспортной задачи
- •7.2.Методы построения исходного плана
- •Метод северо-западного угла
- •Метод минимального элемента
- •7.3.Оптимизация исходного базисного плана перевозок. Метод потенциалов
- •Основные процедуры метода потенциалов
- •Алгоритм метода потенциалов
- •7.4. Пример решения транспортной задачи
- •7.5. Применение модели транспортной задачи при решении различных экономических задач
- •Тема 8. Модели и методы дискретного программирования
- •8.1. Постановка задачи дискретного программирования
- •Задача о назначении (проблема выбора, задача о женихах и невестах)
- •8.2.Краткая классификация математических моделей дискретного программирования
- •8.3.Методы решения задач дискретного программирования
- •8.3.1. Методы отсечения для решения полностью целочисленной задачи линейного программирования
- •8.3.2.Сущность метода ветвей и границ
- •Тема 9. Модели и методы динамического программирования
- •9.1. Моделирование процессов наилучшего распределения ресурсов методом динамического программирования
- •Итоговая таблица условно-оптимальных решений
- •Графики предельной и средней эффективности
- •Тема 10. О других моделях и методах математического программирования
- •10.1.Нелинейное программирование
- •10.2.Стохастическое программирование
- •Тема 11. Модели конфликтных ситуаций в теории игр
- •11.1.Основные понятия теории игр
- •11.2.Решение игры в чистых стратегиях
- •11.3.Решение игры без седловой точки
- •Графический способ решения матричной игры
- •11.4. Пример решения экономической задачи методами теории игр
- •Тема 12. Модели управления запасами
- •12.1. Основные понятия
- •12.2. Статические модели управления запасами Уилсона
- •12.2.1. Статическая модель без дефицита
- •12.2.2. Статическая модель с дефицитом
- •12.3. Модели со случайным спросом
- •Тема 13. Модели массового обслуживания
- •Литература
Тема 9. Модели и методы динамического программирования
9.1. Моделирование процессов наилучшего распределения ресурсов методом динамического программирования
Основные идеи, приведшие к созданию метода динамического программирования, развиты американским ученым Беллманом в начале 1950-х годов.
В задачах динамического программирования процесс принятия решений распадается на ряд последовательных этапов, что дает возможность принять ряд последовательных решений, обеспечивающих оптимальность развития экономического процесса в целом. В результате строится такая вычислительная схема, согласно которой решение сложной многовариантной задачи заменяется многократным решением относительно простой задачи, что позволяет значительно сократить объем вычислений.
Представим себе некоторый процесс, распадающийся на несколько этапов, например производство на предприятии в течение ряда лет. Пусть эффективность деятельности предприятия характеризуется некоторым показателем, например получаемой прибылью. Для функционирования предприятия в каждый из годов t = 1, ..., n используется некоторый ресурс (например, капиталовложения), причем потребление этого ресурса за n лет не должно превысить заданную величину S.
Известно, что при выделении ресурса в количестве хt в год предприятие получает прибыль в размере .
Покажем возможные распределения ресурса и получаемой прибыли по годам:
-
x1
x2
xt
xn
1
2
t
n
Покажем динамику получения прибыли:
-
1
2
t
n
Итак, от распределения ресурса во времени существенно зависит и динамика получаемой прибыли.
Требуется так распределить ресурс S по годам рассматриваемого периода, чтобы суммарная прибыль была максимальной, т.е. необходимо найти такой неотрицательный вектор Х = (х1, ..., хn), при котором функция прибыли Z принимает наибольшее значение.
Математическую модель такого распределения можно записать следующим образом:
|
Отсюда видно, что сумма прибыли складывается из прибылей, получаемых по годам. Процесс распределения ресурса, о котором идет речь, это управляемый процесс, т.е. мы может выбирать параметры хt, которые влияют как на получение прибыли в каждом году, так и на общую величину прибыли.
Процесс распределения, например капиталовложений, в динамике естественным образом распадается на n шагов, где t-й шаг - это выделение предприятию капиталовложений в году t.
Такую же математическую модель получим, если ресурс будет распределяться не по годам, а между n различных предприятий в одном периоде (году).
Аналогичную модель получим, если рассмотрим задачу о распределении заданного объема работ по разным видам оборудования.
В соответствии с объемом выполняемой работы могут существенно различаться и эксплуатационные расходы. Задача может состоять в таком распределении работ по видам оборудования, чтобы суммарные эксплуатационные расходы были минимальными.
Любую многошаговую задачу можно решать по-разному: или все параметры находить сразу, за один шаг, или строить оптимальное управление постепенно, шаг за шагом.
Обычно второй способ значительно проще, особенно при большом числе шагов.
Идея последовательной оптимизации и составляет суть метода динамического программирования.
Нельзя считать пошаговой или последовательной оптимизацией то, что вся задача разбивается на ряд малых, которые решаются отдельно и независимо друг от друга.
Решение, принимаемое на одном шаге, должно быть дальновидным, учитывающим все последствия, к которым оно может привести в будущем.
Только на последнем шаге решение может быть принято без прогноза на будущее. На последнем шаге метода динамического программирования оптимизация означает максимальную эффективность только одного этого шага.
Проиллюстрируем идею метода динамического моделирования на примере задачи оптимального распределения ресурсов.
Рассмотрим следующую ситуацию.
Объединение располагает финансовыми средствами в 5 млн. руб., которые оно намерено использовать для реконструкции и модернизации четырех своих предприятий. В зависимости от величины используемых капиталовложений предприятие ежегодно получает прирост прибыли в размерах, показанных таблице:
Таблица исходных данных
Капиталовложения (млн. руб.) |
Прирост прибыли (млн. руб.) |
|||
0 |
0 |
0 |
0 |
0 |
1 |
0,28 |
0,25 |
0,15 |
0,20 |
2 |
0,45 |
0,41 |
0,25 |
0,33 |
3 |
0,65 |
0,55 |
0,40 |
0,42 |
4 |
0,78 |
0,65 |
0,50 |
0,48 |
5 |
0,90 |
0,75 |
0,62 |
0,53 |
Здесь - прирост прибыли, полученный на k-м предприятии при величине капиталовложений хk. Эти функции заданы в табличной форме.
Требуется так распределить капиталовложения между предприятиями, чтобы прирост прибыли был наибольшим.
Тогда математическая модель задачи запишется так:
|
|
|
Целевая функция Z(x1, x2, x3, x4) выражает общий ежегодный прирост прибыли объединения, соответствующий распределению капиталовложений между четырьмя предприятиями Х=(x1, x2, x3, x4).
1. Обозначим через f1(S)=max максимальный прирост прибыли при , который может быть получен на первом предприятии в случае выделения ему S единиц капиталовложений. Так как все функции монотонно возрастают, ясно, что прирост прибыли будет наибольшим, если предприятие освоит все выделенные ему капиталовложения. Поэтому можно записать, что:
(1) |
2. Пусть теперь S млн. руб. капиталовложений распределяются между первым и вторым предприятиями, т.е. капиталовложения должны быть разделены на две части (х2; S-x2), где х2 - капиталовложения, выделяемые второму предприятию, а S-x2 - остающаяся для первого предприятия часть.
В результате такого распределения прирост прибыли на первом предприятии составит величину f1(S-x2), на втором - , а общий прирост будет равен f1(S-x2)+ .
Будем выбирать величину х2 таким образом, чтобы общий прирост прибыли на 1-м и 2-м предприятиях был наибольшим.
Обозначим через f2(S) получаемый при выборе х2 максимальный прирост прибыли на обоих предприятиях, т.е.
f2(S)=(+f1(S-x2)) |
(2) |
Отметим, что задача (2) является однопараметрической задачей (задачей максимизации, зависящей только от одной искомой переменной х2).
Обозначим через х2(S) величину капитальных вложений, выделяемых 2-му предприятию из S млн. руб. капиталовложений, обеспечивающую суммарный максимальный прирост прибыли на двух предприятиях.
Управление (решение) х2(S) называется условно-оптимальным, так как оно оптимально при условии, если первым двум предприятиям выделяются капиталовложения в объеме S единиц.
Далее в соответствии с методом динамического программирования следует построить еще функции f3(S) и f4(S).
3. Функция f3(S) выражает максимальный прирост прибыли, который может быть получен на трех предприятиях в случае распределения между ними S млн. руб. капиталовложений. Эта функция строится по такому же принципу, как и функция f2(S), а именно:
f3(S)=(+f2(S-x3)) |
(3) |
Задача (3) - это задача принятия решений на 3-м шаге, т.е. задача определения капиталовложений третьему предприятию. Эта задача решается для каждого значения S=. В результате решения определяются две величины: величина х3(S) - условно-оптимальный объем капиталовложений, выделяемых 3-му предприятию, и f3(S) - прирост прибыли на трех предприятиях в случае наилучшего распределения между ними S млн. руб.
4. Последней задачей в нашем примере будет задача поиска условно-оптимальных решений х4(S) для четвертого предприятия, т.е. следующая задача максимизации:
f4(S)=(+f3(S-x4)) |
(4) |
Уравнения (1)-(4) называются рекуррентными уравнениями Беллмана.
Задача распределения ресурса с использованием рекуррентных уравнений Беллмана решается в два этапа.
I этап. Последовательно решаются задачи (1)-(4). Результаты их решения: - можно представить в виде следующей сводной, или итоговой таблицы: