Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Численные методы решения задач многомерной безусловной минимизации. Ч. 1. Методы первого и второго порядка (96

.pdf
Скачиваний:
20
Добавлен:
15.11.2022
Размер:
633.88 Кб
Скачать

Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Московский государственный технический университет имени Н.Э. Баумана

А.В. Аттетков, А.Н. Канатников, Е.С. Тверская

ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ЗАДАЧ МНОГОМЕРНОЙ БЕЗУСЛОВНОЙ МИНИМИЗАЦИИ

Часть 1 Методы первого и второго порядков

Методические указания по курсу «Методы оптимизации»

Под редакцией С.Б. Ткачева

Москва Издательство МГТУ им. Н.Э. Баумана

2009

Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

УДК 517.51 ББК 22.161 A92

Р е ц е н з е н т Тимонин В.И.

Аттетков А.В., Канатников А.Н., Тверская Е.С.

A92 Численные методы решения задач многомерной безусловной минимизации. – Ч. 1: Методы первого и второго порядков: Методические указания по курсу «Методы оптимизации» / Под ред. С.Б. Ткачева . – М.: Изд-во МГТУ им. Н.Э. Баумана, 2009. – 47 с.: ил.

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

Для студентов старших курсов факультетов ФН, ИУ.

УДК 517.51 ББК 22.161

c МГТУ им. Н.Э. Баумана, 2009

Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

ВВЕДЕНИЕ

На практике часто возникает ситуация, когда из нескольких возможных вариантов поведения необходимо выбрать один, наилучший. Такой выбор (принятие наилучшего решения) может быть осуществлен по-разному. Один из подходов заключается в количественной оценке каждого возможного варианта поведения (решения) и выборе среди них того, у которого оценка наилучшая (максимальная или минимальная). Так мы приходим к задаче оптимизации, которую можно сформулировать следующим образом. Есть некоторое множество возможных решений, называемых альтернативами. Каждой альтернативе можно дать некоторую количественную оценку на основе некоторого критерия оптимальности. Решение задачи оптимизации состоит в определении той альтернативы, для которой критерий оптимальности дает наибольшую (или наименьшую) количественную оценку.

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

Разнообразны задачи оптимизации и по своему внутреннему содержанию. Множество альтернатив может описываться одним числовым параметром (в этом случае говорят об одномерной оптимизации) или некоторым набором параметров (многомерная оптимизация). Есть класс задач оптимизации, в которых каждая альтернатива характеризуется бесконечным числом параметров. Отделяя

3

Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

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

Если каждая альтернатива в задаче оптимизации характеризуется совокупностью из n числовых параметров, то естественно альтернативы ассоциировать с элементами n-мерного арифметического пространства Rn. В этом случае множество всех альтернатив будет представлять собой некоторое подмножество Ω Rn, а критерий оптимальности, который каждой альтернативе ставит в соответствие некоторую числовую оценку, — функцию многих переменных f(x1, x2, . . . , xn), определенную на множестве Ω.

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

f(x1, x2, . . . , xn) на заданном множестве Ω и точки x Ω, в которой это значение достигается. Сформулированную задачу на-

зывают задачей математического программирования, а f(x) =

=f(x1, x2, . . . , xn) — целевой функцией. Переменные x1, x2, . . . , xn называют параметрами оптимизации, каждую точку x =

=x1; x2; . . . ; xn Ω — допустимым решением, а множество

ΩRn — множеством допустимых решений или допустимым

множеством. Точку x Ω, в которой целевая функция принимает наименьшее значение, называют оптимальным решением. Задачу математического программирования будем записывать следующим образом:

f(x) → min, x Ω.

Эта запись предполагает, что функция f0(x) определена всюду на допустимом множестве Ω, т. е. область определения целевой функции включает в себя допустимое множество, хотя может и не совпадать с ним.

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

4

Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Из курса математического анализа известно, что функция на заданном множестве может не достигать наименьшего значения. Причина в том, что она либо ограничена снизу, либо не ограничена, но тем не менее не достигает точной нижней грани множества своих значений. В обоих случаях задача минимизации не имеет решения, что говорит о некорректной ее постановке и необходимости вносить изменения в математическую модель изучаемого объекта или явления. В некоторых случаях может решаться задача поиска точной нижней грани mf функции f(x) на допустимом множестве Ω и построения такой последовательности точек {xk} Ω, для которой f(xk) → mf при k → ∞. Такую задачу записывают в виде

f(x) → inf, x Ω.

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

Если допустимое множество совпадает с Rn, то на изменение параметров оптимизации (координат точки в Rn) не накладывается никаких ограничений. В этом случае задачу минимизации называют задачей безусловной минимизации. Если же допустимое множество не покрывает все арифметическое пространство Rn, то задачу минимизации часто называют задачей условной минимизации.

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

5

Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Задачу безусловной оптимизации можно записать в виде

 

f(x) → min, x Rn,

(1)

где f(x) — целевая функция, в данном случае некоторая функция многих переменных, определенная в Rn. Эта задача имеет решение, если функция f(x) имеет хотя бы одну точку минимума, т. е. точку, в которой она достигает своего наименьшего значения. Точка минимума может быть не единственной.

Методы безусловной оптимизации можно разделить на три больших класса в зависимости от используемой информации о целевой функции.

1.Методы нулевого порядка, или прямого поиска, в которых используют значения целевой функции, но не используют значения

еечастных производных.

2.Методы первого порядка, в которых наряду со значениями целевой функции используют и значения ее частных производных первого порядка.

3.Методы второго порядка, в которых используют значения самой целевой функции и ее частных производных до второго порядка включительно.

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

Общей чертой многих численных методов решения задач оптимизации является построение такой последовательности {xk} то-

чек в Rn, что значения fk = f(xk), k N, целевой функции в точках последовательности удовлетворяют неравенствам fk ≤ fk−1, k N. Подобная последовательность может строиться по-разному, но, как правило, ее строят, вычисляя очередную точку xk путем выполнения некоторого ряда операций, в котором используют ранее вычисленные точки xi, i < k. Первая точка последовательности (начальная точка), а иногда и несколько первых точек (в зависимости от алгоритма) могут выбираться произвольно.

6

Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Упомянутая последовательность составляет одну итерацию в численном методе, а сам численный метод называют итерационным. Последовательность {xk} часто называют итерационной последовательностью, отражая в названии итерационный характер ее построения. Однако в задачах оптимизации более существенным является убывание значений функции в точках последовательности {xk}, т. е. выполнение условия fk ≤ fk−1, k N. Если это условие выполнено, то последовательность {xk} будем называть релаксационной. Численные методы оптимизации, основанные на построении такой последовательности, относят к классу методов спуска. Это название можно связать с тем, что, например, при минимизации функции f(x1, x2) двух переменных уменьшение ее значения при переходе от точки (xk1−1, xk2−1) к точке (xk1, xk2) означает спуск с линии уровня f(x1, x2) = fk−1 на линию уровня

f(x1, x2) = fk < fk−1.

Строя релаксационную последовательность с помощью того или иного метода оптимизации, мы рассчитываем на получение последовательности, сходящейся к точке минимума целевой функции. Если это так, то в качестве приближенного решения задачи оптимизации можно выбрать один из членов релаксационной последовательности с достаточно большим номером (отдельный вопрос — как определить такой номер; ответить на него можно, исследовав скорость сходимости последовательности). Однако ни один из численных методов, используемых на практике, не гарантирует того, что релаксационная последовательность, построенная с его помощью, будет сходиться, причем к точке минимума целевой функции. В реальности может получиться релаксационная последовательность, которая вообще не сходится либо сходится к точке, не являющейся точкой минимума минимизируемой функции.

Многие методы построения релаксационной последовательности рассчитаны на то, что эта последовательность сходится к стационарной точке функции, т. е. точке, в которой градиент функции обращается в нуль. Контролировать сходимость последовательности к стационарной точке проще, чем к точке минимума, так как для этого можно проверять лишь абсолютную величину градиента функции в точках последовательности. В самом деле, если последовательность {xk} сходится, а последовательность gradf(xk)

градиентов непрерывно дифференцируемой функции стремится к

7

Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

нулю, то пределом последовательности {xk} является стационарная точка функции. Отметим, что для выпуклой функции любая стационарная точка является точкой минимума, но в общем случае это, конечно, неверно.

Последовательность {fk} значений функции в точках релаксационной последовательности убывающая, а потому сходится к конечному или бесконечному пределу. Гарантировать существование конечного предела у последовательности {fk} можно, если, например, известно, что целевая функция f(x) ограничена снизу. Но даже если последовательность {fk} имеет конечный предел, нельзя утверждать, что он совпадает с наименьшим значением функции.

Пусть для заданной целевой функции f(x) рассматриваемый численный метод приводит к релаксационной последовательности {xk}, для которой последовательность значений fk = f(xk), k N, сходится к наименьшему значению функции f . Тогда говорят о слабой сходимости применяемого метода. При слабой сходимости релаксационная последовательность может и не сходиться. Если же рассматриваемый численный метод дает релаксационную последовательность, сходящуюся к какой-либо точке минимума целевой функции, то говорят о сильной сходимости этого метода (или алгоритма).

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

Построение релаксационной последовательности в методах спуска обычно прекращают, если на очередной k-й итерации выполнено одно или оба неравенства

|xk − xk−1| < ε1, |f(xk) − f(xk−1)| < ε2,

(2)

8

Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

где ε1 и ε2 — заданные достаточно малые положительные числа, называемые параметрами точности поиска. В методах первого и второго порядков в качестве условия прекращения вычислений используют также неравенство

|gradf(xk−1)| < ε3.

(3)

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

Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

1. МЕТОДЫ СПУСКА

Процесс построения релаксационной последовательности {xk} в методах спуска обычно описывают рекуррентным соотношением

xk = xk−1 + βkuk, k N,

(4)

где uk Rn — единичный вектор, определяющий направление спуска на k-й итерации, а βk ≥ 0 — шаг спуска, т. е. расстояние

от точки xk−1 до новой точки xk. Построение последовательности {xk} начинается с выбора начальной точки x0, входящей в правую часть равенства (4) при k = 1.

Методы спуска различаются способами выбора направления и шага. Будем говорить, что вектор u задает направление спуска в точке x для функции f(x), если существует такое число δ > 0, что f(x+ βu) < f(x) при 0 < β < δ, т. е. достаточно малое перемещение из точки x в заданном направлении приводит к уменьшению значения функции. Для функции f(x), дифференцируемой в точке x, вектор u задает направление спуска тогда и только тогда, когда производная по направлению этого вектора отрицательна, т. е. он удовлетворяет условию

(gradf(x)u) < 0.

(5)

Геометрически условие (5) означает, что вектор u в точке x образует тупой угол с градиентом функции f(x).

Шаг спуска βk при заданном направлении спуска uk удобно выбирать так, чтобы выполнялось неравенство

f(xk−1 + βkuk) ≤ (1 − λk)f(xk−1) + λk min f(xk−1 + βuk), (6)

β R

где λk [0, 1], а значение βk, обеспечивающее выполнение этого неравенства, обычно определяют, используя различные эвристические приемы. Отметим, что выбор значения βk в соответствии

10

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