Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы оптимизации сложных систем. Учебное пособие
.pdf
31
Следующий метод – метод золотого сечения – на каждом шаге использу-
y
15
1,618 034...
2
y
1
0,618 034...
y
1
x
2
x
,ab
1
()fx
2
()fx
11
,ab
12
( ) ( )f x f x
1 1 2
,a a b x
12
( ) ( )f x f x
1 1 1
,a x b b
1
l
11
,ab
11
min
2
ab
x
11
,a a b b
12
( ) ( )f x f x
f(x)
2
()fx
1
()fx
a
1
x
2
x
b x
1
l
ет только одно измерение.
Золотым сечением отрезка называют деление его на две неравные части
так, чтобы отношение
длины всего отрезка к длине его большей части равня-
лось отношению длины большей части к длине меньшей части отрезка. Легко
убедиться, что это отношение является решением квадратного уравнения и равно
; при этом
(2.6)
На каждом отрезке можно указать две точки, осуществляющие золотое сечение и
расположенные симметрично относительно его середины. Имеет место замеча-
тельное свойство этих точек: каждая из них выполняет золотое сечение всего
отрезка и, кроме того, золотое сечение того отрезка, на котором она расположена.
Обратимся к алгоритму метода золотого сечения в форме последовательности действий (рис. 2.5).
1. Находят две точки
и измеряют
,
и
, производящие золотое сечение отрезка
(измерения в двух точках необходимы лишь
при первом обращении к последовательности действий).
2. Выбирают новый отрезок
если
если
, то
, то
по правилу:
;
.
Это действие следует той же логике, что и действие 4 в методе деления отрезка
пополам.
3. Если длина
отрезка
меньше Δ, то останавливают процедуру,
считая
.
В противном случае совершают следующий шаг – переходят к действию 1 для
нового отрезка, полагая
.
Рис. 2.5. К методу золотого сечения; случай

32
Отметим важное обстоятельство, возникающее всякий раз при повторе-
1
x
2
,ax
1
()fx
k
l
k
1/ y
1k
k
l
l
y
k
k
ba
l
y
N
N
N
ba
y
/
NN
22
(0,874 032)
15
N
N
N
N
N
1
нии действия 1: нет необходимости искать две точки и делать два измерения,
ибо в силу отмеченного выше «замечательного свойства» точек, выполняющих
золотое сечение, одна из них остается от предыдущего шага вместе с соответствующим значением функции. Так, на рис .2.5 точка
производит золотое
сечение отрезка
Вводя обозначения k для числа шагов процедуры и
ка, получаемого в результате шага
последующего отрезка составляет
, и для нее известно
, обнаруживаем, что длина каждого
длины предыдущего
.
для длины отрез-
,
а вслед за тем находим
. (2.7)
Эта зависимость повторится и для числа измерений в качестве аргумента, по-
скольку оно больше числа шагов только на 1, которую можно и не учитывать.
Длину отрезка неопределенности обозначим теперь
. (2.8)
Для сравнения методов деления отрезка пополам и золотого сечения со-
ставим отношение
, используя (2.5), (2.6) и (2.8)
.
Отсюда видно, что метод золотого сечения имеет ощутимое преимущество: уже
при
= 5 отрезок неопределенности для него составляет около половины такового для метода деления отрезка пополам.
Еще лучшие результаты дает метод Фибоначчи1 (здесь не рассматривает-
ся), но для его использования нужно заранее знать допустимое число шагов
процедуры поиска.
Существует ряд эффективных методов поиска минимума дифференцируемых функций (метод парабол, метод касательных и др.).
Назван так потому, что в нем используются хорошо известные числа Фибоначчи.
Они образуют ряд, первые два члена которого равны 1, а каждый из последующих равен
сумме двух предыдущих: 1, 1, 2, 3, 5, 8, 13, …

