Методы оптимизации Доцент, к.ф.-м..н. Плясунов А. В. (лекции 36 часов, семинары 36 часов) I. Организационно-методический раздел. 1.1. Данный курс реализуется в рамках программы для студентов III курса ФИТ НГУ и относится к вузовской компоненте раздела «Общие математические и естественно-научные дисциплины» государственного стандарта. 1.2. Дисциплина «Методы оптимизации» предназначена для изучения математических методов поиска оптимальных решений для линейных, выпуклых, нелинейных и частично – целочисленных оптимизационных задач. Основной целью курса является ознакомление с базовыми математическими моделями и освоение численных методов решения классических экстремальных задач, а также знакомство с современными направлениями развития методов оптимизации. 1.3. По окончании изучения указанной дисциплины студент должен: иметь представление об областях применения математического программирования и, в частности, линейного, целочисленного, выпуклого и нелинейного программирования; знать симплекс – метод, метод возможных направлений, метод Ньютона, градиентные методы, метод штрафов и методы отсечения Гомори; уметь правильно классифицировать конкретную прикладную задачу, выбирать наиболее подходящий метод решения и реализовывать его в виде алгоритма и программы. 1.4. Для контроля усвоения дисциплины учебным планом предусмотрены зачет и экзамен. В течение семестра проводятся контрольные работы, заключающиесяся в решении задач, отражающих основное содержание дисциплины. Для самостоятельной работы предусмотрены домашние задания. 2. Содержание дисциплины. 2.1 Отличительной чертой курса является использование аппарата линейного, выпуклого и нелинейного программирования в качестве математической базы. Освещаемые разделы отсутствуют в других курсах. 2.2 Тематический план курса (распределение часов). Наименование разделов и тем Количество Лекции Семинары часов Лаборатор- Самостоятель- Всего ные ная часов работа работы Задачи математического 2 2 2 6 10 10 10 30 10 10 10 30 10 10 10 30 4 4 4 12 36 36 36 108 программирования Линейное программирование Задачи нелинейного программирования Численные методы нелинейного программирования Целочисленное линейное программирование Итого по курсу: 2.3 Содержание отдельных разделов и тем. Введение. Задачи математического программирования. Выпуклые множества и функции, примеры. Выпуклая комбинация точек и выпуклая оболочка множества. Теорема Фаркаша. Задачи нелинейного программирования. Конус возможных направлений. Внутренняя и внешняя аппроксимация конуса возможных направлений. Конус направлений убывания. Условия регулярности. Геометрические необходимые условия оптимальности. Необходимые условия оптимальности ФритцаДжона. Необходимые условия оптимальности Куна-Таккера. Задачи выпуклого программирования. Условия регулярности Слейтера. Критерий выпуклости дифференцируемой функции. Необходимые условия оптимальности. Конус возможных направлений для линейных ограничений. Необходимые условия оптимальности для линейных ограничений. Теорема Куна-Таккера в локальной форме. Седловые точки функции Лагранжа и теорема Куна-Таккера в нелокальной форме. Двойственная задача к задаче выпуклого программирования. Слабая теорема двойственности. Задачи линейного программирования. Базисные решения и крайние точки линейного многогранного множества. Существование оптимального базисного решения. Необходимые и достаточные условия разрешимости задачи линейного программирования. Симплексная таблица. Элементарные преобразования базиса и симплексной таблицы. Геометрическая интерпретация элементарного преобразования базиса. Алгоритм симплекс-метода с использованием симплексных таблиц. Поиск начального базисного допустимого решения. Конечность симплекс-метода и вырожденность задачи линейного программирования. Лексикографический вариант симплекс-метода и доказательство его конечности. Двойственные задачи линейного программирования; правила построения и простейшие свойства. Первая теорема двойственности. Вторая теорема двойственности (условия дополняющей нежесткости). Анализ чувствительности. Диапазоны устойчивости для базисных и небазисных переменных при возмущении коэффициентов целевой функции. Диапазоны устойчивости при изменении правых частей. Диапазоны устойчивости при возмущении коэффициентов матрицы ограничений. Классификация релаксационных методов для задач безусловной оптимизации. Градиентные методы; две теоремы о сходимости градиентного метода с постоянным шагом. Метод Ньютона; теорема о сходимости метода. Методы нулевого порядка. Метод случайного поиска. Метод возможных направлений для задач выпуклого программирования. Критерий оптимальности в методе возможных направлений. Доказательство сходимости метода. Метод внешних штрафов. Теорема о сходимости метода. Метод внутренних штрафов. Теорема о сходимости метода. Задачи целочисленного линейного программирования. Сложность задачи линейного и целочисленного программирования. Общая идея методов отсечения. Лексикографический двойственный симплексметод (LD–метод). Способ построения дополнительных ограничений (отсечений). Первый (циклический) алгоритм Гомори и доказательство его конечности. Метод ветвей и границ. Понятия атомарных и разложимых множеств. Нижняя граница. Функция ветвления. Метод ветвей и границ для задачи минимизации липшицевой функции на гиперкубе. Простейшая задача вариационного исчисления. Уравнение Эйлера. Линейная задача быстродействия оптимального управления. 3. Учебно-методическое обеспечение дисциплины 3.1 Образцы вопросов для подготовки к экзамену. 4. Выпуклые множества и функции. Теорема Фаркаша. Задачи линейного программирования. Базисные решения и крайние точки линейного многогранного множества. Существование оптимального базисного решения. Необходимые и достаточные условия разрешимости задачи линейного программирования. Симплексная таблица. Элементарные преобразования базиса и симплексной таблицы. Геометрическая интерпретация элементарного преобразования базиса. Алгоритм симплексметода с использованием симплексных таблиц. Поиск начального базисного допустимого решения. Конечность симплекс-метода и вырожденность задачи линейного программирования. Лексикографический вариант симплекс-метода и доказательство его конечности. Двойственные задачи линейного программирования; правила построения и простейшие свойства. Первая теорема двойственности. Вторая теорема двойственности. Двойственный симплекс-метод. Диапазоны устойчивости для базисных и небазисных переменных при возмущении коэффициентов целевой функции. Диапазоны устойчивости при изменении правых частей. Диапазоны устойчивости при возмущении коэффициентов матрицы ограничений. 5. Необходимое условие Куна-Таккера. Седловые точки функции Лагранжа и теорема Куна-Таккера. Двойственность в выпуклом программировании. Классификация релаксационных методов для задач безусловной оптимизации. Теоремы о сходимости градиентного метода с постоянным шагом. Метод Ньютона. Метод возможных направлений для задач выпуклого программирования. Критерий оптимальности в методе возможных направлений. Метод внешних штрафов. Метод внешних штрафов. Общая идея методов отсечения. Лексикографический двойственный симплекс-метод. Способ построения дополнительных ограничений. Первый алгоритм Гомори и доказательство его конечности. Метод ветвей и границ. Понятия атомарных и разложимых множеств. Нижняя граница. Функция ветвления. Метод ветвей и границ для задачи минимизации липшицевой функции на гиперкубе. 5.1 Список основной и дополнительной литературы 1. 2. 3. 4. 5. 6. 7. 8. Глебов Н.И., Кочетов Ю.А., Плясунов А.В. Методы оптимизации. Учебное пособие, НГУ, 2000. Васильев Ф.П. Численные методы решения экстремальных задач. М.: Наука, 1980. Карманов В.Г. Математическое программирование. М.: Наука, 1986. Ларин Р.М., Плясунов А.В., Пяткин А.В. Методы оптимизации. Примеры и задачи. Учебное пособие, НГУ, 2003. Моисеев Н.Н., Иванилов Ю.П., Столярова Е.М. Методы оптимизации. М.: Наука, 1978. Ху Т. Целочисленное программирование и потоки в сетях. М.: Мир, 1974. Мину М. Математическое программирование. М.: Наука, 1990. Схрейвер А. Теория линейного и целочисленного программирования. М.: Мир, 1991.