Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц
Доступ онлайн
220 ₽
В корзину
Учебное пособие включает шесть основных разделов лекционного курса по дисциплине «Методы оптимизации». В первом разделе дан анализ экстремальных задач. Во втором и третьем разделах рассмотрены методы безусловной оптимизации функции одной переменной и функций многих переменных. Четвертый, пятый и шестой разделы посвящены методам условной оптимизации для решения задач линейного и нелинейного программирования. Для студентов специальностей 09.03.01, 09.03.03 и 01.03.02, а также аспирантов, преподавателей и инженеров любых специальностей, связанных с решением оптимизационных задач.
Мицель, А. А. Методы оптимизации : учебное пособие / А. А. Мицель, А. А. Шелестов, В. В. Романенко. - Томск : ФДО, ТУСУР, 2017. - 198 с. - Текст : электронный. - URL: https://znanium.com/catalog/product/1845835 (дата обращения: 24.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Министерство образования и науки Российской Федерации 
 
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ 
И РАДИОЭЛЕКТРОНИКИ (ТУСУР) 
 
ФАКУЛЬТЕТ ДИСТАНЦИОННОГО ОБУЧЕНИЯ (ФДО) 
 
 
 
 
А. А. Мицель, А. А. Шелестов, В. В. Романенко 
 
 
 
 
 
 

МЕТОДЫ ОПТИМИЗАЦИИ 
 

 
 
 
 
 
Учебное пособие 
 
 
 
 
 
 
 
Томск 
2017

УДК [517.977.5:681.51.01 + 519.75](075.8) 
ББК 
22.183я73 
 
М 701 
 
Рецензенты: 
А. Ю. Трифонов, д-р физ.-мат. наук, профессор, зав. кафедрой  
высшей математики и математической физики Национального  
исследовательского Томского политехнического университета; 
Л. И. Бабак, д-р техн. наук, профессор кафедры компьютерных систем  
в управлении и проектировании Томского государственного университета  
систем управления и радиоэлектроники 
 
Мицель А. А. 
М 701 
Методы оптимизации : учебное пособие / А. А. Мицель, 
А. А. Шелестов, В. В. Романенко. – Томск : ФДО, ТУСУР, 2017. – 
198 с. 
 
Учебное пособие включает шесть основных разделов лекционного курса 
по дисциплине «Методы оптимизации». В первом разделе дан анализ экстремальных задач. Во втором и третьем разделах рассмотрены методы безусловной оптимизации функции одной переменной и функций многих переменных. 
Четвертый, пятый и шестой разделы посвящены методам условной оптимизации для решения задач линейного и нелинейного программирования. 
Для студентов специальностей 09.03.01, 09.03.03 и 01.03.02, а также аспирантов, преподавателей и инженеров любых специальностей, связанных с 
решением оптимизационных задач. 
 
 
 
 
 
 
© Мицель А. А., Шелестов А. А., 
Романенко В. В., 2017 
© Оформление. 
ФДО, ТУСУР, 2017 

Оглавление 
Введение ............................................................................................................ 6 
1 Анализ экстремальных задач .................................................................. 11 
1.1 Основные понятия и определения ........................................................ 11 
1.2 Постановка и классификация задач оптимизации .............................. 21 
1.3 Необходимые и достаточные условия существования  
экстремума ............................................................................................. 23 
1.4 Характеристики алгоритмов оптимизации ......................................... 26 
1.5 Критерии останова ................................................................................. 29 
1.6 Численная аппроксимация градиентов ................................................ 30 
1.7 Классы алгоритмов оптимизации ......................................................... 31 
2 Методы минимизации функции одной переменной ........................... 33 
2.1 Классификация методов ........................................................................ 33 
2.2 Методы исключения интервалов .......................................................... 33 
2.2.1 Метод равномерного поиска ........................................................... 34 
2.2.2 Метод деления отрезка пополам (метод дихотомии) .................. 36 
2.2.3 Метод Фибоначчи ............................................................................ 38 
2.2.4 Метод золотого сечения .................................................................. 43 
2.3 Полиномиальная аппроксимация и методы точечного оценивания 46 
2.3.1 Квадратичная аппроксимация ........................................................ 46 
2.3.2 Метод Пауэлла ................................................................................. 47 
2.4 Методы с использованием производных ............................................. 49 
2.4.1 Метод Ньютона – Рафсона .............................................................. 49 
2.4.2 Другие итерационные методы поиска нулей функции ................ 52 
2.4.3 Метод средней точки (поиск Больцано) ........................................ 54 
2.5 Метод поиска с использованием кубичной аппроксимации ............. 56 
2.6 Сравнение методов ................................................................................ 58 
3 Методы поиска экстремума функции многих переменных .............. 65 
3.1 Классификация методов ........................................................................ 65 
3.2 Методы прямого поиска ........................................................................ 66 
3.2.1 Симплексный метод ........................................................................ 66 
3.2.2 Метод поиска Хука – Дживса ......................................................... 71 
3.2.3 Метод сопряженных направлений Пауэлла .................................. 74 
3.3 Градиентные методы и методы второго порядка ............................... 80 
3.3.1 Метод наискорейшего спуска (метод Коши) ................................ 82 
3.3.2 Метод Ньютона ................................................................................ 84 