33
Все методы нуждаются в анализе их точности при наличии погрешностей
()f X
W
(1 ) ( ) (1 ) ( ),f f f X Y X Y
, , 0 1 X W Y W
Y
0, 1
()f X
()f X
A
f(x)
x
f(x)
x y x
Левая часть в (2.9)
Правая часть в (2.9)
измерения функций и задания значений их аргумента x. Может возникнуть
необходимость внесения дополнений и поправок в схемы их применения во из-
бежание потери работоспособности методов.
§ 2.3. Выпуклое программирование
Существует класс задач НЛП, алгоритмы решения которых наиболее по-
дробно разработаны и обоснованы. Это задачи выпуклого программирования.
Понятие выпуклости множеств уже упоминалось в параграфах 1.3 и 2.1, а его определение приведено в приложении А. Существует и понятие выпуклости функций.
Функция
, определенная на выпуклом множестве
, называется
выпуклой, если
(2.9)
где
.
Геометрический смысл этого неравенства состоит в том, что ординаты
отрезка прямой с концами в любых двух точках X и
определяемой функцией
поверхности (правая часть в (2.9)) оказываются не меньше, чем ординаты са-
мой функции при тех же значениях векторного аргумента (левая часть в (2.9)).
Для случая одной переменной это показано на рис. 2.6, а.
Если в (2.9) имеет место знак строгого неравенства «<» при
, то
функцию называют строго выпуклой. Используют и другие наименования. Вместо «выпуклая» иногда говорят «выпуклая вниз». Для функций «перевернутого»
вида (противоположный знак неравенства в (2.9)) применяют термин «выпуклая
вверх» или «вогнутая» (рис. 2.6, б).
Связь между понятиями выпуклого множества и выпуклой функции уста-
навливает следующая теорема.
Теорема 2. 1. Если
удовлетворяющих условию
непрерывна и выпукла, то множество точек,
, при действительном A замкнуто и вы-
пукло (или пусто).
а б
Рис. 2.6. Выпуклая (а) и вогнутая (б) функции

34
В общей форме записи задачи НЛП ограничимся теперь условиями (2.1),
XM
( ) 0 ( 1, 2,..., )
i
imX
*
X
* * * *
12
, ,...,
m
Λ
**
,X Λ
1
( , ) ( ) ( )
m
ii
i
Lf
X Λ X X
*
1
( ) ( )
m
ii
if
XX
* * *
1
( ) ( )
m
ii
if
XX
**
1
( ) ( )
m
ii
if
XX
()f X
0
X
m
00
( ) ( )
lim
0
ff
X m X
0
()f X
0
X
m
0
()fX
m
(2.2) и дадим следующее определение. Задача НЛП называется задачей выпукло-
го программирования, если функция (2.1) выпукла и множество, определяемое
условиями (2.2) выпукло тоже. В теории выпуклого программирования важное
место занимают следующие теоремы (приводятся далее без доказательств).
Теорема 2.2. Всякий локальный минимум задачи выпуклого программирования является и глобальным.
Этот результат (говорят: «одноэкстремальность задачи») имеет большое
практическое значение, поскольку нахождение какого-либо решения задачи
позволяет поиск на этом прекратить.
Теорема 2.3 (Куна-Таккера). Пусть область M задачи выпуклого программирования, определяемая неравенствами (2.2), имеет внутренние точки (условие
Слейтера): существует точка
такая, что
.
Тогда для того, чтобы точка
была решением задачи (2.1), (2.2), необ-
ходимо и достаточно, чтобы существовал неотрицательный m-мерный
вектор
такой, что пара
является седловой точкой
функции Лагранжа
,
то есть
.
Эта теорема в дальнейшем изложении не используется, но приводится
здесь ввиду ее значимости для теории математического программирования. Ее
можно рассматривать как обобщение теоремы двойственности в линейном про-
граммировании (§ 1.6).
§ 2.4. Градиентные методы
Рассмотрим предварительно еще некоторые понятия, связанные с целевой
функцией и известные из теории функций многих переменных.
Пусть функция
пусть
– некоторый единичный вектор (его длина равна 1).
Предел
если он существует, называется производной функции
направлению
определена в некоторой окрестности точки
. Обозначим ее
и
,
, (2.10)
в точке
по
.

