- •Математические методы и модели в экономике
- •Введение
- •1. Экономико-математическое моделирование и его этапы
- •2. Методы линейного программирования
- •2.1. Основные понятия
- •2.2. Постановка задачи линейного программирования и свойства ее решений
- •2.3. Графический способ решения злп
- •2.4. Симплексный метод решения злп
- •2.5. Теория двойственности
- •2.6. Основные теоремы двойственности и их экономическое содержание
- •2.7. Основные виды экономических задач, сводящихся к злп
- •2.8. Транспортная задача
- •3. Метод динамического программирования
- •3.1. Основные понятия и обозначения
- •3.2. Алгоритм реализации метода
- •4. Методы теории игр
- •4.1. Основные понятия. Игры в чистых стратегиях
- •4.2. Решение игр в смешанных стратегиях
- •4.3. Игры с природой
- •5. Сетевое планирование и управление
- •5.1. Сетевая модель и ее элементы
- •5.2. Числовые характеристики сетевого графика
- •5.3. Сетевое планирование в условиях неопределенности
- •6. Моделирование производства и потребления
- •6.1. Производственные функции и их характеристики
- •6.2. Линейная и Кобба-Дугласа производственные функции
- •6.3. Целевая функция потребления
- •7. Модель межотраслевого баланса
- •8. Моделирование экономических систем с помощью случайных процессов
- •8.1. Случайные процессы и их классификация
- •8.2. Потоки событий
- •8.3. Марковский случайный процесс с дискретным состоянием
- •8.4. Процессы гибели и размножения
- •9. Элементы теории массового обслуживания
- •9.1. Классификация моделей массового обслуживания
- •9.2. Одноканальная смо с отказами
- •9.3. Одноканальная смо с ожиданием и ограниченной очередью
- •9.4. Одноканальная смо с ожиданием и неограниченной очередью
- •Решение. Параметр потока обслуживания μ и приведенная интенсивность потока автомобилей определены в предыдущем примере:
- •9.5. Многоканальная смо с отказами
- •9.6. Многоканальная смо с ожиданием
- •Задания для самостоятельного решения
- •Список литературы
- •394030, Воронеж, ул. Карла Маркса, 67
3.2. Алгоритм реализации метода
Мы отметили, что планируя многошаговый процесс, необходимо выбирать УВ на каждом шаге с учетом его будущих последствий на еще предстоящих шагах. Однако из этого правила есть исключение. Среди всех шагов существует один, который может планироваться без «заглядывания в будущее». Какой это шаг? Очевидно, последний — после него других шагов нет. Этот шаг, единственный из всех, можно планировать так, чтобы он как таковой принес наибольшую выгоду. Спланировав оптимально этот последний шаг, можно к нему пристраивать предпоследний, к предпоследнему — предпредпоследний и т. д.
Поэтому процесс динамического программирования на 1-м этапе разворачивается от конца к началу, то есть раньше всех планируется последний,
N-й шаг. А как его спланировать, если мы не знаем, чем кончился предпоследний? Очевидно, нужно сделать все возможные предположения о том, чем кончился предпоследний, (N – 1)-й шаг, и для каждого из них найти такое управление, при котором выигрыш (доход) на последнем шаге был бы максимален. Решив эту задачу, мы найдем условно оптимальное управление (УОУ) на N-м шаге, т. е. управление, которое надо применить, если (N – 1)-й шаг закончился определенным образом.
Предположим, что эта процедура выполнена, то есть для каждого исхода (N – 1)-го шага мы знаем УОУ на N-м шаге и соответствующий ему условно оптимальный выигрыш (УОВ). Теперь мы можем оптимизировать управление на предпоследнем, (N – 1)-м шаге. Сделаем все возможные предположения о том, чем кончился предпредпоследний, то есть (N – 2)-й шаг, и для каждого из этих предположений найдем такое управление на (N – 1)-м шаге, чтобы выигрыш за последние два шага (из которых последний уже оптимизирован) был максимален. Далее оптимизируется управление на (N – 2)-м шаге и т. д.
Одним словом, на каждом шаге ищется такое управление, которое обеспечивает оптимальное продолжение процесса относительно достигнутого в данный момент состояния. Этот принцип выбора управления называется принципом оптимальности. Само управление, обеспечивающее оптимальное продолжение процесса относительно заданного состояния, называется УОУ на данном шаге.
Теперь предположим, что УОУ на каждом шаге нам известно: мы знаем, что делать дальше, в каком бы состоянии ни был процесс к началу каждого шага. Тогда мы можем найти уже не «условное», а действительно оптимальное управление на каждом шаге.
Действительно, пусть нам известно начальное состояние процесса. Теперь мы уже знаем, что делать на первом шаге: надо применить УОУ, найденное для первого шага и начального состояния. В результате этого управления после первого шага система перейдет в другое состояние; но для этого состояния мы знаем УОУ и т. д. Таким образом, мы найдем оптимальное управление процессом, приводящее к максимально возможному выигрышу.
Таким образом, в процессе оптимизации управления методом динамического программирования многошаговый процесс «проходится» дважды:
1. Первый раз — от конца к началу, в результате чего находятся УОУ на каждом шаге и оптимальный выигрыш (тоже условный) на всех шагах, начиная с данного и до конца процесса.
2. Второй раз — от начала к концу, в результате чего находятся оптимальные управления на всех шагах процесса.
Можно сказать, что процедура построения оптимального управления методом динамического программирования распадается на две стадии: предварительную и окончательную. На предварительной стадии для каждого шага определяется УОУ, зависящее от состояния системы (достигнутого в результате предыдущих шагов), и условно оптимальный выигрыш на всех оставшихся шагах, начиная с данного, также зависящий от состояния. На окончательной стадии определяется (безусловное) оптимальное управление для каждого шага. Предварительная (условная) оптимизация производится по шагам в обратном порядке: от последнего шага к первому; окончательная (безусловная) оптимизация — также по шагам, но в естественном порядке: от первого шага к последнему. Из двух стадий оптимизации несравненно более важной и трудоемкой является первая. После окончания первой стадии выполнение второй трудности не представляет: остается только «прочесть» рекомендации, уже заготовленные на первой стадии.
Пример 3.1. Задача распределения средств между предприятиями
Дано. Совет директоров рассматривает предложения по наращиванию производственных мощностей для увеличения выпуска однородной продукции на четырех предприятиях, принадлежащих фирме. С этой целью выделяются средства в объеме 80 млн р. Варианты вложений кратны 20 млн р. Прирост выпуска продукции зависит от выделенной суммы, как указано в таблице.
Возможные вложения млн р. |
Прирост
выпуска продукции предприятий
|
|||
1 |
2 |
3 |
4 |
|
20 |
8 |
10 |
12 |
11 |
40 |
16 |
20 |
21 |
23 |
60 |
25 |
28 |
27 |
30 |
80 |
36 |
40 |
38 |
37 |
Требуется: найти распределение средств между предприятиями, обеспечивающее максимальный прирост выпуска продукции при условии, что на одно предприятие можно осуществить не более одной инвестиции. Математически это записывается так:
,
при ограничениях:
,
где
— ожидаемый
прирост продукции от выделенных средств;
— объем средств, выделенных i-му предприятию;
S = 80 — общая сумма, подлежащая распределению.
Решение. Разбиваем процесс решения на четыре этапа (по количеству предприятий).
Этап 1.Обсуждаем
инвестиции на первое предприятие.
Возможные значения переменной
при состоянии S
= 80 могут быть равными 0, 20, 40, 60, 80. Поскольку
в задаче с одной переменной выбор
отсутствует, то вкладываемая сумма
будет равна выделенным средствам S,
и оптимальное значение целевой функции
будет равно
.
Таким образом,
Этап 2.
Выделенную сумму S
распределяем между первым и вторым
предприятиями. Рекуррентное уравнение
при этом будет иметь вид
Поиск ведется по переменной , которая может принимать значения: 0, 20, …, S. Имеем:
при S
= 20:
при S
= 40:
при S = 60:
при S = 80:
Этап 3. Решается задача распределения средств между тремя предприятиями. Рекуррентное уравнение в этом случае имеет вид
Поиск ведется по переменной
,
которая может принимать значения: 0, 20,
…, S.
Имеем:
при S
= 20:
при S
= 40:
при S
= 60:
при S = 80:
Этап 4.
На данном этапе решается исходная задача
распределения суммы в 80 млн р. между
четырьмя предприятиями на основе
рекуррентного уравнения
Поиск ведется по переменной
,
которая может принимать значения 0, 20,
…, S.
Имеем:
Итак, ожидаемый максимальный прирост выпуска продукции равен 45 млн р.
Далее следует определить, при каких вариантах вложений получен этот результат. С этой целью необходимо пройти обратно от четвертого этапа к первому и проследить, как получено максимальное значение целевой функции.
На четвертом этапе
получен максимальный результат при
= 40.
Фиксируем это значение переменной.
Замечая, что 45 = 23 + 22, где
.
Этот результат получен на третьем этапе
при
.
Фиксируем это значение переменной.
Далее, замечаем, что
,
где
Это значение получено при
.
Аналогично получаем, что
.
Таким образом, инвестиции целесообразно выделить второму, третьему и четвертому предприятиям в количестве соответственно 20, 20 и 40 млн р. Прирост при этом составит 45 млн р.
