New ЧИСЛЕННЫЕ МЕТОДЫ...

67
И.К. Васильева, П.Е. Ельцов ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ 2009

Transcript of New ЧИСЛЕННЫЕ МЕТОДЫ...

Page 1: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

И.К. Васильева, П.Е. Ельцов

ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

2009

Page 2: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ Национальный аэрокосмический университет им. Н.Е. Жуковского

"Харьковский авиационный институт"

И.К. Васильева, П.Е. Ельцов

ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

Учебное пособие по лабораторному практикуму

Харьков «ХАИ» 2009

Page 3: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ Национальный аэрокосмический университет им. Н.Е. Жуковского

"Харьковский авиационный институт"

И.К. Васильева, П.Е. Ельцов

ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

Учебное пособие по лабораторному практикуму

Харьков «ХАИ» 2009

Page 4: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

УДК 621.396.6

Васильева И.К. Численные методы оптимизации : учеб. пособие по лаб. практикуму / И.К. Васильева, П.Е. Ельцов. – Х. : Нац. аэрокосм. ун-т "Харьк. авиац. ин-т", 2009. – 65 с.

Описаны лабораторные работы по дисциплине "Методы

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

Лабораторные работы ориентированы на использование программы математических расчетов и моделирования MathCAD.

Для студентов факультета радиотехнических систем летательных аппаратов.

Ил. 16. Табл. 17. Библиогр.: 9 назв.

Рецензенты: д-р техн. наук, проф. В.А. Батаев, канд. физ.-мат. наук А.Н. Роенко

© Национальный аэрокосмический университет им. Н.Е. Жуковского "Харьковский авиационный институт", 2009 г.

Page 5: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

3

ВВЕДЕНИЕ Задачи оптимизации (или экстремальные) встречаются там, где

исследуемое явление (в физике, технике, экономике) допускает мно-жество ситуаций в зависимости от условий наблюдения. Тогда зада-чей является поиск оптимальных ситуаций – наилучших в каком-либо смысле. Чтобы избежать субъективизма и неопределённости при оценке, необходимо, прежде всего, формализовать понятие опти-мальности ситуации.

Пусть nRX ∈ – некоторое подмножество пространства, а ( )xf r

– числовая функция, определённая на нём. Среди элементов

множества X нужно выбрать наиболее предпочтительное (с опреде-лённой точки зрения) решение. Сравнение решений по предпочти-тельности осуществляется с помощью ( )xf r

, которая называется целевой функцией. Выделяют два варианта сравнения произволь-

ной пары решений )1(xr и )2(xr : 1) считают, что )1(xr предпочтитель-

нее )2(xr , если ( ))1(xf r < ( ))2(xf r

– это задача минимизации;

2) )1(xr предпочтительнее )2(xr , если ( ))1(xf r > ( ))2(xf r

– задача мак-

симизации. Так как путем преобразования ( )xf r = – ( )xf r

всегда

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

Таким образом, целевая функция ( )xf r позволяет количественно

сравнить два альтернативных решения. С математической точки зре-ния целевая функция описывает некоторую (n+1)-мерную поверх-ность, значение которой определяется проектными параметрами. Ес-ли имеется только один проектный параметр, то целевую функцию можно представить кривой на плоскости. Если проектных параметров два, то целевая функция является поверхностью в пространстве трех измерений и т.д.

Проектными параметрами могут быть любые основные или производные величины, служащие для количественного описания оп-

Page 6: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

4

тимизируемой системы: неизвестные значения длины, массы, време-ни, температуры, номиналы радиоэлементов и т.д. Число проектных параметров (x1, x2,…, xn) характеризует степень сложности данной задачи проектирования.

Пространство проектирования – область, определяемая всеми n проектными параметрами. Пространство проектирования обычно ограничено условиями, связанными с физическим смыслом задачи. Ограничения разделяют на две группы: ограничения-равенства и ог-раничения-неравенства.

Ограничения-равенства ( )xirϕ = 0 (i = 1,…, m) – это зависимо-

сти между проектными параметрами, которые нужно учитывать при отыскании решения. Каждое из этих ограничений геометрически представляет собой некую гиперповерхность и уменьшает размер-ность пространства на единицу, поэтому независимыми являются только (n – m) переменных, m < n. Если какое-либо из этих соотно-шений можно разрешить относительно одного из параметров, то дан-ный параметр исключают из процесса оптимизации; таким образом, упрощается решение задачи.

Ограничения-неравенства имеют вид ( )xjrψ ≤ 0, j = 1,…, p. Эти

условия выделяют в пространстве n-мерную область, ограниченную гиперповерхностями ( )xj

rψ = 0, поэтому число этих условий может

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

При решении многих технических задач целевую функцию при-нимают в качестве меры “нежелательных” свойств объекта или стои-мости, которую нужно минимизировать, либо рассматривают как меру ”качества”, которую нужно максимизировать. При этом минимизация или максимизация должна быть выполнена при условии соблюдения определённых ограничений. Это справедливо применительно к са-мым различным объектам: электромеханическим устройствам, элек-трическим схемам, системам управления. Вопрос о том, оптимальна

Page 7: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

5

или неоптимальна какая-либо совокупность расчётных данных, в об-щем случае зависит от выбора критерия. Примеры целевых функций, часто встречающихся в инженерной практике: стоимость, масса, прочность, габаритные размеры, КПД, коэффициент усиления, поло-са пропускания и т.п. В некоторых задачах оптимизации требуется введение более одной целевой функции. Иногда одна из них может быть несовместима с другой. Например, одновременно требуется обеспечить максимальную прочность, минимальную массу и мини-мальную стоимость. В этих случаях вводят систему приоритетов и ставят в соответствие каждой целевой функции некоторый безраз-мерный множитель. В результате появляется “функция компромисса”, позволяющая в процессе оптимизации пользоваться одной составной целевой функцией.

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

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

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

Page 8: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

6

ОБЩАЯ ХАРАКТЕРИСТИКА МЕТОДОВ МИНИМИЗАЦИИ

Аналитическое решение задачи отыскания экстремума ( )xf r не

всегда можно получить. В большинстве случаев эту задачу решают численно с помощью ЭВМ. При этом различают два подхода: первый – заключается в замене задачи на экстремум задачей чис-ленного решения системы уравнений ( )xf r′ = 0 в случае безусловно-

го экстремума или аналогичной системы для функций Лагранжа

( ) ( ) ( )∑=

+=m

iii xxfxF

1, rrrr ϕλλ или ( ) ( ) ( )∑

=+=

p

jii xxfxF

1, rrrr ψλλ

в случае условного экстремума; второй – не использует непосредст-венно необходимые условия экстремума. Он заключается в построе-

нии каким-либо способом последовательности точек )1(xr , )2(xr , …

…, )(kxr , в которых целевая функция убывает; предел этой последо-вательности принимают за искомую точку минимума. Эти способы, как правило, более эффективны, поскольку позволяют полнее учиты-вать специфику задач минимизации.

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

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

ции строится приближение к решению – искомой точке минимума ∗xr или, если такая точка не единственная, к множеству точек минимума.

Для задания алгоритма достаточно указать способ выбора точек вычисления (конечно, при условии, что уже решен вопрос о том, ка-

Page 9: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

7

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

т.е. )1( +ixr определяется, когда уже известны точки предыдущих вы-

числений )1(xr , …, )(ixr , и в каждой из них выполнены предусмотрен-ные алгоритмом вычисления, результаты которых обозначим y(1),… …, y(i). Такие алгоритмы называют последовательными. На практике используют наиболее простые виды зависимости, например,

( )iii yxx ,)1( rr + (т.е. выбор точки очередного вычисления зависит лишь от точки предыдущего вычисления и полученного результата) или

( )ii

ii yayaxx +++ Krr 1

1)1( , (от точки предыдущего вычисления и ли-

нейной комбинации всех результатов). Для записи методов минимизации применяют соотношения вида

)1( +kxr = )()( kk

k hxrr α+ , где Rk ∈α , k = 1, 2,… – номер шага (итера-

ции) метода. Конкретный алгоритм определяется заданием началь-

ной точки )0(xr , правилами выбора векторов )(khr

и чисел αk на осно-вании полученной в результате вычислений информации, а также ус-ловием остановки счёта.

Вектор )(khr

указывает направление (k + 1)-го шага, а коэффи-

циент αk равен длине этого шага. Следует иметь в виду, что при )(kh

r≠1 длина отрезка, соединяющего точки )(kxr и )1( +kxr , не равна

|αk|, длина шага – величина )(kk hr

α .

Page 10: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

8

Для задач без ограничений любое направление возможно, но не все они приемлемы. Очевидно, что не следует использовать направ-

ление hr

, для которого не выполняется условие ( )hxfrr α+ < ( )xf r

при достаточно малом α, т.е. если значение функции не уменьшается

в направлении hr

хотя бы вблизи точки xr .

Направление hr

в точке xr называется приемлемым, если ска-

лярное произведение вектора hr

и вектора-градиента целевой функ-ции в этой точке отрицательно:

( ) 0 , <∇ hxfrr

.

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

малых α точка hxrr α+ не должна нарушать ни одного из ограничений.

Обычно название метода оптимизации определяется способом

выбора )(khr

, а его различные варианты – способами выбора αk. Среди методов минимизации можно условно выделить конечно-

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

Метод сходится, если ∗→ xx k rr )( при k → ∞, где ∗xr – решение

задачи. Если ( ) ( )∗→ xfxf k rr )( , то метод сходится по функции, при

этом последовательность )(kxr называется минимизирующей. Эффективность сходящегося метода можно охарактеризовать с

помощью понятия скорость сходимости. Алгоритм сходится линейно (или со скоростью геометрической

прогрессии), если ∗∗+ −≤− xxqxx kk rrrr )()1( , где константа q∈(0, 1).

Page 11: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

9

Скорость сходимости сверхлинейна, если ∗∗+ −≤− xxqxx kk

k rrrr )()1( ,

где q → 0 при k → ∞, и квадратична, если 2)()1( ∗∗+ −≤− xxcxx kk rrrr ,

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

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

Рассмотрим вопрос о критериях остановки счёта. Чаще всего ис-пользуют такие условия прекращения вычислений:

1)()1( ε≤−+ kk xx rr

;

( ) ( ) 2)()1( ε≤−+ kk xfxf rr

;

( ) 3)1( ε≤′ +kxf r

, εi << 1

(последний критерий относится только к задачам безусловной опти-мизации).

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

( ))1(1

)()1( 1 ++ +≤− kkk xxx rrr δ ;

( ) ( ) ( )( ) 1 )1(2

)()1( ++ +≤− kkk xfxfxf rrr δ ;

( ) ( )( ) 1 )1(3

)1( ++ ′+≤′ kk xfxf rr δ .

Page 12: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

10

Лабораторная работа 1

СРАВНЕНИЕ ЭФФЕКТИВНОСТИ ЧИСЛЕННЫХ МЕТОДОВ ОДНОМЕРНОЙ БЕЗУСЛОВНОЙ МИНИМИЗАЦИИ

Цель работы: – изучить методику построения алгоритмов, применяемых для

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

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

– получить навыки реализации алгоритмов одномерной безус-ловной минимизации в среде MathCAD.

Теоретические сведения

Большинство численных методов оптимизации базируются на использо-вании следующей леммы: пусть ( )xf

унимодальна на X (непрерывна и имеет

единственный минимум ∗x ); Xxx ∈21 ,

и 21 xx < (рис. 1.1). Тогда, если

( ) ( )21 xfxf ≤ , то 2xx ≤∗ , если

( ) ( )21 xfxf ≥ , то 1xx ≥∗ . На основа-

нии этой леммы можно указать отрезок, в котором содержится ∗x , поэтому будем искать минимум ( )xf при [ ]bax ,∈ . Кроме того, счи-

таем, что число вычислений целевой функции задано и равно n. В методе пассивного поиска интервал неопределенности

[ ]ba , для одномерной унимодальной функции делится на несколько равных частей, и затем вычисляются значения целевой функции в

x*x1 x1x2 x2

f x( )

x

Рис. 1.1. Поиск отрезка неопределенности

Page 13: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

11

узлах полученной сетки. В результате интервал неопределенности сужается до двух шагов сетки.

Алгоритм пассивного поиска. Разделим [a, b] на n + 1 часть:

in

abaxi 1+−

+= , ni ,,1 K= . Вычислим все значения ( )ixf , сравним

их между собой и найдём ( ) ( ) ij xfxf min = . Тогда на основании

леммы заключаем, что [ ]11 , +−∗ ∈ jj xxx (интервал неопределённо-

сти или отрезок локализации минимума) и за ( )xfmin примем

( )jxf . При этом длина отрезка локализации минимума

11 −+ −= jjn xxL =1

2+−

nab , а погрешность в определении ∗x 2nL≤ε .

Следующая группа методов относится к классу алгоритмов ак-тивного поиска (последовательных), поскольку в них очередное при-

ближение 1+kx зависит от результатов предыдущих вычислений.

Метод дихотомии (деления пополам). Обычно под этим ме-тодом понимают способ численного решения уравнения ( ) 0=xy . Он заключается в том, что вычисляются три значения функции в точках a, b и ( ) 2ba + , т.е. на концах и в середине отрезка. После этого про-

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

2x . Так как на каждом шаге вычисляются два значения функции, то

kn 2= (k – номер шага).

Пусть δ−+=

21bax , δ++

=22

bax ,

где δ – малое число (рис. 1.2).

x1 x2

a 2δ b

Рис. 1.2. Выбор точек по методу дихотомии

Page 14: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

12

Вычислим ( )1xf , ( )2xf и сравним их между собой (рис. 1.3).

Если ( ) ( )21 xfxf ≤ , то

[ ]2 , xax ∈∗ , отрезок [ ]bx ,2 можно

отбросить, т.е. aa =1 , 21 xb = .

Если ( ) ( )21 xfxf ≥ , то отбра-

сывают [ ]1 , xa : 11 xa = , bb 1 = .

На следующем шаге разделим интервал [ ]11 , ba пополам, вновь

возьмём две точки ) ,( 21 xx ′′ на расстоянии δ от его середины и повторим процедуру.

После первого шага длина отрезка локализации δ+−=

21abL ,

после второго – δδ +⎟⎠⎞

⎜⎝⎛ +

−=

221

2abL = δ

23

4+

− ab , после k-го

( 2nk = ) – δδδ 222

1222

122 )2(1)2(

)2(

)2(1 +−

≈−

+−

=−

+−

= −− nn

n

nk

k

kkabababL .

Выбором δ длину kL можно сделать сколь угодно близкой к )2(2 nab − .

Сравнивая эту величину с длиной отрезка локализации в методе пас-сивного поиска, видно, что метод дихотомии существенно эффектив-нее. Так, для уменьшения kL с 1 до 0,01 требуется 199 шагов по ме-

тоду пассивного поиска (если считать, что ( )af и ( )bf уже известны) и всего 14 шагов по методу дихотомии (если пренебречь величиной δ ). Из этого не следует, что метод пассивного поиска неприемлем; он может оказаться достаточно оптимальным при параллельных вы-числениях. Кроме того, метод пассивного поиска может входить в ка-честве составной части в алгоритмы минимизации многоэкстремаль-ных функций.

Таким образом, в методе дихотомии интервал неопределенности разделяют каждый раз надвое. Этот прием повышает эффективность

x1

a1

x2a b

1b Рис. 1.3. Метод дихотомии

Page 15: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

13

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

Метод Фибоначчи более оптимальный, чем метод дихотомии. В методе дихотомии на каждом шаге теряется одна точка, например

1x , поскольку на следующем шаге вычисляются две новые точки

) ,( 21 xx ′′ вблизи центра [ ]2 , xa , а информация о значении ( )1xf не используется. Поэтому метод дихотомии может быть модифицирован следующим образом: пусть на одном шаге каким-либо образом вы-брали две точки 1x , 2x внутри [ ]ba , , вычислили ( )1xf и ( )2xf , сравнили их между собой и отбросили часть отрезка (для определён-ности [ ]bx ,2 ) (рис. 1.4).

На втором шаге воспользуемся тем, что в одной точке ( 1x ) нового интервала

неопределенности [ ]2 , xa значение

функции ( )1xf уже известно, поэтому для продолжения итерацион-ного процесса достаточно вычислить функцию только в одной новой точке 3x (а не в двух, как в методе дихотомии). Поскольку на втором

шаге будет отброшен один из двух отрезков [ ]3 , xa или [ ]21 , xx (ка-

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

3x таким, чтобы длины этих отрезков были равны. Таким образом, на

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

Если обозначить длину отрезка локализации на k-м шаге через

kL , то на трёх последовательных шагах эти величины связаны соот-

ношением kkk LLL += −− 12 (рис. 1.5). Чтобы в наибольшей степени

уменьшить последний отрезок неопределенности nL , расстояние

x1 x2x3a b Рис. 1.4. К выбору точек по методу Фибоначчи

Page 16: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

14

между точками nx и 1−nx должно быть

минимально возможным: ε−=− nn LL 21 .

Тогда ε11 −+− −= knkkn FLFL ,

1,1 −= nk K , где kF – числа Фибоначчи:

⎩⎨⎧

=+===

−− ;,2,;1

21

10

nkFFFFF

kkk K

εn

n

nn F

FFLL 21 −+= .

Выбирая 21 −<< nFLε , после n вычислений уменьшаем первона-

чальный интервал примерно в 51+≈ nnF τ раз, ( ) 251+=τ ≈

≈ 1,618. (Для стократного уменьшения достаточно сделать n = 11 ша-гов против 14 для метода дихотомии).

Таким образом, для расчёта методом Фибоначчи необходимо: 1) оценить желаемую точность nL вычисления точки минимума и

значение параметра ε и с помощью соотношения ≈1LLn ≈nF1 15 +≈ nτ определить требующееся число шагов n;

2) вычислить числа nF , 1−nF и рассчитать величину 2L как

εn

n

n

nF

LF

FL )1(1

12

−+= − ;

3) рассчитать координаты точек 21 Lbx −= , 22 Lax += . Последующие точки должны располагаться симметрично пред-

