
- •Математические модели
- •Введение
- •1.1. Состояние проблемы моделирования систем
- •1.2. Моделирование как метод научного познания
- •1.3. Использование моделирования при исследовании и проектировании сложных систем
- •1.4. Перспективы развития методов и средств моделирования систем в свете новых информационных технологий
- •Лекция № 2 классификация видов моделирования систем
- •3.1. Системный подход
- •3.2. Подходы к исследованию систем
- •3.3. Процесс моделирования на основе классического подхода
- •3.4. Процесс моделирования на основе системного подхода
- •3.5. Стадии разработки моделей
- •3.6. Характеристики моделей систем
- •3.7. Цель моделирования систем
- •3.8. Основные подходы к построению математических моделей систем
- •Лекция № 4 типовые схемы. Непрерывно-детерминированные модели
- •4.1. Типовые схемы
- •4.2. Непрерывно-детерминированные модели (d-схемы)
- •4.3. Основные соотношения
- •4.4. Возможные приложения
- •Лекция № 5 дискретно-детерминированные модели
- •5.1. Дискретно-детерминированные модели (f-схемы)
- •5.2. Основные соотношения
- •5.3. Возможные приложения
- •Пример: Для рассмотренного выше автомата Мура f2 запишем матрицу соединений и векторов выходов:
- •Лекция № 6 дискретно-стохастические модели
- •6.1. Дискретно-стохастические модели (р-схемы)
- •6.2. Основные соотношения
- •6.3. Возможные приложения
- •Лекция № 7 непрерывно-сТоХастические модели
- •7.1. Непрерывно-стохастические модели (q-схемы)
- •7.2. Основные соотношения
- •7.3. Возможные приложения
- •Пример. Допустим, что процесс обслуживания описывается следующей системой уравнений:
- •Лекция № 8 сетевые модели
- •8.1. Сетевые модели (n-схема)
- •8.2. Основные соотношения
- •8.3. Возможные приложения
- •Лекция № 9 комбинированные модели
- •9.1. Комбинированные модели (а-схемы)
- •9.2. Возможные приложения
- •Лекция № 10 формализация и алгоритмизация процессов
- •10.1. Формализация алгоритмизация процессов
- •10.2. Методика разработки и машинной реализации объекта
- •10.3. Методологические аспекты моделирования
- •10.4. Требования пользователя к модели
- •10.5. Этапы моделирования систем
- •Лекция № 11 построение концептуальных моделей систем и их формализация
- •11.1. Построение концептуальных моделей систем и их формализация
- •11.2. Переход от описания к блочной модели
- •11.3. Подэтапы первого этапа моделирования
- •11.3.1. Постановка задачи машинного моделирования системы
- •11.3.2 Анализ задачи моделирования системы
- •11.3.3. Определение требований к исходной информации об объекте моделирования и организация ее сбора
- •11.3.4. Выдвижение гипотез и принятие предположений
- •11.3.5. Определение параметров и переменных модели
- •11.3.6. Установление основного содержания модели
- •11.3.7. Обоснование критериев оценки эффективности системы
- •11.3.8. Определение процедур аппроксимации
- •11.3.9. Описание концептуальной модели системы
- •11.3.10. Проверка достоверности концептуальной модели
- •11.3.11. Составление технической документации по первому этапу
- •11.4. Алгоритмизация моделей систем и их машинная реализация
- •11.5. Принципы построения моделирующих алгоритмов
- •11.6. Формы представления моделирующих алгоритмов
- •11.7. Схемы алгоритмов, программ, данных и систем
- •11.8. Подэтапы второго этапа моделирования
- •11.8.1. Построение логической схемы модели
- •11.8.2. Получение математических соотношений
- •11.8.3. Проверка достоверности модели системы
- •11.8.4. Выбор инструментальных средств для моделирования
- •11.8.7. Верификация и проверка достоверности схемы программы
- •11.8.8. Проведение программирования модели
- •11.8.9. Проверка достоверности программы
- •11.9. Получение и интерпритация результатов моделирования систем
- •11.10. Подэтапы третьего этапа моделирования
- •11.10.3. Проведение рабочих расчетов
- •11.10.4. Анализ результатов моделирования системы
- •11.10.5. Представление результатов моделирования
- •11.10.6. Интерпретация результатов моделирования
- •11.10.8. Составление технической документации по третьему этапу
- •Лекция № 12 Линейное программирование
- •12.1. Общая и основная задачи линейного программирования
- •12.2. Графический метод решения задачи линейного программирования
- •Исходные данные задачи
- •12.3. Составление математической модели
- •Решение
- •12.4. Решение задач линейного программирования на эвм
- •12.5. Метод Гаусса с выбором главного элемента
- •12.6. Итерационные методы
- •Лекция № 13 нелинейное программирование
- •13.1. Постановка задачи нелинейного программирования
- •13.2. Геометрическая интерпретация задачи нелинейного программирования. Графический метод решения
- •13.3. Алгоритм решения знп графическим методом
- •Пример решения знп графическим методом
- •13.4. Метод множителей Лагранжа
- •13.5. Алгоритм метода множителей Лагранжа решения задачи
- •Лекция № 14 динамическое программирование
- •14.1. Постановка задачи динамического программирования
- •14.2. Составление математической модели динамического программирования
- •14.3. Этапы решения задачи динамического программирования
- •Оглавление
- •Математические модели
- •6 80021, Г. Хабаровск, ул. Серышева, 47
13.4. Метод множителей Лагранжа
Пусть требуется решить задачу нелинейного программирования следующего вида:
(13.5)
(13.6)
где
функции
и
,
непрерывны, и непрерывны их частные
производные по
,
.
Для решения поставленной задачи может быть применен метод множителей Лагранжа. Объясним идею метода на примере ЗНП, зависящей от двух переменных.
Рис.
13.2. Графики функций
На
плоскости x10x2
уравнение
определяет
график некоторой функции, представленный
на рис. 13.2. На нем показаны несколько
линий уровня некоторой функции
и выбранное в качестве примера направление
ее возрастания.
В точке A, в которой функция достигает максимального значения, совпадают касательные линии к графикам функций
и
.
Следовательно, в точке A векторы-нормали к функциям и пропорциональны. Обозначим эти векторы соответственно через k и l. Получаем
где
– некоторый коэффициент пропорциональности.
Координатами векторов
и
являются значения частных производных
функций
и
соответственно в точке A.
Из условия пропорциональности в точке А имеем
Для определения значений x1, x2, в которых функция достигает максимума, к этим уравнениям надо добавить условие принадлежности точки А графику функции .
Окончательно получаем систему уравнений, определяющих оптимальное решение поставленной задачи
Введем новую функцию
Тогда последняя система перепишется в виде
Функцию F называют функцией Лагранжа.
13.5. Алгоритм метода множителей Лагранжа решения задачи
Шаг 1. Составляют функцию Лагранжа
Шаг
2.
Находят частные производные функции
Лагранжа по
и
,
;
и приравнивают их к нулю
(13.7)
Шаг
3.
Решают систему (3.7) и определяют точки,
в которых функция
может иметь экстремум.
Шаг 4. Проверяют полученные на шаге 3 точки на экстремум и определяют экстремальное значение функции в найденной точке.
КОНТРОЛЬНЫЕ ВОПРОСЫ
Дайте понятие нелинейного программирования.
Что значит геометрическая интерпретация задачи?
Приведите алгоритм задачи нелинейного программирования графическим методом.
В чем заключается метод множителей Лагранжа?
Опишите алгоритм метода множителей Лагранжа.
Лекция № 14 динамическое программирование
Рассматриваемые вопросы
1. Постановка задачи динамического программирования.
2. Составление математической модели.
3. Этапы решения задачи динамического программирования.
14.1. Постановка задачи динамического программирования
В ряде реальных экономических и производственных задач необходимо учитывать изменение моделируемого процесса во времени и влияние времени на критерий оптимальности. Для решения указанных задач используется метод динамического планирования (динамическое программирование). Этот метод более сложен по сравнению с методами расчета статических оптимизационных задач, изложенных выше. Также не простым делом является процесс построения для реальной задачи математической модели динамического программирования.
Пусть
рассматривается задача, распадающаяся
на т
шагов или этапов, например планирование
деятельности предприятия на несколько
лет, поэтапное планирование инвестиций,
управление производственными мощностями
в течение длительного срока. Показатель
эффективности задачи в целом обозначим
через
,
а показатели эффективности на отдельных
шагах – через
.
Если
обладает свойством аддитивности, т. е.
(14.1)
то можно найти оптимальное решение задачи методом динамического программирования.
Таким образом, динамическое программирование – это метод оптимизации многошаговых или многоэтапных процессов, критерий эффективности которых обладает свойством (4.1). В задачах динамического программирования критерий эффективности называется выигрышем. Данные процессы управляемые, и от правильного выбора управления зависит величина выигрыша.
Переменная хi, от которой зависят выигрыш на i-м шаге и, следовательно, выигрыш в целом, называется шаговым управлением, .
Управлением
процесса
в целом (х)
называется последовательность шаговых
управлений
.
Оптимальное
управление
х*
–
это значение управления х,
при котором значение
является максимальным (или минимальным,
если требуется уменьшить проигрыш)
(14.2)
где X – область допустимых управлений.
Оптимальное управление x* определяется последовательностью оптимальных шаговых управлений
.
В основе метода динамического программирования лежит принцип оптимальности Беллмана, формулирующийся следующим образом: управление на каждом шаге надо выбирать так, чтобы оптимальной была сумма выигрышей на всех оставшихся до конца процесса шагах, включая выигрыш на данном шаге.
Поясним это правило. При решении задачи динамического программирования на каждом шаге выбирается управление, которое должно привести к оптимальному выигрышу. Если считать все шаги независимыми друг от друга, то оптимальным шаговым управлением будет то управление, которое приносит максимальный выигрыш именно на данном шаге. Но, например, при покупке новой техники взамен устаревшей на ее приобретение затрачиваются определенные средства. Поэтому прибыль от ее эксплуатации вначале может быть небольшой. Однако в следующие годы новая техника будет приносить большую прибыль. И наоборот, если руководитель примет решение оставить старую технику для получения прибыли в текущем году, то в дальнейшем это приведет к значительным убыткам. Данный пример демонстрирует следующий факт: в многошаговых процессах все шаги зависят друг от друга, и, следовательно, управление на каждом конкретном шаге надо выбирать с учетом его будущих воздействий на весь процесс.
Другой момент, который следует учитывать при выборе управления на данном шаге, – это возможные варианты окончания предыдущего шага. Эти варианты определяют состояние процесса. Например, при определении количества средств, вкладываемых в предприятие в i-м году, необходимо знать, сколько средств осталось в наличии к этому году и какая прибыль получена в предыдущем (i-1)-м году. Таким образом, при выборе шагового управления необходимо учитывать: 1)возможные исходы предыдущего шага и 2)влияние управления на все оставшиеся до конца процесса шаги.
В задачах динамического программирования первый пункт учитывают, делая на каждом шаге условные предположения о возможных вариантах окончания предыдущего шага и проводя для каждого из вариантов условную оптимизацию. Выполнение второго пункта обеспечивается тем, что в задачах динамического программирования условная оптимизация проводится от конца процесса к началу. Сперва оптимизируется последний m-й шаг, на котором не надо учитывать возможные воздействия выбранного управления хm на все последующие шаги, так как эти шаги просто отсутствуют. Делая предположения об условиях окончания (m-1)-го шага, для каждого из них проводят условную оптимизацию m-го шага и определяют условное оптимальное управление хm. Аналогично поступают для (m-1)-го шага, делая предположения об исходах окончания (т-2)-го шага и определяя условное оптимальное управление на (m-1)-м шаге, приносящее оптимальный выигрыш на двух последних шагах - (m-1)-м и m-м. Так же действуют на всех остальных шагах до первого. На первом шаге, как правило, не надо делать условных предположений, так как состояние системы перед первым шагом обычно известно.
Для этого состояния выбирают оптимальное шаговое управление, обеспечивающее оптимальный выигрыш на первом и всех последующих шагах. Это управление является безусловным оптимальным управлением на первом шаге и, зная его, определяют оптимальное значение выигрыша и безусловные оптимальные управления на всех шагах.