3.3.3 Модифицированный метод Ньютона ............................................ 85 
3.3.4 Метод Марквардта ........................................................................... 86 
3.3.5 Методы сопряженных градиентов ................................................. 87 
3.3.6 Квазиньютоновские методы (методы с переменной  
метрикой) .......................................................................................... 92 
3.3.7 Обобщенный градиентный метод ................................................ 102 
3.4 Сравнение методов .............................................................................. 103 
4 Линейное программирование ................................................................ 107 
4.1 Классификация методов ...................................................................... 107 
4.2 Разработка моделей линейного программирования ......................... 108 
4.3 Формы записи задач линейного программирования ........................ 109 
4.4 Основные определения ЛП ................................................................. 112 
4.5 Поиск начального базиса .................................................................... 115 
4.5.1 Метод Жордана – Гаусса ............................................................... 115 
4.5.2 Метод искусственного базиса ...................................................... 115 
4.6 Графическое решение ЗЛП ................................................................. 116 
4.7 Основы симплекс-метода .................................................................... 121 
4.8 Целочисленное программирование .................................................... 126 
4.8.1 Графический метод решения ЗЦП ............................................... 127 
4.8.2 Метод Гомори ................................................................................ 128 
5 Транспортная задача ............................................................................... 132 
5.1 Классификация методов ...................................................................... 132 
5.2 Понятия транспортной задачи и транспортной модели ................... 133 
5.3 Первоначальное закрепление потребителей за поставщиками ....... 135 
5.4 Решение транспортной задачи симплекс-методом .......................... 140 
5.5 Решение транспортной задачи методом потенциалов ..................... 141 
5.6 Задача о назначениях ........................................................................... 143 
5.7 Венгерский метод решения задачи о назначениях ........................... 145 
6 Нелинейное программирование ............................................................ 147 
6.1 Классификация методов ...................................................................... 147 
6.2 Задачи с ограничениями в виде равенств .......................................... 149 
6.2.1 Метод замены переменных ........................................................... 149 
6.2.2 Метод множителей Лагранжа ....................................................... 150 
6.2.3 Экономическая интерпретация множителей Лагранжа ............. 152 
6.3 Необходимые и достаточные условия оптимальности .................... 154 

6.3.1 Необходимые и достаточные условия оптимальности  
задач с ограничениями общего вида ........................................... 155 
6.3.2 Необходимые и достаточные условия оптимальности  
второго порядка ............................................................................. 157 
6.4 Методы штрафов .................................................................................. 158 
6.4.1 Понятие штрафных функций ........................................................ 160 
6.4.2 Квадратичный штраф .................................................................... 161 
6.4.3 Логарифмический штраф .............................................................. 162 
6.4.4 Штраф типа обратной функции ................................................... 163 
6.4.5 Штраф типа квадрата срезки ........................................................ 164 
6.4.6 Выбор штрафного параметра ....................................................... 165 
6.4.7 Обобщенный алгоритм .................................................................. 166 
6.5 Методы, основанные на линеаризации .............................................. 167 
6.5.1 Базовый метод линеаризации ....................................................... 167 
6.5.2 Алгоритм Франка – Вульфа .......................................................... 169 
6.5.3 Метод допустимых направлений Зойтендейка ........................... 172 
6.5.4 Метод условного градиента .......................................................... 176 
6.6 Метод проекции градиента ................................................................. 181 
6.6.1 Случай линейных ограничений .................................................... 181 
6.6.2 Случай нелинейных ограничений ................................................ 188 
Заключение ................................................................................................... 192 
Литература.................................................................................................... 193 
Список условных обозначений и сокращений ...................................... 195 
 
 
 

