Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Рассмотрим систему уравнений
/,(Х) = 0,1=1,2,...,т. Пусть X* — некоторая фиксированная точка. Используя разложение Тейлора, имеем /((Х) * /,(Х*) + V/,(Xk)(X - X*), i - 1, 2, т.
Следовательно, исходная система уравнений приближенно представима в виде
/,(Х*) + V/,(X')(X - X*) = 0, i = 1, 2.....т.
Эти уравнения можно записать в матричной форме:
Ак + ВДХ-Х*) = 0.
Предположим, что векторы /,(Х) независимы, тогда матрица В, является невырожденной. В результате из предыдущего уравнения получим
х = х'-в;Ч,.
Идея метода Ньютона-Рафсона состоит в следующем. На первом шаге выбирается начальная точка Х°. С помощью полученного уравнения по известной точке X* можно вычислить координаты новой точки X**1. Процесс вычислений завершается в точке X", которая считается приближенным решением исходной системы, если Xm» X""1.
20.1. Экстремальные задачи без ограничений
Геометрическая интерпретация данного метода для функции одной переменной f(x) приведена на рис. 20.3. Связь между точками хк и хк+1 в этом случае выражается формулой
или
Рис. 20,3. Итерационный процесс в методе Нъютона-Рафсона
На рис. 20.3 видно, что положение точки хк+1 определяется углом 0 наклона касательной к графику функции f(x) в точке хк, где tg0= fix").
Одним из недостатков изложенного метода является то, что для функций общего вида не всегда гарантируется его сходимость. На рис. 20.3 видно, что при выборе в качестве х° точки а итерационный процесс расходится. Простых рецептов для выбора "хорошего" начального приближения не существует.
Пример 20.1.3
Для демонстрации работы метода Ньютона-Рафсона рассмотрим задачу нахождения стационарных точек функции
f{x) = (Зх - 2?(2х - З)2.
Чтобы найти стационарные точки, надо решить уравнение f'(x) = 0, которое в данном случае принимает вид кубического уравнения
72х3 - 234л:2 + 241х - 78 = 0.
Глава 20. Классическая теория оптимизации j
Шаблон Excel ch20NewtonRaphson.xls методом Ньютона-Рафсона может решить любое уравнение с одной переменной. На рис. 20.4 показано решение в этом шаблоне уравнения данного примера. Чтобы найти это решение, надо в ячейку СЗ ввести следующее выражение, заменив переменную х ссылкой на ячейку A3.
72л3 - 234л:2 + 24 Ьс -78 216х2-468*+ 241
Отметим, что числитель этого выражения является формулой для вычисления первой производной функции f(x), а знаменатель — формулой второй производной, что и требуется для метода Ньютона-Рафсона при решении уравнения f'(x) = 0. Перед началом вычислений также задается предел точности А (= 0,001) и начальное значение х0 (= 10). Если разность между значениями хь и Xм будет меньше предела точности, то процесс вычислений завершается. В данном примере метод сошелся к значению х = 1,5.
А | С | ||
Newton-Raphson (One-Variable) Method | |||
Input data: Type f(A3)/f '(A3) in C3. where A3 represents x In f(x) | |||
#3HA4! | |||
д = | 0.0001 | ||
Initial x0= | ю | ||
Solution: (excel | i Si' te It if =eiertpd *0 rai | ||
x* = | 1.50000] | ||
Calculations: | ш | rforroc*icui" | |
x(k+1) | f(x(k))/f '(x(k)) | ||
10.000000 | 7 032108 | 2 967892314 | |
7.032108 | 5 055679 | 1.97642875 | |
5.055679 | 3.741312 | 1.314367243 | |
13. | 3.741312 | 2.869954 | 0.871358025 |
2.869954 | 2.296406 | 0.573547408 | |
2.296406 | 1.925154] | 0.371251989 | |
1.925154 | 1 694452 | 0.230702166 | |
1.694452 | 1.565453 | ||
1 565453 | 1 511296 | 0.054156405 | |
1 511296 | 1.500432 | 0 010864068 | |
1 500432 | 1 500001 | 0 000431385 | |
21, 1.500001 | 1.500000 | 6 70394E-07 |
Рис. 20.4. Решение алгебраического уравнения методом Ньютона-Рафсона
На самом деле наша функция f(x) имеет три стационарные точки х = 2/3, х = 13/12 и х = 3/2. Оставшиеся две стационарные точки можно найти, если задать соответствующие начальные значения, например, л:0 = 0,5 и х0= 1. В общем случае надо сделать несколько попыток решения задачи методом Ньютона-Рафсона при различных начальных значениях, чтобы отыскать все корни уравнения. В данном примере нам "повезло" — мы знаем, что наше уравнение имеет три корня. Однако в случае сложных уравнений или уравнений, зависящих от нескольких переменных, как правило неизвестно ни количество корней, ни их местоположение.
20.2. Задачи на экстремум при наличии ограничений
УПРАЖНЕНИЕ 20.1.2
1. Примените метод Ньютона-Рафсона для решения упражнений 20.1.1.1, с и 20.1.1.2, Ъ.
20.2. ЗАДАЧИ НА ЭКСТРЕМУМ ПРИ НАЛИЧИИ ОГРАНИЧЕНИЙ
В настоящем разделе рассматриваются задачи поиска экстремумов непрерывных функций при наличии ограничений на переменные. В разделе 20.2.1 рассматривается ситуация, когда дополнительные ограничения имеют вид равенств, а в разделе 20.2.2 — неравенств. Основная часть материала раздела 20.2.1 изложена в соответствии с [2].
20.2.1. Ограничения в виде равенств
В данном разделе рассматривается два метода решения оптимизационных задач при наличии ограничений в виде равенств: метод Якоби и метод Лагранжа. Метод Лагранжа можно логически получить из метода Якоби. Эта связь позволяет дать интересную экономическую интерпретацию метода множителей Лагранжа.
Метод приведенного градиента (метод Якоби). Рассмотрим задачу
минимизировать z = /(X)
при ограничениях
g(X) = 0,
где
X = (Xj, х2, хп),
S (.§!> &2> *
Функции /(X) и g,(X), t= 1, 2, т, предполагаются дважды непрерывно дифференцируемыми.
Идея использования приведенного градиента заключается в том, чтобы найти замкнутое аналитическое выражение для первых частных производных функции /(X) во всех точках, удовлетворяющих ограничениям g(X) = 0. Соответствующие стационарные точки определяются из условия равенства нулю указанных частных производных. Затем можно использовать достаточные условия, сформулированные в разделе 20.1, для классификации найденных стационарных точек.
Для пояснения изложенной идеи рассмотрим функцию f(xv х2), график которой представлен на рис. 20.5. Предположим, что эту функцию необходимо минимизировать при ограничении
g,(*i> х2) = хг - Ь = 0,
где Ь — некоторая константа. На рис. 20.5 видно, что кривая, которая проходит через точки А, В и С, состоит из значений функции f(x,, х2), для которых заданное ограничение выполнено. В соответствии с рассматриваемым методом определяются компоненты приведенного градиента функции f(xlt х2) в каждой точке кривой ABC. Точка В, в которой приведенная производная обращается в нуль, является стационарной для рассматриваемой задачи с ограничением.
Теперь рассмотрим общую математическую формулировку метода. Из теоремы Тейлора следует, что для точек X + АХ из окрестности точки X имеем
/(х+дх)-/(х) = у/-(х)дх+о(дх2),
g(X + AX)-g(X) = Vg(X)AX + 0(Ax2).
Глава 20. Классическая теория оптимизации
Лх{,х2)
/ J / 1 1 1 \ 1 \ \ | \ \ х\ \ \ •: 1 ч в У7\ |
х2 | ----^ \ х2 = ь Линия минимального значения целевой функции |
Рис. 20.5. Иллюстрация к методу Якоби
При Д#. -» 0 эти уравнения принимают вид
6/(X) = V/(X)c5X,
dg(X) = vg(X)sx.
Поскольку g(X) = 0, 9g(X) = 0 в допустимой области. Отсюда следует, что
о/(Х) - V/(X)3X = 0,
vg(x>ax = o.
Как видим, задача сводится к решению т + 1 уравнений с п + 1 неизвестными, которыми являются 9/(Х) и ЭХ. Неизвестную величину Э/(Х) можно определить, как только будет найден вектор ЭХ. Это означает, что, по существу, имеется т уравнений с п неизвестными.
При т > п по меньшей мере т- п уравнений системы являются избыточными. После устранения избыточности количество независимых уравнений в системе становится равным т (< п). Если т = п, решением является ЭХ = 0. При этом точка X не имеет допустимой окрестности, и, следовательно, пространство решений задачи состоит из единственной точки. Такая ситуация является тривиальной. Ситуацию, когдат<п, рассмотрим подробно.
Пусть X = (Y, Z), где
Y = (j/p уг,...,ym)nZ = (z1,z2,...,zn_m)
20.2. Задачи на экстремум при наличии ограничений
называются зависимыми и независимыми переменными соответственно. Переписывая градиенты функций / и g в новых обозначениях, получим
v/(y, z) - (vy/, vz/), Vg(y, z) = (VYg, Vzg). Введем в рассмотрение матрицы
fvYg, ] J=vYg=;,
c = vzg =
Матрица JmXm называется матрицей Якоби, a CmX((1_m) — матрицей управления. Матрица Якоби J предполагается невырожденной. Это всегда можно обеспечить, поскольку рассматриваемые т уравнений являются независимыми по определению. Поэтому компоненты вектора y можно выбрать среди компонентов вектора x таким образом, что матрица J окажется невырожденной.
Исходную систему уравнений с неизвестными 9/(Х) и ЭХ можно переписать в следующем виде
a/(y, Z) = vY/r3Y + vz/dZ, JoY = -CdZ.
Так как матрица J невырожденная, существует обратная матрица J-1. Следовательно,
sy = - j'caz.
Подставляя это выражение oY в уравнение для 9/(y, Z), можно выразить df через 9Z в следующем виде
a/(y, Z) = (Vzf-VYfJ1C)dZ.
Из этого уравнения получаем формулу для производных функции f по вектору независимых переменных Z
v£/ =
gc/(Y,Z)
= vz/-vy/j-'c,
где VJ представляет вектор приведенного градиента функции / по z. Следовательно, вектор vc/(y,z) должен обращаться в нуль в стационарных точках.
Достаточные условия экстремума в стационарной точке аналогичны изложенным в разделе 20.1. В этом случае элементы матрицы Гессе будут соответствовать компонентам вектора независимых переменных z. Между тем элементы матрицы Гессе должны быть приведенными вторыми производными. Чтобы показать, как они вычисляются, положим
ve/ = vz/-wc.
Глава 20. Классическая теория оптимизации
Отсюда следует, что i-й строкой приведенной матрицы Гессе является вектор dVcf/dzt. Заметим, что W — функция от Y, a Y, в свою очередь, — функция от Z. Следовательно, при вычислении частной производной Vc/ по zt следует применять правило дифференцирования сложной функции, а именно
d\Vj d\Vj by s dzt byj 8z,
Пример 20.2.1
Рассмотрим следующую задачу.
f(X) = xf+3x22+5Xlxl,
g, (X) = х,х3 + 2x2 + xj -11 = 0,
g2 (X) = x,2 + 2x,x2 + xl -14 = 0.
Известна допустимая точка X° = (1, 2, 3). Требуется оценить приращение функции/ (= 3J) в допустимой окрестности точки Х°.
Пусть Y = (хрх3) и Z = х2. Имеем
/б/ б/"
VY/ =
= (2xt+5x2,\0xlx,),
Vz/ = #- = 6x2> ox,
J =
C =
Их, | ||
(d8<) | ||
Bx2 | ||
{dx2j |
y2x{+2x2 2хъ)
Оценка приращения д/ в окрестности допустимой точки X =(1, 2, 3), вызванного малым изменением 8х2 = 0,01, получается следующим образом:
J-'C =
6 6
' _6_ | 1 ^ | ||
, 12 | 12, | ||
(2,83 4 | |||
"1-2,50, | |||
Следовательно, приращение функции/с учетом ограничений равно
3J=(VZ/-VY/J-'C)0Z =
6x2-(47,30)
'2,83s ,-2.5, дх2 =-46,01&2.
20.2. Задачи на экстремум при наличии ограничений
Если указана величина изменения дх2 независимой переменной х2, то допустимые значения дхх и 8х3 зависимых переменных хх и х3 определяются по формуле
з\ = -г'сэг.
При дх2 = 0,01 получаем
(сЬсЛ т. (-0,0283^1
= -J Сох, =
дх-
1, 0,0250)
Чтобы проверить точность полученной выше оценки для д/, можно вычислить значения функции/в точках Х° и Х° + ЭХ. Получаем
Х° + ЭХ = (1 - 0,0283, 2 + 0,01, 3 + 0,025) = (0,9717, 2,01, 3,025).
Отсюда следует, что
ДХ) = 58 иДХ° + ЭХ) = 57,523
или
Й/=ЛХ° + ЭХ) -ДХ°) = -0,477.
Полученный результат свидетельствует об уменьшении значения функции / по сравнению с вычисленным выше в соответствии с формулой для Э</. Это различие между двумя полученными результатами (-0,477 и -0,4601) является следствием линейной аппроксимации в окрестности точки Х°. Поэтому приведенная выше формула дает хорошие результаты лишь тогда, когда отклонения от точки Xе малы.
УПРАЖНЕНИЕ 20.2.1
1. Вернитесь к задаче из примера 20.2.1.
a) Вычислите величину 8J двумя способами, как это было проделано в примере, используя дх2 = 0,001 вместо дх2 = 0,01. Будет ли влияние линейной аппроксимации менее существенным при уменьшении величины Эдг2?
b) Установите зависимость между приращениями dxv дх2 и дх3 в допустимой точке Х° = (1,2,3) при условии, что точка (дг" + дх,,х2 +8х2,х, + 8х}) также является допустимой.
c) Если Y= (х2, х3) и Z = дг,, то каким должно быть значение dxv чтобы величина приращения dj была такая же, как в рассмотренном примере?
Пример 20.2.2
Данный пример иллюстрирует процедуру использования метода приведенного градиента. Рассмотрим задачу
минимизировать /(X) = х\ + х\ + дг,
при ограничениях
g1(X) = x1+x2 + 3x3-2 = 0, Я2(Х) = 5х1 + 2дг2+х3-5 = 0.
Глава 20. Классическая теория оптимизации
Определяем экстремальные точки целевой функции при наличии ограничений следующим образом. Пусть Y = (х,, х2) и Z = х3. Тогда
VY/ =
= (2дг„2х2), 4J = $- = 2xv
ох.
J =
1 п
ч5 2,
J =
(2 3 5 3 3
~ъ)
Следовательно,
Vc/ =!^ = 2a-,-(2x„2x2)
дсх,
(2 3 5 V 3
0;
Ю 28. --—х,-—хг + 2хъ.
В стационарной точке выполняется равенствоУ/= 0, которое вместе с ограничениями g,(X) = 0 и g2(X) = 0 определяет искомую стационарную точку (или точки). В данном случае система уравнений
V/=0, £,(Х) = 0, &(Х) = О,
'10 | -28 | 6' | V | '0У | |
хг | = | ||||
v 5 | Л |
имеет решение Х°»(0,81, 0,35, 0,28).
Далее устанавливаем тип полученной стационарной точки путем проверки выполнения достаточных условий экстремума. Так как х3 — независимая переменная, из равенства \7/= 0 следует, что
3.7 | dx, | dx2 | ||
дсх] | " 3 | [dx,j | [dxj |
+ 2 =
10 28
dx, dx2 + 2.
В соответствии с методом Якоби получаем
(dxA | ' £N | |
dx, dx2 | = -j'C = | |
, 3, |
Теперь путем подстановки находим, что d2J 460 д,х\ 9 > 0. Следовательно, X — точка
минимума.
20.2. Задачи на экстремум при наличии ограничений
Анализ чувствительности с помощью метода Якоби. Метод Якоби можно использовать для анализа чувствительности оптимального значения целевой функции / к малым изменениям правых частей ограничений оптимизационной задачи. В частности, можно определить, как повлияет на оптимальное значение функции / замена ограничения g,(X) = О на g,(X) = dgr Исследование такого типа именуется анализом чувствительности и в некотором смысле аналогично соответствующей процедуре, которая была рассмотрена в линейном программировании (глава 4). Следует однако заметить, что анализ чувствительности в нелинейном программировании приводит к результатам, справедливым лишь в малой окрестности экстремальной точки. Знакомство с такими процедурами будет полезно при изучении метода множителей Лагранжа.
Выше было показано, что
адт, z> = vY/dY + vz/az,
dg = JSY + CdZ.
Предположим, что dg * 0, тогда
бт = J"'ag- jt'c az.
Подставляя последнее выражение в уравнение для 3/(Y, Z), получаем
o/(Y,z) = vY/i-'ag+vc/az,
где Vc/ = V2./ -VY/J~'C, как было определено ранее. Полученное выражение для a/(Y, Z) можно использовать при анализе изменений целевой функции f в малой окрестности допустимой точки Х°, обусловленных малыми изменениями dg и дЪ.
В экстремальной (фактически любой стационарной) точке Х0 = (Y0, Z0) приведенный градиент Vc/ должен быть равен нулю. Следовательно, в точке Х0 имеем
a/-(Y0,z0)=vYn/j-'ag(Y0,z0)
или
dg Y'J
вычисленному в точке Х0. Это значит, что влияние малых изменений dg на оптимальное значение функции / можно оценить через скорость изменения функции / по отношению к изменениям g. Эти величины принято называть коэффициентами чувствительности.
Пример 20.2.3
Рассмотрим задачу из примера 20.2.2. Оптимальной точкой является X0=(x,V2V3°) = (0,81, 0,35, 0,28). Так как Y0 = (х°,х°2), то
Vv„/ =
'ид
чйх,'йх2,
= (2jc,°,2x2) = (1,62, 0,70).
Следовательно,
= VYo/J-'=(1,62,0,7)
(2 I)
3 3
5 _ 1
3 3,
= (0,0876,0,3067).
Глава 20. Классическая теория оптимизации
Это свидетельствует о том, что изменение dgx = 1 приводит к увеличению значения целевой функции / приблизительно на 0,0867. Аналогично при dg2 = 1 имеет место увеличение значения/приблизительно на 0,3067.
Использование метода Якоби в задачах линейного программирования. Рассмотрим задачу линейного программирования.
Максимизировать г — 2л:, + Зхг
при ограничениях
хх -Ь х2 ~Ь х3 = 5, хг — х2 + xt = 3,
^3' ^4 — ^'
Для каждого условия неотрицательности xf > 0 введем соответствующую (неотрицательную) дополнительную переменную w2. Таким образом, дг, - w2 = 0
или Xj = w2. При такой замене условия неотрицательности становятся неявными,
и исходная задача принимает вид
максимизировать z = 2w2 + 3w2
при ограничениях
w, + ve, + w, = 5,
= 3.
Для метода Якоби положим Y = (u>,, w2) и Z = (u>3, ц>4). (В терминологии линейного программирования векторы Y и Z образованы базисными и небазисными переменными соответственно.) Следовательно,
J =
(2w, 2w7}
J-' =
J__1_
4ve, 4vv,
J__-1_
4vv, 4ve,
w, и W, * 0,
так что
'2w, 0 4 4 0 2w4,,VY/ = (4w„6w2),Vz/ = (0,0),
Vc/ = (0,0)-(4w„6w2)
4vv, 4vv,
4ve2 4w2,
2w, 0 0 2w4 =(-5w3,w4).
Решение системы уравнений, состоящей из уравнения V/ = 0 и ограничений задачи, позволяет определить стационарную точку w1 = 2, w2=l, w3 = 0, w4 = 0. При этом матрица Гессе имеет вид
20.2. Задачи на экстремум при наличии ограничений
' 57 | |||
6>35rw4 | '-5 | ||
Aw3acw4 |
Поскольку Hc является неопределенной матрицей, стационарная точка не будет точкой максимума.
На самом деле полученный результат не является неожиданным, поскольку (небазисные) переменные w3 и ш4 (и, следовательно, х3 и х4) равняются нулю, как и предусмотрено теорией линейного программирования. Следовательно, решение, полученное с помощью метода Якоби, определяет ту или иную крайнюю точку пространства допустимых решений рассматриваемой задачи, которая связана с конкретным выбором векторов Y и Z. При этом найденное решение может как быть, так и не быть оптимальным. Однако метод Якоби позволяет распознать оптимальное решение задачи путем использования достаточных условий экстремума.
Приведенные рассуждения свидетельствуют о том, что для оптимального решения задачи линейного программирования необходимо менять конкретный выбор Y и Z, пока не будут выполнены достаточные условия. Пусть, например, Y = (w2, wt) и Z = (ц>,, w3). Тогда соответствующий приведенный градиент принимает вид
V,/ = (4wp0)-(6w2,0)
I
2ve2 l
2w.
о
2w.
(2w, 2w,
2ve3 0 =(-2wp6w3).
Соответствующая стационарная точка определяется значениями wl = О, w2 w3 = 0, wt=J&. Так как матрица
-2 0}
-Л,
Н =
0 -6)
является отрицательно определенной, то указанная точка — точка максимума.
Полученный результат можно проверить графически, используя рис. 20.6. Первое из найденных решений (дс, = 4, хг = 1) не является оптимальным, в то время как второе (jc, = 0, х2 = 5) оказывается таковым. Читатель имеет возможность проверить, что две оставшиеся крайние точки пространства допустимых решений не являются точками максимума. Кроме того, с использованием достаточных условий экстремума можно показать, что в точке xt — 0, хг = 0 возникает минимум целевой функции рассматриваемой задачи.
Заметим, что введенные ранее коэффициенты чувствительности VYj/J"' в задаче
линейного программирования являются переменными двойственной задачи. Чтобы проиллюстрировать это на рассматриваемом численном примере, обозначим через и, и и2 соответствующие переменные двойственной задачи. В оптимальной точке w1 = 0, w2 = VJ, w3 = 0, w4 = -To" переменные двойственной задачи вычисляются по формуле
(«„«2) = VYr'=(6w2;0)
1
2w,
^2w4 2w4
=(з.о).
Глава 20. Классическая теория оптимизации
Рис. 20.6. Пространство решений задачи ЛП
В точке (3, О) целевая функция двойственной задачи равна 5и, + Зиг = 15 и совпадает с оптимальным значением целевой функции прямой задачи. Полученное решение также удовлетворяет ограничениям двойственной задачи, т.е. является допустимым и, следовательно, оптимальным. Это значит, что коэффициенты чувствительности совпадают с переменными двойственной задачи линейного программирования.
Из процедуры применения метода Якоби к решению задач линейного программирования можно сделать несколько общих выводов. Рассмотренный численный пример показывает, что в силу необходимых условий экстремума независимые переменные задачи равны нулю. Достаточные же условия указывают на то, что матрица Гессе является диагональной. Следовательно, все диагональные элементы этой матрицы должны быть положительными, если в рассматриваемой точке имеет место минимум, и отрицательными — в случае максимума.
Из вышесказанного следует, что необходимое условие экстремума равносильно указанию на то, что оптимальное решение задачи следует искать только среди ее базисных решений. В этом случае в качестве небазисных переменных задачи линейного программирования выступают независимые переменные. Достаточное же условие приводит к выводу, что между диагональными элементами матрицы Гессе и разностями zf - с, задачи линейного программирования (см. раздел 7.2), получаемыми с помощью симплекс-метода, существует строгое соответствие.1
УПРАЖНЕНИЯ 20.2.2
1. Предположим, что задача из примера 20.2.2 решена следующим образом. Сначала из ограничений задачи выражаем переменные дс, и хг через дс3; затем используем полученные соотношения для представления целевой функции в зависимости лишь от переменной х3. Дифференцируя полученную целевую функцию по х3, находим точки минимума и максимума.
1 Формальное доказательство справедливости этих утверждений для общей задачи линейного программирования можно найти в статье Taha Н. and Curry G. "Classical Derivation of the Necessary and Sufficient Conditions for Optimal Linear Programs", Operations Research, Vol. 19, 1971, pp.1045-1049. В этой статье показано, что все основные положения симплекс-метода могут быть получены с помощью метода Якоби.
Дата публикования: 2014-11-18; Прочитано: 535 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!