шествующим относительно центра отрезков, т.е. kkkk xbax −+=+1 .

Однако такой способ расчёта приводит к быстрому нарастанию по-грешности. Поэтому в качестве очередного приближения 1+kx лучше

брать одну из двух точек, рассчитываемых по формулам

11 ++ +=′ kkk Lax , 11 ++ −=′′ kkk Lbx , а именно ту из них, которая наи-

более удалена от kx .

Lk-2

Lk-1

Lk

Рис. 1.5. Правило симметрии точек

Page 17: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

15

Метод золотого сечения. Недостаток метода Фибоначчи за-ключается в том, что необходимо заранее выбрать количество шагов n. Однако не всегда заранее известно, какое число шагов потребует-ся для поиска минимума. В методе золотого сечения стратегия поис-ка такая же, как и в методе Фибоначчи, также используется соотно-шение 11 +− += kkk LLL , выражающее закон симметрии точек, но

расположение точек выбирается по правилу золотого сечения: отре-зок делится на две неравные части так, чтобы отношение длины все-го отрезка к длине его большей части равнялось отношению длины

большей части к длине меньшей: ==+

1

1

k

k

k

kLL

LL 618,1≈τ . Таким об-

разом, первые два вычисления значения функции позволяют умень-шить интервал неопределённости в 1,618 раза, а длина интервала

после n шагов 11

−= nn LL τ , т.е. окончательный интервал лишь на

17% больше, чем в методе Фибоначчи, зато заранее выбирать число шагов не нужно.

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

Методы парабол. Рассмотренные выше методы (все нулевого порядка) – надёжные, но относительно медленные. Если целевая функция ( )xf дифференцируема, то можно построить более быст-рые (но и более “капризные”) методы, основанные на параболической аппроксимации ( )xf .

Пусть каким-либо способом (например графическим) получено

