Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2222.doc
Скачиваний:
78
Добавлен:
12.03.2015
Размер:
1.25 Mб
Скачать

УДК 519.6

Мурга O.K. Численные методы оптимизации: Учебное по­собие. Казань: Изд-во Казан, гос. техн. ун-та, 2006. 75 с.

ISBN 5-7579-0808-4

Содержит описание основных численных методов решения задач безус­ловной оптимизации и задач оптимизации при наличии ограничений, а также алгоритмов их реализации. Даются подробные методические указания по вы­полнению лабораторных работ с разбором типовых примеров. Предназначе­но для студентов специальностей направления 654600 «Информатика и вы­числительная техника», учебные планы которых предусматривают изучение дисциплины «Методы оптимизации».

Табл. 4. Ил. 7. Библиогр.: 4 назв.

Рецензенты: кафедра математического анализа (Казанский государственный педагогический университет);

канд. техн. наук А.Н. Козин (Академия управ­ления ТИСБИ)

ISBN 5-7579-0808-4


© Изд-во Казан, гос. техн. ун-та, 2006 © O.K. Мурга, 2006

Пособие предназначено в помощь студентам, обучающим­ся по специальностям направления «Информатика и вычислитель­ная техника», при изучении ими дисциплины «Методы оптими­зации». Целью изучения данной дисциплины является практичес­кое усвоение основных численных методов оптимизации, форми­рование умения и навыков их алгоритмической и программной реализации, анализа и исследования эффективности вычислитель­ных процедур поиска решения.

В пособии приводится достаточно полное описание основ­ных численных методов оптимизации и алгоритмов их реализа­ции, подробно разбираются типовые примеры. Для усвоения ма­териала предполагается выполнение лабораторных работ по изу­чаемым методам.

В процессе выполнения каждой лабораторной работы студен­ты проводят полный учебно-исследовательский цикл по решению экстремальных задач с применением компьютера. Каждый студент получает индивидуальное задание, в котором указывается конк­ретный вид задачи, предложенные для исследования алгоритмы ее решения, набор исходных значений параметров.

Применение компьютерного комплекса программных моду­лей, обеспечивающего компьютерную поддержку основных чис­ленных методов оптимизации, позволяет студенту за ограничен­ное время лабораторного занятия получить фактический мате­риал достаточный для сравнительного анализа и обоснованного вывода о влиянии параметров алгоритма на сходимость вычис­лительных процедур и об эффективности изучаемых методов.

1. Методы одномерной оптимизации

Задача одномерной оптимизации заключается в минимиза­ции или максимизации целевой функции, зависящей от одной переменной, на допустимом множестве в виде отрезка веществен­ной оси. Поскольку максимизация целевой функции/(х) эквива­лентна минимизации противоположной величины -/(*), то бу­дем рассматривать только задачи минимизации. Под минимиза­цией функции/(х) понимается определение точки минимума этой функции на допустимом множестве, а также и ее минимального значения. Таким образом, приходим к следующей постановке. Решить задачу одномерной оптимизации

min {f[x)\aix<b}, (1.1)

т.е. найти число х*е[а; Ь] такое, что

Дх*)<Дх), Чхе[а;Ь], где а,Ь- заданные числа, причем а < Ь;

Дх) функция одной переменной, унимодальная на отрез­ке [а; Ь].

Поставленная задача (1.1) может быть, вообще говоря, ре­шена классическим методом с помощью необходимых и доста­точных условий безусловного экстремума, а именно: используя необходимое условие экстремума

/'<*) = 0, (1.2)

находят все стационарные точки на интервале (а; Ь). В найден­ных стационарных точках проверяется достаточное условие

и выделяются из них точки локального минимума, в которых вы­полнилось условие

/"(*)>0. (1.3)

Далее сравниваются значения функции Дх) в выделенных точках и на концах отрезка [а, Ь]. Наименьшему из этих значений и будет соответствовать точка глобального минимума функции f(x) на отрезке [а, Ь].

Однако, даже если функцияД*) задана аналитически и про­изводная/'^) найдена, решение уравнения (1.2) зачастую вызы­вает затруднения. Кроме того, вычисление производных может быть весьма трудоемко или же функция/(х) может быть задана не аналитически. Поэтому классический метод имеет ограничен­ное применение и для решения задачи (1.1) на практике, как пра­вило, применяют приближенные методы.

Начнем изучение с простейших приближенных методов, позволяющих найти решение задачи (1.1) с необходимой точнос­тью в результате определения конечного числа значений функ-ции/(л) в некоторых точках отрезка [а; Ь]. Такие методы называ­ют прямыми методами одномерного поиска.

1.1. Методы перебора 1.1.1. Метод равномерного поиска

Метод равномерного поиска является простейшим из пря­мых методов одномерной оптимизации и состоит в следующем.Отрезок [а; Ь] разбивается на и равных частей точками деленияx = a + i(b-a)/n,i=O,...,n. (1.4)

Сравнением значений функции^*) во всех точках .v, / = 0,и, находится точка хк: О < к < п, для которой

),/Ы,...,/(*,,)}. (1-5)

Полагая х'&хк,/'ъ/(хк), получаем решение задачи (1.1) с по­грешностью, не превосходящей величины

в.=^. (1.6)

