Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Этап установления границ интервала
На этом этапе сначала выбирается исходная точка, а затем на основе правила исключения строится относительно широкий интервал, содержащий точку оптимума. Обычно поиск граничных точек такого интервала проводится с помощью эвристических методов поиска, хотя в ряде случаев можно также использовать методы, экстраполяции. В соответствии с одним из эвристических методов, который был предложен Свенном [1], (k+1)-я пробная точка определяется по рекуррентной формуле где х0— произвольно выбранная начальная точка, Δ — подбираемая некоторым способом величина шага. Знак Δ определяется путем сравнения значений f(x0), f(x0+|Δ |) и f(x0— |Δ |). Если то, согласно предположению об унимодальности, точка минимума должна располагаться правее точки х0и величина Δ выбирается положительной. Если изменить знаки неравенств на противоположные, то Δ следует выбирать отрицательной. Если же то точка минимума лежит между х0—|Δ | и х0+|Δ | и поиск граничных точек завершен. Случай, когда противоречит предположению об унимодальности. Выполнение этого условия свидетельствует о том, что функция не является унимодальной. Пример 2.5 Рассмотрим задачу минимизации функции f(х)=(100—х)2 при заданной начальной точке х0=30и величине шага |Δ |=5. Знак Δ определяется на основе сравнения значений Так как то величина Δ должна быть положительной, а координата точки минимума х* должна быть больше 30. Имеем x1=x0+Δ =35. Далее х2=х1+2Δ =45, f(45)=3025< f(x1), следовательно, х*< 185. Таким образом, шесть шагов вычислений x* позволили выявить интервал 65£ x*£ 185, в котором расположена точка х*. Заметим, что эффективность поиска граничных точек непосредственно зависит от величины шага Δ. Если Δ велико, то получаем грубые оценки координат граничных точек, и построенный интервал оказывается весьма широким. С другой стороны, если Δ мало, для определения граничных точек может потребоваться достаточно большой объем вычислений. Этап уменьшения интервала
После того как установлены границы интервала, содержащего точку оптимума, можно применить более сложную процедуру уменьшения интервала поиска с целью получения уточненных оценок координат оптимума. Величина подинтервала, исключаемого на каждом шаге, зависит от расположения пробных точек xlи x2 внутри интервала поиска. Поскольку местонахождение точки оптимума априори неизвестно, целесообразно предположить, что размещение пробных точек должно обеспечивать уменьшение интервала в одном и том же отношении. Кроме того, в целях повышения эффективности алгоритма необходимо потребовать, чтобы указанное отношение было максимальным. Подобную стратегию иногда называют минимаксной стратегией поиска. Метод деления интервала пополам. Рассматриваемый метод позволяет исключать в точности половину интервала на каждой итерации. Иногда этот метод называют трехточечным поиском на равных интервалах, поскольку его реализация основана на выборе трех пробных точек, равномерно распределенных в интервале поиска. Ниже приводится описание основных шагов поисковой процедуры, ориентированной на нахождение точки минимума функции f(x) в интервале (а, b). Шаг 1. Положить хт=(а+b)/2и L=b—а. Вычислить значение f(xm). Ш а г 2. Положить x1=a+L/4 и х2=b—L/4. Заметим, что точки x1, xm и х2делят интервал (a, b) на четыре равные части. Вычислить значения f(x1) и f(x2). Ш а г 3. Сравнить f(x1) и f(xm). (1) Если f(x1)< f(xm), исключить интервал (хт, b), положив b=хт. Средней точкой нового интервала поиска становится точка х1. Следовательно, необходимо положить хт=х1. Перейти к шагу 5. (2) Если f(x1)> f(xm), перейти к шагу 4. Ш а г 4. Сравнить f(x2) и f(xm). (1) Если f(x2)< f(xm), исключить интервал (а, хт), положив а=хт. Так как средней точкой нового интервала становится точка х2положить хт=х2. Перейти к шагу 5. (2) Если f(x2)³ f(xm), исключить интервалы (a, x1) и (х2, b). Положить a=x1 и b=х2. Заметим, что хт продолжает оставаться средней точкой нового интервала. Перейти к шагу 5. Ш а г 5. Вычислить L=b—а. Если величина |L|мала, закончить поиск. В противном случае вернуться к шагу 2. Замечания 1. На каждой итерации алгоритма исключается в точности половина интервала поиска. 2. Средняя точка последовательно получаемых интервалов всегда совпадает с одной из пробных точек x1, x2или хт, найденных на предыдущей итерации. Следовательно, на каждой итерации требуется не более двух вычислений значения функции. 3. Если проведено п вычислений значения функции, то длина полученного интервала составляет (1/2)n/2 величины исходного интервала. 4. В работе [2] показано, что из всех методов поиска на равных интервалах (двухточечный, трехточечный, четырехточечный и т. д.) трехточечный поиск, или метод деления интервала пополам, отличается наибольшей эффективностью. Пример 2.6. Метод деления интервала пополам Минимизировать f(х)=(100—x)2 в интервале 60£ x £ 150. Здесь a=60, b=150 и L=150-60=90. Таким образом, исключаются интервалы (60; 82, 5) и (127, 5; 150). Длина интервала поиска уменьшается с 90 до 45. Итерация 2 Таким образом, интервал неопределенности равен (93, 75; 116, 25) Итерация 3 а=93, 75 b=116, 25, хт=105, L = 116, 25—93, 75=22, 5, x1=99, 375, х2=110, 625, f(x1)=0, 39< f(105)=25. Таким образом, исключается интервал (105; 116, 25). Новый интервал неопределенности равен (93, 75; 105), его средняя точка есть 99, 375 (точка х1на итерации 3). Отметим, что за три итерации (шесть вычислений значения функции) исходный интервал поиска длины 90 уменьшился до величины (90)(1/2)3=11, 25. Поиск с помощью метода золотого сечения. Из проведенного выше обсуждения методов исключения интервалов и минимаксных стратегий поиска можно сделать следующие выводы. 1. Если количество пробных точек принимается равным двум, то их следует размещать на одинаковых расстояниях от середины интервала.
2. В соответствии с общей минимаксной стратегией пробные точки должны размещаться в интервале по симметричной схеме таким образом, чтобы отношение длины исключаемого подынтервала к величине интервала поиска оставалось постоянным. 3. На каждой итерации процедуры поиска должно вычисляться только одно значение функции в получаемой точке. Руководствуясь этими выводами, рассмотрим симметричное расположение двух пробных точек на исходном интервале единичной длины, которое показано на рис. 2.11. (Выбор единичного интервала обусловлен соображениями удобства.) Пробные точки отстоят от граничных точек интервала на расстоянии t. При таком симметричном расположении точек длина остающегося после исключения интервала всегда равна t независимо от того, какое из значений функции в пробных точках оказывается меньшим. Предположим, что исключается правый подынтервал. На рис. 2.12 показано, что оставшийся подынтервал длины t содержит одну пробную точку, расположенную на расстоянии (1—t) от левой граничной точки. Для того чтобы симметрия поискового образца сохранялась, расстояние (1-t) должно составлять t-ю часть длины интервала (которая равна t). При таком выборе t следующая подобная точка размещается на расстоянии, равной t-й части длины интервала, от правой граничной точки интервала (рис.2.13) Рис. 2.12. Интервалы, полученные методом золотого сечения
Отсюда следует, что при выборе t в соответствии с условием 1-t =t2 симметрия поискового образца, показанного на рис. 2.11, сохраняется при переходе к уменьшенному интервалу, который изображен на рис. 2.13. Решая это квадратное уравнение, получаем откуда положительное решение t=0, 61803…. Схема поиска, при которой пробные точки делят интервал в этом отношении, известна под названием поиска с помощью метода золотого сечения. Заметим, что после первых двух вычислений значений функции каждое последующее вычисление позволяет исключить подынтервал, величина которого составляет (1—t)-ю долю от длины интервала поиска. Следовательно, если исходный интервал имеет единичную длину, то величина интервала, полученного в результате N вычислений значений функции, равна tN-1. Можно показать, что поиск с помощью метода золотого сечения является асимптотически наиболее эффективным способом реализации минимаксной стратегии поиска.
Пример 2.7. Метод золотого сечения Опять рассмотрим задачу из примера 2.6, в которой требуется минимизировать f(х)=(100—х)2в интервале 60£ x £ 150. Для того чтобы перейти к интервалу единичной длины, проведем замену переменной, положив w=(x—60)/90. Таким образом, задача принимает следующий вид: минимизировать f(w)—(40—90w)2 при ограничении 0£ w £ 1. Итерация 1. I1=(0, 1); L1=l. Проведем два первых вычисления значений функции: Так как f(w)2< f(w1) и w2< w1, интервал w≥ w1 исключается. Итерация 2. I2=(0; 0, 618); L2=0, 618=t. Следующее вычисление значения функции проводится в точке Так как f(w3)> f(w2) и w3< w2, интервал w≤ w3исключается. Итерация 3. I3=(0, 236; 0, 618), L3=0, 382=t2. Следующее вычисление значения функции проводится в точке, расположенной на расстоянии t ´ (длина полученного интервала) от левой граничной точки интервала, или на расстоянии (1—t) ´ (длина интервала) от правой граничной точки. Таким образом, Так как f(w4)< f(w2) и w4> w2, интервал w£ w2 исключается. В результате получен следующий интервал неопределенности: 0, 382£ w £ 0, 618 для переменной w, или 94, 4£ x £ 115, 6 для переменной х. Если в процессе поиска проведено шесть вычислений значений функции, то длина результирующего интервала для переменной wравна что соответствует интервалу длины 8, 1 для переменной х. Для сравнения напомним, что в аналогичной ситуации метод деления интервала пополам привел к получению интервала длины 11, 25. В общем случае если правая и левая граничные точки интервала неопределенности (обозначим их через XR и XL) известны, то координаты всех последующих пробных точек, получаемых в соответствии с методом золотого сечения, можно вычислить по формулам w= XR—tn или w= XL + tn в зависимости от того, какой подынтервал был исключен на предыдущей итерации — левый или правый. В приведенных выше формулах через tn обозначена п-ястепень t, где п — количество вычислений значений функции. Поиск с помощью метода золотого сечения может быть окончен либо исходя из заданного количества вычислений значений функции (и, следовательно, величины интервала неопределенности), либо по достижении относительной точности искомого значения функции. Наиболее предпочтительным является использование обоих критериев одновременно. Популярное:
|
Последнее изменение этой страницы: 2016-03-17; Просмотров: 1361; Нарушение авторского права страницы