нулевое приближение )(kx ( 0=k ).

Разложим ( )xf в точке )(kx в ряд Тейлора, ограничившись тре-

мя членами, т.е. аппроксимировав ( )xf параболой:

Page 18: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

16

( ) ( ) ( ) ( ) ( ) ( ))(2)()()()(21 kkkkk xfxxxfxxxfxf ′′−+′−+≈ .

Найдём минимум этой квадратичной функции, используя необ-ходимое условие экстремума ( ) 0=′ xf . Полученную точку примем

за очередное приближение )1( +kx к истинной точке минимума ∗x :

( ) ( ) ( ) ( ) 0)()()1()( =′′−+′≈′ + kkkk xfxxxfxf ,

( )( ))(

)()()1(

k

kkk

xf

xfxx

′′

′−=+ .

Вблизи экстремума с ненулевой f ′′ этот метод сходится квадра-

тично. Если ( ) 0=′′ ∗xf , то сходимость в достаточно малой окрестно-

сти ∗x тоже имеется, но более мед-ленная (линейная).

Таким образом, исходная кривая ( )xf заменяется интерполяционной

параболой (рис. 1.6), построенной по

трём точкам: hx k −)( , )(kx , hx k +)( . На каждой итерации вычисляют три значения функции. Можно уменьшить число арифметических операций, строя параболу по уже вычисленным

ранее точкам )2( −kx , )1( −kx , )(kx . Если для ( )xf ′ и ( )xf ′′ анали-

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

( )hy

xy

dxdyxy ∆

=∆∆

≈=′ ;

x*x(0) x(1) x(2) x(3)

f x( )

x

xx*x(0) x(1) x(2) x(3)f x( )

а

б

Рис. 1.6. Аппроксимации целевой функции f(x) (а) и ее производных в точках x(k) (б)

Page 19: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

17

( )⎭⎬⎫

⎩⎨⎧ −−−

≈′ −+−+

hyy

hyy

hyyxy iiiiii

i 2;; 1111 ;

( ) 211 2

hyyyxy iii

i−+ +−

≈′′ .

Тогда ( ) ( )

( ) ( ) ( )hxfxfhxf

hxfhxfhxx

kkk

kkkk

−+−+

−−+−=+

)()()(

)()()()1(

22, ε≤2h ,

где ε – желаемая точность. Для того, чтобы алгоритм работал надежно, необходимо преду-

смотреть ряд дополнительных проверок: 1. Следует контролировать направление поиска, так как условие

( ) 0=′ xf может привести не к минимуму, а к максимуму или седло-вой точке. Для этого нужно проверять знак второй производной (ана-литической или разностной). Если ( ) 0<′′ xf , делаем шаг в противо-положном направлении.

2. Двигаясь к минимуму, надо его не пропустить, т.е. проверять

условие ( ) ( ))()1( kk xfxf ≤+ . Если оно не выполняется, то послед-нюю итерацию пересчитывают с уменьшенным (например вдвое) ша-гом и вновь проверяют условие.

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

Постановка задачи

Требуется найти с точностью ε ≤ 0,001 минимум функции ( )xf

на отрезке [a, b] (согласно заданному варианту). Необходимо разработать и реализовать в системе MathCAD сле-

дующие алгоритмы одномерной минимизации: – пассивный поиск;

Page 20: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

18

– дихотомия; – метод золотого сечения; – метод парабол. Сравнить эффективность указанных алгоритмов по критериям: – число итераций для достижения заданной точности ε; – количество арифметических операций; – универсальность по отношению к виду целевой функции. Примеры реализации в MathCAD алгоритмов одномерной мини-

мизации даны в прил. 1.

Контрольные вопросы

1. Что такое целевая функция? Привести примеры. 2. Как выбрать интервал неопределенности? 3. Дайте общую характеристику изученных методов. 4. Назовите критерии эффективности методов оптимизации. 5. Что такое «скорость сходимости» метода?

Варианты заданий

Номер варианта f(x) [a, b]

1 ( )2sin1 xe x− [0, 1]

2 12 +x

x [–2, 0]

3 xex −+ 32 2 [0, 1]

4 xe x ln−− [1, 3]

5 ( )12 −xe x [0, 2]

6 ( )( )xx lnsin− [10, 12]

7 ⎟⎠⎞

⎜⎝⎛

xx 1exp [0,5, 1,5]

8 ( )xx sin1 2+ [4, 6]

Page 21: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

19

Лабораторная работа 2

МНОГОМЕРНАЯ БЕЗУСЛОВНАЯ МИНИМИЗАЦИЯ

Цель работы: – изучить наиболее распространенные алгоритмы, применяе-

мые для решения многомерных задач минимизации; – получить навыки реализации алгоритмов минимизации функ-

ций двух переменных в среде MathCAD.

Теоретические сведения

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

левой функции ( )xf r, где ( )nxxxx ,,, 21 K

r = , или nRx∈r . Кроме то-

го, объем вычислений, необходимых для сужения интервала неопре-

деленности kL в многомерном пространстве nR , – степенная функ-

ция, показатель которой равен размерности пространства. Так, если в одномерном пространстве для уменьшения kL от 1 до 0,1 требует-

ся вычислить 19 значений целевой функции (по методу пассивного поиска), то в двумерном – это число составляет 361, трехмерном – 6859, четырехмерном – 130321 и т.д. При этом число проектных пе-ременных при решении практических задач нередко достигает пяти и более.

Методы многомерной оптимизации подразделяют на три группы: 1) прямые (нулевого порядка) – используется информация толь-

ко о значениях функции; 2) градиентные (первого порядка) – наряду со значениями функ-

ции вычисляется и ее градиент; 3) методы второго порядка – дополнительно требуется знание

вторых производных.

Page 22: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

20

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

При котловинном рельефе (см. рис. 2.1, а) линии уровня похожи на эллипсы. В малой окрестности любого невырожденного минимума рельеф функции всегда котловинный. Этот вид рельефа наиболее благоприятен.

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

