Экстремальные и оптимальные методы в инженерной деятельности. Учебное пособие
.pdf
2.6.МетодмножителейЛагранжа
симума. Однако если решения системы найдены, то для определения глобального максимума (минимума) достаточно найти значения функции в соответствующих точках. Если для функции z = f (x1, …, xn) существуют вторые частные производные и они непрерывны, то можно вывести достаточное условие существования локального экстремума функции в точке, являющейся решением системы (2.23). Так, достаточное условие существования минимума функции одной переменной — это положительная величина производной четного порядка:
∂2k F > 0 (k = 1, …, n).
∂2k x j
Для функции двух переменных достаточным условием существования минимума (максимума) функции является положительная (отрицательная) определенность матрицы:
|
∂2F |
|
|
|
|
∂2F |
|
|
|
||||
|
∂2 x |
|
|
∂x |
∂x |
|
|
. |
|||||
|
|
1 |
|
|
|
1 |
|
|
|
2 |
|||
|
∂2F |
|
|
|
∂2F |
|
|
|
|||||
∂x |
∂x |
2 |
|
|
∂2 x |
2 |
|
|
|
|
|||
1 |
|
|
|
|
|
|
|
|
|
|
|||
Алгоритм метода Ларганжа
1. Составление функции Лагранжа.
2. Вычисление частных производных от функции Лагранжа F (x1, …, xn, λ1, …, λm) по переменным xi и λi и приравнивание их нулю.
3. Определение точек в процессе решения системы уравнений (2.23), в которых целевая функция (2.19) может иметь экстремум.
4. Среди точек, подозрительных на экстремум, нахождение таких,
вкоторых достигается экстремум (минимум или максимум), и вычисление значений целевой функции (2.19) в этих точках.
Взаключение отметим, что метод Лагранжа сыграл существенную роль в истории науки. Оказалось, что этот метод допускает обобщения также на задачу оптимальных векторов, когда область допустимых значений стеснена условиями вида неравенств. Кроме того, метод множителей Лагранжа и его обобщения нашли широкое применение
втеоретической физике, теории управления, математической экономике, вариационном исчислении и т. д.
41
Глава 2. Задачи оптимизации
Проверьсебя
1. В чем состоит математическая постановка экстремальной задачи? 2. Для чего применяется в табличном симплекс-методе «правило
треугольника»?
3. Что является признаком отсутствия решения задач линейного программирования при решении табличным методом?
4. Что является признаком отсутствия решения задач линейного программирования при решении графическим методом?
5. В каком случае задача линейного программирования составляется в форме расширенной?
6. С какой целью в задачах линейного программирования используется метод потенциалов?
7. Когда игра должна решаться в смешанных стратегиях? 8. Запишите штрафную функцию в развернутом виде. 9. Запишите формулы, по которым осуществляется итерационный
переход к очередному опорному плану при поиске экстремума методом штрафных функций.
10. Каково назначение штрафной функции при решении задачи нелинейного программирования?
11. Что такое градиент функции и каков его физический смысл?
42
Глава 3.
Методы нелинейного программирования
3.1. Методы поиска экстремума унимодальных функций
Функция одной переменной, имеющая в интервале исследования [a, b] один горб (впадину), называется унимодальной
(если x1 < xопт (x1 > xопт), (x2 > xопт) и x1 < x2, то F (x1) < F (x2) (F (x1) > F (x2))).
Унимодальная функция не обязательно должна быть гладкой и даже непрерывной — она может быть в некоторых точках интервала неопределенной. Предположение унимодальности не связано с жесткими ограничениями и выполняется во многих практических задачах поиска оптимума.
Если целевая функция унимодальна, то можно сузить интервал исследования функции на оптимум путем определения значений целевой функции в двух точках интервала задания функций F (x1) и F (x2) и последующего сравнения. При этом возможны три случая (рис. 3.1):
1) если F1 > F2, то xопт < x2, т. е. оптимум не может лежать правее точки x2, иначе нарушается предположение об унимодальности функции
(интервал [x2, b] из дальнейшего рассмотрения исключается);
2) если F1 < F2, то xопт > x1, т. е. оптимум не может лежать левее точки x1, иначе нарушается предположение об унимодальности функции
(интервал [a, x1] из дальнейшего рассмотрения исключается);
3) если F1 = F2, то x1 < xопт < x2, т. е. оптимум не может лежать правее точки x2 и левее точки x1, иначе нарушается предположение об уни-
модальности функции (интервалы [a, x1] и [x2, b] из дальнейшего рассмотрения исключается).
Как правило, задачи одномерной оптимизации имеют унимодальную целевую функцию.
43
Глава 3. Методы нелинейного программирования
а y |
|
б |
y |
|
|
|
y1 |
|
|
y2 |
|
|
|
|
|
y1 |
|
|
|
|
y2 |
|
|
|
|
|
|
|
|
|
|
x1 |
|
x2 |
a x1 xопт |
x2 b |
x |
|
a |
xопт |
b x |
в |
y |
|
|
|
|
|
|
y1 y2 |
|
|
|
|
|
|
a |
x1 |
xопт |
x2 b |
x |
|
Рис. 3.1. Возможные случаи сужения интервала исследования [a, b]:
а— ордината левой границы интервала сужения лежит выше ординаты правой границы;
б— ордината левой границы интервала сужения лежит ниже ординаты правой границы;
в— ординаты интервала сужения совпадают
Последовательно сужая интервал исследования, в котором находится оптимальное значение искомой переменной, можно с достаточной степенью точности найти это оптимальное значение. Для этого необходимо выработать такую стратегию поиска, чтобы за меньшее число шагов (этапов) определить минимальный интервал, в котором лежит искомый оптимум, или свести исходный интервал до области заданной длины за минимальное число шагов.
К последовательным детерминированным методам поиска экстремума унимодальных функций относятся методы простого перебора, дихотомии, золотого сечения и Фибоначчи.
3.2. Метод простого перебора
Если известна функциональная связь целевой функции F и искомой переменной x, то можно последовательно вычислить значения целевой функции для некоторых значений искомой переменной. Вычисления повторяются до тех пор, пока не будет найдено минимальное (максимальное) значение целевой функции.
44
3.3.Методдихотомии(методделенияотрезкапополам)
Процесс решения задачи методом перебора состоит в последовательном сужении интервала изменения параметра x, называемого интервалом неопределенности. В начале процесса оптимизации его длина равна (b – a), а к концу она должна стать менее заданного допустимого значения ε, т. е. оптимальное значение параметра должно находиться в интервале неопределенности — отрезке [xn, xn + 1], причем
xn + 1 – xn < ε.
Наиболее простым способом сужения интервала неопределенности является деление его на некоторое число равных частей с последующим вычислением значений целевой функции в точках разбиения. Пусть n — число элементарных отрезков, h = (b – a)/n — шаг разбиения. Вычислим значения целевой функции yk = Fk (x) в узлах xk = a + k · h (k = 0, 1, …, n). Сравнивая полученные значения F (xk), найдем среди них наименьшее.
Особенности и преимущества метода простого перебора заключаются:
1)в независимости поиска от вида и характера целевой функции;
2)в цикличности поисковой процедуры;
3)в определении глобального экстремума целевой функции;
4)в малом объеме необходимой машинной памяти.
Главным недостатком метода является продолжительное время работы ЭВМ. В случае большой области изменения искомой переменной и (или) наличия более чем одного экстремума исследуемой функции использование этого метода неэффективно.
3.3. Метод дихотомии (метод деления отрезка пополам)
Вметоде дихотомии вычисляются значения целевой функции
вдвух точках и на соотношении этих двух значений осуществляется сужение интервала поиска экстремального значения целевой функции.
Вэтом методе делим интервал неопределенности [a, b] пополам
ивычисляем значения двух точек, симметрично расположенных относительно середины интервала [a, b] c = (a + b)/2 на расстоянии ε/2:
x1 = (a + b – ε)/2; x2 = (a + b + ε)/2.
45
Глава 3. Методы нелинейного программирования
Вэтих точках вычисляем значения целевой функции F (x1) и F (x2),
азатем проверяем условие F (x1) < F (x2) (при поиске минимума). Если оно выполняется, полагаем b = x2, если же условие не выполняется — a = x1. Затем для нового интервала неопределенности проверяем условие (b – a) < 2ε, где ε — заданная погрешность вычислений. Если
условие выполняется, то выводим на печать xопт = (a + b)/2 и вычисляем значение целевой функции в этой точке F (xопт). Если же условие не выполняется, делим интервал неопределенности пополам и вычис-
ляем новые значения точек x1 и x2, симметрично расположенных относительно середины нового интервала неопределенности, и выпол-
няется операция сравнения значений функций F (x1) и F (x2). Преимущество метода дихотомии заключается в предельной прос
тоте, однако при переходе к новому интервалу неопределенности не используется ни одно из ранее найденных значений функции. Оба вычисления, необходимые для выделения части интервала, содержащего точку экстремума, производятся заново.
Вотличие от метода простого перебора, в котором эффективность поиска прямо пропорциональна числу расчетов, в методе дихотомии эффективность возрастает с ростом числа шагов n экспоненциально. Интервал, в котором находится оптимум, после n шагов определяется из соотношения
l0/ln ≈ 2n/2,
где l0 — первоначальный интервал исследования.
3.4.Метод золотого сечения
Вметоде золотого сечения деление интервала неопределенности производится не на целое число частей, как в методе простой итерации, а в определенном иррациональном отношении. Интервал неопределенности делится на две неравные части так, что отношение длины всего интервала к длине большего отрезка равно отношению длины большего отрезка к длине меньшего отрезка.
Деление отрезков в таком отношении носит название золотого сечения.
46
3.4.Методзолотогосечения
В методе золотого сечения на первом шаге поиска экстремума осуществляется вычисление целевой функции в двух точках, отстоящих на расстоянии 0,618 интервала от каждой границы. На последующих шагах вычисляется значение целевой функции только в одной точке, второе значение берется из предыдущего шага, тем самым достигается большая экономичность метода.
Интервал, в котором находится оптимум, после n шагов определяется по формуле
ln ln0 1 ,
где τ ≈ 1,618.
Алгоритм метода золотого сечения
1. Задаются начальные данные: a, b — пределы интервала неопределенности, ε — точность вычисления.
2. Вычисляются координаты двух первых точек x1, x2:
x1 = a + 0,382(b – a), x2 = a + 0,618(b – a).
3. Вычисляются значения целевой функции в этих точках. 4. Производится сравнение значений целевой функции в этих точ-
ках, т. е. проверяется условие: F (x1) ≥ F (x2) (при поиске минимума целевой функции), если это условие выполняется, идти к п. 8, если нет — к п. 5.
5. Решение ищется в интервале [a, x2], принимается b = x2, x2 = x1, F (x2) = F (x1). Вычисляются координаты точки
x1 = a + 0,382(b – a)
и значение целевой функции в этой новой точке F (x1).
6. Длина интервала неопределенности сравнивается с заданной точностью вычисления, т. е. проверяется условие: |b – a| > ε, если условие выполняется, идти к п. 4, если нет — к п. 7.
7. Вычисляются оптимальное значение xопт и значение целевой функции в этой точке F (xопт), и процесс поиска xопт завершается.
8. Решение ищется в интервале [x1, b], принимается a = x1, x1 = x2, F (x1) = F (x2). Вычисляются координаты точки
x2 = a + 0,618(b – a)
и значение целевой функции в этой новой точке F (x2). Проверяется длина нового интервала неопределенности (идти к п. 6).
47
Глава 3. Методы нелинейного программирования
3.5. Классификация методов многомерной оптимизации
Задачи оптимизации, в которых целевая функция зависит от многих управляющих параметров, называются многомерными оптимизационными задачами. Многомерное пространство качественно отличается от одномерного. Прежде всего, с увеличением числа параметров уменьшается вероятность унимодальности целевой функции. Объем вычислений, необходимых для сужения интервала неопределенности в многомерном пространстве, является степенной функцией, показатель которой равен размерности пространства.
Методы оптимизации в многомерном пространстве делятся на две группы — прямые и косвенные.
1. Прямые методы (методы поиска, часто называемые также методами нулевого порядка), основанные на вычислении только значений целевой функции f (x1, x2, …, xn).
2. Косвенные методы:
а) градиентные методы (методы первого порядка), в которых используются точные значения первых производных целевой функции; б) методы второго порядка, в которых наряду с первыми производными используются также вторые производные целевой функции
f (x1, x2, …, xn).
Метод Гаусса-Зейделя (метод покоординатного спуска)
Суть метода заключается в поочередной оптимизации последовательно по каждому управляющему параметру.
Сначала оптимизация производится по одному параметру x1, затем переходят ко второму x2 и так далее, пока значения целевой функции не перестанут уменьшаться (возрастать).
Пусть требуется найти наименьшее значение целевой функции f (x1, x2, …, xn). В качестве начального приближения выберем в n мерном пространстве некоторую точку M0 с координатами x1(0), x2(0),..., xn(0). Зафиксируем все координаты функции f (x1, …, xn), кроме первой. Тогда f (x1, x2(0), ..., xn(0) ) — функция одной переменной x1. Решая одномер-
ную задачу оптимизации для этой функции от точки M0, переходим к точке M1 (x1(1), x2(0), ..., xn(0) ), в которой целевая функция f принимает
48
3.5.Классификацияметодовмногомернойоптимизации
наименьшее значение по координате x1 при фиксированных остальных координатах. Это первый шаг процесса оптимизации, который состоит в спуске по координате x1.
Зафиксируем теперь все координаты, кроме x2, и рассмотрим функ-
цию этой переменной f (x1(1), x2 , x3(0), x4(0), ..., xn(0) ). Снова решим одномерную задачу оптимизации, найдем ее наименьшее значение при
x2 = x2(1), т. е. в точке M 2 (x1(1), x2(1), x3(0), ..., xn(0) ). Аналогично проводится спуск по координатам x3, x4, …, xn, а затем процедура снова повто-
ряется от x1 до xn и т. д.
В результате этого процесса получается последовательность точек M0, M1, …, в которых значения целевой функции составляют монотонно убывающую последовательность f (M0) ≥ f (M1) ≥ … На любом k м шаге этот процесс можно прервать, и значение f (Mk) принимается в качестве наименьшего значения целевой функции в рассматриваемой области.
Следовательно, метод покоординатного спуска сводит задачу о нахождении наименьшего значения функции многих переменных к многократному решению одномерных задач оптимизации по каждому управляющему параметру.
На рисунке 3.2 приведена графическая интерпретация метода Га- усса-Зейделя для случая функции двух переменных.
x2
xопт
M2
M1
M0
x1
Рис. 3.2. Графическая интерпретация метода Гаусса-Зейделя
49
Глава 3. Методы нелинейного программирования
Достоинством метода Гаусса-Зейделя является простота алгоритма и программирования на ЭВМ.
Недостатки метода Гаусса-Зейделя:
1)обеспечивает получение только локального оптимума или особой точки типа седла;
2)позволяет оптимизировать только непрерывно изменяющиеся параметры;
3)результаты поиска существенно зависят от удачного выбора направления движения, начальной точки;
4)метод не работает в случае сильно вытянутых, изогнутых или обладающих острыми углами линий уровня целевой функции.
3.6. Градиентные методы многомерной оптимизации
Краткая теория. Градиентом дифференцируемой функции f (x)
вточке x 0 называется n мерный вектор f ′(x 0), компоненты которого являются частными производными функции f (x), вычисленными
вточке x 0, т. е.
f ′(x 0) = (∂f (x 0)/∂x1, …, ∂f (x 0)/∂xn.
Этот вектор перпендикулярен к плоскости, проведенной через точку x 0, и касательной к поверхности уровня функции f (x), проходящей через точку x 0. В каждой точке такой поверхности функция f (x) принимает одинаковое значение. Приравнивая функцию различным постоянным величинам C0, C1, …, получим серию поверхностей уровня, характеризующих ее топологию (рис. 3.3).
f ′(x0) |
f (x) = C0 |
x0 –f ′(x0) |
|
|
f (x) = C1 |
|
f (x) = C2 |
C0 > C1 > C2
Рис. 3.3. Графическое представление вектор-градиента
50
