- •1. Применим методов безуслов оптимизации. Задача обслуж на 1 приборе.
- •4.1.1 Задача обслуживания заявок на одном приборе
- •2. Метод ветвей и границ. Общая схема Задача о рюкзаке
- •4.1.3. Задача о рюкзаке
- •3. Метод ветвей и границ. Общая схема Задача целочисленного линейного программирования
- •4. Метод сплайнов 1-го порядка (нахождения точки глобального минимума)
- •5.Методы минимизации унимодальных функций. Метод равномерного поиска
- •6.Методы минимизации унимодальных функций. Метод Фибоначчи
- •7.Методы минимизации унимодальных функций. Метод золотого сечения
- •8. Градиентные методы. Выбор шага
- •8. Градиентные методы. Выбор шага
- •9. Общая схема методов 2-го порядка. Метод Ньютона
- •12.Другие методы. О выборе метода
- •11. Методы условной минимизации. Метод штрафных функций
- •13. Динамическое программирование . Задача распределения ресурса
- •14. Составление уравнения для функции Беллмана
- •15.Решение уравнения (6)-(7)
14. Составление уравнения для функции Беллмана
Математическая модель. Целевая функция (суммарная прибыль) будет
(1)
Ограничения:
(2)
(В (2) можно использовать и неравенство , однако, как правило, ресурс используется полностью.)
(3)
Рассмотрим в (1)-(3) первых технологических процесса и выделим для них ресурс в объёме и будем этот ресурс для этих процессов распределять оптимально, тогда приходим к задаче:
(4)
Зафиксируем
в (4) параметры
и
и задачу (4) будем решать следующим
образом: последнему
-му
процессу выделим ресурс в объёме
и получим прибыль
,
тогда процессам
останется ресурс в объёме
.
Предположим, что распределение этого
остатка осуществляется оптимальным
образом, тогда получим прибыль
.
В результате такого подхода решение
задачи (4) суммарная прибыль:
.
Будем изменяться и искать такое значение для него, чтобы получаемая прибыль была наибольшей, то есть будем решать задачу:
(5)
Согласно
принципу оптимальности Беллмана
оптимальное значение целевой функции
задачи (5) равно
.
То есть выполняется отношение:
(6)
(6) –
искомое уравнение Беллмана. Решая задачу
(5), мы найдём для неё оптимальный план
.
Это, очевидно, будет оптимальное
количество ресурса, которое выделяется
-му
ресурсу в задаче (4). То есть оптимальное
количество ресурса, которое получает
-ый
процесс при наилучшем распределении
ресурса в объёме
ля первых
процессов:
.
Уравнение (6) по динамическому параметру
рекуррентно, поэтому для того, чтобы
его решить нужно задать для (6) начальные
условия. Они получаются, если положить
в (4)
, тогда приходим к задаче:
.
Эта задача тривиальна, у неё единственный
план
и оптимальное значение целевой функции
тогда будет:
(7)
15.Решение уравнения (6)-(7)
Математическая модель. Целевая функция (суммарная прибыль) будет
(1)
Ограничения:
(2)
(В (2) можно использовать и неравенство , однако, как правило, ресурс используется полностью.)
(3)
Рассмотрим в (1)-(3) первых технологических процесса и выделим для них ресурс в объёме и будем этот ресурс для этих процессов распределять оптимально, тогда приходим к задаче:
(4)
Уравнение
(6) будем решать последовательно, положим
в (6)
,
тогда получим
.
Справа под максимумом стоит известная
функция, решая задачу максимизации,
найдём
.
На
2-ом шаге полагаем в (6)
,
аналогично находим
и так далее. Пройдя последовательно
шаг, мы построим полное решение уравнения
Беллмана:
.
Приступаем
к построению оптимального плана задачи
(1)-(3). Полагаем в функции Беллмана
тогда, очевидно,
будет искомая максимальная прибыль.
Одновременно мы найдём
.
Эта оптимальная компонента для
-го
ресурса, тогда для процессов
остаток ресурса будет
и найдём, что
и так далее. Для любого
:
.
Задача решена полностью.
Метод динамического программирования имеет свои преимущества и недостатки.
Преимущества:
задача оптимизации с переменными сводится к задачи одномерной оптимизации.
результатом метода динамического программирования является всегда оптимальный план (глобально), а не локально оптимальные планы как в большинстве других планов.
результаты решённой задачи оптимизации можно использовать в случае изменения параметров
(задачу не надо пересчитывать заново).как правило, задача одномерной оптимизации решается методом поиска, поэтому метод динамического программирования может использоваться для задачи оптимизации, в которых функции не являются дифференциальными, непрерывными, аналитическими.
Недостаток
динамического программирования –
«проклятие размерности». Дело в том,
что при решении задач на ЭВМ требуется
хранить в памяти значение функции
Беллмана, то есть запоминать функции.
Количество запоминаемой информации
растёт лавинообразно с ростом размерности
задачи (если распределяется не один
ресурс, а
).
Разработаны специальные подходы, которые
позволяют смягчить этот недостаток.