( ) ( ) ( ) 1100, 222 xxyyxf −+−= ,

).1 ,1(=∗xr

а

б

в

Рис. 2.1. Типы рельефа: а – котловинный; б – овражный; в – неупорядоченный

Page 23: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

21

Неупорядоченный тип рельефа (см. рис. 2.1, в) характеризуется наличием многих максимумов, минимумов и седловых точек.

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

Метод покоординатного спуска – простейший из методов ну-левого порядка. Идея метода состоит в следующем. Выбирается ну-

левое приближение 0xr . Затем фиксируются значения всех координат 0

ix , i = 2,…,n, кроме первой ( 1x ). Функция становится одномерной:

( ) ( )11 xfxf =r

; её минимум находят с помощью одного из методов

одномерной минимизации (если для определения ( )11min xf ис-пользуют метод парабол, то рассматриваемый метод, строго говоря,

уже не нулевого порядка). В полученной точке 1xr фиксируют значе-ния всех координат, кроме 2x , и находят минимум по этому направ-лению. После перебора всех координат один цикл заканчивается. За-вершение одного цикла совсем не гарантирует попадания в точку ми-нимума (рис. 2.2, а), поэтому циклы повторяют до сходимости. Этот метод сходится линейно, но не всегда к истинному минимуму. Если при овражном рельефе поиск приводит на дно оврага, то движение по любому координатному направлению не сможет вывести оттуда, так как будет соответствовать подъёму.

Page 24: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

22

а б

Рис. 2.2. Иллюстрация метода покоординатного спуска: нахождение минимума за два цикла (а); «зависание» метода (б)

Имеются разновидности этого метода, в которых поиск по каж-

дому координатному направлению проводят не до точки минимума, а путём сдвижки на некоторый шаг jh .

Алгоритм:

0. Выбираем начальное приближение 0xr и шаги jh вдоль каждо-

го направления jer , где jer – единичные орты в направлении оси jx .

Вычисляем значение ( )0xf r.

1. Каждую переменную изменяем по очереди на величину шага.

Вычисляем ( )110 ehxf rr+ . Если это приводит к уменьшению функции,

то переходим в эту точку. В противном случае вычисляем

( )110 ehxf rr− . Если это значение меньше ( )0xf r

, то 0xr заменяем на

110 ehx rr− . Иначе точка 0xr остаётся неизменной. После этого рас-

сматриваем изменения в направлении осей x2, x3,…, xn. В результа-

те получаем новую точку 1xr .

2. Если 01 xx rr≠ , процедуру 1 повторяем. Если 01 xx rr

= (т.е. никуда не сдвинулись), то необходимо уменьшить длины шагов jh и

вновь перейти к этапу 1.

А(x0, y0)

B(x1, y0)

C(x1, y1)D

(x0, y0)

(x*, y*)

Page 25: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

23

Это упрощённое описание алгоритма. Чтобы он работал более быстро и надёжно, необходимы различные дополнения к нему, как, например, в методе Хука - Дживса.

Метод Хука - Дживса (метод конфигураций) состоит из после-довательности шагов исследующего поиска вокруг базисной точки, за которым в случае успеха следует поиск по образцу. Сначала выби-рают исходную базовую точку пространства проектирования и вели-чины шагов, которые будут использованы при исследовании функции. Затем выполняют исследование с заданными приращениями в на-правлениях, соответствующих всем независимым переменным. Туда, где получено уточненное значение функции (т.е. наименьшее из всех найденных значений), помещают новую временную базовую точку. После этого следует «поиск по образцу» – экстраполяция вдоль ли-нии, соединяющей новую и прежнюю базовую точки, и исследование в окрестности найденной точки – точки образца. Если точка образца или одна из соседних с ней точек имеет преимущество перед други-ми, то процедуру повторяют с использованием лучшей точки в каче-стве базовой. Метод эффективен при отыскании экстремумов на ги-перповерхностях, содержащих глубокие узкие впадины, т.е. когда градиентные методы «зависают».

Алгоритм метода Хука - Дживса:

0. Выбираем исходную базовую точку 0xr и величины шагов ih

(они могут быть неодинаковыми для различных компонент xr ). 1. Дискретно увеличиваем (уменьшаем) координаты ix .

2. Новую временную базовую точку помещаем туда, где получено уточнённое значение функции.

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

( )ki

ki

ki

ki xxxx −+= +++ 111

0, α ,

где 1≥α – коэффициент усиления, 10,+k

ix – новая временная базовая

Page 26: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

24

точка или “точка роста”. Этап 3 продолжаем до тех пор, пока поиск в данном направлении приводит к точкам xr с меньшим значением функции ( )xf r

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

Если последовательно уменьшаемый шаг становится меньше некоторой заранее заданной величины ε и при этом отсутствует за-метное изменение значения функции, поиск прекращается.

Достоинства метода Хука - Дживса: 1. Позволяет (поиском во время фазы исследования) восстанав-

ливать направление движения вдоль оврага в тех случаях, когда вследствие искривления оврага установленная ранее конфигурация теряется.

2. Не требует знания целевой функции в явном виде (например, в технических задачах система может быть описана рядом связанных между собой уравнений подсистем; метод конфигураций требует лишь описания динамики подсистем и связей между ними).

3. Позволяет учитывать как ограничения, накладываемые на от-дельные переменные, так и сложные ограничения, накладываемые на область поиска (например, изолированные запрещённые области).

4. Прост для программирования. Недостаток метода конфигураций заключается в том, что он мо-

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

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

Page 27: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

25

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

Такой алгоритм обеспечивает систематическое смещение центра симплекса в направлении экстремума целевой функции. Известен и более сложный метод – метод Нелдера - Мида, в котором помимо поиска вершин новых симплексов происходит сжатие или расшире-ние их ребер.

Метод Нелдера - Мида. Один из наиболее быстрых и надежных неградиентных методов многомерной оптимизации. Идея метода со-стоит в следующем. В пространстве оптимизируемых параметров ге-нерируется случайная точка и строится n-мерный симплекс с центром в этой точке и длиной стороны l. В каждой из вершин симплекса вы-числяют значение оценки (целевой функции). Затем выбирают вер-шину с наибольшей оценкой, вычисляют центр тяжести остальных n вершин и оптимизируют шаг в направлении от наихудшей вершины к центру тяжести остальных вершин. Эту процедуру повторяют до тех пор, пока не окажется, что оптимизация не изменяет положение вер-шины. После этого выбирают вершину с наилучшей оценкой и вокруг нее снова строят симплекс с меньшими размерами (например l/2). Процедуру продолжают до тех пор, пока размер симплекса, который необходимо построить, не станет меньше требуемой точности.

Page 28: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

26

Алгоритм метода Нелдера - Мида:

1. Выбирают начальную точку 0xr и начальный симплекс. Вычис-ляют значения целевой функции в его вершинах. Из полученных зна-чений выбирают наихудшее Рхудш и наилучшее Рлучш. Определяют положение центра симплекса P , исключая наихудшую точку. Отра-женную точку Р* находят по формуле

( ) худш1 PPP αα −+=∗ ,

где α – положительная постоянная, называемая коэффициентом отражения.

2. Если точке Р* соответствует лучшее из найденных значений целевой функции, то следующую точку определяют по выражению

( )PPP γγ −+= ∗∗∗ 1 ,

где γ – заранее выбранная постоянная – коэффициент расширения

(γ > 1). 3. Если значение целевой функции в точке Р** лучше ее значе-

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

4. Если ранее найденная точка Р* хуже Рлучш , но лучше Рхудш, то точку Рхудш заменяют на Р*, в противном случае она остается неиз-менной. После этого по формуле

( )PPP ββ −+=∗∗ 1худш

определяют положение точки сжатия, где β – коэффициент сжатия

(1 > β > 0). 5. Если точка Р** более удачная, чем Рхудш, то в дальнейшем ею

заменяют Рхудш. В противном случае, прежде чем продолжить итера-ции, все Рi заменяют на новые:

( ) 2лучшст нов PPP ii += .

Page 29: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

27

Данный алгоритм обладает достаточной гибкостью, позволяю-щей учитывать топологические свойства поверхности, описывае-мой целевой функцией. Симплексы вытягиваются в направлении на-клона плоскостей, их оси поворачи-ваются при встрече с впадиной на поверхности функции ( )xf r

, вблизи экстремума они сжимаются.

Процесс минимизации квадра-тичной целевой функции двух пе-

ременных ( ) ( ) 221, yxyxf +−= (рис. 2.3) по методу Нелдера - Мида показан на рис. 2.4.

0 1 3 4

2

1

1

2

3

(x*,y*)

Рис. 2.4. Последовательность симплексов при поиске минимума квадратичной целевой функции ƒ(x, y)

Рис. 2.3. Целевая функция

Page 30: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

28

Градиентные методы – методы первого порядка, в которых для определения направления поиска используют градиент функции

( )xf r∇ , qrad f:

( ) ( )∑= ∂∂

=∇n

i xii x

xfexf1

00r

rrr

,

где ier – единичные направляющие вектора вдоль осей координат.

Известно, что градиент указывает направление наискорейшего возрастания функции. Следовательно, противоположное направле-ние – это направление наискорейшего убывания функции и именно вдоль вектора антиградиента ( )xf r

∇− ведется поиск минимума. Все градиентные методы поиска экстремума строятся на двух

свойствах градиента: − так как в точке экстремума все производные равны нулю, то

( ) 0=∇ ∗xf r;

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

Следующую точку 1+kxr выбирают по отношению к предыдущей kxr в направлении ( )kxf r

∇− , т.е. ( )kkk xftxx rrr∇−=+1 , где t – поло-

жительная скалярная величина. В различных вариантах градиентного метода применяют различные способы выбора t.

Если t определяют путём решения одномерной задачи миними-

зации ( )( )kk xftxf rr∇−min , то вариант градиентного метода называ-

ется методом наискорейшего спуска. В качестве 1+kxr выбирают

такую точку, расположенную в направлении ( )kxf r∇− , в которой це-

левая функция принимает минимальное значение. Затем находят

значение вектора-градиента в точке 1+kxr и повторяют процедуру. Рассмотрим задачу минимизации квадратичной целевой функ-

ции. Из геометрической интерпретации (рис. 2.5) видно, что луч ( )xftx rr

∇− , выходящий из исходной точки в направлении антигради-ента, не приводит к минимизации за один шаг.

Page 31: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

29

Приближение к точке минимума происхо-дит зигзагообразно, взаимно перпендикуляр-ными шагами. Каждый спуск кончается в точ-ке, где его направление касается линии (по-верхности) уровня, поскольку необходимое условие экстремума ( ) 0 =′ tf одномерной функции совпадает с уравнением касательной к линии уровня. Следующий спуск идёт по на-правлению антиградиента к линии уровня в данной точке, т.е. перпендикулярно предыду-щему направлению. В двухмерном случае это означает, что метод наискорейшего спуска совпадает с методом покоординатного спуска, если систему координат повернуть так, чтобы ось x′0 стала парал-лельна ( )xf r

∇ в начальной точке. Метод Ньютона – метод второго порядка, является прямым

обобщением метода отыскания корня уравнения ( )tφ = 0, где ( )tφ – функция скалярной переменной (метод касательных). При решении n-мерной задачи минимизации требуется определить корни уравне-ния ( )xf r

∇ = 0. Разложим это уравнение в ряд Тейлора:

( ) ( ) ( )( ))()1()()()1( H0 kkkkk xxxxfxf rrrrr−+∇≈∇= ++ ,

где H – матрица Гессе:

( ) ( )⎥⎥⎦

⎢⎢⎣

∂∂∂

=)(

2)(H

kji

k

xxxxfx

r

rr

, i, j = 1,…, n.

Последовательность )(kxr рассчитывают по формуле

( ) ( ))()(1)()1( H kkkk xfxxx rrrr∇−= −+

при условии, что существует обратная матрица Гессе H−1. Недостаток метода Ньютона – его трудоемкость, связанная с не-

обходимостью вычисления вторых производных целевой функции и с обращением (n×n) матрицы Гессе. Метод может расходиться, если целевая функция не является строго выпуклой и начальное прибли-жение достаточно далеко отстоит от минимума.

−∇f(x0)

x* x1

x2

Рис. 2.5. Выбор направления поиска

Page 32: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

30

Постановка задачи Разработать и реализовать в среде MathCAD алгоритмы мини-

мизации функции двух переменных (согласно заданному варианту): – методом наискорейшего спуска; – методом покоординатного спуска. Сравнить эффективность работы данных алгоритмов. Критерии

эффективности выбрать самостоятельно. Точность вычислений для всех вариантов ε ≤ 0,01.

Контрольные вопросы 1. Назовите типы рельефа функций. Как влияет топология по-

верхности целевой функции на выбор алгоритма оптимизации? 2. Напишите общую формулу выбора очередного приближения. 3. Как определяется длина шага и направление поиска в изучен-

ных методах многомерной минимизации? 4. В каких случаях приемлемые направления поиска являются

недопустимыми? 5. Перечислите достоинства и недостатки известных методов

многомерной минимизации. 6. Как проверить, найден ли глобальный минимум целевой

функции или же алгоритм “завис” вблизи локального минимума?

Варианты заданий

Номер варианта f (x, y) Номер

варианта f (x, y)

1 x2 + 4x + y2 + 2y + 1 5 x2 + 6x + y2 – 4y + 5

2 x2 – 4x + y2 + 2y + 2 6 x2 + 6x + y2 – 2y + 6

3 x2 – 2x + y2 + 4y + 3 7 x2 – 4x + y2 + 6y + 7

4 x2 – 2x + y2 – 4y + 4 8 x2 – 8x + y2 – 6y + 8

Page 33: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

31

Лабораторная работа 3

ОПТИМИЗАЦИЯ ПАРАМЕТРОВ РАДИОЭЛЕКТРОННЫХ УСТРОЙСТВ

Цель работы: – изучить оптимизационные методы поиска экстремума с учетом

ограничений, налагаемых на проектные параметры; – научиться формировать простые и составные целевые функ-

ции; – получить практические навыки реализации оптимизационных

алгоритмов в системе MathCAD; – определить оптимальное значение проектного параметра по

критерию соответствия требуемой амплитудно-частотной характери-стике в заданном диапазоне частот.

Теоретические сведения

В задачах синтеза пассивных цепей величины отдельных пара-метров L, R и С ограничены: ( ) 0 ,, ≤LCRgi . Например, ограниче-

ние 1 ≤ RС ≤ 100 можно записать в виде (100 – RС)(1 – RС) ≤ 0. Таким образом, задача оптимизации формулируется как оптимизация за-данной целевой функции (в зависимости от выбранного критерия ка-чества) при условии выполнения ряда заданных ограничений.

Рассмотрим задачу построения системы, обладающей заданной выходной реакцией (например, частотная характеристика). Требуемая частотная характеристика ( )ωdF должна быть задана ли-

бо аналитически, либо в виде таблицы. Фактическую частотную ха-рактеристику при значениях параметров L, R, С вычисляют как функ-цию ( )CRLF ,,;ω при дискретных значениях частоты iω , i = 1,…, m.

Как выразить математически, насколько эти две кривые (Fd и F) близки друг к другу? Как и при измерении расстояния между двумя кривыми, можно ввести различные меры близости двух функций:

Page 34: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

32

1) ( ) ( ) pm

i

piiddp FFFFd

1

1, ⎥

⎤⎢⎣

⎡−= ∑

=, где p – положительное целое

число; 2) ( ) iid

mid FFFFd −=

≤≤∞

1max, – это pdlim при p → ∞.

При малых значениях p две кривые отделены друг от друга большим расстоянием в том случае, если они различаются на большом интер-вале ω (рис. 3.1, кривые 1, 2). Когда p увеличивается, расстояние между двумя кривыми всё в большей мере будет определяться мак-симальным расхождением двух характеристик (рис. 3.1, кривые 1, 3).

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

( ) ( ) ( )[ ]∑=

=m

iiid CRLFFCRLf

1,, ; ,,, ωωφ ,

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

Рис. 3.1. К определению мер близости функций:

1 – требуемая характеристика, 2, 3 – различные фактические кривые

32

1

ω

F(ω)

Page 35: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

33

Рассмотрим численные методы отыскания экстремума нелиней-ной функции при нелинейных ограничениях:

( ) ( )( )( )⎪

⎪⎨

=≤===

.1,0;1,0

;,,,min 1

pjxmix

xxxxf

j

i

n

Kr

Kr

Krr

ψϕ (3.1)

Условия типа равенств выделяют в пространстве nR некоторую (n–m)-мерную поверхность, поэтому должно выполняться условие m < n. Условия типа неравенств выделяют n-мерную область, огра-ниченную гиперповерхностями ( )xj

rψ = 0, поэтому число этих усло-

вий может быть любым. Таким образом, задача (3.1) – это задача отыскания экстремума в (n–m)-мерной области, причём в общем слу-чае минимум может реализовываться как внутри области, так и на её границе. Как правило, вид дополнительных условий достаточно сло-жен, поэтому исключить их и вести поиск прямо в (n–m)-мерной об-ласти не удаётся, чаще всего приходится вести поиск во всём n-мерном пространстве и при этом учитывать ограничения.

В численных методах для нелинейных задач с ограничениями есть два подхода: первый – состоит в том, чтобы, непосредственно контролируя соблюдение ограничений задачи, двигаться к её опти-муму по последовательности допустимых или “почти допустимых” то-чек. Это методы спуска (или градиентные методы). Второй подход заключается в сведении задачи на условный экстремум к последова-тельности задач безусловной оптимизации для специальных вспомо-гательных функций. Это методы штрафных функций, они отлича-ются простотой реализации и сильными свойствами сходимости.

Рассмотрим задачу поиска минимума ( )xf r на некотором огра-

ниченном множестве nRX ∈ . Формально она эквивалентна задаче безусловной минимизации ( ) ( ) ( )Xxxfxf rrr δ+=~

, где ( )Xxrδ – так

называемая индикаторная функция

