книги / Основы САПР. CAD CAM CAE
.pdf9.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.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ИСтема вы-
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.