- •Глава 1. Линейное программирование 3
- •Глава 2. Транспортная задача линейного программирования (тз) 68
- •Глава 3. Динамическое программирование 98
- •Глава 1. Линейное программирование
- •1.1. Математическая модель задачи линейного программирования
- •1.2. Формы записи задач линейного программирования
- •Рассмотрим приемы, позволяющие переходить от одной формы записи задачи к другой
- •1.3. Геометрическая интерпретация и графический метод решения задач линейного программирования с двумя переменными
- •Алгоритм графического метода решения злп с двумя переменными
- •1.4. Графический метод решения задач линейного программирования сnпеременными
- •1.5. Симплексный метод решения задач линейного программирования
- •Алгоритм решения злп симплексным методом
- •Нахождение начального опорного плана злп ( )
- •Нахождение начального опорного плана злп методом искусственного базиса
- •Нахождение начального опорного плана злп методом Жордановых исключений
- •Шаг Жордановых исключений осуществляется по следующим правилам:
- •Исследование на оптимальность опорного плана при решении злп на
- •Переход к новому опорному плану
- •1.6. Двойственные задачи линейного программирования
- •Правила построения двойственной задачи.
- •Глава 2. Транспортная задача линейного программирования (тз)
- •2.1. Математическая модель транспортной задачи
- •Закрытая и открытая модели транспортной задачи
- •2.2. Решение транспортной задачи
- •Алгоритм решения транспортной задачи
- •Нахождение начального опорного плана методом «минимального элемента»
- •Нахождение начального опорного плана методом «северо-западного угла»
- •Нахождение начального опорного плана методом Фогеля
- •Проверка на оптимальность невырожденного опорного плана методом потенциалов
- •Переход к новому опорному плану
- •Цикл пересчета
- •Глава 3. Динамическое программирование
- •3.1. Задача оптимального распределения ресурсов
- •I этап. Условная оптимизация.
- •II этап. Безусловная оптимизация.
- •3.2. Задача об оптимальной стратегии замены оборудования
- •I этап. Условная оптимизация.
- •II этап. Безусловная оптимизация.
- •Список использованной литературы
Глава 3. Динамическое программирование
Динамическое программирование (ДП) – это метод нахождения оптимальных решений в задачах с многошаговой (многоэтапной) структурой.
Приведем
общую постановку задачи ДП. Рассматривается
управляемый процесс (распределение
средств между предприятиями, использование
ресурсов в течение ряда лет и т.п.). В
результате управления система (объект
управления) переводится из начального
состояния
в состояние
.
Предположим, что управление можно
разбить на
шагов. На каждом шаге выбирается одно
из множества допустимых управлений
,
переводящее систему в одно из состояний
множества![]()
.
Элементы множества
и
определяются из условий конкретной
задачи. Последовательность состояний
системы можно изобразить в виде графа
состояний, представленного на рис. 3.1.

