6.3 Модели динамического программирования
Их применение связано в первую очередь с анализом так называемых многошаговых процессов принятия решений. Процесс является одношаговым, если, например, разработана схема оптимального пути из пункта А в пункт В. Если же вначале известно, как проехать из А в первый промежуточный пункт, а там станет известно, как добраться до 2-го промежуточного пункта и т.д., то весь путь будет известен только по достижении пункта В и процесс принятия решений по поводу оптимального пути из А в В станет уже многошаговым. Таким образом, динамическое программирование - это метод оптимизации, приспособленный к операциям в которых процесс принятия решений может быть разбит на отдельные этапы (шаги). Как раздел математического программирования динамическое программирование начало развиваться в 50-х годах XX века благодаря работам Р.Белмана и его сотрудников. Впервые этим методом решались задачи оптимального управления запасами, затем класс задач значительно расширился (многошаговые детерминированные модели задач оптимального распределения ресурсов; расчет развития на перспективу производственной базы стройиндустрии; установление оптимальных режимов замены изношенного оборудования, производства и хранения продукции во времени, при меняющемся спросе на нее, рациональная загрузка транспортных средств, оптимальное распределение капиталовложений и др.).
Большую и практически важную группу моделей программирования составляют задачи календарного планирования строительного производства, оптимизации сроков выполнении этапов работ для минимизации себестоимости их выполнения и т.д.
Как практический метод оптимизации, метод оптимизации программирования стал возможен лишь при использовании современной вычислительной техники.
В основе метода динамического программирования лежит принцип оптимальности, который может быть сформулирован следующим образом: чтобы получить оптимальное решение, надо руководствоваться правилом - каков бы ни был путь достижения исследуемой системой некоторого состояния, последующие решения должны принадлежать оптимальной стратегии для остающейся части пути, начинающейся с данного состояния.
Сущность метода динамического программирования описывается так называемым динамическим рекурентным соотношением
(6.20)
где fn(s) - стоимость, отвечающая стратегии минимальных затрат для пути из состояния s до конечного состояния системы, если остаток пути состоит из n шагов;
Jn(s) - решение, позволяющее достичь fn(s);
csj - стоимость перевода исследуемой системы из состояния s в состояние j.
Пример. Необходимо организовать перевозку строительных грузов из пункта 1 в пункт 7, используя дорожную сеть, показанную на рисунке 29. Перевозка будет осуществляться большегрузным транспортом, в связи, с чем участки дорог между узловыми пунктами потребуют дооборудования. Время в днях, которое потребуется для дооборудования, показано на схеме. Необходимо определить маршрут для перевозки грузов, время дооборудования которого будет наименьшим.
Исходные данные и вычислительный процесс удобно представить в виде таблиц 15 и 16. Из таблицы 16 видно, что процесс решения начинается с конечного пункта и заканчивается в начальном, а ответ формируется, начиная с исходного пункта.
В рассматриваемом примере ответ имеет вид: 1 → 4 → 6 → 7, при этом время дооборудования этого маршрута составит 12 дней.
Динамическое программирование, позволяя на каждом промежуточном этапе разрабатывать схему дальнейшей реализации программы, является весьма универсальным методом. Однако его применение чаще всего эффективно в задачах с небольшим числом переменных.
Рисунок 29 - Дорожная сеть, используемая при перевозке строительных грузов из пункта 1 в пункт 7
Таблица 15 – Исходные данные к задаче динамического программирования
-
Исходные данные
Сij
J
Cij
s
J
1
2
5
4
5
7
3
10
6
1
4
7
2
5
7
5
7
1
6
5
3
5
3
6
7
4
6
4
Таблица 16 – Расчёт модели динамического программирования
Вычислительный процесс | ||||||
S | J | Cij | Fn-1(s) |
| fn(s) | Jn(s) |
n=1 | ||||||
5 | 7 | 1 | 0 | 1 | 1 | 7 |
6 | 7 | 4 | 0 | 4 | 4 | 7 |
n=2 | ||||||
2 | 5 | 7 | 1 | 8 | 5 | 5 |
| 6 | 5 | 4 | 9 |
|
|
3 | 5 | 3 | 1 | 4 | 5 | 5 |
| 6 | 4 | 4 | 8 |
|
|
4 | 5 | 7 | 1 | 8 | 6 | 6 |
| 6 | 1 | 4 | 5 |
|
|
n=3 | ||||||
1 | 2 | 5 | 8 | 13 |
|
|
| 3 | 10 | 4 | 14 | 12 | 4 |
| 4 | 7 | 5 | 12 |
|
|
- Содержание
- Предисловие
- Введение
- 1 Исторический обзор применения моделирования
- 2 Основы системного анализа и моделирования
- 2.1 Этапы системного анализа
- 2.2 Существующие подходы анализа системы
- 2.3 Понятие о моделировании. Классификация моделей
- 2.4 Основные этапы и принципы моделирования
- 3 Элементы математической статистики
- 3.1 Понятие о математической статистике
- 3.2 Задачи математической статистики
- 3.2.1 Первый этап – сбор и первичная обработка данных
- 3.2.2 Второй этап – определение точечных оценок распределения
- 3.2.3 Третий этап – определение интервальных оценок, понятие о статистической гипотезе
- 3.2.4 Четвертый этап – аппроксимация выборочного распределения теоретическим законом
- 3.3 Области применения статистических методов обработки данных
- 3.3.1 Статистический контроль прочности бетона
- 3.3.2 Метод множественной корреляции
- 4 Статистическое планирование эксперимента
- 4.1 Понятие о планировании эксперимента. Основные задачи эксперимента
- 4.2 Понятие о полиноме, отклике, факторах и уровнях варьирования, факторном пространстве
- 4.3 Первичная статистическая обработка результатов эксперимента
- 4.4 Математическая модель эксперимента. Метод наименьших квадратов
- 4.5 Получение некоторых эмпирических формул
- 4.6 Метод наименьших квадратов для функции нескольких переменных
- 4.7 Дисперсионная матрица оценок
- 4.8 Критерии оптимального планирования
- 4.9 Планы для построения линейных и неполных квадратичных моделей
- 4.10 Планы для построения полиномиальных моделей второго порядка
- 4.11 Регрессионный анализ модели
- 4.12 Анализ математической модели
- 4.13 Решение оптимизационных задач
- 4.14 Моделирование свойств смесей
- 4.15 Принципы имитационного моделирования
- 4.16 Решение рецептурно-технологических задач на эвм в режиме диалога
- 5 Основные виды задач, решаемых при организации, планировании и управлении строительством
- 5.1 Математические модели некоторых задач в строительстве
- 5.2 Примеры решения некоторых задач
- 5.2.1 Решение транспортной задачи
- 5.2.2 Решение задачи о ресурсах
- 5.2.3 Решение задачи нахождения оптимальной массы фермы
- 5.3 Организационные задачи
- 6 Моделирование в строительстве
- 6.1 Модели линейного программирования
- 6.2 Нелинейные модели
- 6.3 Модели динамического программирования
- 6.4 Оптимизационные модели (постановка задач оптимизации)
- 6.5 Модели управления запасами
- 6.6 Целочисленные модели
- 6.7 Цифровое моделирование (метод перебора)
- 6.8 Вероятностно-статистические модели
- 6.9 Модели теории игр
- 6.10 Модели итеративного агрегирования
- 6.11 Организационно-технологические модели
- 6.12 Графические модели
- 6.13 Сетевые модели
- 7 Организационное моделирование систем управления строительством
- 7.1 Основные направления моделирования систем управления строительством
- 7.2 Аспекты организационно-управленческих систем (моделей)
- 7.3 Деление организационно-управленческих моделей на группы
- 7.4 Виды моделей первой группы
- 7.5 Виды моделей второй группы
- Список использованных источников