( )⎩⎨⎧

∉∞+∈

=.,;,0

XxXx

Xx r

rrδ (3.2)

Page 36: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

34

Если Xx∈r ,то ( ) ( )xfxf rr≡~

, если Xx∉r , то при таких xr ( )xf r не

может иметь минимум; следовательно, ( ) ( )xfxf XxXxrr

rr∈∈ ≡min~min .

Определение (3.2) функции ( )Xxrδ не является конструктивным.

Однако, если X задано ограничениями типа равенств или неравенств, можно построить конкретные штрафные функции ( )Xxk

rδ , такие, что nRx∈∀

r ( ) ( )XxXxkk

rr δδ =∞→

lim .

Тогда ( ) ( ) ( ) Xxxfxf kXxkXx

rrrrr

δ+=∈∞→∈

min limmin .

Существует два типа методов штрафных функций – внутренние (барьерные) и внешние.

Методы барьерных функций. Если допустимое множество X задано только ограничениями-неравенствами ( )xj

rψ ≤ 0, причём су-

ществуют точки, в которых все ( )xjrψ < 0, то в качестве внутренних

штрафных функций применяют функции вида

( ) ( )∑=

−=p

j jkk x

rXx1

1r

r

ψδ

или

( ) ( )[ ] ∑=

−−−=p

jjkk xrXx

10 ; lnmax rr ψδ ,

где kr – параметры штрафа – положительные числа, такие, что,

kk

rlim∞→

= 0, например: 1−= krk , kkr

−= 10 .

Алгоритм

1. Выбирают внутреннюю точку 0xr , в которой ( )0xjrψ < 0, и по-

следовательность коэффициентов kr → 0.

2. При k = 1, 2,… начиная с 1−kxr решают любым допустимым способом задачу безусловной минимизации функции

( ) ( ) ( )Xxxfxf krrr δ+=~

.

Page 37: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

35

В результате находят очередное приближение kxr . Предел ∗

∞→= xxk

k

rrlim совпадает с точкой минимума исходной функции, при-

чём все приближения kxr будут находиться строго внутри X. Методы внешних штрафных функций применимы к более

широкому классу задач с ограничениями как в форме неравенств, так и равенств.

Штрафы ( )Xxkrδ , сходящиеся при k → ∞ к индикаторной функ-

ции, строят так, чтобы k∀ выполнялись условия: ( )Xxkrδ = 0 для

Xx∈r и ( )Xxkrδ > 0 для Xx∉r .

Обычно полагают ( ) ( )xrXx kkrr

Φ=δ , kr → ∞ при k → ∞.

В качестве ( )xrΦ берут функции вида

( ) ( )[ ] ( )∑ ∑= =

+ +=p

j

m

iij xxx

1 1

ξξϕψ rrr

Φ ,

где ξ – фиксированное натуральное число (обычно1 или 2), ( )xjr+ψ –

“срезка” функции ( )xjrψ , т.е. ( ) ( ) 0 ;max xx jj

rr ψψ =+ .

Алгоритм решения задач с использованием метода внешних штрафных функций аналогичен алгоритму метода барьерных функ-ций, за исключением того, что движение происходит извне, т.е. из-за границ допустимой области. Это различие показано на рис. 3.2. Для примера рассмотрим задачу минимизации функции ( ) xxf = при

0≥x . Очевидно, что минимум этой функции достигается на границе допустимого множества x = 0. В качестве ограничителя области вы-ступает функция ( ) xx −=1ψ . По методу барьерных функций выберем

1−= krk , ( ) ( )xrXx kk

1

δ −= . Тогда ( )kx

xxfk1~ += . Точку минимума

определим из условия ( ) 0~ =′ xfk , 01 →= kxk при k → ∞.

В методе штрафных функций положим krk = , ξ = 2. Тогда

( ) [ ]2;max~ 0 xkxxfk −+= , ( ) [ ] 0;max21~ =−−=′ 0 xkxfk и kxk 21−= .

Page 38: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

36

xx1x2

f xk( )

xx1 x2

f xk( )

а б Рис. 3.2. Примеры последовательностей вспомогательных функций

для методов внутренних (а) и внешних (б) штрафных функций Полученная на k-й итерации точка экстремума может лежать за

пределами X. Поэтому после завершения счета необходимо прове-

рить допустимость решения Xxk ∈r

и, если Xxk ∉r

, скорректировать полученную точку, например, спроектировать её на границу X.

Таким образом, в методе штрафных функций ограниченную функцию ( )xf r

заменяют составной неограниченной целевой функ-

цией ( )xf r~, которая образуется путем сложения целевой функции

рассматриваемой задачи и штрафной функции, учитывающей задан-ные ограничения. Если все ограничения удовлетворяются, то функ-ции ( )xf r~

и ( )xf r имеют один и тот же минимум. Если хотя бы одно

условие не удовлетворяется, то составная целевая функция ( )xf r~

приобретает бесконечно большие значения, весьма далекие от ми-нимального значения ( )xf r

. Тем самым на каждое решение, не удов-летворяющее поставленным условиям, «налагается штраф».

Простыми примерами составных целевых функций являются функции вида

( ) ( ) ( )∑=

+=p

jjj xAWxfxf

1 ~ rrr ψ ;

( ) ( ) ( ) 2

1][~ xAWxfxf j

p

jj

rrr ψ∑+==

,

Page 39: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

37

где W – большое число, например 1020; ( )( )⎩

⎨⎧

≤>

=.00,01

xx

Aj

jj r

r

ψψ при при

Постановка задачи

1. Объект исследования задан передаточной функцией K(p) (ва-

рианты согласно табл. 3.1); p – оператор Лапласа: fip π2= .

2. Выходной параметр объекта – значение коэффициента усиле-ния. Так как объект динамический, то значение выходного параметра зависит от частоты f входного сигнала и представляет собой ампли-тудно-частотную характеристику (АЧХ). Дискретные значения тре-буемой АЧХ приведены в табл. 3.2.

В прил. 2 представлены примеры программ MathCAD для опти-мизации RC-цепочки по критерию соответствия требуемой АЧХ в диапазоне частот от 0 до 1 кГц. Данные программы реализуют алго-ритм метода Хука - Дживса для безусловной минимизации функций одной и двух переменных.

Исходные данные для проектирования RC-цепочки: – требуемые значения АЧХ (при частоте fi = 0, 100,…,1000 Гц)

заданы в виде массива данных AKi, i = 0,…,10; – фактическая АЧХ

( )fRCi

CRfKπ211,,

+= ,

для случая оптимизации по одному параметру (R) значение емкости

принято равным С = 10−6 Ф.

Предварительно должны быть выбраны базисная точка (Bx) и шаг изменения H для проектного параметра (параметров).

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

Page 40: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

38

Порядок выполнения

1. Для заданного варианта устройства сформировать целевую функцию как функцию значений проектных параметров по критерию совпадения расчетной АЧХ (K0j, j = 0,…,100) с требуемой формой частотной характеристики (массив AKi, i = 0,…,10). Критерий совпа-дения кривых требует минимального отклонения заданной кривой от фактической. Целевую функцию в этом случае можно определить по формуле наименьших квадратов:

( )∑ −=j

jj KAKTF 20 . (3.3)

Задача вычисления целевой функции включает в себя вопросы аппроксимации: чем адекватнее аппроксимационная кривая АЧХ, по-строенная на узловых точках AKi, тем больше вероятность адекват-ной оценки отклонения фактической АЧХ от требуемой. Промежуточ-ные точки таблично заданной функции рассчитывают по интерполя-ционной формуле Лагранжа

( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( ) ( )k

n

k nkkkkkkk

nkkn xf

xxxxxxxxxxxxxxxxxxxxxP ∑

= +−

+−

−−−−−−−−−−

=0 1110

1110......

.

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

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

Контрольные вопросы

1. Как формируют и аппроксимируют целевые функции? 2. Изложите идею методов условной оптимизации. 3. В чем сходство и различие между штрафными и барьерными

функциями? 4. Как выбрать наиболее эффективный алгоритм для оптими-

зации при наличии ограничений на проектные параметры?

Page 41: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

39

Варианты заданий

Таблица 3.1 Номер

варианта Передаточная функция объекта Параметры

1 ( )21121

2121RRCRpR

RCRpRpK++

+= 1R = 104, 2R = 103, 1C = x

2 ( ) ( ) 1121

12++

=CRRp

CpRpK 1R = 10, 2R = 1000, 1C = x

3 ( ) ( ) 11

121

12++

+=

CRRpCpRpK 1R = 104, 2R = 103, 1C = x

4 ( )1

1

11112 ++

=CpRLCp

pK 1R = 1, 1C = 10–4, 1L = x

5 ( )11111

21111

2

++

+=

CpRLCpCpRLCppK 1R = 5, 1C = 10–4, 1L = x

6 ( )211

21RRpL

RpLpK++

+= 1R = 10, 2R = 2, 1L = x

7 ( )211

2RRpL

RpK++

= 1R = 1, 2R = 10, 1L = x

8 ( ) ( ) 1211

11++

=CCpR

CpRpK 1R = 2·103, 1C = 10–7, 2C = x

Таблица 3.2

Значения АЧХ на частотах fi Номер варианта 0 Гц 250 Гц 500 Гц 750 Гц 1000 Гц

1 0,09 0,97 0,99 1,00 1,00 2 0,00 0,84 0,94 0,97 0,98 3 1,00 0,15 0,11 0,10 0,09 4 1,00 5,21 0,29 0,11 0,06 5 0,00 1,82 1,19 1,08 1,04 6 0,17 0,98 0,99 1,00 1,00 7 0,91 0,52 0,30 0,21 0,16 8 0,00 0,94 0,98 0,99 1,00

Page 42: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

40

Лабораторная работа 4

МЕТОД ВЕТВЕЙ И ГРАНИЦ

Цель работы: – ознакомиться со спецификой численных методов дискретной

оптимизации и структурой метода ветвей и границ; – получить решение типовой задачи о коммивояжере с помо-

щью метода ветвей и границ.

Теоретические сведения

Задача ( )→xf r min (max), Xx∈r (4.1) называется задачей дискретной оптимизации, если либо само допус-

тимое множество nRX ∈ дискретно (т.е. является конечным или счетным множеством без предельных точек), либо только некоторые из координат вектора xr= (x1,…,xn) принимают дискретные значения на числовой оси. Часто допустимое множество задачи дискретной оп-тимизации имеет вид

( ) ( ) mkixkixDxX ii ,,1,0;,,1,0 Kr

Krr

+=≤==∈= ψϕ ,

где nDDDD ×××= K21 , причем K,2,1,0 ±±⊂ jD Jj∈∀ и

RDj = Jj∉∀ , J – некоторое подмножество множества 1,…,n.

Например Jj∈∀ : K,2,1,0 ±±= jD , K,2,1,0 =jD , 1,0 =jD .

Это означает, что координата xj может принимать только целые, на-туральные или булевы значения.

Задачу (4.1) с указанным множеством X называют задачей дис-кретного программирования. Если целевая функция ( )xf r

и функции

( )xirϕ , ( )xj

rψ , задающие ограничения, – линейны, то задачу (4.1) при

J = 1,…, n называют целочисленной задачей линейного програм-мирования (при J ≠ 1,…, n – частично целочисленной). Если

Page 43: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

41

Dj = 0, 1, то это (частично) булева задача линейного программиро-вания. С задачами дискретной оптимизации часто сталкиваются во всех сферах практической деятельности.

Пример 1. Выбор оптимальной структуры автоматической системы управления (АСУ). Пусть АСУ состоит из n звеньев и пред-назначена для решения m задач; aij – затраты ресурсов на выполне-ние i-й задачи в j-м звене; bj – ресурсы j-го звена. Структура АСУ за-дается матрицей xij, i = 1,…, m, j = 1,…, n, где xij = 1, если i-я за-дача выполняется в j-м звене, и xij = 0 – в противном случае.

Необходимо выбрать структуру АСУ, для которой совокупные за-траты минимальны. Это приводит к булевой задаче линейного про-граммирования

∑ ∑= =

→m

i

n

jijij xa

1 1min , ∑

=≤

m

ijijij bxa

1, ∑

==

n

jijx

11 , 1,0 ∈ijx .

Целевая функция описывает суммарные затраты. Ограничения-неравенства задают границы затрат (затраты в каждом j-м звене не могут превосходить имеющихся ресурсов). Ограничения-равенства означают, что АСУ должна решать все m задач.

Пример 2. Задача о коммивояжере. Имеется n городов, прону-мерованных числами 1,…, n. Для любой пары городов (i, j) задано расстояние cij ≥ 0 между ними (cij может означать не только расстоя-ние, но и время, путевые расходы и пр., поэтому в общем случае не предполагается, что cij = cji). Выехав из исходного города, коммивоя-жер должен вернуться в него, побывав во всех остальных городах ровно один раз. В качестве исходного может быть выбран любой го-род. Требуется найти маршрут минимальной длины, т.е. минимизи-ровать функцию ( )

13221 iiiiii ncccxf +++= K на множестве X допус-

тимых маршрутов ( )11 ,,, iiix n K= , где ( )nii ,,1 K – произвольная пе-

рестановка чисел 1,…, n. Множество X содержит n! элементов, по-этому решить задачу методом полного перебора при достаточно больших n нереально.

Page 44: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

42

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

Допустим, необходимо решить задачу отыскания минимума функции ( )xf r

, Xx∈r . В зависимости от специфики задачи выбирают

конкретный способ вычисления оценок снизу ( )Xd ′ целевой функ-ции на множествах XX ⊂′ (в частности, может быть XX =′ ):

( ) ( )Xdxf ′≥r

, Xx ′∈r

. Оценку снизу часто вычисляют путем релаксации, т.е. замены

задачи минимизации целевой функции по множеству X ′ задачей ми-нимизации по некоторому более широкому множеству. Например, ре-лаксация целочисленной или частично целочисленной задачи может состоять в отбрасывании требования целочисленности.

Также надо определить правило ветвления, состоящее в вы-боре разветвляемого подмножества X ′ из числа подмножеств, на которые к данному шагу разбито X, и выборе способа разбиения X ′ на непересекающиеся подмножества.

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

Page 45: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

43

для подмножеств, образовавшихся после разветвления X ′, не меньше ( )Xd ′ .

При решении релаксированной задачи может оказаться, что: 1) допустимое множество пусто и X ′=∅;

2) значение ( )Xd ′ минимума больше или равно наименьшему из вычисленных значений целевой функции (текущему значению рекор-да) и, следовательно, минимум функции ( )xf r