Рис. 3.1
На
каждом шаге n
достигается эффект
.
Предположим, что общий эффект является
суммой эффектов, достигнутых на каждом
шаге. Тогда задача ДП формулируется
так: определить такое допустимое
управление
,
переводящее систему из состояния
в состояние
,
при котором функция цели
принимает наибольшее (наименьшее)
значение, т.е.
![]()
Решение задач методом ДП осуществляется на основе принципа оптимальности, который был сформулирован американским ученым Р.Беллманом: каково бы ни было состояние системы в результате какого-либо числа шагов, на ближайшем шаге нужно выбирать управление так, чтобы оно в совокупности с оптимальным управлением на всех последующих шагах приводило к оптимальному выигрышу на всех оставшихся шагах, включая данный.
Обозначим
через
условно-оптимальное значение целевой
функции на интервале от шагаn
до последнего
-го
шага включительно, при условии, что
передn-ым
шагом система находилась в одном из
состояний множества
,
а наn-ом
шаге было выбрано такое управление из
множества
,
которое обеспечило целевой функции
условно-оптимальное значение, тогда
условно-оптимальное значение целевой
функции в интервале от (n+1)-го
до
-го
шага включительно.
В принятых обозначениях принцип оптимальности Беллмана можно записать в математической форме следующим образом
.
(3.1)
Равенство (3.1) называется основным функциональным уравнением динамического программирования. Для каждой конкретной задачи уравнение имеет особый вид.
Вычислительная процедура метода ДП распадается на два этапа: условную и безусловную оптимизацию.
На этапе условной оптимизации в соответствии с функциональным уравнением определяются оптимальные управления для всех возможных состояний на каждом шаге, начиная с последнего.
На
этапе безусловной
оптимизации
шаги рассматриваются, начиная с первого.
Поскольку исходное состояние
известно, выбирается оптимальное
управление из множества
.
Выбранное оптимальное управление
приводит систему во вполне определенное
состояние
.
Благодаря тому, что исходное состояние
в начале второго шага известно, становится
возможным выбрать оптимальное управление
на втором шаге
и т.д. Таким образом, строится цепь
взаимосвязанных решений безусловной
оптимизации.
3.1. Задача оптимального распределения ресурсов
Пусть
на реконструкцию и модернизацию основного
производства объединению выделяется
некоторый объем материальных ресурсов
Х.
Имеется N
предприятий, между которыми нужно
распределить данный ресурс. Обозначим
через
прибыль, которому приносит народному
хозяйству выделениеj-му
предприятию
единиц ресурса. Предполагается, что
размер прибыли зависит как от выделенного
количества ресурса, так и от предприятия.
Причем прибыль, получаемая предприятиями
измеряется в одних и тех же единицах и
общая прибыль объединения состоит из
прибылей отдельных предприятий.
Необходимо найти оптимальный план
распределения ресурсов между предприятиями,
при котором общая прибыль объединения
будет максимальной.
Поставленную задачу нужно рассмотреть как многошаговую.
На
этапе условной оптимизации будем
рассматривать эффективность вложения
средств на одном (например, на первом
предприятии), на двух предприятиях
вместе (на первом и втором), на трех
предприятиях вместе (на первом, втором
и третьем) и т.д., и наконец, на всех N
предприятиях вместе. Задача состоит в
определении наибольшего значения
функции
при условии, что
.
Воспользуемся
рекуррентным соотношением Беллмана
(3.1), которое для данной задачи приводит
к следующим функциональным уравнениям
при
:
![]()
Здесь
функция
определяет максимальную прибыль первого
предприятия при выделении емуx
единиц ресурса, функция
определяет максимальную прибыль первого
и второго предприятий вместе при
выделении имx
единиц ресурса, функция
определяет максимальную прибыль первого,
второго и третьего предприятий вместе
при выделении имx
единиц ресурса и т.д., и наконец, функция
определяет максимальную прибыль всех
предприятий вместе при выделении имx
единиц ресурса.
На этапе безусловной оптимизации определяется оптимальный план распределения ресурсов между предприятиями.
Пример 3.1.
Для
увеличения объемов выпуска пользующейся
повышенным спросом продукции четырем
предприятиям производственного
объединения выделены средства в размере
50 млн. руб. Каждому из предприятий может
быть выделено: 0, 10, 20, 30, 40 или 50 млн. руб.
При этом ежегодный прирост выпуска
продукции каждым из предприятий
в зависимости от капиталовложений
известен и приведен в табл. 3.1.
Таблица 3.1
|
Объем выделенных средств x (млн. руб.) |
Ежегодный прирост выпуска продукции (млн. руб.), в зависимости от объема выделенных средств | |||
|
|
|
|
| |
|
0 |
0 |
0 |
0 |
0 |
|
10 |
3 |
5 |
2 |
4 |
|
20 |
6 |
8 |
5 |
7 |
|
30 |
9 |
12 |
11 |
10 |
|
40 |
14 |
15 |
14 |
13 |
|
50 |
17 |
18 |
18 |
17 |
Найти оптимальный план распределения средств между предприятиями, обеспечивающий максимальный ежегодный прирост выпуска продукции производственным объединением.
Решение
