- •Кафедра автоматизированных и вычислительных систем
- •Методические указания
- •Методы поиска экстремума для функций
- •1.1. Методы одномерной оптимизации
- •Метод «золотого сечения»
- •2. Контрольное задание № 1.
- •3. Реализация метода поиска минимума функции нескольких переменных с использованием метода хука-дживса
- •3.1. Постановка задачи и алгоритм решения
- •3.2. Пример реализации алгоритма
- •4. Контрольное задание № 2.
- •5. Реализация метода поиска минимума
- •5.1. Теоретические сведения
- •5.5. Структурная схема алгоритма
- •6. Контрольное задание № 3.
- •394026 Воронеж, Московский просп., 14
ФГБОУ ВПО
«Воронежский государственный технический университет»
Кафедра автоматизированных и вычислительных систем
НЕЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ
Методические указания
к выполнению контрольной работы
по дисциплине «Нелинейное программирование»
для студентов специальности 230101
«Вычислительные машины, комплексы, системы и сети»
заочной и заочной сокращенной форм обучения
Воронеж 2012
Составители: канд. техн. наук Т.И.Сергеева,
канд. техн. наук М.Ю. Сергеев
УДК 681.32
Нелинейное программирование: методические указания к выполнению контрольной работы по дисциплине «Нелинейное программирование» для студентов специальности 230101 «Вычислительные машины, комплексы, системы и сети» заочной и заочной сокращенной форм обучения /ФГБОУ ВПО «Воронежский государственный технический университет; сост. Т.И. Сергеева, М.Ю. Сергеев. Воронеж, 2012. 36 с.
Методические указания содержат теоретические и практические сведения для поиска экстремума в задачах нелинейного программирования.
Предназначены для студентов третьего и четвертого курса.
Методические указания подготовлены в электронном виде в текстовом редакторе Microsoft Word 2003 и содержатся в файле НП_КР_ЗО.doc.
Табл. 4. Ил. 9. Библиогр.: 5 назв.
Рецензент канд. техн. наук, доц. А.В. Романов
Ответственный за выпуск зав. кафедрой д-р техн. наук, проф. С.Л. Подвальный
Печатается по решению редакционно-издательского совета Воронежского государственного технического университета
© ФГБОУ ВПО «Воронежский государственный
технический университет», 2012
ВВЕДЕНИЕ
Изучение дисциплины «Нелинейное программирование» позволит получить теоретические сведения и практически освоить методы решения задач нелинейного программирования, возникающих в различных автоматизированных и вычислительных системах.
Задача дисциплины состоит в вооружении студентов знаниями методов решения нелинейных экстремальных задач без ограничений и с ограничениями различного вида и в получении навыков разработки алгоритмов и программ решения задач данного класса.
В результате изучения дисциплины студенты должны:
- знать классификацию задач нелинейного программирования и методов их решения;
- знать особенности реализации методов прямого поиска (оптимизация без ограничений);
- разрабатывать алгоритмическое и программное обеспечение, реализующее наиболее распространенные методы прямого поиска в задачах с одной или несколькими переменными без ограничений;
- знать особенности реализации градиентных методов решения нелинейных экстремальных задач;
- разрабатывать алгоритмическое и программное обеспечение для решения нелинейных экстремальных задач градиентными методами;
- знать особенности реализации методов оптимизации нелинейных задач с ограничениями;
- разрабатывать алгоритмическое и программное обеспечение для решения нелинейных экстремальных задач с ограничениями.
Методы поиска экстремума для функций
ОДНОЙ ПЕРЕМЕННОЙ БЕЗ ОГРАНИЧЕНИЙ
1.1. Методы одномерной оптимизации
Постановка задачи. Требуется найти безусловный минимум функции f(x) одной переменной, т.е. такую точку x* R, что f(x*) = min f(x), x*R.
Для методов одномерной минимизации типично задание начального интервала неопределенности L0 = [a0,b0], в котором предположительно находится точка минимума x*, но ее точное значение неизвестно.
Большинство известных методов одномерной минимизации применяется для класса унимодальной функции.
Определение. Функция f(x) называется унимодальной на интервале L0 = [a0,b0], если она достигает глобального минимума на [a0,b0] в единственной точке x*, причем слева от x* эта функция строго убывает, а справа от x* строго возрастает. Если a0 ≤ y < z < x*, то f(y) > f(z), а если x* < y < z ≤ b0, то f(y) < f(z).
Существуют две различные стратегии выбора точек, в которых производится вычисление значений функции. Если все точки задаются заранее, до начала вычислений, то это пассивная (параллельная) стратегия поиска. Если точки выбираются последовательно в процессе поиска с учетом результатов предыдущих вычислений, то это последовательная стратегия.
Последовательную стратегию можно реализовать следующими способами:
- применением квадратичной и кубической интерполяции, где по нескольким вычисленным значениям функции строится интерполяционный полином, а его минимум указывает на очередное приближение искомой точки экстремума;
- построением последовательности вложенных друг в друга интервалов, каждый из которых содержит точку минимума.
Последовательная стратегия поиска включает в себя три этапа:
- выбор начального интервала неопределенности; границы a0, b0 интервала должны быть такими, чтобы функция f(x) была унимодальной;
- уменьшение интервала неопределенности;
- проверка условия окончания поиска; поиск заканчивается, когда длина текущего интервала неопределенности [ak,bk] оказывается меньше установленной величины.
Ответом является множество точек, принадлежащих последнему интервалу неопределенности, среди которых каким-либо образом выбирается решение задачи x*.
Существует достаточно большое количество методов поиска экстремума для функций одной переменной без ограничений. Это следующие методы: метод равномерного поиска, метод деления интервала пополам, метод дихотомии, метод золотого сечения, метод Фибоначчи, метод квадратичной интерполяции.