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