
- •Конспект лекций по дисциплине «Модели и методы анализа проектных решений» для бакалавров 230100.62 -Системы автоматизированного проектирования.
- •Лекция 3. Разностные схемы первого и второго порядка. Решение разностных уравнений первого порядка по схеме Эйлера.
- •Лекция 4. Схемы Рунге-Кутта и Адамса. Решение разностных уравнений первого порядка по схемам Рунге-Кутта и Адамса.
- •Лекция 5. Метод прогонки. Решение разностных уравнений второго порядка методом прогонки. Программирование алгоритма метода прогонки на эвм.
- •Лекция 6. Уравнения с частными производными. Одномерное уравнение теплопроводности. Построение явной разностной схемы одномерного уравнения теплопроводности и ее решение.
- •Лекция 7. Построение неявной разностной схемы одномерного уравнения теплопроводности и ее решение методом прогонки.
- •Лекция 8. Двумерное уравнение теплопроводности. Решение двумерного уравнения теплопроводности методом конечных разностей.
- •Лекция 9. Уравнение Лапласа и три краевые задачи. Задача Дирихле и ее решение методом итераций.
- •Лекция 10. Задача Неймана и ее решение методом конечных разностей.
- •Лекция 11. Третья краевая задача и ее решение методом конечных разностей.
- •Лекция 12. Уравнение колебаний струны.
- •Задание. Программирование расчетного алгоритма решения задачи Дирихле и задачи Неймана.
- •Методы составления опорного плана транспортной задачи.
- •Тема. Оптимальность плана транспортной задачи.
- •Тема. Открытые модели тз и усложнения в ее постановке.
- •Контрольные вопросы
- •Общая структура статистической модели
- •Тема 2. Математическое моделирование - язык и инструментарий рационального исследования операций .
- •Раздел 2. Исследование операций в условиях определенности. Модели и методы математического программирования.
- •Тема 3. Программируемые проблемы в экономике.
- •2.3.2. Принцип оптимальности
- •2.3.3. Основные соотношения метода динамического программирования
- •2.4. Принцип максимума Понтрягина
- •2.3.4. Расчетные соотношения метода динамического программирования
- •2.4. Принцип максимума Понтрягина
- •2.4.1. Основное соотношение принципа максимума
- •Задача оптимального быстродействия
- •2.4.2. Процедура определения оптимального управления
- •2.4.3. Задача оптимального быстродействия
- •· Гамильтониан быстродействия
- •Задача о выборе траектории
- •Задачи последовательного принятия решений
- •Задача об использовании трудовых ресурсов
- •Применение динамического программирования при непрерывных переменных
- •Программирование метода конечных элементов.
Задача о выборе траектории
Основной принцип динамического программирования можно продемонстрировать на следующем примере [7].
Пример
7.1.Пусть самолет (или другой летательный
аппарат), находящийся в точке
на
высоте
и
имеющий скорость
,
должен быть поднят на заданную высоту
,
а его скорость доведена до значения
.
Известен расход горючего для подъема
с любой высоты
на
высоту
при
постоянной скорости
,
и расход горючего для увеличения скорости
от
к
при
неизменной
высоте
.
Найти оптимальную траекторию набора
высоты и скорости, при которой общий
расход горючего будет минимальным.
Предположим,
что весь процесс набора высоты и скорости
можно разделить на ряд элементарных
последовательных шагов (этапов), на
любом из которых самолет увеличивает
только высоту или только скорость.
Изобразим состояние самолета точкой
на плоскости
,
где абсцисса отвечает скорости
,
а ордината – высоте
.
Тогда
процесс перемещения точки из начального
состояния
в
конечное
отобразится
на плоскости
некоторой
ступенчатой ломаной (рис. 7.1). Эта
траектория и будет характеризовать
управление набором высоты и скорости.
Из всех
возможных траекторий нужно выбрать
такую, на которой значение выбранного
критерия (расход горючего
)
будет наименьшим.
Для
решения задачи методом динамического
программирования разделим отрезок
высоты
на
равных
частей, а скорости
–
на
равных
частей.
Таким
образом, за первый шаг процесса происходит
либо изменение высоты на величину
,
либо изменение скорости на величину
.
Таким
образом, суммарное число шагов процесса
по переводу самолета из состояния
в
будет
равно
.
С кажым шагом связан определенный расход горючего. Запишем на каждом из отрезков соответствующее значение расхода горючего (в условных единицах – у.о.т.). Тогда условия задачи представлены на рис. 7.2, а произвольной траектории, отмеченной стрелками, соответствует расход горючего:
=
12 + 11 + 10 + 8 + 11 + 10 + 10 + 13 + 15 + 20 + 9 + 12 + 14 = 165
у.о.т.
Общее
количество всех возможных траекторий
достаточно велико, а потому простой их
перебор неприемлем, и поэтому применим
принцип оптимальности Беллмана. Поскольку
конечное состояние системы
известно,
то процесс построения оптимальной
траектории начинаем с конца.
Из
принципа оптимальности Беллмана следует,
что если система находится в некоторой
промежуточной точке
,
и известна конечная точка, то оптимальной
стратегией будет та, которая переводит
из точки
в
конечную
по
оптимальной траектории, которой отвечают
наименьшие затраты горючего. Поскольку
это справедливо для любой промежуточной
точки, то приходим к выводу: оптимальная
траектория имеет такое свойство – ее
каждый участок (фрагмент) составляет
оптимальную траекторию. Применим этот
вывод для построения оптимальной
траектории, двигаясь из конечной точки
.
В точку
можно
переместиться только из двух соседних
точек
и
(см.
рис. 7.3), причем только одним возможным
способом, а поэтому выбора оптимального
управления на последнем шаге нет – оно
единственное. Если на предпоследнем
шаге мы находились в точке
,
то перемещение в
происходит
по горизонтали и тратится 17 у.о.т., а если
мы находились в точке
,
то движемся по вертикали и тратим 14
у.о.т. Эти значения минимальных затрат
ставим у точек
и
и
обводим кружком. Таким образом, число
в кружке у точки всегда означает
минимальный расход горючего для
перемещения самолета из данной точки
в конечную, а оптимальная траектория
показана стрелками (рис. 7.3).
Теперь
переходим к выбору оптимальной стратегии
на предпоследнем шаге. Для этого
рассмотрим пункты, из которых можно
попасть в
и
за
один шаг. Такими точками являются
,
,
(рис.
7.4). Для кажой из них необходимо найти
оптимальную траекторию в точку
и
соответствующий расход горючего. В
частности, для
выбора
нет, нужно двигаться только по горизонтали
и тратить 15 + 17 = 32 у.о.т. Для точки
выбор
существует: и
з
нее в
можно
идти через
или
.
В первом случае израсходуется 13 + 17 = 30
у.о.т., а во втором – 17 + 14 = 31 у.о.т. Итак,
оптимальная траектория из
в
проходит
через
.
Покажем эту траекторию стрелками, а
соответствующий минимальный расход,
равный 30 – обведем кружком в точке
.
В конце
концов для точки
путь
в
–
единственный (по вертикали), ему
соответствует расход в 12 + 14 = 26 у.о.т. Это
число обведем кружком в точке
и
покажем оптимальную траекторию (рис.
7.4).
Таким
образом, двигаясь последовательно от
точки к точке справа налево и сверху
вниз, находим для каждой узловой точки
оптимальную траекторию, ведущую к
,
и соответствующее ей минимальное
значение расхода горючего (которое
обводим кружком). Этот процесс
заканчивается, приведя к начальной
точке
.
Двигаясь теперь от нее в противоположном
направлении, которое показано стрелками,
последовательно проходим искомую
траекторию от
к
.
Эта оптимальная траектория показана
на рис. 7.5 дополнительными стрелками.
Число 139 означает минимальный расход
горючего, отвечающий этой траектории.
|
|
|
|
Поскольку в данной задаче фиксированы
как начальная, так и конечная точки, то
процесс построения оптимальной траектории
можно было бы осуществлять и в
противоположном направлении, от начала
в конец. Тогда число в кружке означало
бы минимальный расход горючего при
перемещении самолета из
в
точку, соответствующую числу в кружке.
Очевидно, что при этом конечный результат
– оптимальная траектория – не изменится.