- •А.В. Аттетков, С.В. Галкин, В.С. Зарубин
- •ПРЕДИСЛОВИЕ
- •Задания для самопроверки
- •ОСНОВНЫЕ ОБОЗНАЧЕНИЯ
- •Буквы латинского алфавита
- •Буквы греческого алфавита
- •1. ЗАДАЧИ ОПТИМИЗАЦИИ
- •1.1. Основные понятия
- •1.2. Некоторые простые примеры
- •1.3. Задачи оптимального проектирования
- •1.4. Задачи оптимального планирования
- •1.5. Классы задач оптимизации
- •Вопросы и задачи
- •2. МЕТОДЫ ОДНОМЕРНОЙ МИНИМИЗАЦИИ
- •2.1. Предварительные замечания
- •2.3. Оптимальный пассивный поиск
- •2.4. Методы последовательного поиска
- •2.5. Сравнение методов последовательного поиска
- •2.6. Методы полиномиальной аппроксимации
- •2.7. Методы с использованием производных
- •Вопросы и задачи
- •3. МИНИМИЗАЦИЯ ВЫПУКЛЫХ ФУНКЦИЙ
- •3.2. Выпуклые функции
- •3.4. Условия минимума выпуклых функций
- •3.5. Сильно выпуклые функции
- •ф{t) = (grad/(а; + th), h)
- •3.6. Примеры минимизации квадратичных функций
- •3.7. Минимизация позиномов
- •Qj = '%2aijci = Q> J = !.*»•
- •Вопросы и задачи
- •4. ЧИСЛЕННЫЕ МЕТОДЫ БЕЗУСЛОВНОЙ МИНИМИЗАЦИИ
- •4.1. Релаксационная последовательность
- •4.2. Методы спуска
- •4.4. Минимизация квадратичной функции
- •4.5. Сопряженные направления спуска
- •5. АЛГОРИТМЫ МЕТОДОВ ПЕРВОГО И ВТОРОГО ПОРЯДКОВ
- •|iufc|
- •5.3. Метод Ньютона
- •5.4. Модификации метода Ньютона
- •5.5. Квазиньютоновские методы
- •Вопросы и задачи
- •6. АЛГОРИТМЫ ПРЯМОГО ПОИСКА
- •6.1. Особенности прямого поиска минимума
- •6.2. Использование регулярного симплекса
- •6.4. Циклический покоординатный спуск
- •6.5. Метод Хука — Дживса
- •Щ + bjej,
- •6.6. Методы Розенброка и Пауэлла
- •Вопросы и задачи
- •7. АНАЛИТИЧЕСКИЕ МЕТОДЫ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
- •7.2. Минимизация при ограничениях типа равенства
- •7.4. Седловая точка функции Лагранжа
- •7.5. Двойственная функция
- •7.6. Геометрическое программирование
- •Вопросы и задачи
- •8. ЧИСЛЕННЫЕ МЕТОДЫ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
- •8.1. Метод условного градиента
- •8.2. Использование приведенного градиента
- •8.5. Метод проекции антиградиента
- •СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ
- •ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
- •ОГЛАВЛЕНИЕ
- •Математика в техническом университете Выпуск XIV
- •Аттетков Александр Владимирович Галкин Сергей Владимирович Зарубин Владимир Степанович
- •МЕТОДЫ ОПТИМИЗАЦИИ
Если множество параметров оптимизации является подмно жеством конечномерного линейного пространства, то говорят о конечномерной задаче оптимизации в отличие от бес конечномерных задач, которые рассматривают в вариационном исчислении и оптимальном управлении [XV]. При этом крите рием оптимальности может быть требование достижения наи большего или наименьшего значения одной или несколькими действительными (скалярными) функциями параметров опти мизации, выражающими количественно меру достижения цели оптимизации рассматриваемого объекта. Каждую из таких функций принято называть целевой. Если целевая функция единственная, то задачу конечномерной оптимизации называ ют задачей математического программирования, а в противном случае — задачей многокритериальной (векторной) оптимизации [XX]. В дальнейшем ограничимся рассмотрени ем задач математического программирования и методов их решения.
Если целевая функция и ограничения являются линейными относительно параметров оптимизации, то говорят о задаче линейного программирования. Одну из первых таких задач сформулировал и решил Л.В. Канторович* Задача Канторо вича была связана с выбором оптимальной производственной программы, что и объясняет появление в названии этого класса задач словапрограммирование“. При нелинейной зависимости целевой функции или ограничений от параметров оптимизации говорят о задаче нелинейного программирования.
1.2. Некоторые простые примеры
Начнем с рассмотрения достаточно простых задач оптими зации из геометрии, алгебры и некоторых других разделов ма тематики. Эти задачи обычно можно решить геометрическим
ФЛ.В. Канторбвич (1912-1986) — отечественный математик и эконо мист, лауреат Нобелевской премии (1975 г.).
или алгебраическим путем, а также при помощи необходимых и достаточных условий экстремума действительной (скалярной) функции одного переменного [И]. Включение таких примеров в эту книгу важно по нескольким причинам. Во-первых, эти задачи тесно связаны с историей развития методов оптимиза ции и позволяют наглядно продемонстрировать многообразие объектов оптимизации. Во-вторых, на простой задаче можно более четко выявить особенности построения математических моделей таких объектов с точки зрения выбранного критерия оптимальности и проследить этапы процесса формулировки
задачи математического программирования. В-третьих, зна ние способов и результатов решения многих из этих задач помогает при решении более сложных задач оптимизации, на пример задач оптимального проектирования (см. 1.3).
Пример 1.1. Найдем стороны прямоугольника, вписанного в окружность радиуса R и имеющего наибольшую площадь S
(рис. 1.1).
Эта задача известна с глубокой древности, и ее нетрудно решить геометрическим путем. Диагональ вписанного в окружность прямо угольника является диаметром ок ружности и имеет фиксированную длину. Площадь S прямоугольника
равна половине произведения его
Рис. 1.1
диагоналей на синус угла ip между диагоналями, т.е. S = 2R2sm(p. Ясно, что эта площадь будет наибольшей при siny? = 1, или при р = 7г/2. В этом случае диаго нали прямоугольника перпендикулярны, а сам прямоугольник представляет собой квадрат. Таким образом, прямоугольни ком наибольшей площади, вписанным в окружность, является квадрат со стороной Ry/2 и площадью 2R2.
Если в качестве параметров оптимизации выбрать дли ны а ^ 0 и Ь^ 0 сторон прямоугольника, то получим целевую
(вершина А на рис. 1.2), а ось абсцисс — с одной из сторон треугольника. В качестве параметров оптимизации выберем основание х параллелограмма и его высоту h. Тогда площадь S параллелограмма можно записать в виде S = hx, а условие, что параллелограмм вписан в треугольник, — как ограничение типа равенства (Я —К)/Я = х/6, которое вытекает из подобия треугольников DBE и АВС. Итак, имеем задачу оптимизации
r S = hx max;
H - h
х^О .
,Я
Эту задачу также можно решить стандартными способа ми (см. пример 1.1). Ее решением является параллелограмм с основанием х* = 6/2 и высотой h* = (1 — х*/Ь)Я = Я /2. Отме тим, что выбор вершины треугольника, с которой совпадает вершина параллелограмма, не является существенным, так как в любом из трех вариантов выбора вершины треугольника пло щадь параллелограмма максимальной площади равна половине площади треугольника АВС.
Пример 1.3. В прямой круговой конус вписан прямой круговой цилиндр так, что основания конуса и цилиндра лежат в одной плоскости (рис. 1.3). Найдем наибольшую возможную часть объема конуса, занятую таким цилиндром.
Как и задача Евклида, эта задача известна тысячи лет. Ее можно решить, используя неравенство средних, известное еще Пифагору, согласно которому среднее геометрическое не превышает средне
го арифметического, т.е.
|
Vab ^ |
а + Ъ з/-т- - а + Ь+ с |
|
|
2 |
у/аЪс < |
|
|
|
! |
|
|
и т.п., причем среднее геометриче |
||
|
ское равно среднему арифметическо |
||
Рис. 1.3 |
му только в том случае, когда все чи |
||
сла равны между собой. |
Обозначим высоту и радиус основания цилиндра через h и г, а высоту и радиус основания конуса через Н и R. Запишем отношение их объемов
nr2h _ r2h
V = жВ?Н/Ъ ~ AW H '
Это равенство задает целевую функцию, в которой в качестве параметров оптимизации можно взять отношения r/R и h/H. Из условия задачи (цилиндр вписан в конус) вытекает ограни чение r/R= {Н —К)/Н. Подставляя его в целевую функцию, получаем
ч(| )=з(1- ^ )2р I s '0' 1)- |
(ы) |
Ясно, что функция 7j(h/H) достигает максимума при том же значении отношения h/H, что и любая положительная сте пень правой части этого равенства, в частности степень 1/3. Используем неравенство для среднего геометрического таких трех величин, чтобы правая часть этого неравенства оказалась константой:
^ 4 ) г " ^ ( 5 - я ) (5-51)1«
\/12 ( 1 |
h_ 1 |
h_ h_\ _ |
3Д 2 |
^ 3 \2 |
2Я + 2 |
2Н + н) |
У 27' |
Максимум левой части в этом неравенстве будет достигнут при его переходе в равенство, т.е. \ JH ~ И' Отсюда находим h/H = 1/3 и, подставляя в (1.1), вычисляем 77(1/3) = 4 /9 . При этом отношение радиусов оснований цилиндра и конуса будет г/Д = 2/3.
Несложно проверить, что к тому же результату можно прийти и стандартным путем поиска экстремума функции
ф / Н ) при h/H € [0,1].
Пример 1.4. Найдем значение параметра а, при котором
достигает максимума функция / (о) = ехр 1 (ж? + х%)) , где * i,
Х2 — корни квадратного уравнения х2 + ах + За — 1 = 0.
По теореме Виета* [1-4.4] имеем xi + *2 = —а и *i*2 = За — 1.
Отсюда находим |
|
х\ + х\= (^l + ®2)2 - г а д = а2- |
6а + 2 = (а - З)2 - 7, |
и в итоге /(а ) = ехр(3,5 — 0,5(а —З)2). |
Так как (а — З)2 ^ 0, a |
ехр(—0,5(а — З)2) убывает с возрастанием (а —З)2, то функция /(а ) достигает своего максимума при а» = 3 и этот максимум равен /(а») = ехр(3,5) « 33,115.
Применение теоремы Виета позволило в данном случае уп ростить задачу и даже избежать использования дифференци ального исчисления для поиска экстремума функции /(а ), за данной как композиция функций.
Пример 1.5. Луч света, переходя из одной однородной сре ды в другую, падает на границу раздела этих сред под углом c*i
|
к направлению нормали и пос |
||
|
ле преломления на этой грани |
||
|
це составляет с нормалью угол |
||
|
а2 (рис. 1.4). |
Требуется найти |
|
|
соотношение |
между |
этими уг |
|
лами. |
|
|
|
Из курса |
физики |
известно, |
Рис. 1.4 |
что в соответствии с принципом |
||
|
|
|
Ферма** геометрической опти ки свет при прохождении через среду с различными свойствами выбирает такую траекторию, время прохождения которой ми нимально.
Пусть ty — время прохождения световым лучом отрезка AM со скоростью ci в среде 1, * — абсцисса точки М падения
*Ф. Виёт (1540-1603) — французский математик и юрист. *'П. Ферма (1601-1665) — французский математик.