Введение 

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

• в исследовании операций: оптимизация технико-экономических систем, транспортные задачи, управление запасами и т. д.; 

• в численном анализе: аппроксимация, регрессия, решение линейных и 
нелинейных систем, численные методы, включая методы конечных 
элементов и т. д.; 

• в автоматике: распознавание образов, оптимальное управление, фильтрация, управление производством, робототехника и т. д.; 

• в математической экономике: решение больших макроэкономических 
моделей, моделей предпринимательства, теория принятия решений 
и теория игр. 
Постановка каждой задачи оптимизации (ЗО) включает два объекта: 
множество допустимых решений и целевую функцию (функционал), которую 
следует минимизировать или максимизировать на указанном множестве. С этой 
общей точки зрения и рассматриваются различные классы экстремальных задач, составляющие предмет линейного, нелинейного, динамического программирования, вариационного исчисления и теории оптимального управления. 
Обычно наши действия в условиях неоднозначности выбора определяются некоторой целью, которую мы стремимся достичь наилучшим образом. Тем самым человеческая деятельность связана с постоянным (сознательным или бессознательным) решением оптимизационных задач. Об этом свидетельствуют 

многочисленные древние легенды (о финикийской царице Дидоне, о возникновении г. Карфагена и др.), связанные с решением различных изопериметрических задач. 
Можно было бы думать, что подобная распространенность ЗО давно 
должна была найти свое отражение в математике. Однако в действительности 
до середины XX столетия задачи на экстремум (extr) рассматривались в математике лишь эпизодически, развитая теория и методы решения подобных задач 
были созданы сравнительно недавно. 
Наиболее простая задача безусловной минимизации функции многих переменных привлекла внимание математиков во времена, когда закладывались 
основы математического анализа. Она во многом стимулировала создание 
дифференциального исчисления, а необходимое условие существования extr 
(равенство градиента нулю), полученное П. Ферма в 1629 г., явилось одним из 
первых крупнейших результатов анализа. Позже в работах И. Ньютона и 
Г. В. Лейбница были по существу сформулированы условия экстремума 2-го 
порядка (т. е. в терминах вторых производных) для этой задачи. 
Другой класс задач на экстремум, традиционно рассматривавшийся в математике, – это задачи вариационного исчисления. Следы интереса к ним можно найти и в античной математике (разного рода изопериметрические проблемы), однако подлинное рождение вариационного исчисления произошло в 
конце XVIII в., когда И. Бернулли сформулировал знаменитую задачу о брахистохроне (гр. «брахисто» – кратчайший, «хронос» – время). 

 ·························  
 Пример  ·························  

Задача о брахистохроне. В плоскости (
)
,x y  заданы две точки 
(
)
0,0
A
 и 

(
)
1
1
,
B x y , не лежащие на одной вертикальной прямой (рис. 1). Необходимо 

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

A
v  в точке A равна нулю (ответ: траекторией движения шарика является цик
лоида; решение задачи будет приведено ниже). 

Рис. 1 – Задача о брахистохроне 

 ·······································································  
Условия экстремума 1-го порядка в вариационном исчислении были получены Л. Эйлером (уравнения Эйлера), а 2-го порядка – А. М. Лежандром и 
К. Г. Якоби. Важный вопрос о существовании решения в вариационном исчислении был впервые поставлен К. Вейерштрассом во второй половине XIX в. 
Первые работы по экстремальным задачам при наличии ограничений общего вида (в виде равенств и неравенств) относятся к концу 30-х – началу  
40-х гг. XX в. Здесь необходимо упомянуть имена американских ученых Чикагской школы: Г. Блисс, О. Больца, Е. Макшейн, Л. М. Грейвс и др. 
Независимо от исследований американских ученых оптимизационная тематика развивалась и в СССР. Пионером в этой области был Л. В. Канторович, 
опубликовавший в 1939 г. книгу, содержавшую математические постановки ряда экономических задач. Но работы Канторовича, как и результаты американских ученых, не привлекли внимание математиков и остались, по существу, незамеченными. 
Время для этих задач настало несколько позже: в конце 40-х гг. XX в. Под 
влиянием прикладной тематики, которой приходилось заниматься в годы Второй мировой войны (проблема снабжения военных плацдармов войск второго 
фронта в Европе и Африке), Дж. Данциг в США стал изучать задачи минимизации при линейных ограничениях, получившие название задач линейного программирования (ЗЛП). Под влиянием работ Дж. фон Неймана по теории игр, 
Дж. Данциг, Д. Гейл, Г. Кун и А. Таккер создали теорию двойственности в линейном программировании (ЛП) – специфическую формулировку условий существования экстремума. 

