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

книги / Основы САПР. CAD CAM CAE

.pdf
Скачиваний:
12
Добавлен:
19.11.2023
Размер:
29.79 Mб
Скачать

272

Глава 9. Оnтимизация

minD(x,pk)=min[x 2 + P1 8(х-1)2J

k

Здесь 8 равно 1 при х < 1 и О для прочих х.

Для любого положительного Pk функция D выпукла вниз (рис. 9.1) и ее мини-

мум находится в точке

1 xk =--.

Pk + 1

Заметьте, что для любого положительного рk эта точка не удовлетворяет огра­

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

При стремлении Pk к нулю последовательность точек xk стремится к х = 1 извне разрешенной области значений х. На практике описанная процедура выполня­ ется численным алгоритмом. Любой численный алгоритм останавливается при удовлетворении некоторого критерия сходимости, поэтому решение, найденное методом внешних штрафных функций, будет оптимальным, но не удовлетво­

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

внешних штрафных функций, который вообще действует только в том случае,

когда ограничения нарушаются (ведь штрафные функции являются внешними

по отношению к области допустимых значений).

1

Pi+1

Рис. 9.1. Дополненная целевая функция

9.2.2. Внутренние штрафные функции

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

внутри области допустимых значений. Это гарантируется барьериой функцией (banier function), которая устанавливает бесконечно большой штраф за пересече­ ние границы области допустимых значений изнутри. Поскольку алгоритм требу­ ет, чтобы внутренняя часть области допустимых значений была не пуста, он не может использоваться для обработки ограничений-равенств1

1 Если задача требует учета ограничений-равенств, пользуются методом смешанных

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

ции для ограничений-неравенств.

9.2. Ограничения

273

Итак, рассмотрим задачу оптимизации

 

 

minF(X)

(9.13)

при условиях

 

 

G;(X) i = 1, 2, ... , т.

(9.14)

Хорошая барьерная функция, создающая •стены>> на границах области допусти­

мых значений, имеет следующий вид:

1

(9.15)

В(Х) = G;(X).

Заметьте, что значения В(Х) стремятся к плюс бесконечности при приближении Х к границе области изнутри, благодаря чему В(Х) и называется барьерной функцией. Чтобы учесть все т ограничений (9.14), мы можем просто поставить в

формуле (9.15) знак суммирования по i. Как и для метода внешних I,IIтрафных функций, дополненная целевая функция определяется выражением

 

D(X,p) = F(X) + рВ(Х),

 

(9.16)

где р -

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

решения

последовательности задач

оптимизации без

ограничений

для

k =О, 1, 2, ..., причем сами задачи даются формулой

 

 

 

 

minD(X,pk) = шin[F(X)+Pk:L--].

(9.17)

 

 

 

1

 

 

 

 

;

G;(X)

 

 

где последовательность положительных

Pk строго

убывает. Оптимальные

зна­

чения Xk для Pk будут сходиться к реальным оптимальным значениям х· при

стремлении Pk I< нулю. Продемонстрируем эту сходимость на следующем примере.

Пример 9.2

Найти минимум функции

F(x)=lx (xeR)

2

при условии, что х- 1 ~О. Оптимальное решение х' = 1, так что нам остается по­

казать, что промежуточные решения, полученные при помощи внутренних

штрафных функций, будут стремиться к этому числу.

Решение

Построим дополненную целевую функцию вида (9.17). Мы должны решить за­

дачу оптимизации без ограничений:

шinD(x,pk)= min [lx +Р•- 1-J.

2 х-1

Отсюда находим точку минимума функции D1:

xk = 1+ ..j2'P;

и значение функции D в этой точке:

D(xk) = l + v2('Р;.

2

1 Чтобы nолучить зt1ачения Xk, продифференцируем функцию D по х, nриравняем nроиз­

водную нулю и решим nолучившесся уравнение относительно х.

9.3. Методы поиска

275

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

странства поиска и оценивая градиент в каждой новой точке. Эта процедура оп­ ределяет направление поиска. Идея та же, что при подъеме на холм: нужно най­

ти наИлучшую точку, поднимаясь по самому крутому склону. Прямые методы

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

дF

дх;

Здесь F - целевая функция, а вектор переменных оптимизации Х составлен из компонент Х;. В качестве примеров методов из этой категории можно назвать метод

скорейшего спуска и метод сопряженных градиентов. Методы из второй катего­

рии используют матрицу Гессе, составленную из частных вторых производных д2F

дх;дхj

помимо первых производных и значений самой функции. Ко второй категории

относится, в частности, метод Ньютона. Ниже мы обсудим идеи, на которых ос­

нованы прямые методы, применимые, вообще говоря, только к ограниченному набору ~хороших• задач. Подробные сведения о методах и решении задач опти­ мизации приводятся в учебниках [62, 119, 6, 131].

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

применимы, поскольку они используют сведения о локальном поведении функ­ ции для перемещения в направлении скорейшего спуска. Направление скорей­

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

алгоритмы этого типа ведут себя плохо, если функция имеет трудносопостави­

мые масштабы по разньrм переменным или для нее неудачно заданы ограниче­

ния. Двумерная целевая функция, для которой алгоритм скорейшего спуска на­ чинает осциллировать и сходится достаточно медленно, представлена на рис. 9.4. На рисунке показаны контуры постоянных значений целевой функции в дву­ мерном пространстве переменных оптимизации. Градиент перпендикулярен та­ кому контуру в любой его точке. В результате направление скорейшего спуска

на каждой итерации оказывается почти перпендикулярным направлению на ми­

нимум.

Рис. 9.4. Осциллирующее поведение алгоритма скорейшего спуска

276

Глава 9. Оnтиt-~изация

 

 

 

Методы скорейшего спуска не учитывают вторые производные, то есть матрицу Гессе целевой функции. Методы Ньютона и модифицированные методы Ньюто­

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

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

В результате, хотя сходимость модифицированных методов Ньютона достаточно

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

новских методов, использующих аппроксимацию матрицы Гессе (на самом деле

обратной к ней матрицы), которая строится по градиентам на каждой итерации.

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

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

раничений. Поэтому квазиньютоновские методы могут использоваться и для ре­

шения задач с ограничениями.

Описанные выше методы в большинстве своем сходятся к локальному миниму­

му целевой функции. Если целевая функция не является выпуклой, не1; никаких

гарантий, что найденный локальный минимум окажется глобальным.1Целевая

функция одномерной задачи с несколькими локальными минимумами показана

на рис. 9.5. Методы перечислеимя (перебора) способны решить такую задачу, по­

скольку они сканируют всю область определения целевой функции и проверяют

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

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

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

этом они просматривают все пространство, а потому с их помощью можно пы­

таться найти глобальный оптимум. Они хорошо распараллеливаются, что позво­

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

вычислительные методы. Наиболее популярными вероятностными алгоритмами

являются алгоритм модельной •закалки• и генетический алгоритм. Эти два ме­

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

шения задач оптимизации во многих приложениях.

F(x)

х

Рис. 9.5. Пример нескольких локальных минимумов

9.4. Метод модельной закалки

277

9.4. Метод модельной закалки

Еще в 1953 году Метрополис с коллегами предложили алгоритм эффективного

моделирования эволюции системы к тепловому равновесию. Почти 30 лет по­

требовалось Керкпатрику, Гелатту и Веччи [85] и Церии [31], чтобы понять, что

между медленным охлаждением твердого тела и минимизацией функции стои­

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

а процесс оптимизации может осуществляться при помощи критерия Метропо­

лиса. Заменив потенциальную энергию системы на стоимость и реализовав алго­ ритм Метрополиса при постепенно понижающейся температуре, Керкпатрик

с коллегами смогли получить алгоритм комбинаторной оптимизации, который

они называли методом модельиой закалкu (siтиlated annealing). С тех пор иссле­

дования этого алгоритма и его приложений образовали отдельную область зна­

ния [97].

9.4.1. Комбинаторная оптимизация

В 50-х и 60-х rr. основные прорывы в исследованиях по оптимизации были

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

приходится выбирать <mучшее~ решение из большого набора возможных реше­

ний. Если переменвые оптимизации могут принимать только некоторые дис­

кретные значения, задача оптимизации будет заключаться в том, чтобы найти лучшую комбинацию этих значений. Такие задачи называются задачами комби­ натор~-tой оптимизации (coтblnatorial optiтization proЬ/ems). Основные результа­

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

дискретных объектов в соответствии с заданными ограничениями. Поэтому

решение называется также коифигурацией (configиration). Набор всех решений

называется пространством решений. Наша задача - разработать эффективные

алгоритмы определения конфигурации, минимизирующей значение функции

стоимости или целевой функции. Примерам комбинаторной задачи оптим~­ зации является хорошо известная задача коммивояжера (traveling salesman рrоЬ/ет - TSP), которая состоит в определении обладающего минимальной стои­

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

раз и возвращающеrося в точку отправления. В этом случае размещаемыми объ­

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

является ограниченнем f158]. Эту проблему можно интерпретировать в терми­

нах обычной оптимизации. Посещаемые города - это переменвые оптимизации,

причем дискретное значение переменной означает номер, под которым данный

город войдет в список посещенных. Упомянутое выше условие может быть вы­

полнено, если на дискретные значения, принимаемые переменными, наложить

некоторое ограничение.

В исследованиях комбинаторной оптимизации были достигнуты значительные успехи. Однако для многих важных комбинаторных задач, встречающихся на практике и классифицированных как NР-полные [52], эффективные алгоритмы

поиска оптимальных решений все еще неизвестны. NР-полными называются за-

278

Глава 9. Оnтимизация

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

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

лительных затрат, экспоненuиально возрастающих с размером задачи. К тому же

эти алгоритмы находят обычно не истинно оптимальные решения, но лишь

близкие к ним [158].

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

вательном улучшении, основанном на методе проб и ошибок. Поиск начинается

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

стоимостью. Алгоритм завершает работу, если он больше не может найти сосед­ ней конфигурации более низкой стоимости. Эта стратегия кажется разумной, но

она имеет один серьезный недостаток: поиск решения оканчивается в ближай­

шем локальном минимуме (рис. 9.6). Решения, которые кажутся удачными по

сравнению с их близкими соседями, не обязательно являются наилучшими в

глобальном смысле. Стандартное итеративное улучшение позволяет лишь спус­ каться с холма, но не подниматься обратно, и потому не гарантирует хорошего результата [158, 134].

Стоимость

Конфигурации

Рис. 9.6. Пространство конфигураций с множеством локальных минимумов

Метод модельной закалки основан на аналогичной стратегии, но существенно

отличается от метода итеративного улучшения тем, что разрешает ограниченный

подъем •вверх• по поверхности функции стоимости. Благодаря этому оказыва­

ется возможным •выбраться• из локального минимума и спуститься в другой, более глубокий [134].

9.4.2. Алгоритм

Статистическая механика изучает поведение сложных систем, состоящих из

большого числа взаимодействующих атомов, находящихся в тепловом равнове­

сии при конечных температурах. Исследователи обнаружили, что вероятность

обнаружить системувнекотором состоянии S равна е-Е<~'>!Itьт, где E(S)- энергия данного состояния, а kь - постоянная Больцмана. Таким образом, наиболее ве­

роятными в тепловом равновесии при любой температуре оказываются состоя­

ния атомов с минимальной энергией [158].

9.4. Метод модельной закалки

279

 

 

 

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

впервые была обнаружена Керкпатриком, Гелаттом и Веччи в 1983 г. [85] и, не­

зависимо от них, Церии [31]. Аналогия хорошо иллюстрируется табл. 9.1. Со­

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

зации. Основные состояния системы соответствуют оптимальным

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

Табпица 9.1. Аналогия между физической системой и задачей оптимизации

 

Физические системы

Задачи оптимизации

 

 

 

 

 

Состояние

Конфигурация

 

Энергия

Функция стоимости

 

 

 

 

 

 

 

Основное состояние

Оптимальное решение

 

 

 

 

Быстрая закалка

Итеративное улучшение

 

 

 

 

Аккуратный отжиг

Модельная закалка

 

 

 

В 1953 г. Метрополис [113] предложил процедуру вычислений, позволяющую

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

ратуре. Алгоритм Метрополиса показан в листинге 9.1. На каждом шаге случай­

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

чего вычисляется изменение энергии системы !!.. Новая конфигурациЯ примима­

ется с вероятностью 1, если 1:!. :S: О, и с вероятностью e-IJ.Ikьт при 1:!. ~О. Для этого выбрасывается случайное число от О до 1. Если оно оказывается меньшим e-tJ.fkьT

новая ·конфигурация принимается. Это обеспечивает заданную вероятность при­

нятия.

Лисrинг 9.1. Алгоритм Метрополиса

begin

Выбрать случайную исходную конфигурацию S:

repeat

S' :• nроизвольно выбранная конфигурация. соседняя с S:

Ll :-Е($') Е($);

Prob :• min(l.e·&tkT):

if random(O.l) s Prob then S := S' Until false:

end:

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

мости или целевой функцией для соответствующей конфигурации. После этого

процедура может использоваться для моделирования процесса оптимизации

комбинаторной задачи с заданной функцией стоимости.

Керкпатрик реализовал данный подход, рассматривая систему при постепенном

пониженин стемпературы•. При каждой конкретной температуре fИСтема вы-

начальное решение SO: начальная .темnература ТО:

280

Глава 9. Оnтимизация

держивается до тех пор, пока она не достигнет теплового равновесия. Это обес­

печивается алгоритмом Метрополиса. Общий алгоритм метода модельной закал­

ки приведен в листинге 9.2. Обратите внимание, что в методе модельной закалки

постоянная Больцмана включена в температуру, так что температурой мы назы­

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

щим параметром процедуры оптимизации.

Лисrинг 9.2. Алгоритм модельной закалки

Ьegin

S :· Т

while (критерий завершения не выполнен) do

begin

while (равновесие не достигнуто) do

begin

S'

:s произвольно выбранная конфигурация. соседняя с S:

t;.

:=

E(S') E(S):

Prob

:· min(l.e·t;./kT):

if random(Q.l) ~ Prob then S :• S':

end:

 

 

Изменить

Т:

 

end:

 

 

Вывести лучшее

решение:

end:

На интуитивном уровне алгоритм модельной закалки можно воспринимать как усовершенствованную версию алгоритма итеративного улу.чшения. Модельная

закалка·добавляет элемент случайности в алгоритм Итеративного улучшения и

разрешает изменения, ухудшающие текущее состояние системы, но дающие воз­

можность попасть в какой-нибудь другой минимум, более глубокий. Эти измене­

ния управляются температурой и становятся все менее вероятными по мере. при­

ближения к окончанию процесса, потому что значение Т снижается (при

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

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

к глобально оптимальному решению с вероятностью 1 при условии, что выпол­

няются некоторые ограничения на количество итераций при каждом значении

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

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

метода модельной закалки используют простой и эффективный подход Керкпат­

рика и других [85] в различных разновидностях.

Метод модельной закалки очень привлекателен, поскольку дает решения высо­

кого качества и в общем случае прост в реализации даже для тех, кто не имеет

хорошего представления о задаче. Однако модельная закалка является скорее

общим методом оптимизации, нежели конкретным, полностыо определенным

алгоритмом. Применеине метода к конкретной задаче требует аккуратности:

1.Нужно сформулировю:ь задачу, точно описав различные конфигурации.

2.Требуется систематически пораждать решения, соседщiе с текущим.

3.Нужно выбрать подходящую функцию стоимости.

9.4. Метод модельной закалки

281

4. Наконе~, важно правильно определить график •закалки•, то есть начальную

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

значении температуры и условие завершения работы алгоритма.

9.4.3. Применеимя алгоритма модельной закалки

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

Оразмещение и соединение компонентов СБИС;

Оразработка компоновочных планов;

Омаршрутизация и оптимизация маршрутов;

Опроектирование размещения;

Одвумерное уплотнение (компоновка);

Оразработка цифровых фильтров;

Ораспознавание образов;

Ообработка изображений.

Мы рассмотрим два примера решения задач оптимизации при помощи алгорит­

ма модельной закалки.

Задача коммивояжера

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

минимальной. Функция стоимости в общем случае связана с суммарной длиной

маршрута коммивояжера.

Поскольку метод модельной закалки требует порождения и оценки множества

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

них конфигураций и их проверки. Модификация имеющегося маршрута (списка

городов в порядке их посещения) обычно осуществляется следующим образом:

Овыбирается произвольная часть текущего маршрута и внутри нее порядок объезда городов меняется на противоположный;

Олибо выбранная часть перемещается в случайное место текущего маршрута.

Четыре конфигурации, полученные в процессе решения задачи коммивояжера

со 100 городами методом модельной закалки, показаны на рис. 9.7. Города распо­ ложены в вершинах правильной решетки. Начальная конфигурация на рис. 9.7, а

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

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

рые ближе к минимуму стоимости. Они становятся менее хаотичными и стои­ мость их уменьшается. Наконец, на рис. 9.7, г показана конфигурация с мини­

мальной стоимостью. Видно, что последовательность объезда городов в этой

конфигурации строго упорядочена [97]. Еще один пример задачи коммивояжера, успешно решенной Керкпатриком и соавторами при помощи модельной закал­

ки, показан на рис. 9.8.

Соседние файлы в папке книги