- •Предисловие
- •1.1. Постановка и классификация задач
- •1.2. Основные определения
- •1.3. Классический метод определения экстремума функции
- •Контрольные вопросы и задания
- •Глава 2. Одномерная оптимизация
- •2.1. Интервал неопределенности
- •2.2. Метод дихотомии
- •2.3. Метод фибоначчи
- •2.4. Метод золотого сечения
- •2.5. Метод квадратичной интерполяции
- •Контрольные вопросы и задания
- •Глава 3. Оптимизация функций нескольких переменных
- •3.1. Методы прямого поиска
- •3.1.1. Метод покоординатного спуска
- •3.1.2. Метод поиска Хука – Дживса
- •Метод Розенброка (метод вращающихся координат)
- •Метод Нелдера-Мида (метод деформируемого многогранника)
- •Метод сопряженных направлений Пауэлла
- •3.1.6. Методы случайного поиска
- •3.2. Градиентные методы
- •3.2.1. Метод наискорейшего спуска
- •Метод сопряженных градиентов Флетчера и Ривса
- •3.3. Методы второго порядка
- •3.3.1. Метод Ньютона
- •3.3.2.Метод Дэвидона - Флетчера - Пауэлла
- •Итерационная процедура Дэвидона-Флетчер-Пауэлла может быть представлена последовательностью шагов.
- •Контрольные вопросы и задания
- •Глава 4. Условная оптимизация
- •4.1. Множители лагранжа
- •4.2. Условия куна - таккера
- •Методы решения задач условной оптимизации
- •4.3.1. Метод последовательной безусловной оптимизации
- •4.3.2.Метод скользящего допуска
- •Контрольные вопросы и задания
- •Глава 5. Линейное программирование
- •5.1. Постановка задачи лп
- •Тогда задача лп (1) - (3) запишется в виде
- •5..2. Каноническая и стандартная формы задачи лп
- •5.3. Симплекс - метод
- •Порождение начального допустимого базисного решения
- •Двойственность в линейном программировании
- •5.6. Транспортная задача
- •Контрольные вопросы и задания
- •Заключение
- •Библиографический список
- •Глава1. Безусловная оптимизация………..………4
- •Глава 2. Одномерная оптимизация………..….…….9
- •Глава 3. Оптимизация функций нескольких переменных………………………………………..….…..20
- •Глава 4. Условная оптимизация…………………..49
- •Глава 5. Линейное программирование…………..60
- •Лидия Ивановна Лыткина Методы оптимизации с программами в системе mathcad
- •660014, Красноярск, просп. Им. Газ. ”Красноярский рабочий”, 31.
3.1. Методы прямого поиска
Методы, ориентированные на решение задач безусловной оптимизации функций нескольких переменных, можно разделить на три класса в соответствии с типом используемой при реализации того или иного метода информации:
методы прямого поиска, основанные на вычислении только значений целевой функции;
градиентные методы, в которых используются точные значения первых производных функции:
методы второго порядка, в которых наряду с первыми производными используются также вторые производные функции.
В современном нелинейном программировании пока что не разработаны универсальные методы, позволяющие решать произвольные задачи, и вряд ли можно надеяться, что в ближайшем будущем такие методы будут созданы. Это обусловлено тем, что реальные задачи минимизации обычно очень сильно отличаются друг от друга как по своей природе, так и по размерности, поэтому большинство методов нелинейного программирования ориентировано на решение определенных классов оптимизационных задач.
При минимизации функции нескольких переменных наиболее целесообразно использовать методы первого и второго порядка, имеющие более высокую скорость сходимости по сравнению с методами прямого поиска. Однако когда целевая функция имеет сложную структуру или число независимых переменных является большим, очень трудно найти аналитические выражения для частных производных. Более того, функция может быть разрывна. Поэтому часто применяются методы прямого поиска к решению практических задач
Будем предполагать, что целевая функция непрерывна и унимодальна в рассматриваемой области, а градиент функции может как существовать , так и не существовать.
Рекуррентная формула для определения точки экстремума большинства методов имеет вид
,
где - направление поиска,- длина шага в выбранном направлении.
Длина шага после выбора направления может быть задана константой или определена из соотношения
.
Для определения вторым способом можно использовать любой метод одномерной оптимизации.
Рассмотренные ниже методы (покоординатный спуск, Хука-Дживса, Розенброка, Нелдера-Мида и др.) являются методами прямого поиска и отличаются выбором направлений поиска и способом определения длины шага.
3.1.1. Метод покоординатного спуска
Одним из наиболее простых методов поиска минимума функции нескольких переменных является метод покоординатного спуска. В этом методе в качестве направлений линейного поиска выбираются направления координатных осей. Пусть - единичные векторы в-мерном пространстве. Сначала минимизация функцииосуществляется по направлению. После того как будет найдено минимальное значение в этом направлении, осуществляется поиск по направлениюи т.д. После определения точки минимума по направлению, процесс повторяется, начиная с направленияи так далее., пока значения функции не перестанут уменьшаться. Минимизация функции двух переменных методом покоординатного спуска показана на рис. 5.
Рис. 5
В некоторых случаях, когда линии уровня сильно вытянуты, покоординатный спуск может “застревать” (рис. 6). Пробные шаги в направлениях и не приводят к уменьшению значений целевой функции, так что процесс вычислений прерывается преждевременно вдали от точки минимума. На практике покоординатный спуск оказывается слишком медленным. Поэтому были разработаны более сложные процедуры, использующие больше информации на основании уже полученных значений функции.