A 
x1 

y1 

y 

x 

y(x) 

P 

v 

B 

Существенный прогресс в развитии теории оптимизации произошел при 
изучении так называемых задач оптимального управления. Необходимые условия оптимальности для этих задач были сформулированы и доказаны 
Л. С. Понтрягиным, В. Г. Болтянским и Р. В. Гамкрелидзе в 1956–1958 гг. 
в форме «принципа максимума». В иной форме условия оптимальности для подобных задач были получены Беллманом на основе идей динамического программирования. 
С необходимостью решения ЗО столкнулись и специалисты по теории автоматического управления (ТАУ). В трудах В. В. Казакевича, А. А. Фельдбаума, А. А. Первозванского в 50-х гг. XX столетия была создана теория экстремального регулирования и предложены специальные математические модели 
объектов, действующих в реальном масштабе времени. 
К середине 60-х гг. XX в. в рамках вычислительной математики сложилось самостоятельное направление, связанное с численными методами оптимизации (МО). С тех пор непрерывно шло интенсивное развитие этого направления как вширь (разработка новых методов, исследование новых классов задач и 
т. д.), так и вглубь (выработка единого аппарата для анализа сходимости и скорости сходимости, классификации методов). В настоящее время эта область 
вычислительной математики может считаться окончательно сформировавшейся, хотя существуют проблемы построения эффективных методов для некоторых специальных типов задач и отдельных специфических ситуаций. Так, 
например, для составления маршрута доставки тяжелой баллистической ракеты-носителя с завода в г. Сиэтле на северо-западе США до космо-дрома на мысе Каннаверал (полуостров Флорида) был специально разработан новый оптимизационный алгоритм, учитывающий массу, габариты груза, загруженность 
автомагистралей, грузоподъемность мостов, размеры туннелей и т. д. 

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

 
 ·····························································  
Эта пиктограмма означает определение или новое понятие. 
 ·····························································  

·····························································  
Эта пиктограмма означает задание. Здесь автор может дать 
указания для выполнения самостоятельной работы или упражнений, 
сослаться на дополнительные материалы. 
 ·····························································  
 ·····························································  
В блоке «На заметку» автор может указать дополнительные 
сведения или другой взгляд на изучаемый предмет, чтобы помочь 
читателю лучше понять основные идеи. 
 ·····························································  
 ·····························································  
Эта пиктограмма означает теорему.  
 ·····························································  
 ·····························································  
Эта пиктограмма означает аксиому. 
 ·····························································  
 ·····························································  
Эта пиктограмма означает доказательство. 
 ·····························································  

 ························  
 Пример  ··························  

Эта пиктограмма означает пример. В данном блоке автор может привести 
практический пример для пояснения и разбора основных моментов, отраженных в теоретическом материале. 
 ·······································································  

 ························  
 Выводы  ··························  

Эта пиктограмма означает выводы. Здесь автор подводит итоги, обобщает 
изложенный материал или проводит анализ. 
 ·······································································  
 ·························································  
Контрольные вопросы по главе  
 ·························································  

1 Анализ экстремальных задач 

1.1 Основные понятия и определения 
Математическое программирование в самом общем виде можно опреде
лить как задачу оптимизации с ограничениями в пространстве 
n
R  [2]: 

 

( )

( )

( )

min,

0,
1,2,..., ;

0,
1,2,...,
;

.

x

j

k

n

f x

g
x
j
J

h
x
k
K

x
D
R

→

≥
=

=
=

∈
⊆

 
(1.1) 

Вектор x
D
∈
 имеет компоненты 