, Xx∈r достигается

вне множества X ′; 3) найденная точка минимума принадлежит множеству X ′ и,

следовательно, является точкой минимума целевой функции на X ′. Во всех трех случаях X ′ исключается из числа кандидатов на

дальнейшее ветвление. В третьем случае текущее значение рекорда полагается равным минимуму из предыдущего текущего значения и вычисленного значения ( )xf

Xx

rr ′∈min .

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

Решение задачи о коммивояжере методом ветвей и границ Задача состоит в минимизации функции

( )13221 iiiiii n

cccxf +++= K (4.2)

на множестве X допустимых маршрутов ( )11 ,,, iiix nK= , где

( )nii ,,1 K – произвольная перестановка чисел 1,…,n. Далее допус-

тимые маршруты будем называть маршрутами, а переезды комми-

вояжера (i1, i2), (i2, i3),…,(in, i1) – дугами маршрута. Матрицу рас-

стояний обозначим через c = cij, i, j = 1,…, n, cij ≥ 0. Чтобы запре-

тить переезды вида (i, i) , положим cii = +∞, i = 1,…, n.

Page 46: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

44

Если считать города вершинами графа, а переезды (i, j) – его ребрами, то требование найти минимальный путь, проходящий толь-ко один раз через каждый город и приводящий обратно в исходный пункт, можно рассматривать как задачу нахождения гамильтонова контура минимальной длины.

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

Операция приведения. Введем следующие обозначения:

ijnj

i cg÷=

=1

min , ( )iijni

j gch −=÷=1

min , jiijij hgcc −−= . Матрица ijcc =

называется приведенной, операция ее построения – приведением

матрицы c, а величины gi, hj – константами приведения. Приведенную матрицу c получают путем вычитания из всех

элементов каждой строки исходной матрицы c минимального элемен-та этой строки и из всех элементов получившейся матрицы – мини-мального элемента этого столбца. Очевидно, что 0≥ijc и в каждой

строке и каждом столбце c имеется хотя бы один нулевой элемент. Положим

( ) ∑∑==

+=n

jj

n

ii hgXd

11.

Для любого маршрута ( ) Xiiix n ∈= 11 ,,, K

( ) ( ) ( )XdXdcccccxf iiiiiiiiii nn≥+++=+++=

12113221KK , (4.3)

так как в сумме (4.2) содержится ровно по одному элементу из каждой строки и из каждого столбца матрицы c.

Неравенство (4.3) показывает, что d(X) есть оценка снизу для X. Кроме того, после операции приведения длины всех маршрутов уменьшаются на одну и ту же величину d(X). Поэтому оптимальный маршрут, найденный с использованием приведенной матрицы, опти-мален и для исходной задачи.

Page 47: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

45

Ветвление можно представить в виде дерева (рис. 4.1), каждая вершина которого соответствует некоторому мно-жеству маршрутов, являющемуся под-множеством множества X. Начальная вершина соответствует множеству всех маршрутов X. На каждом шаге из числа кандидатов на ветвление выбирают мно-жество X ′ с минимальной оценкой, кото-рое разветвляется на два подмножества

1X ′ и 2X ′ и исключается из числа канди-датов на ветвление.

Подмножество 1X ′ состоит из всех маршрутов множества X ′, не

содержащих некоторой дуги (r, s); подмножество 2X ′ – из всех мар-шрутов, содержащих эту дугу. Ребро дерева, соединяющее вершины

