- •Содержание
- •2. Виды самостоятельной работы студентов по дисциплине
- •3. Рекомендации по организации самостоятельной работы студентов по темам дисциплины Тема 1. Введение. Предмет теории оптимальных решений. Люди и их роли в принятии решений. Альтернативы, критерии
- •1) Самостоятельное изучение теоретического материала по теме:
- •2) Вопросы для самоконтроля:
- •Тема 2. Исследование операций и его роль в принятии решений. Этапы операционного исследования и их содержание. Математическая модель и её виды. Классы операционных задач
- •Тема 3. Классические методы оптимизации. Одномерная безусловная и условная оптимизации. Многомерная безусловная и условная оптимизации
- •Часть 1. Классические методы оптимизации: Одномерная безусловная и условная оптимизации.
- •§1. Классические методы оптимизации.
- •Часть 2. Классические методы оптимизации: многомерная безусловная и условная оптимизации.
- •1) Изучение теоретического материала по теме:
- •§1. Классические методы оптимизации.
- •3) Самостоятельное решение примеров:
- •4) Вопросы для самоконтроля:
- •Тема 4. Общая теория многомерной безусловной и условной оптимизации
- •Часть 1. Многомерная безусловная оптимизация.
- •§2. Безусловный экстремум функций нескольких переменных.
- •Часть 2. Многомерная условная оптимизация.
- •§3. Условный экстремум функций нескольких переменных.
- •3) Самостоятельное решение примеров:
- •4) Вопросы для самоконтроля:
- •Тема 5. Численные методы безусловной оптимизации
- •Часть 1. Общие положения. Методы нулевого порядка.
- •§1. Общие положения.
- •§2. Методы нулевого порядка одномерной минимизации.
- •Часть 2. Методы первого и второго порядка.
- •§3. Методы первого и второго порядка.
- •Тема 6. Элементы численных методов задачи условной оптимизации выпуклого программирования
- •§4. Элементы численных методов задачи условной оптимизации выпуклого программирования.
- •Тема 7. Постановка задачи динамического программирования. Принцип оптимальности и уравнения Беллмана. Задача распределения ресурсов
- •§1. Общая постановка задачи динамического программировании.
- •§2. Принцип оптимальности и уравнения Беллмана.
- •§3. Задача о распределении средств между предприятиями.
- •Тема 8. Общая схема применения метода динамического программирования. Задачи замены оборудования и прокладки трубопровода
- •§4. Общая схема применения метода дп. Задача об оптимальном распределении ресурсов между отраслями на n лет.
- •§5. Задача о замене оборудования.
- •§6. Задача прокладки трубопровода.
- •Тема 9. Задача линейного программирования злп)
- •§1. Задача линейного программирования. Типичные задачи линейного программирования, их математические модели.
- •§2. Общая злп. Канонический злп.
- •§3. Теоретические основы решения злп. Геометрическая интерпретация злп. Идея аналитического решения.
- •3) Самостоятельное решение примеров:
- •4) Вопросы для самоконтроля:
- •Тема 10. Симплекс-метод решения задачи линейного программирования
- •§3. Теоретические основы решения злп. Геометрическая интерпретация злп. Идея аналитического решения.
- •§4. Симплекс-метод решения злп.
- •Тема 11. Метод искусственного базиса. Целочисленная злп
- •Тема 12. Теория двойственности
- •§1. Теория двойственности.
- •Тема 13. Транспортная задача.
- •§3. Транспортная задача.
- •3) Самостоятельное решение примеров:
- •3) Вопросы для самоконтроля:
- •Тема 14. Многоцелевая задача линейного программирования
- •§1. Многоцелевая задача линейного программирования.
- •Тема 15. Элементы теории игр
- •§2. Решение матричной игры.
- •Список рекомендуемой литературы
- •Приложение а. Варианты контрольных работ
- •Часть 1. Нелинейное программирование
- •Задание нп-1
- •Задание нп-2
- •Задание нп-3
- •Задание нп-4
- •Задание нп-5
- •Задание нп-6
- •Задание нп-7
- •Задание нп-8
- •Часть 2. Динамическое программирование Задание дп-1
- •Задание дп-2.
- •Задание дп-3
- •Часть 3. Линейное программирование
- •Задание лп-4
- •Задание лп-5
- •Задание лп-6
- •Часть 4. Некоторые применения линейного программирования Задание плп-1
- •Задание плп-2
- •Задание плп-3
- •Задание плп-4
- •Приложение б. Теоретические сведения
- •Глава 1. Модели динамического программирования
- •§1. Общая постановка задачи динамического программировании
- •§2. Принцип оптимальности и уравнения Беллмана
- •§3. Задача о распределении средств между предприятиями
- •§4. Общая схема применения метода дп. Задача об оптимальном распределении ресурсов между отраслями на п лет
- •§5. Задача о замене оборудования
- •§6. Задача прокладки трубопровода
- •7. Упражнения
- •Глава 2. О многоцелевой задачей линейного программирования и теории матричных игр
- •§1. Многоцелевая задача линейного программирования
- •1.1. Постановка многоцелевой задачи линейного программирования.
- •§2. Решение матричной игры
- •2.1. Геометрический метод решения матричной игры.
- •2.2. Решение матричной игры сведением к задаче линейного программирования
- •2.3. Игры с «природой».
- •Приложение в. Титульный лист контрольной работы
§2. Принцип оптимальности и уравнения Беллмана
Принцип оптимальности впервые был сформулирован Р. Беллманом в 1953 г. Он заключается в следующем:
Каково бы ни было состояние S системы в результате какого-либо числа шагов, на ближайшем шаге нужно выбирать управление так, чтобы оно в совокупности с оптимальным управлением на всех последующих шагах приводило к оптимальному выигрышу на всех оставшихся шагах, включая данный.
Беллманом четко были сформулированы и условия, при которых принцип верен. Основное требование — процесс управления должен быть без обратной связи, т.е. управление на данном шаге не должно оказывать влияния на предшествующие шаги.
Принцип оптимальности утверждает, что для любого процесса без обратной связи оптимальное управление таково, что оно является оптимальным для любого подпроцесса по отношению к исходному состоянию этого подпроцесса. Поэтому решение на каждом шаге оказывается наилучшим с точки зрения управления в целом. Если изобразить геометрически оптимальную траекторию в виде ломаной линии, то любая часть этой ломаной будет являться оптимальной траекторией относительно начала и конца.
Уравнения Беллмана. Вместо исходной задачи ДП (см. §1) с фиксированным числом шагов п и начальным состоянием S0 рассмотрим последовательность задач, полагая последовательно n=1, 2, ... при различных S — одношаговую, двухшаговую и т.д., — используя принцип оптимальности.
Введем ряд новых обозначений. Обозначения в ДП несут большую информационную нагрузку, поэтому очень важно их четко усвоить.
На каждом шаге любого состояния системы Sk1 решение Xk нужно выбирать «с оглядкой», так как этот выбор влияет на последующее состояние Sk и дальнейший процесс управления, зависящий от Sk. Это следует из принципа оптимальности.
Но есть один шаг, последний, который можно для любого состояния Sn1 планировать локально-оптимально, исходя только из соображений этого шага.
Рассмотрим n-й шаг: Sn1 — состояние системы к началу n-го шага, Sn= — конечное состояние, Xn — управление на n-м шаге, fn(Sn1, Хn) — целевая функция (выигрыш) n-го шага.
Согласно принципу оптимальности, Хп нужно выбирать так, чтобы для любых состояний Sn1 получить максимум целевой функции на этом шаге.
Обозначим
через
(Sn1)
максимум
целевой функции — показателя эффективности
n-го
шага при условии, что к началу последнего
шага система S
была в произвольном состоянии Sn1,,
а
на последнем шаге управление было
оптимальным.
(Sn1) называется условным максимумом целевой функции на п-м шаге. Очевидно, что
(Sn1)=
fn(Sn1,
Хn).
(2.1)
Максимизация ведется по всем допустимым управлениям Хn.
Решение
Хn,
при котором достигается
(Sn1),
также
зависит от Sn1
и
называется условным
оптимальным управлением на
п-м
шаге.
Оно
обозначается через
(Sn1).
Решив одномерную задачу локальной оптимизации по уравнению (2.1), найдем для всех возможных состояний Sn1 две функции: (Sn1) и (Sn1).
Рассмотрим теперь двухшаговую задачу: присоединим к n-му шагу (n1)-й (рис. 2).
Для любых состояний Sn2, произвольных управлений Xn1 и оптимальном управлении на n-м шаге значение целевой функции на двух последних шагах равно:
fn1(Sn2, Хn1)+ (Sn1) (2.2)
Согласно принципу
оптимальности для любых Sn2
решение нужно выбирать так, чтобы оно
вместе с оптимальным управлением на
последнем (n-м)
шаге приводило бы к максимуму целевой
функции на двух последних шагах.
Следовательно, нужно найти максимум
выражения (2.2) по всем допустимым
управлениям Хn1.
Максимум этой суммы зависит от Sn2,
обозначается через
(Sn2)
и называется условным
максимумом целевой функции при оптимальном
управлении на двух последних шагах.
Соответствующее управление Хn1
на (n1)-м
шаге обозначается через
(Sn2)
и
называется условным
оптимальным управлением
на (n1)-м
шаге. Имеем
(Sn2)=
{fn1(Sn2,
Хn1)+
(Sn1)}
(2.3)
Следует обратить внимание на то, что выражение, стоящее в фигурных скобках (2.3), зависит только от Sn2 и Xn1, так как можно найти из уравнения состояний (1.2) при k=п1:
Sn1= n1(Sn2, Х n1)
и подставить вместо Sn1 в функцию (Sn1).
В результате максимизации только по одной переменной Х n1 согласно уравнению (2.3) вновь получаются две функции:
(Sn2) и (Sn2).
Далее рассматривается трехшаговая задача: к двум последним шагам присоединяется (n2)-й и т. д.
Обозначим
через
(Sk1)
условный максимум целевой функции,
полученный при оптимальном управлении
на пk+1
шагах,
начиная с k-го
до конца,
при условии,
что к началу k-го
шага система находилась в состоянии
Sk1.
Фактически
эта функция равна
(Sk1)=
(Si1,
Хi).
Тогда
(Sk)=
(Si1,
Хi).
Целевая функция на пk с последних шагах (рис. 3) при произвольном управлении Хk на k-м шаге и оптимальном управлении на последующих пk шагах равна
fk(Sk1, Хk)+ (Sk).
Согласно принципу оптимальности, Хk выбирается из условия максимума этой суммы, т.е
(Sk1)=
{fk(Sk1,
Хk)+
(Sk)},
k=n1,
n2,
…, 2, 1. (2.4)
Управление Хk
на k-м
шаге, при котором достигается максимум
в (2.4), обозначается через
(Sk1)
и называется условным
оптимальным управлением на k-м
шаге (в
правую часть уравнения (2.4) следует
вместо Sk
подставить выражение Sk=
k(Sk1,
Х
k),
найденное из уравнений состояния).
Уравнения (2.4) называют уравнениями Беллмана. Это рекуррентные соотношения, позволяющие найти предыдущее значение функции, зная последующие. Если из (2.1) найти (Sn1), то при k=п1 из (2.4) можно определить, решив задачу максимизации для всех возможных значений Sn2, выражения для (Sn2) и соответствующее (Sn2). Далее, зная (Sn2), находим, используя (2.4) и (1.2), уравнения состояний.
Процесс решения уравнений (2.1) и (2.4) называется условной оптимизацией.
В результате условной оптимизации получаются две последовательности:
(Sn1),
(Sn2),
…,
(S1),
(S0)
условные максимумы целевой функции на последнем, на двух последних, на ... n шагах и
(Sn1),
(Sn2),
…,
(S1),
(S0)
условные оптимальные управления на n-м, (п1)-м, ..., 1-м шагах.
Используя эти последовательности, можно найти решение задачи ДП при данных п и S0. По определению (см. §1) (S0) условный максимум целевой функции за п шагов при условии, что к началу 1-го шага система была в состоянии S0, т.е.
Zmax= (S0). (2.5)
Далее следует использовать последовательность условных оптимальных управлений и уравнения состояний (1.2).
При фиксированном
S0
получаем
=
(S0).
Далее из уравнений (1.2) находим
=1(S0,
)
и подставляем это выражение в
последовательность условных оптимальных
управлений:
= ( ) и т.д. по цепочке1:
= (S0) =1(S0, ) = ( )
=2(
,
)
=
(
)
…
=n1(
,
)
=
(
).
Получаем оптимальное решение задачи ДП:
=(
,
,
…,
).
(Стрелка означает использование уравнений состояния, а стрелка — последовательности условных оптимальных управлений).