Для того, чтобы обеспечить требуемую точность s опреде­ления точки х', число п отрезков разбиения необходимо выбирать из условия гп < s, т.е. назначить

п>


Ъ-а

(1.7)

1.1.2. Метод поразрядного поиска

Усовершенствуем рассмотренный метод равномерного по­иска с целью уменьшения количества значений функции/(х), ко­торые необходимо находить в процессе минимизации.

Очевидно, если окажется, что /(х,.и)>/(х,),то отпадает необходимость вычислять/(*) в точках хм, хм,..., хп, так как в силу унимодальности функции х"<хм. Кроме того, целесообразно сначала грубо определить отрезок, содержащий а', т.е. найти точку х' с небольшой точностью, а затем искать ее на этом отрезке с меньшим шагом, повышая точность. Реализация этих возможностей улучшения метода перебора и приводит к методу поразрядного поиска.

В методе поразрядного поиска перебор точек отрезка предлагается выполнять сначала с достаточно большим шагом А= хж- х. >е (например, h = (b - а)1А) до тех пор, пока не выполнится условие/(*„,) >f(x) или пока очередная точка не совпадет с концом отрезка. После этого шаг уменьшается и перебор точек с новым шагом производится в противоположном направлении до тех пор, пока значения функции снова не перестанут уменьшаться или пока очередная точка не совпадет с другим концом отрезка. Описанный процесс завершается, когда перебор в данном направлении закончен, а использованный при этом шаг h не превосходит е.

Таким образом,получается следующий алгоритм метода поразрядного поиска.

Шаг О, Задать параметр точности е > 0, выбрать начальный шаг Л = (Ь - а)/4, положить хо = а, вычислить/О^).

UUar_L Найти очередную точку х= x+h, вычислить/^ ) 4, л ЛГ?' Сравнить качения функции / (* ) и /(*,). Если Л*„) >/ (*,), то перейти к шагу 3, иначе - к шагу 4.

Шаг3- Положить х~ хх и/(*„)=/(*,). Проверить условие *ое(а; о). Если а < хо< Ь, то перейти к шагу 1, иначе - к шагу 4.

Щаг_£ Проверить условие окончания поиска |й| < е. Если оно выполняется, то вычисления завершить, положив х'кх f'~f(x0), иначе - перейти к шагу 5.

Шаг 5. Изменить направление и шаг поиска, положив h = - -, xo=x\>f(xJ =f(xi)- Перейти к шагу 1.

1.2. Методы исключения отрезков

Рассмотрим ту же задачу одномерной минимизации (1.1), что и в подразд. 1.1. Эффективность поиска точки минимума можно повысить, если использовать информацию, содержащуюся в уже найденных значениях/(х).

Пусть на интервале (а; Ь) выбраны две пробные точки xt и хг такие, что а < х,< х2< Ъ и вычислены значения/(х,)и/(л:2). В силу унимодальности минимизируемой функции/(х) можно сократить отрезок поиска точки х', перейдя к отрезку [a; xj, еслиДх,) ^/(х2), или к отрезку [xt;b], еслиДх,) >/(х2). Повторяя эту процедуру до тех пор, пока длина последнего из полученных отрезков не станет достаточно малой, в качестве точки минимума можно взять одну из точек последнего отрезка, например, его середину. Методы, использующие такой способ последовательного уменьшения отрезка, содержащего точку минимума, называют методами исключенных отрезков. Друг от друга они отличаются лишь способом выбора пробных точек. Наибольшее распространение на практике получили метод дихотомии и метод золотого сечения.

1.2.1. Метод дихотомии

Идея этого метода заключается в том, чтобы делить очеред­ной отрезок, содержащий точку минимума функции, пополам

7

и исключать из рассмотрения ту часть, где минимума быть не мо­жет. Отсюда и название метода - деление отрезка пополам (дихо­томия).

Итак, в методе дихотомии пробные точки выбираются близ­ко к середине очередного отрезка [а; Ь]

a+b-Ъ а+Ь+5

-; х2=-

2 " 2 (L8)

где 5 > 0 - некоторое число, малое настолько, что еще можно отличить значения/Ох,) и/(а2) друг от друга. При этом отношение длин нового и исходного отрезков близко к 1/2:

Ь-х,


х2 + а _ 1

Ъ-а Ъ-а 2 ' 2(b-a)

Поэтому, чем меньше число 8, тем больше относительное уменьшение длины отрезка на каждой итерации, т.е. при уменьшении 5 повышается скорость сходимости метода дихотомии. Рекомендуется значение 5 выбирать из интервала (0; 2е).

В конце вычислений по методу дихотомии в качестве при­ближенного значения х" берут середину последнего из найденных отрезков, убедившись предварительно, что достигнуто неравен­ство гп < s, где

2"+1 4' 2"j2'

Находя п из этого условия, получаем число итераций мето­да дихотомии, необходимое для определения точки х* с заданной точностью е:

Шаг2- Сравнить эти значения. Если/(*,) < f(x2), то перейти к отрезку [а; х2], положив Ь=х„ иначе - к отрезку [х- Ь], положив а = *,.

Шаг 3, Найти достигнутую точность г= (Ь - а)12. Если е„ > е, то перейти к шагу 1 для выполнения следующей итерации, иначе завершить поиск, положив х'*(а+Ь)/2.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]