- •1.1 Понятие и классификация экономико-математических моделей
- •1.2. Примеры типовых экономико-математических моделей
- •Модуль 2. Сетевые модели в планировании и управлении
- •2.1. Элементы и правила построения сетевой модели
- •2.3. Алгоритм расчета параметров детерминированной сетевой модели
- •2.3. Диаграмма затрат ресурсов и ее оптимизация
- •2.4. Сетевые модели в условиях полной неопределенности
- •2.5. Вопросы для самоконтроля
- •2.6. Тесты. Сетевые модели
- •2.7. Практикум
- •Модуль 3. Экономико-математическая модель межотраслевого баланса «затраты – выпуск»
- •Модель «Затраты–Выпуск». Открытая модель Леонтьева
- •3.2. Замкнутая модель Леонтьева
- •3.3. Динамическая модель Леонтьева
- •3.4. Матричные модели предприятий, фирм
- •3.5. Вопросы для самоконтроля
- •3.6. Тесты. Балансовые модели
- •3.7. Практикум
- •1. Матрица внутрифирменных связей:
- •2. Матрица распределения чистой продукции:
- •3. Матрица затрат ресурсов (фонд заработной платы, материалы, э/энергия, износ оборудования):
- •Модуль 4. Методы и модели линейного программирования
- •4.1. Математическая модель общей задачи линейного программирования
- •4.2. Симплекс - метод решения задач линейного программирования
- •4.3. Двойственность в линейном программировании
- •4.4. Решение задач линейного программирования средствами excel
- •4.5. Вопросы для самоконтроля
- •4.6. Тесты. Линейное программирование
- •4.7. Практикум
- •Модуль 5. Транспортные задачи линейного программирования
- •5.1. Постановка и математическая модель транспортной задачи
- •Математическая модель тз:
- •5.2. Алгоритм решения транспортной задачи методом потенциалов
- •5.3. Транспортная задача с ограничениями на пропускную способность
- •5.4. Метод потенциалов для задачи Td
- •5.5. Вопросы для самоконтроля
- •5.6 Тесты. Транспортные задачи
- •5.7. Практикум
- •Модуль 6. Динамическое программирование
- •6.1. Оптимальное распределение ресурсов
- •6.2. Задача о замене оборудования
- •6.3. Применение динамического программирования в вопросах перспективного планирования.
- •6.4. Выбор оптимальных маршрутов методом динамического программирования
- •6.5. Вопросы для самоконтроля
- •6.6. Тесты. Динамическое программирование
- •6.7. Практикум
- •Задание 4. Выбор оптимальных маршрутов и инцидентных цепей
- •7.1. Постановка и геометрический смысл общей задачи нелинейного программирования
- •7.2. Метод множителей Лагранжа
- •7.3. Градиентные методы
- •7.4. Метод Франка-Вулфа
- •7.5. Метод штрафных функций
- •7.6. Метод наискорейшего спуска
- •7.7. Вопросы для самоконтроля
- •7.8. Практикум
- •Рекомендуемая литература
- •Содержание
- •Математические методы и модели в экономике
- •Издательство
- •625000, Г. Тюмень, ул. Володарского, 38
- •625039, Г. Тюмень, ул. Киевская, 52
Модуль 6. Динамическое программирование
В задачах динамического программирования находится ряд оптимальных решений последовательно для каждого этапа, обеспечивающих оптимальное развитие всего процесса в целом.
Динамическое программирование – это метод, приспособленный для решения оптимизационных задач, связанных с многошаговыми, поэтапными процессами.
Многошаговый процесс можно интерпретировать так: весь цикл разбивается на этапы и на каждом этапе требуется принять то или иное решение.
При решении задач методом ДП вводят функцию Беллмана fk, которая представляет собой максимальную эффективность многошагового процесса, состоящего из k шагов.
Для вычисления функции Беллмана составляется, так называемое, функциональное уравнение Беллмана, позволяющее находить значение функции Беллмана fk+1, если известно fk.
При выводе уравнения Беллмана используется та или иная форма принципа оптимальности. Одной из наиболее общих формулировок является: если на первом шаге принято решение, то дальнейшее решение принимается таким образом, чтобы за оставшееся число шагов достичь максимального (минимального) результата.
-
6.1. Оптимальное распределение ресурсов
Пусть, например, n предприятий используют некоторые ресурсы. Известно, что если «K»-ому предприятию выделить Х единиц ресурсов, то количество произведенной продукции будет равно φk(Х).
Требуется распределить А единиц ресурсов между n предприятиями так, чтобы суммарный выпуск продукции был максимальным.
Обозначим через Хk количество ресурсов, которое нужно выделить к-ому предприятию, тогда математическая модель задачи запишется так:
φ1(Х1)+φ2(Х2)+…+φn (Xn) → max
при ограничениях
Если φ1, …, φn – линейные функции, то задача решается методами линейного программирования.
Если φ1, …, φn – нелинейные дифференцируемые функции, то задача решается методами нелинейного программирования.
Если функции φ1, …, φn заданы таблично, то задача решается методами динамического программирования.
При решении задачи о распределении ресурсов введём функцию Беллмана fk(Х) – максимальное количество продукции, которое могут выпустить К предприятий, при этом αk(Х) – количество ресурса, получаемое к-ым предприятием при оптимальном распределении ресурса между первыми предприятиями.
Предположим, что fk(Х) известно, тогда вычислим fk+1(Х).
Пусть к+1-ое предприятие получает t единиц (0≤t≤X) ресурса, тогда оно выпускает φk+1(t) единиц продукции. На долю же первых к предприятий останется Х – t единиц ресурса.
В силу принципа оптимальности: чтобы получить больше продукции, необходимо распределить оптимально оставшиеся Х – t единиц ресурса между остальными к предприятиями. Тогда общий выпуск продукции будет равен φk+1(t) + fk(X – t).
Но, чтобы этот общий выпуск продукции был максимальным, необходимо t подобрать так, чтобы эта сумма достигла наибольшего значения, т.е. fk+1(Х). [14].
Итак,
– функциональное
уравнение Беллмана.
Зная f1(X), находим f2(X), затем f3(X) и т.д.
Пример
Известно, что К-ое предприятие, получив Хk единиц ресурсов, выпускает φk(Хk) единиц продукции (таблица 6.1).
Таблица 6.1
к (x) x ед. ресурсов |
Продукция предприятий (усл. ед.) |
|||
1 (x) |
2 (x) |
3 (x) |
4 (x) |
|
1 |
3 |
4 |
3 |
4 |
2 |
5 |
5 |
6 |
5 |
3 |
7 |
6 |
8 |
7 |
4 |
8 |
8 |
9 |
9 |
5 |
8 |
9 |
9 |
10 |
Требуется распределить 5 единиц некоторого ресурса между 4-мя предприятиями так, чтобы общий выпуск продукции всеми предприятиями был максимальным.
Решение.
Функциональное уравнение Беллмана для оптимального распределения ресурсов имеет вид:
(6.1)
Найдем f1(x) – максимальный выпуск продукции одним предприятием, например, первым. Если предприятие не имеет ресурса (x=0), то и нет выпуска продукции, т. е. к(0)=0, а значит и f1(0)=0.
при x=1 f1 (1) =φ1 (1) = 3,
при x=2 f1 (2) = φ1 (2) =5,
при x=3 f1 (3) = φ1 (3) =7,
при x=4 f1 (4) = φ1 (4) =8,
при x=5 f1 (5) = φ1 (5) 8,
т. е. f1 (x) = φ1 (x) и α1 (Х)=Х.
Результаты записываем в колонку f1(Х) и α1(Х) таблицы 6.2.
Таблица 6.2
Расчетная матрица
Ресурсы |
Исходная информация |
f1(х) |
1(х) |
f2(х) |
2(х) |
f3(х) |
3(х) |
f4(х) |
4(х) |
|||
X |
φ1(x) |
φ2(x) |
φ3(x) |
φ4(x) |
||||||||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
3 |
4 |
3 |
4 |
3 |
1 |
4 |
1 |
4 |
0 |
4 |
0,1 |
2 |
5 |
5 |
6 |
5 |
5 |
2 |
7 |
1 |
7 |
0,1 |
8 |
1 |
3 |
7 |
6 |
8 |
7 |
7 |
3 |
9 |
1 |
10 |
1,2 |
11 |
1 |
4 |
8 |
8 |
9 |
9 |
8 |
4 |
11 |
1 |
13 |
2 |
14 |
1 |
5 |
8 |
9 |
9 |
10 |
8 |
5 |
12 |
1,2 |
15 |
2,3 |
17 |
1 |
Для вычисления f2 (Х) и α2 (Х) составим таблицу 6.3., исходя из формулы:
(6.2)
Полученные значения f2(Х) и α2 (Х) записываем соответственно в колонки таблицы 6.2. Следует заметить, что в формуле 6.2 первое слагаемое φ2 (t) возрастает «сверху вниз», а второе слагаемое f1 (x-t) убывает «снизу вверх» (отмечено стрелками в таблице 6.2), что позволяет без дополнительной таблицы 6.3. находить максимальную сумму для каждого .
Найдем f3(Х) и α3 (Х) по формуле
(6.3)
Можно снова составить таблицу для каждого значения Х и возможных значений t (аналогично таблице 6.3) или же воспользоваться указанным выше замечанием. Вычисленные значения f3(Х) и α3 (Х) записываем в таблице 6.2
f3(0)=0, α3 (0)=0;
f3(1)=4, α3 (1)=0;
f3(2)=7, α3 (2)=0 или 1;
f3(3)=10, α3 (3)=1 или 2;
f3(4)=13, α3 (4)=2;
f3(5)=15, α3 (5)=2 или 3
Таблица 6.3
Расчет функции Беллмана
X |
t |
X-t |
2(t) |
f1(X-t) |
2(t)+ f1(X-t) |
f2(X) |
2(X) |
|
0 1 |
1 0 |
0 4 |
3 0 |
0+3 4+0 |
4 |
1 |
|
0 1 2 |
2 1 0 |
0 4 5 |
5 3 0 |
0+5 4+3 5+0 |
7 |
1 |
|
0 1 2 3 |
3 2 1 0 |
0 4 5 6 |
7 5 3 0 |
0+7 4+5 5+3 6+0 |
9 |
1 |
|
0 1 2 3 4 |
4 3 2 1 0 |
0 4 5 6 8 |
8 7 5 3 0 |
0+8 4+7 5+5 6+3 8+0 |
11 |
1 |
|
0 1 2 3 4 5 |
5 4 3 2 1 0 |
0 4 5 6 8 9 |
8 8 7 5 3 0 |
0+8 4+8 5+7 6+5 8+3 9+0 |
12 |
1,2 |
Затем вычислим f4(Х) и α4 (Х) по формуле
(6.4)
Получим:
F4(0)=0, α4 (0)=0;
F4(1)=4, α4 (1)=0 или 1;
F4(2)=8, α4 (2)=1;
F4(3)=11, α4 (3)=1;
F4(4)=14, α4 (4)=1;
F4(5)=17, α4 (5)=1.
Заполняем столбцы f4(Х) и α4 (0)=0 таблицы 6.2 и делаем вывод, что при распределении 5 единиц ресурсов между первым, вторым, третьим и четвертым предприятиями, получим максимальный выпуск продукции всеми предприятиями 17 единиц, при этом четвертому предприятию следует выделить одну единицу ресурса, т.к. α4 (5)=1. Осталось 5-1=4 ед. ресурса и три предприятия, поэтому в таблице 6.2 находим α3 (4) – количество ресурса, необходимое третьему предприятию, α3(4)=2
После этого осталось на два предприятия 5-1-2=2 ед. ресурса. Находим из той же таблицы α2 (2)=1, т.е. второму предприятию следует выделить одну единицу ресурса. Тогда первому предприятию останется одна единица ресурса, что и указано в таблице: α1 (1)=1. Если нет ошибок в вычислениях, то это совпадение единиц ресурса обязательно.
Итак, получим:
Таблица 6.4
-
Предприятие
Количество распределенного ресурса
Самоконтроль
Количество продукции
Первое
1
1(1)=3
Второе
1
2(1)=4
Третье
2
3(2)=6
Четвертое
1
4(1)=4
Сумма равна 17
Для проверки правильности расчетов (самоконтроль) найдем количество выпускаемой продукции при данном распределении ресурсов между предприятиями по исходной информации,
т.е. 1(1)=3; 2(1)=4; 3(2)=6; 4(1)=4.
Суммарный выпуск продукции составляет 17 единиц, что подтверждает правильность расчета распределения ресурсов.
Вопросы для самоконтроля
-
Особенности задач, решаемых методом динамического программирования (ДП).
-
Каков смысл функции Беллмана в задаче оптимального распределения ресурсов?
-
Зачем составляется функциональное уравнение Беллмана?
-
Какова суть принципа оптимальности, положенного в основу вывода функционального уравнения Беллмана в задаче оптимального распределения ресурсов?
-
Что является исходной информацией для задачи оптимального распределения ресурсов?