35
Производная по направлению m функции f равна, следовательно, обык-
0
X
0
X
0
X
0
()fgrad X
0 0 0
T0
12
( ) ( ) ( )
( ) , ,...,
n
f f f
f
x x x
X X X
grad X
0
X
0
0
()
( ) ,
ff
X
grad X m
m
0
X
0
X
( 1) ( ) ( ) ( )k k k k
h
X X V
()0k
h
(0)
X
()k
V
()k
h
()k
h
()k
V
1
1
новенной производной такой функции одной переменной, которая получается
из f путем сужения области ее определения до прямой, проходящей через точку
в направлении вектора m. Таким образом, производная по направлению
определяет «скорость» роста f в этом направлении.
Если f дифференцируема по каждой из координат в точке
, то вектор,
составленный из частных производных в этой точке по всем координатам,
называется градиентом функции f в точке
Если f непрерывно дифференцируема в точке
и обозначается далее
. (2.11)
, то связь между гради-
ентом и производной по направлению устанавливается формулой
(2.12)
где справа стоит скалярное произведение. Оно достигает максимального (и по-
ложительного) значения, когда вектор m совпадает по направлению с
градиентом. С учетом истолкования производной по направлению как скорости
роста f это означает, что градиент указывает направление наибольшего возрастания f в точке
. Вектор, противоположный градиенту по направлению и
равный ему по модулю, называют антиградиентом. Он указывает направление
наибольшего убывания f.
Градиент перпендикулярен к поверхности постоянного уровня f, проходя-
щей через точку
, а его модуль отражает «крутизну склона f » в этой точке.
Ограничимся далее в этом параграфе задачами, в которых отсутствуют
условия (2.2) и (2.3). Их называют задачами на безусловный экстремум. Все
численные методы решения таких задач представляют собой поэтапные рекуррентные процедуры построения последовательности точек согласно правилу
(k = 0, 1, 2, …), (2.13)
где k – номер этапа, предшествующего тому, на котором определяется очередная точка последовательности;
. Точка
(стартовая точка процедуры)
выбирается произвольно, возможно, с учетом дополнительных соображений.
Единичный вектор
задает направление, в котором происходит приращение
координат очередной точки по отношению к предшествующей. Скалярный
множитель
определяет абсолютную величину приращения – шаг процедуры
поиска. Предполагается, что последовательность сходится к точке, в которой
достигается минимум f. В зависимости от способа выбора
тот или иной метод решения
.
и
получается
во всей главе упоминается лишь небольшая их часть.
Необходимо заметить, что ввиду большого разнообразия методов в этом параграфе и

