- •1. Введение в оптимизацию 4
- •2. Безусловная оптимизация функции одной переменной 13
- •1. Введение в оптимизацию
- •Ограничения на допустимое множество
- •Структура оптимизационных задач математического программирования
- •Примеры постановки задачи оптимизации для решения методами математического программирования
- •Классификация методов оптимизации
- •2. Безусловная оптимизация функции одной переменной
- •Свойства функции одной переменной
- •Идентификация экстремумов функции одной переменной
- •Прямые методы поиска экстремума функции одной переменной
- •Метод равномерного поиска
- •Метод золотого сечения
- •Сравнение методов исключения интервалов
- •Полиномиальная аппроксимация
- •Методы с использованием производных
- •Метод Ньютона-Рафсона
- •Метод средней точки
- •Метод секущих
- •3. Безусловная оптимизация функции нескольких переменных
- •Критерии оптимальности для функции нескольких переменных
- •Методы прямого поиска для нескольких переменных
- •Метод эволюционной оптимизации
- •Метод поиска по симплексу ( метод)
- •Градиентные методы
- •Метод Коши (Наискорейшего спуска)
- •Метод покоординатного спуска.
- •С хема метода Гаусса – Зейделя
- •4. Условная оптимизация. Линейное программирование
- •Общие сведения о линейном программировании
- •Постановка задачи линейного программирования
- •Пример постановки задачи линейного программирования
- •Геометрическая интерпретация задачи линейного программирования
- •Симплекс-метод решения задачи линейного программирования.
- •5. Классическое вариационное исчисление
- •Критерий оптимизации в задачах вариационного исчисления
- •Вариация функционала
- •Необходимые условия экстремума. Уравнение Эйлера.
- •Уравнение Эйлера и условия Лежандра для функционалов, зависящих от нескольких функций и от высших производных
- •6. Динамическое программирование
- •Задача о Черепашке
- •Оптимальное управление представляет собой вектор, определяемый последовательностью оптимальных пошаговых управлений
- •Организация процесса оптимизации в динамическом программировании
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ
ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
А.В. Воронин
МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ И ОПТИМИЗАЦИЯ СИСТЕМ
Рекомендовано в качестве учебного пособия Редакционно-издательским советом Томского политехнического университета
Издательство
Томского политехнического университета
2014
|
УДК 519.85 ББК 22.18
|
|
Воронин А.В. Математическое программирование и оптимизация систем: учебное пособие / А.В. Воронин: Томский политехнический университет. – Томск: Изд-во Томского политехнического университета, 2014. – 77 с. В авторской редакции |
Пособие подготовлено на кафедре интегрированных систем управления и предназначено для студентов ИДО, обучающихся по направлению 220700 «Автоматизация технологических процессов и систем».
УДК 519.85
ББК 22.18
© ФГБОУ ВПО НИ ТПУ, 2014
© Воронин А.В., 2014
© Оформление. Издательство Томского политехнического университета, 2014
1. Введение в оптимизацию 4
Понятие о задачах оптимизации 4
Критерий оптимизации 5
Ограничения на допустимое множество 8
Структура оптимизационных задач математического программирования 9
Примеры постановки задачи оптимизации для решения методами математического программирования 10
Классификация методов оптимизации 12
2. Безусловная оптимизация функции одной переменной 13
Свойства функции одной переменной 14
Идентификация экстремумов функции одной переменной 17
Прямые методы поиска экстремума функции одной переменной 20
Метод равномерного поиска 21
Метод деления отрезка пополам 22
Метод золотого сечения 23
Сравнение методов исключения интервалов 24
Полиномиальная аппроксимация 25
Методы с использованием производных 27
Метод Ньютона-Рафсона 27
Метод средней точки 28
Метод секущих 29
3. Безусловная оптимизация функции нескольких переменных 30
Критерии оптимальности для функции нескольких переменных 32
Методы прямого поиска для нескольких переменных 33
Метод эволюционной оптимизации 34
Метод поиска по симплексу ( метод) 34
Градиентные методы 38
Метод Коши (Наискорейшего спуска) 41
Метод покоординатного спуска. 44
4. Условная оптимизация. ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ 47
Общие сведения о линейном программировании 49
Постановка задачи линейного программирования 51
Пример постановки задачи линейного программирования 53
Геометрическая интерпретация задачи линейного программирования 53
Симплекс-метод решения задачи линейного программирования. 56
5. Классическое вариационное исчисление 58
Критерий оптимизации в задачах вариационного исчисления 59
Типовые задачи вариационного исчисления. 59
Вариация функционала 61
Необходимые условия экстремума. Уравнение Эйлера. 63
Уравнение Эйлера и условия Лежандра для функционалов, зависящих от нескольких функций и от высших производных 66
Вариационные задачи на условный экстремум 67
6. Динамическое программирование 69
Задача о Черепашке 69
Постановка задачи динамического программирования 70
Особенности математической модели динамического программирования 73
Организация процесса оптимизации в динамическом программировании 73
Список литературы 75
1. Введение в оптимизацию
Понятие о задачах оптимизации
В наиболее общем смысле, теория оптимизации представляет собой совокупность фундаментальных математических результатов и численных методов, ориентированных на нахождение наилучших вариантов из множества альтернатив, позволяющих избежать полного перебора и оценивания возможных вариантов.
Более корректно, в математике, информатике и исследовании операций, оптимизация понимается как задача нахождения экстремума (минимума или максимума) целевой функции в некоторой области конечномерного векторного пространства, ограниченной набором линейных и/или нелинейных равенств и/или неравенств.
Процесс оптимизации лежит в основе всей инженерной деятельности, поскольку обычно функции инженера заключаются в том, чтобы, с одной стороны, проектировать новые, более эффективные и менее дорогостоящие технические системы и, с другой стороны, разрабатывать методы повышения качества функционирования существующих систем.
Оптимизационные методы, позволяющие осуществить выбор наилучшего варианта без непосредственной проверки всех возможных вариантов, являются, как правило, методами математическими. Поэтому для изложения методологических основ оптимизации требуется привлечение важнейших результатов теории матриц, элементов линейной алгебры и дифференциального исчисления, а также положений математического анализа.
Теорию и методы решения задачи оптимизации изучает математическое программирование, вариационное исчисление и теория оптимального управления.
Математическое программирование - это область математики, разрабатывающая теорию и численные методы решения многомерных задач с ограничениями вида функций. В отличие от классической математики, математическое программирование занимается математическими методами решения задач нахождения наилучших вариантов из всех возможных.
Присутствие в названии дисциплины термина «программирование» объясняется тем, что первые исследования и первые приложения линейных оптимизационных задач были в сфере экономики, так как в английском языке слово «programming» означает планирование, составление планов или программ. Вполне естественно, что терминология отражает тесную связь, существующую между математической постановкой задачи и её экономической интерпретацией (изучение оптимальной экономической программы). Термин «линейное программирование» был предложен Данцигом в 1949 году для изучения теоретических и алгоритмических задач, связанных с оптимизацией линейных функций при линейных ограничениях. Поэтому наименование «математическое программирование» связано с тем, что целью решения задач является выбор оптимальной программы действий.
Поскольку размерность инженерных задач, как правило, достаточно велика, а расчеты в соответствии с алгоритмами оптимизации требуют значительных затрат времени, оптимизационные методы ориентированы, главным образом, на реализацию с помощью ЭВМ.
Вариационное исчисление занимается задачами, связанными с нахождением экстремумов (максимальных или минимальных значений), но экстремумов не функций, а функционалов.
Оптимальное управление — это задача проектирования системы, обеспечивающей для заданного объекта управления или процесса закон управления или управляющую последовательность воздействий, обеспечивающих максимум или минимум заданного критерия качества системы.
Применение методов оптимизации в инженерной практике. Теория оптимизации находит широкое и эффективное применение во всех направлениях инженерной деятельности и, в первую очередь, в следующих четырех ее областях:
Проектирование систем и их составных частей;
Планирование и анализ функционирования существующих систем;
Инженерный анализ и обработка информации;
Управление динамическими системами.
Три первых области применения методов оптимизации существенно отличаются от четвертой, прежде всего по используемым моделям, критериям оптимизации и методам решения задачи оптимизации. Эти три направления обычно относят к задачам математического программирования, а четвертое направление рассматривают отдельно, как решение задач оптимального управления.
Необходимые условия для применения оптимизационных методов. Формулировка задачи оптимизации включает три этапа: 1) словесное представление о параметрах задачи, множестве ее решений и поставленной цели; 2) запись критерия оптимальности (целевой функции) как функции параметров задачи; 3) запись условий, определяющих область допустимых значений параметров.
Критерий оптимизации
На этапе постановки задачи оптимизации необходимо осуществить выбор критерия, на основе которого можно оценить характеристики системы или ее проекта, с тем, чтобы выявить «наилучший» проект или множество «наилучших» условий функционирования системы.
В задачах математического программирования обычно выбираются критерии экономического характера. Однако спектр возможных формулировок таких критериев весьма широк; при определении критерия могут использоваться такие экономические характеристики, как валовые капитальные затраты, издержки в единицу времени, чистая прибыль в единицу времени, доходы от инвестиций, отношение затрат к прибыли или собственный капитал на данный момент времени.
В других приложениях, критерий может основываться на некоторых технологических факторах. Например, требуется минимизировать продолжительность процесса производства изделия, максимизировать темпы производства, минимизировать количество потребляемой энергии, максимизировать величину крутящего момента, максимизировать нагрузку и т. п. Независимо от того, какой критерий выбирается при оптимизации, «наилучшему» варианту всегда соответствует минимальное или максимальное значение показателя качества функционирования системы.
Критерий оптимальности может быть
представлен в виде функции параметров
(целевой функции)
,
где
- одно из допустимых решений задачи,
или функционала
,
аргументами которого являются функции
времени или координаты
.
Первый вариант является типичным для задач математического программирования, второй – для задач оптимального управления.
Выбор критерия оптимальности представляет собой сложную инженерную задачу, которая может быть успешно решена лишь на основе всестороннего изучения объекта управления и тех задач, которые должна выполнять система управления в целом. Величина критерия оптимальности должна отражать требования, предъявляемые к системе и к процессу управления. Обычно, к любой системе предъявляется целый ряд требований: по прибыли, издержкам и т.д., либо по точности, быстродействию, экономичности управления, надежности, стоимости, весу и т.д. Поскольку задача достижения одновременно экстремума двух и более функционалов в общем случае бессмысленна, естественно желание иметь один критерий оптимальности, который отражал бы все наиболее существенные требования к системе. Однако сформировать такой критерий трудно. Во-первых, такие требования, как надежность, стоимость, вес и др., не всегда удается выразить в математической форме. Во-вторых, объединение различных показателей в единый составной критерий имеет определенный субъективизм.
Пусть требования к
системе могут быть определены в виде
совокупности критериев
,
где, например,
характеризует точность управления,
– энергию, затраченную на управление,
– стоимость системы и т.д. Объединение
этих показателей в единый обобщенный
критерий может осуществляться следующими
способами.
1. Составной критерий оптимальности строится в аддитивной форме
.
В этом случае критерий имеет наиболее
простое математическое представление
и это облегчает задачу оптимизации, но
возникает достаточно сложная проблема
определения весовых коэффициентов
.
2. Выделяется один основной критерий, например, , а на остальные накладываются ограничения в виде неравенств
и т. д.
В этом случае первичный критерий используется при оптимизации как характеристическая мера, а вторичные критерии порождают ограничения оптимизационной задачи, которые устанавливают диапазоны изменений соответствующих показателей от минимального до максимального приемлемого значения.
Таким образом, формальное объединение требований к системе в виде обобщенного критерия оптимальности производится достаточно просто. Однако осуществить оптимизацию системы по обобщенному критерию удается не всегда. Это объясняется тем, что связь между некоторыми частными критериями и искомым оптимумом непосредственно отсутствует и проявляется лишь после реализации системы. Следовательно, получаем замкнутый круг: чтобы учесть подобные частные критерии при оптимизации системы, необходимо знать, как реализуется система, а чтобы реализовать систему, надо знать вид оптимального управления.
Особо следует указать на некоторый субъективизм при выборе обобщенного критерия оптимальности. Субъективизм проявляется при выборе частных критериев и назначении весовых коэффициентов, когда из-за недостатка знаний об объекте управления и условиях его работы приходится полагаться на интуицию и здравый смысл. Особенно это характерно для задач оптимального управления. При этом если требования к системе окажутся завышенными, их выполнение будет связано с большими трудностями или вообще окажется невозможным. Если требования низкие, то встает вопрос о целесообразности создания такой системы. Очевидно, субъективизм увеличивается с увеличением числа частных критериев, составляющих обобщенный критерий оптимальности.
Важно отметить, что независимо от содержания оптимизационных методов, только один критерий может использоваться при определении оптимума, так как невозможно получить решение, которое, например, одновременно обеспечивает минимум затрат, максимум надежности и минимум потребляемой энергии. Конечно, в ряде практических случаев было бы весьма желательным найти решение, которое бы являлось «наилучшим» с позиций нескольких различных критериев, однако это, как правило, невозможно, так как критерии противоречат друг другу.