1
2
,
,...,
n
x x
x , которые являются неизвест
ными задачи (1.1). В дальнейшем, если функция 
( )
f x  минимизируется по всем 

компонентам аргумента x , будем писать просто 

( )
min.
f x →
 

Запись 

( )
max
f x →
 

означает поиск максимума целевой функции (ЦФ). Однако в силу очевидного 
равенства 

 
( )
( )
(
)
max
min
,
f x
f x
= −
−
 
(1.2) 

не теряя общности, можно рассматривать только задачи на минимизацию. 
То есть задача максимизации функции сводится к задаче поиска минимума 

функции 
( )
( )
F x
f x
= −
. 

Запись 

( )
extr
f x →
 

означает поиск любого экстремума ЦФ. 
 ·····························································  

Функция 
( )
f x  называется целевой функцией (ЦФ, функцией 

качества, критерием оптимальности), а множество условий 

( )
j
g
x , 
( )
kh
x  и x
D
∈
 – ограничениями задачи. 

 ·····························································  
В качестве D  часто выступает выпуклое множество. 

·····························································  

Выпуклым множеством 
n
D
R
⊆
 называют такое множе
ство, которое вместе с любыми двумя точками 
1
2
,
x x
D
∈
 и для 

произвольного числа 
[
]
0,1
µ∈
 содержит также все точки x , удо
влетворяющие соотношению 

(
)

1
2
1
,
x
x
x
= µ⋅
+
−µ ⋅
 

т. е. выпуклое множество должно содержать отрезок, соединяющий любые две точки такого множества [5–6]. 
 ·····························································  
Примеры выпуклых множеств – куб, квадрат, круг, шар и др. (рис. 1.1). 

Рис. 1.1 – Выпуклость множеств 

 ·····························································  
Ограничения задачи 

( )

( )

0,
1,2,..., ;

0,
1,2,...,
;

j

k

n

g
x
j
J

h
x
k
K

x
D
R

≥
=

=
=

∈
⊆

 

образуют область допустимых решений (ОДР) 
n
S
R
⊆
. Точка 

x
S
∈
 тогда и только тогда, когда она удовлетворяет всем ограничениям задачи. 
Решением задачи (1.1) называют любой вектор x , удовлетворяющий ограничениям, т. е. x
S
∈
. 

Локальным экстремумом ЦФ 
( )
f x  называют вектор x
S
∈
, 

если имеет место неравенство [6] 

( )
( ) {
}
:
,
0
f x
f x
x x
x
≤
−
< ε ε >
 

Выпуклое множество 
Невыпуклое множество 

x1 

x2 
x2 

x1 

или 

( )
( ) {
}
:
,
0 .
f x
f x
x x
x
≥
−
< ε ε >
 

В первом случае имеем локальный минимум, во втором – локальный максимум. 
Оптимальным решением или глобальным экстремумом за
дачи (1.1) называют вектор 
*x , минимизирующий значение 
( )
f x  

на множестве всех решений (глобальный минимум): 

( )
( )

*
,
f x
f x
≤
 

или максимизирующий значение 
( )
f x  на множестве всех решений 

(глобальный максимум): 

( )
( )

*
f x
f x
≥
 

для всех x
S
∈
. 
 ·····························································  
В дальнейшем, в силу (1.2), говоря об экстремуме или оптимуме, будем 
подразумевать минимум, если не оговаривается иное. 
 ·····························································  

Всякая точка глобального минимума ЦФ 
( )
f x  является од
новременно и точкой локального минимума этой функции, а точка 
глобального максимума ЦФ является одновременно и точкой локального максимума. Обратное утверждение, вообще говоря, неверно. 
 ·····························································  
Точность. Характеристикой точности полученного решения может служить величина абсолютного отклонения значения минимизируемой функции, 

достигнутого в точке 
kx
S
∈
, от точного значения ее минимума на множестве S : 

 
( )
(
)
( )

* ,
,
k
x
f x
f x
x
S
δ
=
−
∈
 
(1.3) 

где ( )

*
f x
 – либо точное значение минимума ЦФ 
( )
( )
(
)

*
min
f x
f x
=
, либо по
лученное «точным» алгоритмом. 
Ясно, что чем меньше неотрицательная величина δ, тем точнее полученное решение. Недостатком использования абсолютной погрешности является то 

Доступ онлайн
220 ₽
В корзину