книги / Моделирование физико- химических процессов нефтепереработки и нефтехимии
..pdfПусть начальный интервал неопределенности условно состав ляет 1 ( = 100% ), при этом в тех же условных единицах различие между а?! и х г составляет е. Тогда при минимаксном проведении
Рио. VI-2. Поиск экстремума Ме тодом дихотомии.
двух расчетов получим новый интервал неопределенности LX = = 1/2 + (1—1/2) е- Следующая пара расчетов даст новый ин тервал:
Рассуждая аналогично, получим, что после к (четных) расчетовно методу дихотомии
_JL ( |
|
Lk—2 2 -+ \1—2 |
(VI.4) |
Метод Фибоначчи. Можно улучшить метод дихотомии, исполь зуя информацию о лучших «старых» результатахОдин из воз можных методов, использующих е-минимаксиую схему, назван именем Фибоначчи-
По методу Фибоначчи задается число расчетов к, которое можно выполнить при поиске экстремума. Пусть выполнен {к—1) расчет и получен интервал неопределенности L*k. r Пусть внутри этого интервала находится иаилучшее значение у, найден
ное по (ft— 1) |
опыту, отвечающее a ^ - |
Если предыдущий поиск |
||
продуман, то положение x^-i |
внутри |
интервала |
зависит |
|
от исследователя, и он может |
разместить последний к-й расчет |
|||
в-оптимальио |
(рис- Y I-3), т- е- |
так, что |
|
|
|
* |
|
|
(VI.5> |
|
L fc-1 |
|
|
Пусть выполнены ft—2 расчета, после которых интервал не определенности составляет ,Ц_2Внутри этого интервала нахо дится оптимальное (после ft—2 расчетов) значение х*(_2 (рис- V1-4). После следующего расчета в точке xk_t будет выбран новый интервал L^-i и, очевидно, в нем будет находиться наилучшая из величин после ft— 1 опыта, т- е- у (a£_i) или у* (xfe_a). Тогда,
181
если разместить a£_i и а*_2 па одинаковом расстоянии от разных
концов интервала LJUa» положение |
точки х*_2 |
определит |
вели |
||
чину LI- 1 (рис. VI-3). Но, в |
свою |
очередь, x*t~i должен |
нахо |
||
диться на расстоянии L\ от |
конца интервала |
L\-i |
(рис. VI-4). |
||
Из проведенных рассуждений и |
рис. VI-4 видно, |
что |
|
||
Аналогично рассуждая, находим для / — 1, j |
и / + |
1 расчетов: |
|||
L ) - i = Lj + |
L 1+ 1 |
|
|
(VI.6) |
Рассмотрим величину L1 для различных / по мере их убыва ния от /с. Из уравнений (VI.5) и (VI.6) следует, что
(VI-7)
Из уравнений |
(VL6) и (VI-7) для |
] = р —2 |
получим: |
Аналогично |
4 - s = M 'k-2* |
|
|
|
|
|
|
И т- д. |
|
|
|
Если использовать ряд чисел Фибоначчи: |
|
||
то можно дать |
следующую общую |
формулу: |
|
|
Lft_i=Fi+iLfr-{-Fi-x& |
(V I« 8 ) |
Если принять длину начального интервала неопределенности (L"0 = L[) за единицу и выражать е в долях от этого интервала, то из (VI.8) видно, что
L* = i —Fkb\—Fk-2& |
( V I . 9 ) |
|
и |
F K-.?. |
|
г . __ L -4 - |
( V I .1 0 ) |
|
L k ~ F k ^ |
F k |
|
182
Подставив соотношение (VI-10) в уравнение (VL8), получим:
L U = F £+1 ( 7 7 + |
е ) - F ^ s |
(VI.11) |
•Уравнение (VI. 11) позволяет |
рассчитать |
длину интервала |
неопределенности (в долях от начального) на любом этапе поиска. При конкретном использовании метода Фибоначчи нужно за даться числом расчетов /с. Далее определяют положение х г
Так как х х должен |
находиться на расстоянии Ь\ от одного из |
||
концов начального интервала (L*0 |
= L\ ), принятого за единицу, |
||
то в соответствии с |
(VI- И ) при |
г = /с—2 |
получают: |
L i |
( - 7 7 - F k-2 - F k - 3) е |
(VI.12) |
Тогда х г можно выбрать как #min + Ц Ь 0, а х %— как хтах —
— L \ L V Отобрав лучший сегмент, ставят, третий расчет симмет
рично тому, |
который имеется в этом сегменте (как показано на |
рис- VI-3 и |
VI-4). |
Метод Фибоначчи значительпо эффективнее метода дихотомииЕго недостатком является необходимость предварительного вы бора числа расчетов. Этого недостатка лишен следующий метод.
Метод золотого сечения. Рассуждая, как и при обосновании метода Фибоначчи, приходим к соотношению (VI-6), связыва ющему интервалы неопределенностей после 7—1 и 7 + 1 расчетовНе будем переходить от этого соотношения к (VI. 10), чтобы не использовать величину Lk, поскольку для этого требуется предварительный выбор числа расчетов. Зададимся условием
постоянства отношения интервалов неопределенности:
г* |
|
|
|
Li-i |
_ Li |
==т |
(VI.13) |
*•) |
Ч +г |
|
|
Так как |
|
L)~L% xx |
|
L*_I = 7 -T= (L;+IT)T; |
(VI.14) |
||
то, подставив (VI-14) в соотношение |
(VI-6), получим т2 = |
х + 1 |
|
откуда х = 1,618. Попятно, |
что |
|
|
L \ = L \ ! 1.618 |
(VI.15) |
По этому методу для первых двух расчетов выбирают расстоя ние от концов начального интервала неопределенностей, равное Lj/1,618- В выбранном наилучшем сегменте (хтгк—х 1или х 2—zmin) находится один из первоначальных расчетов, а следующий нужно поставить симметрично ему. Такой метод получил название метода золотого сечения-
Учитывая соотношение (VI-15), легко убедиться, что при методе золотого сечения
L l ^ ^ r r L , |
(VI.16) |
183
В табл* VI-1 сравнивается эффективность различных методов поиска*
Сравнение эффективности различных методов |
ТАБЛИЦА VI-1 |
||
поиска унимодальной функции'1 |
|
|
|
|
Отношение начального и полученного после расчетов |
||
|
интервалов неопределенности |
||
Число расчетов |
по методу дихо |
по методу Фибо |
по методу золотого |
|
|||
|
томии (VI. 4) |
наччи (VI. 10) |
сечения (VI. 14) |
|
|
|
) |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
2 |
2 |
2 |
1,02 |
3 |
2 |
3 |
2,62 |
4 |
4 |
5 |
4,24 |
5 |
4 |
8 |
6,85 |
6 |
8 |
13 |
11,09 |
10 |
32 |
89 |
76 |
15 |
128 |
987 |
843 |
20 |
1024 |
10946 |
9349 |
* Расчет проводится npii условии, что е—малая величина.
Из таблицы видное что при числе расчетов больше пяти ме тоды Фибоначчи и золотого сечения значительно эффективнее метода дихотомии, и им следует отдать предпочтение* В то же время различие в эффективности последних двух методов не велико*
Поисковые методы для функции многих переменных
Задача поиска экстремума функции многих переменныхj заданной уравнением у = f (xv ••*, xk), значительно сложнее, чем для функции одной переменной* Эта сложность связана с тем, что функции многих переменных имеют ряд локальных миниму мов (или максимумов); кроме того, движение к минимуму (макси муму) связано с движением к пологому «оврагу» («гребню»), а за тем — перемещением по этому «оврагу» («гребню»)*
Метод сканирования длителен, но осуществим для функции одной переменной* Если же его применять для функции многих переменных, то число расчетов оказывается столь большим, а их осмысливание настолько затруднительным, что практическоо использование этого метода становится, как правило, бессмыслен
ным* Так, |
если у = f (xv х 2) и можно проверить каждый из х |
|
в р точках, |
то у придется определять р2 раз*, для к переменных |
|
необходимо у определить ph раз. |
|
|
Поисковые методы экстремума |
функции многих переменных |
|
принято делить па локальные и |
нелокальные. Первая группа |
184
методов позволяет найти локальный экстремум, т- е. тот, который наиболее близок к точке, выбранной для начала поиска» Вторая группа методов связана с определением нескольких локальных экстремумов и выбором из них наибольшегоПоэтому нелокаль ные методы включают элементы локальныхПри такой классифи кации сканирование будет методом нелокального поиска, так как после пассивного проведения ph расчетов сравниваются все возможные экстремумы-
Метод Зайделя — ГауссаДля сокращения времени поиска его можно сделать отчасти активным и осуществлять последова тельный поиск по каждой переменной, фиксируя остальныеТакой
2
а |
6 |
Рис. VI-5. Применение метода Зайделя —Гаусса для поиска экстремума функции двух переменных. Точки характеризуют размещение расчетов,
сплошные кривые — линии равного уровня у, лушггнрные линии — движение при поиске:
а — «удачный» выбор масштаба; б — «неудачный» выбор масштаба; I — начальная точка для поиска; 2 — точка с наилучшей величиной у.
метод часто называют покоординатным поиском, или методом! Зайделя — Гаусса- В этом методе проводят изменение одной пере менной до тех пор, пока у не пройдет через наилучшее значе ниеДалее х 1 фиксируют на найденном наилучшем уровне и на чинают изменять х г при неизменных остальных переменных. Такой «просмотр» проводят к раз, последовательно меняя каждуюиз к переменныхЭффективность этого метода сильно зависит от выбора шага по каждой переменнойВозможные ситуации для. функции двух переменных иллюстрирует рис- VI-5-
Из рисунка видно, что однократный «перебор» всех перемен ных лишь в редком случае приведет к отысканию экстремума; вообще же необходим многократный «перебор», но и он может' оказаться неэффективным, если функция имеет «гребень» («овраг»)- Покоординатный поиск приведет к локальному экстремуму; если же его выполнить из нескольких исходных точек, то воз
можно определение нелокального экстремумаРассмотрим поисковые методы, наиболее часто используемые
при решении задач химической технологии.
185.
Симплексный метод. В этом методе используются некоторые свойства симплексов 1смстр- 34)-
Схема движения к экстремуму для функции двух переменных при симплексном поиске показана на рис- 1-3-
Выбор вида исходного симплекса вызывает некоторые затруд нения, но обычно пользуются правильным симплексом — фигу рой с равными сторонамиЭто требует перехода от размерных переменных к безразмерным (стр26J•
При симплексном методе приходится выполнять большое число расчетовкроме того, не всегда удается определить положение истинного экстремума, можно лишь попасть в околоэкстремальную область или на гребень функции.
Градиентные методы
Сравнение методов Зайделя — Гаусса, симплексного и других показывает, что для поиска экстремума функции многих перемен ных эффективен лишь активный поиск по наиболее короткому
пути от исходной точки к экстремальной |
области. Такой поиск |
в общем случае разбивают на следующие три этапа: |
|
исследование функции у — / (а^, ---, |
хк) вблизи исходной |
точки с тем, чтобы определить направление движения к экстре мальной области;
движение по выбранному пути к околоэкстремальной об ласти;
исследование околоэкстремальной области и движение в ней с целью приближения к экстремальной точке, а также проверки унимодальности функции.
Рассмотрим выполнение этих этапов для функции многих переменных.
Исследование функции у — f {хъ . . хк) вблизи исходной точки. Цель исследования — определить изменения х х, ..., хк, которые ведут к перемещению у в область экстремума. Наиболее простой
метод такого исследования — нахождение касательной |
гипер |
плоскости. Она описывается линейной зависимостью |
|
У = Ъ0+ Ь1х1-\-------\-bkxk |
(V I.17) |
и для «крутых» функций аппроксимирует на определенном участке «истинную» нелинейную функцию у = / (жх, хк).
Осуществить движение к экстремуму удобнее не по гипер поверхности / (хх, ..., хк) , а по близкой к ней касательной гипер плоскости, описываемой вблизи исходной точки уравнением (VI-17)- Действительно, изменение любого Xj в сторону экстре мального значения определяется знаком и величиной коэффи циента bj• Так, если Ь,- положителен и велик, то значительное увеличение Xj приведет к значительному увеличению у, т- е- к перемещению в экстремальную область-
186
Обратим также внимание на то, что величина bt равна частной производной у по Xj вблизи исходной точки, т- е*
b j = |
(VI.18) |
Для определения гиперплоскости при к переменных нужно определить к 1 коэффициент &/ в уравнении (VI-17). С этой целью можно провести к + 1 расчет вблизи исходной точки (zli0, ж2,о’ хи, о)- Можно, например, рассчитать следующие величины:
У0 (х1 ,0 >х2 . О» |
х к, о), |
Vl (х1 . 0 +Ах1 >х 2 , о, |
•, х к, о), |
г/2 (хЪ 0 , Х2 . 0 + ЛХ2 , |
•. -, xk,o), |
Z/*=(x1 , 0 . х2»0 , |
х к , 0 + ^ к ) |
и по найденным значениям составить систему из к + 1 уравнения с таким же числом неизвестных:
У о ~ & 0 + |
&1Х1. 0 + &2Х2> 0 + •••+ |
Ь/с^к, 0, |
7 = 0 |
|
|
Ух — b<j + |
(xlt о -f-A^i) -f- £>2Х2, 0 + ••* + bкхк, о, |
7 = 1 |
|
||
У2 — &0 + |
^1х1,0+ &2 (х2.0 + Ах2)”Ь * •• |
0> |
7 = 2 |
(VI.19) |
|
У к — &0 + &1Х1, О+ ^2X2,0+ •* • |
(xfc, 0 + AiTfe), |
/ = & |
|
Решение этой системы позволяет найти &0, bv Ь2, ..., Ьк Такое решение относительно коэффициентов bf легко выполняется если находить разность /-го и первого (/ = 0) уравнений:
A^/=W— Vo= bj Ах(
или
Ауу
tej}
Определение Ь0 при известных Ь;- (] Ф 0) из первого уравне ния системы (V L19) не вызывает затруднений.
Таким образом, простейшая аппроксимация функции у =
— f ( x v •••, xk) линейной функцией позволяет определить значения коэффициентов Ь,- — «частных» градиентов и осуществить пере мещение к экстремуму.
Однако такая аппроксимация справедлива в общем случае лишь при небольших AXj- Неверная же аппроксимация приведет к ошибочному представлению об эффекте от изменения аргумента. Поэтому иногда необходимо исследовать поведение функции в более широких интервалах изменения аргументов, что требует использования нелинейной зависимости, например, для функции y = f ( x v хк), вида:
к |
к |
У = &о + 2 |
ЬЯ7+ 2 bUxixI |
/=1 |
7=1, 7=1 |
Втакую зависимость входят линейные члены ( bjXj) , члены,
вкоторых каждый из Xj входит во второй степени (ЬцХр, члены
187
с произведениями различных х(Ь^хсХр 1 Ф i). |
В этом |
случае |
|
аппроксимация |
значительно усложняется, так |
как необходимо |
|
увеличение числа расчетов для определения |
большего |
числа |
|
коэффициентов |
Ь- |
|
|
Укажем, что если А; = 3, нужно определить 10 коэффициентов, |
|||
при к = 4 —15 |
коэффициентов, а при /г = 5 |
требуется |
найти |
21 коэффициент- В общем случае число коэффициентов полного полинома второй степени равно числу сочетаний из к-j- 2 по 2, т. е
(fc + 2)(fc+2 -l) . . ■(/с + 1)
2
Понятно, что нелинейная аппроксимация значительно более трудоемка и к ней следует прибегать в тех случаях, когда линей ная аппроксимация неэффективна. Однако такая аппроксимация позволяет заменить постепенный поиск оптимума в аппроксими руемой области прямым определением его координат. Действи тельно, приравняв нулю частные производные квадратичного уравнения по каждому из х , найдем координаты экстремума. Так, если функция у = f (хх, х 2) аппроксимируется уравнением
У — Ъо-\-ЬхХх -\-Ь2Х2-\-Ьх, jXj-j-ba. 2*2 |
2*1*2 |
то для определения координат точки экстремума в аппроксими руемой области (ж1, xl) имеем:
&1 + 2Ьь l*J + bl, 2*2 = 0 Ь2-(-2Ь2, 2^2+ &Ъ 2*1 = 0
Эта точка может характеризовать максимум, минимум или минимакс (максимум по х х и минимум по ж2, или наоборот). Проверка у = / (хх, х2) вблизи точки х\ , х\ позволит установить справедливость нелинейной аппроксимации и характер этой точки.
Укажем, что если у = f [хх, ..., xk) — дифференцируемая функция, то нелинейная аппроксимация ее уравнением второго
порядка не обязательно требует численных расчетов у в С^2 точках для определения коэффициентов Ь. Эти коэффициенты могут быть найдены разложением функции в ряд Тейлора. На
пример, для функции у = / (х х, х 2) в окрестности исходной точки (*1,0’ *2,о)> Удаленной от нее на &хх и Дж2, получим:
|
/ (*!, хг) ££ / (X lt |
I |
(*11 0»-*2, о) , |
|
(** |
2 д/(*1. 0, * 2, о)
'дхх дх2
188
Движение к экстремуму по результатам предварительного исследования. Наиболее эффективным движением из исходной точки, удаленной от экстремума, в экстремальную область яв ляется движение в направлении наибольшего изменения г/, т. е. в направлении градиента у. Движение по градиенту — это дви жение в направлении, перпендикулярном к касательной линии равного уровня у, или в более общем случае — в направлении, церендпкулярном к касательной плоскости. Если, например, у — высота горы, то движение по градиенту у — это движение по поверхности горы к вершине по перпендикуляру к линии равной высоты.
При движении по градиенту у из исходной точки, характе ризуемой набором (х1 0 , ..., xkt0), изменения каждого из х г—хк не могут быть произвольными. Если касательная плоскость [или аппроксимация зависимости у = / (хг, ..., хк) линейным уравнением] в окрестностях исходной точки имеет вид (VI. 13), то ясно, что к наибольшему изменению у (в направлении гра диента) будет приводить изменение каждого из X/ па величину Ах/ гр, пропорциональную bf.
Д х /гр=Ь/А, |
(VI.20) |
где %— произвольный параметр, одинаковый для всех х-г Последнее условие определяет движение по градиенту из
точки (х1-0, ..., xki0) и является параметрическим уравнением линии градиента. Легко заметить, что
Дугр= !/гр — Уо — у (*/, o + Az/rp)— y(xj,o)\ / = 1, . . ., к (VI.21)
Подставив в соотношение (VI.21) уравнение (VI.17), найдем:
ДУгр = |
Д^хгр+ . |
. -f-Ък &хкгр |
|
или, с учетом (VI.20), получим: |
k |
|
|
|
|
|
|
Дг/гр = |
Ъ\Х- f . . + |
bl% = X2 bf |
(VI.22) |
|
|
/-1 |
|
Из уравнения (VI.22) видно, что изменение у положительно
при К > 0 |
(движение к максимуму) и отрицательно при %<3 0 |
(движение |
к минимуму). |
Таким образом, при движении по градиенту должны быть Определены численно или аналитически по соотношению (VI. 18) коэффициенты Ь/ и затем выбран параметр %. Далее каждый из Xj изменяется от начального значения х/0 па величину Ая,гр и проверяются значения у при последовательных наборах x v ..., хк:
Уо{х1.0> |
xk, о)> ?/г(х1. 0 + |
Д^ХГр, . . ., xk~\~ Ьхк гр). |
|
Ур (х1. 0 + Р Дх1гр» |
... ., xk~\~ Р &xk гр) |
В этой последовательности |
выбирается набор аргументов, |
при котором у оказывается оптимальным- В найденной оптималь ной точке, например, точке р , мояшо определить новое направле ние градиента и продолжить движение в этом направлении.
189
Методы нелинейной аппроксимации функции
Традиционный метод градиента основан йа линейной аппрок симации поведения функции вблизи исходной точки. Существует большое число модификаций градиентного метода, в которых применяется нелинейная аппроксимация поведения функции вблизи исходной точки. В методах нелинейной аппроксимации поиск состоит из двух чередующихся этапов: 1 — нелинейная аппроксимация вблизи исходной точки, аналитическое определе ние улучшенного решения по нелинейному параболическому урав нению; 2 — перемещение для поиска в найденную улучшенную точку [4]. Такой метод использован, в частности, при определе нии 10 коэффициентов математического описания платформинга [51.
Поиск минимума функции F начинают из задаваемой началь ной точки А- В этой точке определяется и запоминается значение целевой функции F (4) = VO- Из точки А делают пробные шаги Dt по каждой из переменных. В полученных точках вычисляют значения функции F , из них выбирают наименьшие S J и сравни вают с VO- Если SI < VO, то в направлении наибольшего убы вания функции делается двойной шаг. Получают новое значение функции S2- По полученным трем точкам (VO, S I , S2) строится экстраполирующая парабола, по которой определяют точку мини мума функции.
Экстраполяцию выполняют путем квадратичной либо куби ческой параболы. После построения параболы и отыскания ее минимума выбирают новую точку, соответствующую минималь ному значению функции (из S I , S2 и значения функции, получен ного при экстраполяции). Минимальное значение на очередной итерации обозначается VO, и процесс вычислений продолжаетсяПоиск минимума прекращается, когда значение VO меньше S1 и уменьшение шага Di не позволяет уменьшить значения функ ции F .
Блок-схема программы оптимизации, составленной по такому алгоритму, приведена на рис. VI-6.
Поиск экстремума функции, имеющей «гребни» или «овраги»
Градиентный метод эффективен для областей, где возможно значительное изменение у (вдали от экстремума), по неудобен в области слабого изменения у или вблизи от экстремума. Наибо лее часто препятствия при использовании градиентного поиска для решения задач химической технологии возникают, когда речь идет о функциях, имеющих «гребни» (при поиске максимума) или «овраги» (при поиске минимума).
Рассмотрим поиск максимума функции, изображенной на рис. VI-7. Говорят, что эта функция имеет «гребень» в сочета нии А В • Пусть е — небольшая величина. Характеристикой того,
190