РОССИЙСКАЯ ФЕДЕРАЦИЯ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» Институт математики и компьютерных наук Кафедра программного обеспечения ДОНКОВА И.А. МЕТОДЫ ОПТИМИЗАЦИИ Учебно-методический комплекс. Рабочая программа для студентов очной формы обучения, специальности 010503.65 «Математическое обеспечение и администрирование информационных систем» Тюменский государственный университет 2013 Донкова И.А. Методы оптимизации. Учебно-методический комплекс. Рабочая программа для студентов очной формы обучения, специальности 010500.65 «Математическое обеспечение и администрирование информационных систем». Тюмень, 2013, 14 стр. Рабочая программа составлена в соответствии с требованиями ГОС ВПО. Рабочая программа дисциплины опубликована на сайте ТюмГУ: Методы оптимизации [электронный ресурс] / Режим доступа: http://www.umk.utmn.ru., свободный. Рекомендовано к изданию кафедрой программного обеспечения. Утверждено проректором по учебной работе Тюменского государственного университета. ОТВЕТСТВЕННЫЙ РЕДАКТОР: Захарова зав.кафедрой программного обеспечения. И.Г., д.п.н., профессор, © ФГБОУ ВПО «Тюменский государственный университет», 2013. © Донкова И.А., 2013. 2 1. Пояснительная записка: 1.1. Требования к уровню освоения содержания дисциплины Дисциплина Методы оптимизации входит в цикл естественно - научных дисциплин по выбору государственного образовательного стандарта высшего профессионального образования (ГОС ВПО) по специальности «Математическое обеспечение и администрирование информационных систем». В результате изучения дисциплины студенты должны знать: теорию основных разделов математического программирования; классификацию оптимизационных задач, моделей и методов; одномерные численные методы оптимизации нулевого, первого и второго порядков; основные классические и численные методы решения задач безусловной оптимизации; основные классические и численные методы решения задач условной оптимизации, уметь: использовать основные понятия и методы оптимизации; практически решать типичные оптимизационные задачи; решать достаточно сложные в вычислительном отношении задачи, требующих их численной реализации на ЭВМ. владеть: методами и технологиями разработки оптимизационных моделей и методов для задач из указанных разделов. 1.2. Цели и задачи дисциплины. Целью преподавания дисциплины «Методы оптимизации» является изучение теоретических основ моделирования оптимизационных задач и методов их решения, основных приемов и методик разработки и применение на практике методов решения на ЭВМ задач оптимизации с использованием современных языков программирования. 3 Семинарские (практические) занятия должны включать рассмотрение конкретных приемов по построению оптимизационных методов и сопровождаться практикумом на ЭВМ (где студенты обязаны решить определенное количество задач на ЭВМ, используя известные оптимизационные методы). В результате выпускник должен уметь решать на ЭВМ определенный набор задач с использованием изученных методов и понимать, какие методы исследования операций лежат в основе программ широко используемых пакетов (например, MATLAB, MATHCAD, MAPLE и т.пр.) Задачи дисциплины: обучить студентов основам операционного исследования; привить студентам устойчивые навыки математического моделирования и решения экономико-математических задач; дать опыт проведения вычислительных экспериментов с использованием ЭВМ. 1.3. Требования к уровню подготовки студента для освоения дисциплины Для изучения и освоения дисциплины нужны первоначальные знания из курсов математического анализа, алгебра и теория чисел, дискретной математики, вычислительная математика. Знания и умения, практические навыки, приобретенные студентами в результате изучения дисциплины, будут использоваться при изучении курсов компьютерное моделирование, системы искусственного интеллекта, при выполнении курсовых и дипломных работ, связанных с математическим моделированием и обработкой наборов данных, решением конкретных задач из механики, физики и т.п. 1.4. Трудоемкость дисциплины. Семестр 8. Форма промежуточной аттестации экзамен. Общая трудоемкость дисциплины составляет – 116 час. 4 2. Тематический план изучения дисциплины Таблица 1. Распределение часов курса дисциплины по темам и видам работ 1 1 2 1 2 3 1 2 2 Модуль 1 Общая характеристика методов оптимизации Математические модели и методы выпуклого нелинейного программирования Всего Модуль 2 Численные оптимизационные одномерные методы Многомерная безусловная численная оптимизация. Методы нулевого порядка Многомерная безусловная численная оптимизация. Методы первого и второго порядка Всего Модуль 3 Многомерная условная численная оптимизация Численные оптимизационные методы случайного поиска и переменной метрики Итого часов по теме Итого количество баллов Семинарские занятия* Самостоятельная работа* Виды учебной работы и самостоятельная работа, в час. Лекции* Тема недели семестра № 3 4 5 6 8 9 1 2 2 2 6 0-5 2-6 10 10 10 30 0-28 12 12 12 36 0-33 7 2 2 4 8 0-5 8-9 4 4 6 14 0-14 10-13 8 8 4 20 0-20 14 14 14 42 0-39 14-15 4 4 10 18 0-17 16-17 4 4 12 20 0-11 8 8 22 38 0-28 34 34 48 116 0 – 100 Всего Итого (часов, баллов): Таблица 2. Итого количество баллов электронные практикум программы компьютерного тестирования тест контрольная работа собеседование коллоквиумы № темы ответ на семинаре Виды и формы оценочных средств в период текущего контроля Устный опрос ПисьменТехнические Информациные работы формы кононные систетроля мы и технологии Модуль 1 Т1 Т2 Всего Т1 Т2 Т3 Всего 0-1 0-2 0-5 0-5 0-5 0-6 010 012 0-5 0-5 0-1 0-2 0-4 0-7 0-2 0-4 0-8 014 0-5 0-5 0-3 0-2 0-5 0-6 0-4 010 036 0-1 0-1 0-5 0-1 0-1 0-1 0-28 0-5 0-2 0-2 0-1 0-33 0-5 0-1 0-1 0-1 0-3 Модуль 2 0-1 0-1 0-1 0-3 0-1 0-1 0-2 0-5 0-14 0-20 0-39 0-5 0-1 0-5 0-5 Модуль 3 Т1 Т2 Всего Итого 015 0-18 0-1 0-5 0-1 0-1 0-1 0-15 0-6 0-6 0-1 0-17 0-11 0-28 0-4 0 – 100 Таблица 3. Планирование самостоятельной работы студентов № Модули и темы Модуль 1 1.1 Т1. 1.2 Т2. Виды СРС обязательные Конспектирование материала на лекционных занятиях Выполнение заданий практических работ. Выполнение тестовых и контрольных работ Конспектирование материала на лекционных занятиях Выполнение заданий практических работ 6 дополнительные Не- Объделя ем се- часов мес тра Колво баллов Работа с учебной литературой 1 2 0-5 Написание программы 2-6 10 0-28 Выполнение тестовых и контрольных работ Всего по модулю 1: Модуль 2 2.1 Т1. 12 Конспектирование материала на лекционных занятиях Выполнение заданий практических работ Выполнение тестовых и контрольных работ Работа с учебной литературой 2.2 Т2. Конспектирование материала на лекционных занятиях Выполнение заданий практических работ Выполнение тестовых и контрольных работ Работа с учебной литературой 2.3 Т2. Конспектирование материала на лекционных занятиях Выполнение заданий практических работ Выполнение тестовых и контрольных работ Работа с учебной литературой 7 4 0-5 8-9 6 0-14 1013 4 0-20 Всего по модулю 2: Модуль 3 3.1 Т1. 3.2 Т2. 0-33 14 Конспектирование материала на лекционных занятиях Выполнение заданий практических работ Выполнение тестовых и контрольных работ Работа с учебной литературой Конспектирование материала на лекционных занятиях Выполнение заданий практических работ Выполнение тестовых и контрольных работ Работа с учебной литературой Всего по модулю 3: ИТОГО: 0-39 1415 10 0-17 1617 12 0-11 22 48 0-28 0-100 3. Разделы дисциплины и междисциплинарные связи с обеспечиваемыми (последующими) дисциплинами 7 № п/п 1. 2. 3 Наименование обеспечиваемых (последующих) дисциплин Проблемноориентированные программные комплексы Методика и технологии поддержки принятия решений Основы управления проектами Темы дисциплины необходимые для изучения обеспечиваемых (последующих) дисциплин 1.1 1.2 2.1 2.2 3.1 3.2 3.3 + + + + + + + 4 Компьютерное моделирование + + + 5 Системы искусственного интеллекта + + + 4. Содержание дисциплины. Модуль 1. + Тема 1.1. Общая характеристика методов оптимизации Аналитическое исследование оптимизационных задач классическими методами. Исследование нелинейных задач численными методами. Классификация численных методов по размерности, порядку, ограничениям задачи. Экспериментальные методы исследования на ЭВМ. Специализированные математические пакеты. Тема 1.2. Математические модели и методы выпуклого нелинейного программирования Понятие выпуклых областей, выпуклых и вогнутых функций. Геометрическая интерпретация. Аналитические и алгебраические свойства выпуклых (вогнутых) функций. Теорема Куна-Таккера для задач выпуклого нелинейного программирования. Понятие двойственности для задач нелинейного программирования. Квадратичное программирование. Модуль 2. Тема 2.1. Численные оптимизационные одномерные методы Численные оптимизационные одномерные методы 0-, 1-, 2-го порядка: метод дихотомии, Фибоначчи, золотого сечения, метод квадратичной интерполяции Пауэлла, Ньютона и др. Условия сходимости. Теорема (о локализации точек экстремума унимодальной функции). Тема 2.2. Многомерная безусловная численная оптимизация. Методы нулевого порядка Многомерная безградиентная оптимизация (концепция методов). Метод покоординатного спуска (Гаусса-Зейделя), метод Розенброка, метод деформируемого многогранни8 ка (Нелдера-Мила), метод вращающихся координат, метод Хука-Дживса (метод конфигураций, метод пробных шагов), и др. Тема 2.3. Многомерная безусловная численная оптимизация. Методы первого и второго порядка Многомерная безусловная градиентная оптимизация: метод наискорейшего спуска, метод сопряженных направлений (градиентов) и др. Численные оптимизационные методы 2-го порядка: метод Ньютона и его модификации. Условия сходимости и геометрическая интерпретация. Модуль 3. Тема 3.1. Многомерная условная численная оптимизация Метод проектирования для линейных областей. Понятие сепарабельной функции. Приближенное решение задачи выпуклого программирования (ЗВП) методом кусочнолинейной аппроксимации. Метод проекции градиента. Методы внешних и внутренних штрафных функций. Тема 3.2. Численные оптимизационные методы случайного поиска и переменной метрики Численные оптимизационные методы переменной метрики: метод Бройдена, метод Флетчера, метод Пирсона и др. Условия сходимости. Численные оптимизационные методы случайного поиска: случайный поиск, блуждающий поиск, метод случайных направлений. Планы семинарских занятий. Задания практикума могут выполняться с использованием систем программирования (например, MATLAB, MATHCAD, MAPLE и т.пр.). Тема 1.1. Общая характеристика методов оптимизации 5. Аналитическое исследование оптимизационных задач классическими методами. Исследование нелинейных задач численными методами. Специализированные математические пакеты. Тема 1.2. Математические модели и методы выпуклого нелинейного программирования Аналитические и алгебраические свойства выпуклых (вогнутых) функций. Исследование функций на выпуклость (вогнутость). Локальные условия теоремы Куна-Таккера для задач выпуклого нелинейного программирования. Понятие двойственности для задач нелинейного программирования. Квадратичное программирование. Тема 2.1. Численные оптимизационные одномерные методы Численные оптимизационные одномерные методы 0-, 1-, 2-го порядка: метод дихотомии, Фибоначчи, золотого сечения, метод квадратичной интерполяции Пауэлла, Ньютона и др. Условия сходимости. 9 Тема 2.2. Многомерная безусловная численная оптимизация. Методы нулевого порядка Метод покоординатного спуска (Гаусса-Зейделя), метод Розенброка, метод деформируемого многогранника (Нелдера-Мила), метод вращающихся координат, метод ХукаДживса (метод конфигураций, метод пробных шагов), и др. Тема 2.3. Многомерная безусловная численная оптимизация. Методы первого и второго порядка Метод наискорейшего спуска, метод сопряженных направлений (градиентов) и др. Численные оптимизационные методы 2-го порядка: метод Ньютона и его модификации. Тема 3.1. Многомерная условная численная оптимизация Метод проектирования для линейных областей. Приближенное решение задачи выпуклого программирования (ЗВП) методом кусочно-линейной аппроксимации. Метод проекции градиента. Методы внешних и внутренних штрафных функций. Тема 3.2. Численные оптимизационные методы случайного поиска и переменной метрики Численные оптимизационные методы переменной метрики: метод Бройдена, метод Флетчера, метод Пирсона и др. Численные оптимизационные методы случайного поиска: случайный поиск, блуждающий поиск, метод случайных направлений. 6. Темы лабораторных работ (Лабораторный практикум). 7. Не планируется. Примерная тематика курсовых работ Не планируются. 8. Учебно - методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины (модуля). Контроль качества подготовки осуществляется путем проверки теоретических знаний и практических навыков с использованием a) Текущей аттестации: проверка промежуточных контрольных работ и прием практических заданий; b) Промежуточной аттестации: тестирование (письменное или компьютерное) по разделам дисциплины. Экзамен в конце 8 семестра (к экзамену допускаются студенты после сдачи всех практических заданий, решения всех задач контрольных работ и выполнения самостоятельной работы). Текущий и промежуточный контроль освоения и усвоения материала дисциплины осуществляется в рамках рейтинговой (100-бальной) системы оценок. 10 Пример тестового задания по теме «Общая характеристика методов оптимизации »: 1. Задача математического программирования является задачей нелинейного программирования, если постановка задачи содержит: 1) линейные ограничения; 2) линейные целевые функции; 3) условия целочисленности; 4) хотя бы одну нелинейную функцию. 2. Представлена математическая модель z = 3x12 + 4x2 max, 2x1 + 3x2 ≤ 4, - 2x1 + x2 ≤ 1, x1 ≥ 0, x2 ≥ 0. 1) задачи нелинейного программирования; 2) задачи целочисленного программирования; 3) задачи линейного программирования; 4) задачи динамического программирования. 3. Условие применения градиентной оптимизации 1) дифференцируемость целевой функции; 2) наличие системы ограничений; 3) дифференцируемость функций системы ограничений; 4) дифференцируемость всех функций задачи. Пример практического задания в 8 семестре Дана задача нелинейного программирования z =2 (x1 - 5) 2 + (x2 - 3) 2 max (min), x1 + x2 ≥ 1, x1 + 2x2 ≤ 8, 3x1 + x2 ≤ 15, x1 ≥ 0, x2 ≥ 0. Для указанной оптимизационной задачи: 1) показать, что нелинейная задача является задачей выпуклого программирования; 2) найти оптимальное решение задачи графически, аналитически и методом кусочнолинейной аппроксимации. Пример контрольной работы в 8 семестре 11 Дана задача нелинейного программирования z = (x1 - 6) 2 + (x2 - 2) 2 max (min), x1 + x2 ≥ 1, x1 + 2x2 ≤ 8, 3x1 + x2 ≤ 15, x1 ≥ 0, x2 ≥ 0. Для указанной оптимизационной задачи: а) изобразить область допустимых решений (ОДР); б) построить линии уровня целевой функции, проходящие в ОДР; в) найти оптимальное решение задачи графически, аналитически. Вопросы к экзамену Классификация оптимизационных методов и задач. Виды экстремумов. Основные понятия и определения. Постановка общей задачи нелинейного программирования (ЗНП). Нахождение градиента, производной по направлению, частных производных и дифференциалов 1 и 2-го порядков нелинейных функций 5. Построение поверхностей методом сечений 6. Условия и способ перехода от задачи условного экстремума к безусловному экстремуму. 7. Свойства и особенности решения ЗНП. 8. Выпуклость (вогнутость) графика функции. Определение. Геометрическая интерпретация. 9. Постановка задачи выпуклого нелинейного программирования. 10. Определение выпуклой (вогнутой) функции. Геометрическая интерпретация. 11. Аналитические и алгебраические свойства выпуклых (вогнутых) функций. 12. Теорема (необходимое и достаточное условие выпуклости (вогнутости) функций) 13. Теорема (о существовании глобального экстремума). 14. Теорема (о выпуклости (вогнутости) дважды дифференцируемой функции). 15. Критерий Сильвестра. Матрица Гессе. 16. Постановка задачи квадратичного программирования. Квадратичные формы. 17. Определение сепарабельной функции. 18. Приближенное решение задачи выпуклого программирования (ЗВП) методом кусочнолинейной аппроксимации. 19. Симплекс-метод решения линейной задачи программирования, полученной в результате линеаризации ЗВП. 20. Классификация численных оптимизационных методов. 21. Одномерная оптимизация. Метод половинного деления. 22. Одномерная оптимизация. Метод Фибоначчи. 23. Одномерная оптимизация. Метод золотого сечения. 24. Теорема (о локализации точек экстремума унимодальной функции). 25. Многомерная безусловная градиентная оптимизация. Концепция методов. 26. Многомерная безусловная градиентная оптимизация. Метод наискорейшего спуска. Геометрическая интерпретация. Критерий окончания. 1. 2. 3. 4. 12 27. Многомерная безусловная градиентная оптимизация. Метод сопряженных направлений. Критерий окончания. 28. Многомерная безусловная градиентная оптимизация. Метод Ньютона 29. Многомерная безградиентная оптимизация (концепция методов). Метод покоординатного спуска, метод Розенброка, метод деформируемого многогранника. 30. Многомерная случайная оптимизация. 31. Многомерная условная оптимизация (концепция методов). 32. Понятие допустимых, прогрессивных направлений. Исходные понятия и критерий окончания метода допустимых направлений 33. Многомерная условная оптимизация. Метод проекции градиента. 34. Многомерная условная оптимизация. Методы штрафных функций. 35. Способы коррекции шага в градиентных методах. 36. Область эффективности и сходимость методов. 37. Понятие седловой точки. 38. Условие регулярности функции. 39. Теоремы Куна-Таккера. 40. Двойственные задачи НП. Теоремы о минимаксах. 9. Образовательные технологии. Сочетание традиционных образовательных технологий в форме лекций, компьютерных работ и проведение контрольных мероприятий (контрольных работ, промежуточного тестирования, экзамена). Аудиторные занятия: лекционные и компьютерные лабораторные занятия; на практических занятиях контроль осуществляется при сдаче заданий в аналитическом виде, в виде программы (на одном из используемых языков программирования) и пояснительной записки к задаче. В течение семестра студенты выполняют задачи, указанные преподавателем к каждому занятию. Активные и интерактивные формы: компьютерное моделирование и анализ результатов при выполнении самостоятельных работ. Внеаудиторные занятия: выполнение дополнительных заданий разного типа и уровня сложности при выполнении практических заданий, подготовка к аудиторным занятиям, изучение отдельных тем и вопросов учебной дисциплины в соответствии с учебно-тематическим планом, составлении конспектов. Подготовка индивидуальных заданий: выполнение самостоятельных и контрольных работ, подготовка ко всем видам контрольных испытаний: текущему контролю успеваемости и промежуточной аттестации; индивидуальные консультации. 10. Учебно-методическое и информационное обеспечение дисциплины. 13 10.1. Основная литература: 1. Исследование операций в экономике: Учеб.пособие для вузов/ Под ред. Н.Ш.Кремера. – М.: ЮРАЙТ, 2012. – 438 с. 2. Донкова И.А. Исследование операций/ И.А. Донкова; Тюм. гос. ун-т. – Тюмень: Издво ТюмГУ, 2011. - 164 с. 10.2. Дополнительная литература: Алексеев В. М. Оптимальное управление - М.: Физматлит, 2007. – 256 с. Алексеев В. М. Сборник задач по оптимизации - М.: Физматлит, 2007. – 320 с. Егоров А. И. Основы теории управления - М.: Физматлит, 2007. - 256 с. Розова В. Н. Методы оптимизации. Учебное пособие - М.: Российский университет дружбы народов, 2010. 5. Фомина А. В. Индивидуальные задания по курсу «Исследование операций». Методические указания для студентов дневного отделения физико-математического факультета 2-е изд., исправ. и доп. - Новокузнецк: Кузбасская государственная педагогическая академия, 2010. – 576 с. 1. 2. 3. 4. 10.3. Программное обеспечение и Интернет – ресурсы: 1. Библиотека численного анализа НИВЦ МГУ]. – Режим доступа http: // www.numanal.srcc.msu.ru/ свободный. – Загл. с экрана. 2. Донкова И.А. Исследование операций (2008), – Режим доступа: http://study.kib.ru/ по паролю. 11. Технические средства и материально-техническое обеспечение дисциплины (модуля). При освоении дисциплины для проведения лекционных занятий нужны учебные аудитории, оснащённые мультимедийным оборудованием, для выполнения практических работ необходимы классы персональных компьютеров с набором базового программного обеспечения разработчика - системы программирования на языках Borland Delphi, С/С++, системы MATLAB, MATHCAD, MAPLE. 14