36
Методы, в которых
()k
V
()k
h
( ) ( 1)
,
kk
XX
( 2)k
X
()k
X
( 1)k
X
( ) ( 1)
,
kk
XX
( 1) ( 2)
,
kk
XX
()k
h
()k
X
()k
X
X
(k+2)
X
(k+1)
X
(k)
x
2
x
1
X
(k+2)
X
(k+1)
X
(k)
x
2
x
1
совпадает по направлению с антиградиентом
(или с градиентом при поиске максимума), называют градиентными. В зависи-
мости от способа выбора шага
различают два основных варианта.
Первый из них – градиентный метод с постоянным шагом – предполага-
ет, что шаг не зависит от k – сохраняет постоянное заранее выбранное значение
h. Этот выбор обычно влияет на характер процедуры поиска. При малых h по-
иск может затянуться, а при больших возможны явления расходимости и
зацикливания. Метод, сохраняя наименование, допускает и некоторые отклонения от постоянства – корректировку h. Например, это переход к меньшим
значениям h по мере приближения к минимуму.
Рис. 2.7, а поясняет процедуру поиска на плоскости двух переменных.
Утолщенными кривыми показаны линии постоянного уровня f, а звездочкой –
точка минимума. Пунктирными стрелками указано положение трех последовательных точек, получаемых в ходе поиска:
линиями обозначены направления антиградиента в точках
ния между точками
и
одинаковы и равны шагу поиска.
и
и
. Тонкими
. Расстоя-
a б
наискорейшего подъема, когда ищется максимум). Он предусматривает такой
выбор шага
множестве точек, расположенных на прямой, содержащей вектор антиградиента
в точке
ках очередной точки продолжается до тех пор, пока целевая функция не
перестанет уменьшаться. Для этого на каждом этапе поиска необходимо решать
рассмотренную в § 2.2 задачу минимизации функции одной переменной. По-
следняя представляет собой расстояние от точки
направлении антиградиента. На рис. 2.7, б показаны два этапа поиска.
Рис. 2.7. Схемы поиска минимума градиентным методом
с постоянным шагом (а) и методом наискорейшего спуска (б)
Второй вариант именуется методом наискорейшего спуска (или методом
в (2.13), который обеспечивает минимум целевой функции на
. Иными словами, «движение» в направлении антиградиента в поис-
, отсчитываемое в

37
Метод наискорейшего спуска требует дополнительных вычислений на
x
2
x
1
x
2
x
1
каждом этапе поиска, но обычно обеспечивает более быструю сходимость,
нежели метод с постоянным шагом. Это отражено и на рис. 2.7.
Эффективность градиентных методов (впрочем, не только их) существенно
зависит от характера функции отклика. На рис. 2.8, а показана возможная траекто-
рия поиска (снова для двух переменных), когда линии постоянного уровня
представляют собой сильно вытянутые кривые. При этом поверхность целевой
функции образует как бы «щель» между круто поднимающимися стенками, а
отысканию подлежит точка минимума (опять обозначена звездочкой) на ее «дне»,
слабо отличимая от соседних точек дна. Процедура поиска сильно затянута и
представляет собой последовательность «перескоков» от одной стенки к другой.
Часть из них показана серией тонких линий с началом, указанном стрелкой.
а б
Рис. 2.8. Поверхность целевой функции типа «щели» (а)
и «овражного» типа (б)
Дополнительные трудности возникают, когда линии уровня еще и сильно
изогнуты. Говорят, поверхность имеет «овражный» характер (рис.2.8, б). Суще-
ствуют модификации градиентных методов, направленные на преодоление
таких препятствий.
Заметим в заключение, что ситуации, показанные на рис.2.7 и 2.8, конеч-
но, допускают обобщения и на многомерные случаи, сохраняя обсуждавшиеся
выше качественные особенности.
§ 2.5. О роли единиц измерения в градиентных методах
Понятие градиента, достаточно ясное и строгое в математическом плане,
оказывается, требует существенных уточнений при решении практических за-
дач. В математических формулировках все переменные считаются безразмерными. В практических задачах они, скорее всего, таковыми не являются и имеют разное физическое содержание.
Если все переменные измеряются в одинаковых единицах, как, например,
это обычно бывает с пространственными координатами, то их выбор не вносит
существенных изменений в градиентные схемы поиска. В зависимости от единиц

38
измерения одинаково меняется масштаб представления всех переменных, отчего
1
x
1
x
2
x
1
A
1
A
1
x
1
A
2
A
1
x
1
x
A2 A1
x
2
x
1
1 2
x
2
2
fx
1
fx
x
1
0
1
2
частные производные по ним пропорционально уменьшаются или увеличивают-
ся, а направление градиента остается неизменным, как это следует из (2.11).
Если же переменные представляют различные физические величины, то
выбор единиц измерения каждой из них может быть сделан произвольно и независимо от остальных, в результате чего абсолютные величины производных
могут измениться неодинаково. Таким образом, направление градиента в каж-
дой точке становится зависимым от произвольного выбора единиц измерения, и
возникают сомнения в самой целесообразности его отыскания.
На рис. 2.9, а показаны два варианта схем поиска при разном выборе еди-
ниц измерения координаты
. В первом варианте при некотором выборе
единиц измерения
и
одна из линий постоянного уровня целевой функции
представляет собой окружность, обозначенную цифрой 1. Направление антиградиента в некоторой точке
дается прямой, проходящей через начало
координат, где, считается, и расположена точка минимума. Для ее достижения
из точки
в принципе достаточно одного шага.
Во втором варианте выбраны в два раза меньшие единицы измерения для
. Линия постоянного уровня превратилась в обозначенный цифрой 2 эллипс с
большой полуосью, равной удвоенному радиусу окружности. Точка
мально сменилась точкой
, хотя фактическое значение
не изменилось. В
фор-
этой точке направление антиградиента уже не указывает на начало координат.
Одношаговый переход из нее в минимум теперь невозможен.
а б
Рис. 2.9. Варианты схем поиска минимума (а) и изменения градиента (б)
при разном выборе единиц измерения координаты
ных на схемы поиска можно ожидать после перехода от первоначальных (говорят:
Некоторого ослабления нежелательного влияния единиц измерения перемен-

39
«естественных») координат
i
x
i
x
0
ii
i
i
xx
x
x
0
i
x
i
x
i
x
0
i
x
i
x
1
x
2
x
1
fx
2
fx
1
x
2
x
1
fx
1
x
1
x
2
x
()k
V
к безразмерным координатам
Обычно он дается линейным преобразованием
(i = 0, 1, 2, …, n).
, (2.14)
в котором величины
менной
и осуществляют соответственно сдвиг и изменение масштаба ее
и
совпадают по размерности с естественной пере-
числовых значений. Однако радикального избавления от проблем, порождаемых выбором единиц измерения, и это не дает, поскольку произвол в выборе
и
все равно сохраняется.
Итак, выбор единиц измерения может повлечь за собой существенные из-
менения в процедуре поиска, что значительно обесценивает градиентные
методы. Впрочем, основания для использования градиента все-таки остаются.
Дело в том, что изменения направления градиента (и антиградиента) при любом
выборе единиц не выходят за определенные границы. В частности, направление
не может измениться на противоположное. Более того, оно сохраняется в относительно узких пределах, поскольку ни одна из производных в (2.11) при
изменении единиц измерения своего знака не меняет.
На рис. 2.9, б на плоскости переменных
,
при некотором выборе их
единиц измерения показан сплошной стрелкой градиент некоторой функции f в
начале координат. Его проекциями на оси координат являются частные произ-
водные
градиента при выборе более мелких единиц измерения
измерения
и
. Пунктирной стрелкой 1 обозначено новое положение
. Произошло уменьшение производной
без изменения единиц
и поворот градиента
против часовой стрелки. Пунктирной стрелкой 2 обозначено новое положение
градиента при выборе более крупных единиц измерения
, сопровождаемое
поворотом градиента по часовой стрелке. Однако при любом выборе единиц
измерения
и
градиент останется в первом квадранте. В трехмерном про-
странстве при варьировании единиц градиент не выходит за пределы
некоторого октанта, в многомерном – ортанта1.
Последние соображения породили ряд методов, в которых вектор
в
(2.13) не следует в точности градиенту, но учитывает его направление [11] .
1
Это обобщение понятий квадранта и октанта на случай многомерного пространства.
В n-мерном пространстве всего 2n ортантов.

40
§ 2.6. Метод штрафных функций
( ) min,
,
f
X
XM
1
( , ) ( ) ( ),F f gX X X
XM
()g X
()g X
()g X
()g X
XM
()g X
XM
()g X
1
( ) max ( ),0
m
p
i
ig
XX
max ..., ...
()g X
1
XM
M
M
X
2
Обратимся теперь к основной задаче НЛП, предусматривающей наличие
ограничений. Для краткости запишем ее в виде
(2.15)
где M – допустимое множество значений X, обсуждавшееся выше в § 2.1. Она,
как правило, оказывается сложнее, чем задачи на безусловный экстремум.
Согласно методу штрафных функций, эту задачу заменяют серией задач о
минимуме некоторой функции
где
> 0 – скалярная переменная, принимающая ряд значений, в результате
чего и образуется серия. При этом требование
(2.16)
отсутствует, так что полу-
чаются задачи на безусловный экстремум1.
Функцию
сходилось к решению задачи (2.15). Правильный выбор
выбирают так, чтобы при
0 решение задачи (2.16)
составляет одну из
проблем, сопутствующих методу штрафных функций. В число таких проблем
входит также выбор последовательности значений
и решение задач на без-
условный экстремум при каждом из этих значений.
Второе слагаемое в (2.16) именуют штрафом, если
удовлетворяет
условиям
= 0 при
,
(2.17)
> 0 при
.
Функцию (2.16) при этом и называют штрафной2.
В распространенном на практике случае, когда М определяется системой
неравенств (2.2), можно выбрать
где символ
означает выбор максимальной из двух величин, разде-
, например, так
,
ленных запятой, а p = 1, 2, т. е. модуль выбранной величины может возводиться
в степень 1 или 2 (последняя предпочтительней, поскольку сохраняет шансы на
дифференцируемость
Метод штрафных функций допускает иногда наличие ограничений типа
где
предположить, что
дура поиска «штрафуется»: в (2.16) происходит принудительное увеличение целевой
функции f(X).
– область более простой структуры, чем
Названия понятны, поскольку при выходе X за пределы допустимой области проце-
может быть любым из всего пространства E
).
,
. Однако обычно бывает достаточно
.
n
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
