
- •Введение
- •1. Основные понятия и определения
- •1.1. Оптимизационная задача
- •1.2. Допустимое решение
- •1.6.1. Частные критерии
- •1.6.2. Обобщенные критерии
- •Минимаксные критерии
- •1.7. Общая характеристика методов поиска экстремума
- •2. Линейное программирование
- •2.1. Стандартный вид задачи линейного программирования (злп)
- •2.2. Способы приведения задачи линейного программирования к стандартному виду
- •2.3. Графический метод решения задач линейного программирования
- •2.4. Симплекс-метод решения задач линейного программирования
- •2.4.1. Канонический вид задачи
- •2.4.2. Симплекс-таблица, соответствующая каноническому виду
- •2.4.3. Нахождение координат вершины допустимого многогранника по каноническому виду (по симплекс-таблице)
- •2.4.4. Алгоритм решения злп при помощи симплекс-метода
- •2.5. Приведение злп к каноническому виду
- •2.5.1. Метод искусственного базиса
- •2.6. Алгоритм двойственного симплекс метода
- •2.7. Целочисленное линейное программирование
- •Алгоритм метода сечения Гомори:
- •3. Нелинейное программирование
- •3.1. Методы поиска безусловного экстремума функции одной переменной
- •3.1.1. Аналитический метод
- •3.1.2. Численные методы
- •3.1.2.1. Основные понятия и определения
- •3.1.2.2. Метод ненаправленного поиска
- •3.1.2.3. Методы направленного поиска
- •3.2.Графический метод решения задач нелинейного программирования
- •3.3. Задачи дробно-линейного программирования
- •3.4. Методы поиска безусловного экстремума функции многих переменных
- •3.4.1. Аналитический метод
- •3.4.2. Численные методы
- •3.4.2.1. Метод покоординатного спуска
- •3.4.2.2. Метод наискорейшего спуска
- •3.5. Решение задач нелинейного программирования с ограничениями – равенствами. Метод неопределенных множителей Лагранжа
- •3.6. Задачи квадратичного программирования
3.4.2.1. Метод покоординатного спуска
Сущность метода. Поиск экстремума ведется в направлении осей координат, т.е. в процессе поиска изменяется только одна координата. Таким образом многомерная задача сводится к одномерной (рис. 3.5).
Х2
М0
М2
М1
Х1
Рис. 3.5. Метод покоординатного спуска
(М1,2 – новые точки приближения к экстремуму)
Алгоритм метода. Первый цикл:
1 шаг. x1 = var, х2 = х20, х3 = х30 , , хn = хn0 .
Ищем экстремум функции f (х1). Положим, экстремум функции в точке х11.
2 шаг. x1 = х11, x2 = var, х3 = х30 , , хn = хn0.
Экстремум f (х2) равен х21.
n шаг. x1 = х11, x2 = х21, x3 = х31 , , xn = var.
В результате n шагов найдена новая точка приближения к экстремуму М1(х11, х21, , х n1). Далее проверяем критерий окончания счета (3.15): если grad f (M1 ) – решение найдено, в противном случае выполняем еще один цикл.
Пример 3.8. f (x1, x2 ) = 4 x12 - 10 x22 +10 x1 x2 - 26 x1, M0 = (0, 0), = 0,1 .
Решение
1. x1 = var, х2 = 0, f (x1)= 4 x12 – 26 x1 .
Любым известным методом находим экстремум: , x11 = 3,25.
2. x1 = 3,25, х2 =var, f (x2)= -10 x22 + 32,5 x2 - 42,25.
x21 = 1,625. M1 = (3,25; 1,625)
3. Проверка критерия окончания счета:
( f / x1 )2 + ( f / x)2 = 16,25.
M1
Как видим, grad f (M1) 0,1, следовательно, требуется выполнить еще хотя бы один цикл.
3.4.2.2. Метод наискорейшего спуска
Поиск экстремума ведется шагами в направлении градиента (max) или антиградиента (min). На каждом шаге в направлении градиента (антиградиента) движение осуществляется до тех пор, пока функция возрастает (убывает).
Этот метод имеет лучшую сходимость, чем предыдущий.
Допустим, требуется найти минимум функции.
Алгоритм метода:
1. Находим
grad
f (M0)
= (
f /
x ,
f /
x2 ,
,
f /
xn
)
.
M0
(3.16)
Введем
обозначения:
f /
x1
=
a1,
,
f /
xn
= an
,
тогда
M0 M0
grad f (M0) = (a1, a2, , an).
2.
Делаем шаг в направлении антиградиента.
Выражения для нахождения координат
новой точки приближения к экстремуму
выглядят следующим образом:
x11 = x10 - 1 a1,
x21 = x20 - 1 a2, (3.17)
xn1 = xn0 - 1 an .
1 – величина шага в направлении антиградиента при 1-й итерации.
3. Находим величину шага.
В направлении антиградиента движемся до тех пор, пока функция убывает. Следовательно, шаг выбирается из условия минимума функции f ( 1). Для этого в функцию f (х1, х2 ,, х n) подставляем выражения для координат новой точки: x11, x21, , xn1 . В результате получим функцию одной переменной f (1). Минимум f (1) находим любым известным методом поиска экстремума функции одной переменной. Полученное значение 1 подставляем в формулы (3.17) для x11, x21, , xn1. В результате получаем точку М1 .
4. Проверяем критерий окончания счета.
Если f (M1) – f (M0) , то решение в точке М1 , иначе – требуется сделать еще шаг.
Пример 3.9. f (x1, x2) = x12 – 7x1+ x22 – 4 x2 - x1 x2 + 35, M0 = (1, 1), = 0,5.
Требуется найти минимум f (x1, x2).
Решение
1. f / x1 = 2 x1 - 7 - x2, a1 = 21 - 7 - 1 = -6 .
f / x2 = 2x2 - 4 - x1 , a2 = 21 - 4 - 1 = -3 .
2. x11 = x10 - 1 a1 = 1 + 6 1,
x21 = x20 - 1 a2 = 1 + 3 1.
3. f (x1, x2) = f(1) = = 27(1)2 - 451 + 35.
Находим минимум f (1), при 1 = 5/6.
x11 = 1 + 6 1 = 6 ,
x21 = 1 + 3 1 = 3,5 .
M1 = (6; 3,5).
4. f (M1) – f (M0) = 16,75 ,
следовательно, нужен еще шаг.