X ′ и 1X ′ , помечают ),( sr , ребро, соединяющее X ′ и 2X ′ , – (r, s). По пометкам на ребрах пути, ведущего в данную вершину, можно вос-становить соответствующее ей множество маршрутов. Для вершины X ′ (см. рис. 4.1) таким множеством будет подмножество всех мар-шрутов из X, которые содержат дуги (i, j), (p, q) и не содержат (k, l).

Пусть c ′ – приведенная матрица, найденная для вершины X ′. Элемент матрицы c ′ , стоящий на пересечении строки и столбца, со-ответствующих городам µ и ν, обозначим ),( νµc ′ . Это не обязатель-

но элемент, стоящий на пересечении µ-й строки и ν-го столбца мат-рицы c ′ , так как в процессе построения c ′ из исходной приведенной матрицы c вычеркивают некоторые строки и столбцы. Матрицу c ′ строят так, что отличный от +∞ элемент ),( νµc ′ содержится в ней

только тогда, когда в X ′ найдется маршрут, содержащий дугу (µ, ν). Способ выбора дуги (r, s) основан на стремлении сделать оценку

( )2Xd ′ поменьше, а оценку ( )1Xd ′ – побольше, чтобы увеличить ве-

роятность выбора для дальнейшего ветвления множества 2X ′ .

X ( , )i j( , )i j

( , )k l

( , )r s

( , )p g ( , )p g

( , )k l

( , )r s X

X 1 X 2 Рис. 4.1. Граф маршрутов

Page 48: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

46

Стремление к уменьшению ( )2Xd ′ приведет к выбору такой дуги

(r, s), для которой ),( src ′ = 0, (4.4)

поскольку все маршруты множества 2X ′ содержат дугу (r, s). Стремление увеличить ( )1Xd ′ приведет к выбору среди дуг,

удовлетворяющих условию (4.4), той, для которой максимально зна-чение функции θ, определяемое по формуле

( ) ( ) ( )νσρµνµθµσσνρρ

,min,min,::

cc ′+′=≠≠

,

( ) ( )νµθθνµ

,max,0),( =′

=c

sr .

Здесь µ, σ – строки, ν, ρ – столбцы матрицы c ′ (строки соответ-ствуют пунктам отправления, а столбцы – пунктам прибытия).

Смысл введения функции θ состоит в том, что величина ( )νµθ ,

является оценкой снизу для длины (по приведенной матрице рас-стояний) любого маршрута из X ′, не содержащего дуги (µ, ν).

Построение приведенных матриц и вычисление оценок

снизу. Матрица расстояний для вершины 1X ′ ),( sr :

⎩⎨⎧

=∞+≠

=′).,(),(,),,(),(),,(

),(1 srsrc

c

νµνµνµ

νµ

Приведенную матрицу 1c ′ получают из 1c′ с помощью операции приведения.

Оценка функции (4.2) на множестве 1X ′ : ( ) ( ) ( )srXdXd ,1 θ+′=′ ,

θ (r, s) = τ, где τ – сумма констант приведения.

Рассмотрим множество 2X ′ . Все маршруты из этого множества

содержат дугу (r, s). Найдем максимальный связанный путь, который принадлежит всем маршрутам 2X ′ . Пусть этот путь начинается в го-

роде m и заканчивается в городе t (может быть, m = r или t = s, или то и другое одновременно). Чтобы запретить подцикл, начинающийся

Page 49: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

47

и заканчивающийся в m, положим 2c′ (t, m) = +∞, остальные элемен-

ты 2c′ полагаем равными соответствующим элементам c′ . При этом

строку, соответствующую городу r, и столбец, соответствующий го-роду s, в матрицу 2c′ не включаем, поскольку все матрицы из 2X ′ со-

держат (r, s). Приведенную матрицу расстояний 2c ′ для вершины 2X ′ получают

из 2c′ с помощью операции приведения.

Оценка функции (4.2) на множестве 2X ′ : ( ) ( ) τ+′=′ XdXd 2 . Формирование списка кандидатов на ветвление. После вы-

числения каждой из оценок ( )iXd ′ , i = 1, 2 следует проверить, не со-

стоит ли множество iX ′ из единственного маршрута. Если в каждой

строке и каждом столбце ic ′ оказалось только по одному элементу,

отличному от +∞, то множество iX ′ содержит единственный мар-

шрут, длина которого равна ( )iXd ′ . В этом случае текущее значение

рекорда (наименьшее из уже вычисленных значений целевой функ-ции) полагается равным минимальному из предыдущего текущего значения и ( )iXd ′ .

Если iX ′ содержит более одного маршрута и ( )iXd ′ меньше те-

кущего значения рекорда, то iX ′ включают в число кандидатов на

ветвление. Начальное значение рекорда равно +∞, а начальный список кан-

дидатов на ветвление состоит из X. Расчет останавливают, если наименьшая из оценок снизу кандидатов на ветвление не меньше те-кущего значения рекорда.

Пример решения задачи о коммивояжере

Дана матрица расстояний 6×6 (табл. 4.1). Необходимо с помо-

щью метода ветвей и границ (алгоритм Литтла) решить задачу о ком-мивояжере (см. пример 2).

Page 50: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

48

Таблица 4.1

i j 1 2 3 4 5 6 1 ∞ 7 16 21 2 17 2 13 ∞ 21 15 43 23 3 25 3 ∞ 31 17 9 4 13 10 27 ∞ 33 12 5 9 2 19 14 ∞ 51 6 42 17 5 9 23 ∞

1. К таблице присоединяем столбец Ui, в котором записываем

минимальные элементы соответствующих строк (табл. 4.2). Вычита-

ем значения Uij из элементов каждой j-й строки матрицы. Таблица 4.2

i j 1 2 3 4 5 6 Ui 1 ∞ 7 16 21 2 17 2 2 13 ∞ 21 15 43 23 13 3 25 3 ∞ 31 17 9 3 4 13 10 27 ∞ 33 12 10 5 9 2 19 14 ∞ 51 2 6 42 17 5 9 23 ∞ 5

2. К полученной матрице присоединяем строку Vj, в которой за-

писываем минимальные элементы столбцов (табл. 4.3). Вычитаем

элементы Vij из соответствующих столбцов матрицы. Таблица 4.3

i j 1 2 3 4 5 6 1 ∞ 5 14 19 0 15 2 0 ∞ 8 2 30 10 3 22 0 ∞ 28 14 6 4 3 0 17 ∞ 23 2 5 7 0 17 12 ∞ 49 6 37 12 0 4 18 ∞ Vj 0 0 0 2 0 2

Page 51: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

49

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

i j 1 2 3 4 5 6 1 ∞ 5 14 17 019 13 2 03 ∞ 8 02 30 8 3 22 04 ∞ 26 14 4 4 3 00 17 ∞ 23 04

5 7 07 17 10 ∞ 47 6 37 12 08 2 18 ∞

4. Находим константу приведения

∑∑==

+=6

1

6

1 jj

ii VUτ = 35 + 4 = 39.

Таким образом, нижняя граница множества всех гамильтоновых контуров – число τ = 39.

5. Находим степени нулей приведенной матрицы. Для этого мыс-ленно заменяем в ней каждый исследуемый нуль на знак «∞» и уста-навливаем сумму минимальных элементов строки и столбца, соот-ветствующих этому нулю. Степени нулей записаны в правых верхних

углах ячеек, для которых cij = 0 (см. табл. 4.4).

6. Определяем максимальную степень нуля. Она равна 19 и со-ответствует ячейке (1, 5). Таким образом, кандидатом на включение в гамильтонов контур является дуга (1, 5).

7. Разбиваем множество всех гамильтоновых контуров 0Ω на два

подмножества: 115Ω и 1

15Ω . Подмножество 115Ω содержит дугу (1, 5),

115Ω – не содержит. Матрицу 1

15Ω с дугой (1, 5) получаем из табл. 4.4

путем вычеркивания строки 1 и столбца 5. Чтобы не допускать обра-зования негамильтонова контура, заменяем элемент (5, 1) на знак «∞» (табл. 4.5).

Page 52: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

50

Таблица 4.5

i j 1 2 3 4 6 2 0 ∞ 8 0 8 3 22 0 ∞ 26 4 4 3 0 17 ∞ 0

5 ∞ 0 17 10 47 6 37 12 0 2 ∞

8. Матрицу гамильтоновых контуров 1

15Ω получаем из табл. 4.4

путем замены элемента (1, 5) на знак «∞» (табл. 4.6).

Таблица 4.6

i j 1 2 3 4 5 6 1 ∞ 5 14 17 ∞ 13 5 2 0 ∞ 8 0 30 8 3 22 0 ∞ 26 14 4 4 3 0 17 ∞ 23 0 5 7 0 17 10 ∞ 47 6 37 12 0 2 18 ∞ 14

9. Выполняем дополнительное приведение матрицы контуров

115Ω : 1

15τ = 0. Нижняя граница множества 115Ω равна ( )1

15Ωd = 39.

10. Находим константу приведения для множества контуров 115Ω :

115τ = 5 + 14 = 19. Следовательно, нижняя граница множества 1

15Ω

равна ( )115Ωd = 39 + 19 = 58.

11. Сравниваем нижние границы под-

множеств 115Ω и 1

15Ω (рис. 4.2).

Так как ( )115Ωd = 39 < ( )1

15Ωd = 58, то

дальнейшему ветвлению подвергаем под-

множество 115Ω .

d = 390

Ω0

Ω115

d = 39115 d = 581

15

Ω115

Рис. 4.2. Ветвление исходного множества

Page 53: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

51

Переходим к ветвлению подмножества 115Ω . Его приведенная

матрица представлена в табл. 4.7. Таблица 4.7

i j 1 2 3 4 6 2 03 ∞ 8 02 8 3 22 04 ∞ 26 4 4 3 00 17 ∞ 04

5 ∞ 010 17 10 47 6 37 12 010 2 ∞

12. Определяем степени нулей матрицы. Претендентами на включение в гамильтонов контур будут несколько дуг: (5, 2) и (6, 3). Для дальнейших расчетов выберем дугу (6, 3). Разбиваем множество

115Ω на два подмножества 2

63Ω и 263Ω (табл. 4.8, 4.9). Чтобы не до-

пустить образования негамильтонова контура, в табл. 4.8 заменяем элемент (3, 6) на знак «∞». Таблица 4.8

i j 1 2 4 6 2 0 ∞ 0 8 3 22 0 26 ∞ 4 3 0 ∞ 0

5 ∞ 0 10 47 Таблица 4.9

i j 1 2 3 4 6 2 0 ∞ 8 0 8 3 22 0 ∞ 26 4 4 3 0 17 ∞ 0 5 ∞ 0 17 10 47 6 37 12 ∞ 2 ∞ 2 8

Page 54: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

52

13. Определяем константы приведения для этих матриц: 263τ = 0,

263τ = 10. Следовательно, ( )2

63Ωd = 39, ( )263Ωd = 39 + 10 = 49.

Так как ( )263Ωd < ( )2

63Ωd , то дальнейшему ветвлению подлежит

подмножество 263Ω . Находим степени нулей матрицы (табл. 4.10).

Таблица 4.10

i j 1 2 4 6 2 03 ∞ 02 8 3 22 022 26 ∞ 4 3 00 ∞ 08

5 ∞ 010 10 47 14. Претендентом на включение в гамильтонов контур является

дуга (3, 2). Разбиваем множество 263Ω на два подмножества 3

32Ω

(табл. 4.11) и 332Ω (табл. 4.12).

Таблица 4.11

i j 1 4 6 2 0 0 8 4 3 ∞ 0 5 ∞ 10 47 10

Таблица 4.12

i j 1 2 4 6 2 0 ∞ 0 8 3 22 ∞ 26 ∞ 22 4 3 0 ∞ 0 5 ∞ 0 10 47

Очевидно, ( )3

32Ωd = 39 + 10 = 49, ( )332

Ωd = 39 + 22 = 61. Следо-

вательно, ветвлению нужно подвергнуть подмножество 332Ω .

Page 55: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

53

15. Переходим к ветвлению подмножества 332Ω . Его приведенная

матрица представлена в табл. 4.13. Таблица 4.13

i j 1 4 6 2 03 00 8

4 3 ∞ 011

5 ∞ 037 37 16. Определяем степени нулей. Претендентом на включение в

гамильтонов контур является дуга (5, 4). Разбиваем множество 332Ω

на два подмножества: 454Ω (табл. 4.14) и 4

54Ω (табл. 4.15).

Таблица 4.14

i j 1 6 2 0 8 4 3 0

Таблица 4.15

i j 1 4 6 2 0 0 8 4 3 ∞ 0 5 ∞ ∞ 37 37

17. Находим оценки снизу: ( )4

54Ωd = 49, ( )454Ωd = 49 + 37 = 86.

Следовательно, очередному ветвлению нужно подвергнуть подмно-

жество 454Ω . Но его матрица имеет размерность 2×2. Поэтому в га-

мильтонов контур следует включить дуги, соответствующие в матри-

це 454Ω нулевым элементам. Это дуги (2, 1) и (4, 6). На рис. 4.3 изображено дерево ветвлений.

Определим полученный гамильтонов контур. В него вошли дуги (1, 5), (6, 3), (3, 2), (5, 4), (2, 1), (4, 6).

Длина контура c15 + c54 + c46 + c63 + c32 + c21 = 2 + 14 + 12 + 5 + 3 + 13 = 49. Так как границы оборванных ветвей больше длины контура

1 – 5 – 4 – 6 – 3 – 2 – 1, то этот контур имеет наименьшую длину.

Page 56: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

54

d = 390

Ω0

Ω115

Ω

Ω

Ω

2

3

4

63

32

54

d = 39115

d = 39263

d = 49332

d = 49454

d = 58115

d = 49263

d = 61332

d = 86454

Ω115

Ω

Ω

Ω

2

3

4

63

32

54

(2,1) (4,6)

Рис. 4.3. Дерево ветвлений

Постановка задачи Решить задачу о коммивояжере методом ветвей и границ. Мат-

рицу расстояний cij выбрать согласно заданному варианту.

Контрольные вопросы 1. В чем заключается специфика задач дискретной оптимиза-

ции? Приведите примеры таких задач. 2. В чем состоит идея метода ветвей и границ? 3. Что означает понятие «релаксация задачи»? 4. Сформулируйте задачу о коммивояжере в терминах теории

графов.

Page 57: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

55

Варианты заданий Вариант 1

i j 1 2 3 4 5 6 1 ∞ 7 16 21 5 172 13 ∞ 21 15 43 233 30 25 ∞ 4 17 9 4 13 10 27 ∞ 33 125 9 40 19 14 ∞ 2 6 42 17 5 10 23 ∞

Вариант 2

i j 1 2 3 4 5 6 1 ∞ 17 16 21 35 5 2 35 ∞ 10 15 43 233 30 25 ∞ 27 7 114 13 10 27 ∞ 33 125 2 40 19 14 ∞ 106 42 17 10 3 23 ∞

Вариант 3

i j 1 2 3 4 5 6 1 ∞ 27 16 21 17 7 2 13 ∞ 21 15 43 233 17 25 ∞ 35 5 104 43 20 27 ∞ 33 135 9 40 19 2 ∞ 246 40 15 5 10 23 ∞

Вариант 4

i j 1 2 3 4 5 6 1 ∞ 34 16 21 25 172 11 ∞ 21 15 43 233 30 25 ∞ 5 17 9 4 13 7 27 ∞ 33 125 9 40 19 14 ∞ 2 6 42 17 5 10 23 ∞

Вариант 5 i j 1 2 3 4 5 6

1 ∞ 34 16 21 25 172 11 ∞ 21 15 43 3 3 30 5 ∞ 25 17 194 7 15 27 ∞ 33 125 9 40 2 14 ∞ 186 42 17 15 3 23 ∞

Вариант 6

i j 1 2 3 4 5 6 1 ∞ 4 16 21 25 172 40 ∞ 21 15 43 233 30 25 ∞ 5 17 224 13 35 27 ∞ 7 125 9 40 2 14 ∞ 296 2 17 15 10 23 ∞

Вариант 7

i j 1 2 3 4 5 6 1 ∞ 27 16 7 35 172 13 ∞ 21 15 43 233 30 25 ∞ 15 5 284 13 10 2 ∞ 33 125 9 40 19 14 ∞ 2 6 42 2 15 10 23 ∞

Вариант 8

i j 1 2 3 4 5 6 1 ∞ 22 6 20 15 382 43 ∞ 21 15 3 233 30 25 ∞ 5 17 104 13 10 27 ∞ 33 125 10 40 14 24 ∞ 2 6 4 17 35 10 23 ∞

Page 58: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

56

Приложение 1

ПРИМЕРЫ РЕАЛИЗАЦИИ МЕТОДОВ ОДНОМЕРНОЙ МИНИМИЗАЦИИ

Построение графика целевой функции f(x) на интервале [-2, 2]. Исходные данные:

n 100:= i 0 n..:= f x( ) exp x( ) x2 1−( )⋅:= min 2−:= max 2:=

xi minmax min−

ni⋅+:= yi f xi( ):=

–10 –2 –1 0 1 2

0

10

20

yi

xi Метод дихотомии (половинного деления)

half a 2−←

b 2←

ξ 0.01←

xsb a+

2←

a if f xs ξ+( ) f xs ξ−( )> a, xs ξ−,( )←

b if f xs ξ+( ) f xs ξ−( )< b, xs ξ+,( )←

xsb a+

2←

b a− 0.1>while

xs

:=

half 0.404= f half( ) 1.253−=

Page 59: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

57

Метод золотого сечения

Golden a 2−←

b 2←

Lb a−1.618

x2 a L+←

x1 b L−←

a if f x1( ) f x2( )> x1, a,( )←

b if f x1( ) f x2( )> b, x2,( )←

Lb a−1.618

xsb a+

2←

b a− 0.1>while

xs

:=

Метод парабол

a 2−:= b 2:= Dy w( )w

f w( )dd

:=

D2y w( ) 2wf w( )d

d

2:=

Parabol i 0←

xi 0←

i i 1+←

xi xi 1−Dy xi 1−( )D2y xi 1−( )−←

xi

Dy xi( ) 0.001>while

:=

Parabol 0.414= f Parabol( ) 1.254−= ξ 0.05:= f Parabol ξ−( ) 1.248−= f Parabol ξ+( ) 1.248−=

Golden 0.43= f Golden( ) 1.253−=

Page 60: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

58

Приложение 2

ПРИМЕР ПРОГРАММЫ ОПТИМИЗАЦИИ ОБЪЕКТА ПО КРИТЕРИЮ СООТВЕТСТВИЯ ЗАДАННОЙ ВЫХОДНОЙ ХАРАКТЕРИСТИКЕ

Исходные данные:

i 0 10..:= j 0 100..:= n 0 10..:= df 10.0:= f j j df⋅:= ffi i 10⋅ df⋅:=

Расчет промежуточных значений требуемой АЧХ

FL p k,( )

i

if i k 1, p ffi−( ),⎡⎣ ⎤⎦∏:=

FLAnAKn

FL ffn n,( ):=

S d( )

n

FLAn FL d n,( )⋅( )∑:=

K j( ) S f j( ):=

Выбор базисной точки и шага изменения параметра Bx 500.0:= H 10.0:= x Bx:=

Определение фактической частотной характеристики

K0 j x,( )1

1 6.28i f j⋅ x⋅ 10 6−⋅+:=

Задание целевой функции

k 0 20, 200..:= T j x,( ) K j( ) K0 j x,( )−( )2:= TF x( )

j

T j x,( )∑:=

axk Bx k H⋅+:=

Ak TF axk( ):= Построение графика дискретных данных требуемой АЧХ

0 2 4 6 8 10 0

0.5

1

AKi

i

AKi

10.8470.6230.4690.37

0.3030.2570.2220.1950.1740.157

:=

Page 61: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

59

Полиномиальная интерполяция требуемой характеристики

0 20 40 60 80 1000

0.5

1

K(j)

j

Построение графиков требуемой АЧХ, фактической АЧХ (при базисном значении проектного параметра x) и целевой функции

0 20 40 60 80 1000

0.5

1

K(j)

K0(j,x)

T(j,x)

j

Зависимость целевой функции от величины проектного параметра x

500 1000 1500 2000 25000

2

4

6

Ak

axk

Page 62: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

60

Программа поиска оптимального проектного параметра по методу Хука - Дживса

OptimX x Bx←

x x H+( )( ) TF x H+( ) TF x( )<if

x H−( )( ) TF x H−( ) TF x( )<if

x otherwise

Px Bx 2 x Bx−( )⋅+[ ]←

Bx x←

H H←

x Bx≠if

HH10

← otherwise

x Px TF Px( ) TF x( )<if

Bx otherwise

TF x( ) 0.1>while

:=

Вывод оптимального значения параметра: OptimX 1.12 103×= Соответствующее значение целевой функции: TF OptimX( ) 0.085=

Оптимизация по двум параметрам xr = (R, C)

Выбор начального приближения Bxi и длины шагов по координа-

там Hi осуществляется из практических соображений с учетом при-емлемых величин проектных параметров R и C, например:

Bxi

100

5 10 7−⋅

:=

Hi

50

10 8−

:=

x Bx:=

Page 63: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

61

OptimX x Bx←

T TF x( )←

X0x0

x1 H1+

⎛⎜⎝

⎠←

X1x0

x1 H1−

⎛⎜⎝

⎠←

X2x0 H0+

x1

⎛⎜⎝

⎠←

X3x0 H0−

x1

⎛⎜⎝

⎠←

x0 x0 H0+( ) TF X2( ) T<if

x0 H0−( ) TF X3( ) T<if

x0 otherwise

x1 x1 H1+( ) TF X0( ) T<if

x1 H1−( ) TF X1( ) T<if

x1 otherwise

Px Bx 2 x Bx−( )⋅+[ ]←

Bx x←

x Bx≠if

HH H←

HHi Hi xi Bxi≠if

Hi 0.1⋅ otherwise

H HH←

x Px TF Px( ) TF x( )<if

Bx otherwise

i 0 1..∈for

TF x( ) 0.001>while

:=

Page 64: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

62

x1 103×

5 10 7−×

⎛⎜⎜⎝

⎠=

OptimX

1.3 103×

7.4 10 7−×

⎛⎜⎜⎝

⎠=

Соответствующее значение целевой функции

TF OptimX( ) 1.062 10 3−×=

Построение графиков требуемой АЧХ (данные изображены точ-ками), АЧХ для начального приближения (R = 100, С = 5×10 − 7) и це-левой функции

0 20 40 60 80 100

0.5

1

AKj

K0 j x,( )

T j x,( )

j Сравнение требуемой АЧХ с частотной характеристикой, полу-

ченной после оптимизации (R* = 1,3×10 3, C* = 7,4×10 − 7)

0 20 40 60 80 100

0.5

1

AKj

K0 j OptimX,( )

j

Page 65: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

63

Библиографический список

Акимов О.Е. Дискретная математика. Логика, группы, графы / О.Е. Акимов. – М. : Изд. дом "Лаборатория базовых знаний", 2003. – 376 с.

Аоки А. Введение в методы оптимизации / А. Аоки. – М. : Наука, 1977. – 344 с.

Банди Б. Методы оптимизации. Вводный курс: пер. с англ. / Б. Банди. – М. : Радио и связь, 1988. – 128 с.

Дегтярев Ю.И. Методы оптимизации: учеб. пособие для вузов / Ю.И. Дегтярев. – М. : Сов. радио, 1980. – 272 с.

Дмитришин Р.В. Оптимизация электронных схем на ЭВМ / Р.В. Дмитришин. – К. : Техніка, 1980. – 224 с.

Новиков Ф.А. Дискретная математика для программистов / Ф.А. Новиков. – СПб. : Изд. дом "Питер", 2002. – 304 с.

Соловьев А.А. Вариационное исчисление и методы оптимизации: учеб. / А.А. Соловьев. – Саров : РФЯЦ-ВНИИЭФ, 2004. – 241 с.

Сухарев А.Г. Курс методов оптимизации / А.Г. Сухарев, А.В. Тимохов, В.В. Федоров. – М. : Наука, 1986. – 328 с.

Шуп Т. Решение инженерных задач на ЭВМ: практическое руко-водство: пер. с англ. / Т. Шуп; под ред. В.Б. Миносцева. – М. : Мир, 1982. – 238 с.

Page 66: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

64

Содержание

Введение..........................................................................................3

Лабораторная работа 1. Сравнение эффективности чис-ленных методов одномерной безусловной минимизации ................10

Лабораторная работа 2. Многомерная безусловная мини-мизация .................................................................................................19

Лабораторная работа 3. Оптимизация параметров радио-электронных устройств ........................................................................31

Лабораторная работа 4. Метод ветвей и границ ...................40

Приложение 1. Примеры реализации методов одномерной минимизации ........................................................................................56

Приложение 2. Пример программы оптимизации объекта по критерию соответствия заданной выходной характеристике ..........58

Библиографический список ..........................................................63

Page 67: New ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИk502.xai.edu.ua/lib/upos/Meth_optim.pdf · 2016. 9. 5. · целевой функцией. Выделяют два варианта

Васильева Ирина Карловна Ельцов Павел Евгеньевич

ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

Редактор В.И. Филатова

Св. план, 2009 Подписано в печать 16.05.2009 Формат 60×841⁄16. Бум. офс. 2. Офс. печ. Усл. печ. л. 3,6. Уч.-изд. л. 4. Т. 50 экз. Заказ 217. Цена свободная Национальный аэрокосмический университет им. Н.Е. Жуковского

"Харьковский авиационный институт" 61070, Харьков-70, ул. Чкалова, 17

http://www.khai.edu Издательский центр “ХАИ”

61070, Харьков-70, ул. Чкалова, 17 [email protected]