Федеральный портал "Инженерное образование"
электронный журнал ^
ИНЖЕНЕРНОЕ!
ОБРАЗОВАНИЕ
#1 январь 2006 Ред. совет Специальности Рецензентам Авторам English Koi-8 Win
Найти выделенное
Оптимизация проектных решений в САПР на основе эквивалентных преобразований задачи о минимальном покрытии #1 январь 2006
Я. Е. Львович, д-р техн. наук, Г. Д. Чернышева, канд. техн. наук,
И. Л. Каширина, Воронежский государственный технический университет, Воронежский государственный университет
Оптимизация проектных решений в САПР на основе эквивалентных преобразований задачи о минимальном покрытии
Рассматривается класс задач структурного синтеза, возникающих в процессе проектирования сложных объектов. В связи с тем, что из-за большой размерности практических задач существующие алгоритмы отыскания точного решения не являются применимыми, предлагается новый подход к построению и использованию точных и приближенных алгоритмов решений задач данного класса.
В современных условиях нестабильной экономической ситуации повышается роль требования эффективного использования ресурсов, которое может быть обеспечено за счет применения оптимизационных методов. Особенно важным является использование оптимизационных алгоритмов в процессе проектирования объектов. Известно, что эффективность систем автоматизированного проектирования существенно повышается при включении в их состав оптимизационных методов, позволяющих в данной конкретной ситуации получать лучшее из возможных решений [1]. Всегда актуальной является задача выбора оптимальной структуры объекта для реализации заданных функций. Известно, что этап структурного синтеза объектов проектирования является весьма трудоемким, особенно при поиске оптимальных решений. Для получения оптимального варианта структуры проектируемого объекта необходимо наличие его математической модели, представляющей собой формальное описание множества структур объекта на принятом уровне детализации. В этом случае задача структурного синтеза сводится к выбору компромиссного варианта на счетном множестве, причем для решения возникающих логико-комбинаторных задач требуются большие временные затраты. В связи с этим возникает проблема комбинаторного обеспечения систем автоматизированного проектирования. Комбинаторное обеспечение естественно создавать на основе достаточно общих математических моделей, позволяющих единообразно и компактно описывать большие комплексы задач и конструировать пакеты программ для их решения, опираясь на единый
арсенал подходов и приемов. Из множества формализуемых задач структурного синтеза технических объектов существенная их часть может быть сведена к определению экстремального значения целевой функции
при ограничениях:
а = IV О
Здесь А — некоторая булева матрица, т. е. у
Данная задача известна в целочисленном программировании как задача о минимальном покрытии. Свое название задача о минимальном покрытии (ЗМП) получила благодаря следующей постановке. Пусть имеется конечное да-элементное множество X и система п его подмножеств X-, так
и что 3 — 1 3. Требуется найти множество индексов минимальной
X э>еСГ
мощности такое, чтобы набор подмножеств J , покрывал множество X, т. е.
чтобы У С= 17 ]
Для решения этой задачи разработано большое число как точных, так и приближенных методов решения [2, 3]. Все существующие точные алгоритмы связаны с перебором на некотором конечном множестве, задаваемом исходными данными. По объему этого перебора как функции количества исходных данных точные алгоритмы решения ЗМП относятся к экспоненциальным, что делает невозможным их применение для задач с размерностью матрицы более 100. Для практического решения реальных задач используются, как правило, приближенные алгоритмы, среди которых ведущее место принадлежит, так называемым "жадным" алгоритмам. Идея алгоритмов этого типа связана с последовательным построением допустимых вариантов. На каждом алгоритмическом этапе делается попытка достижения некоторой локальной вспомогательной цели (минимизация числа невыполненных ограничений, оптимизация исходной целевой функции и др.) с помощью выбираемых на данном этапе параметров. Локальный подход такого типа не предусматривает попыток оценки ни предыдущих, ни последующих шагов алгоритма. На пути использования таких оценок (например, за счет вычисления средних значений функций) появляются различные модификации "жадных" алгоритмов [4]. Идея любого алгоритма всегда существенно привязана к способу математической формализации задачи. Например, двойственные алгоритмы возникают в результате записи задачи условной оптимизации с помощью функции Лагранжа; большинство приближенных алгоритмов и эвристических приемов могут быть получены как следствие некой перезаписи исходной задачи (эквивалентной или неэквивалентной).
В зависимости от специфики конкретного объекта проектирования на этапе структурного синтеза могут выдвигаться разные требования к качеству решения ЗМП. Например, не всегда является обязательным условие выполнения всех ограничений; иногда требуется найти не оптимальное решение, а вектор, число единиц в котором не
превосходит заданной константы. Кроме того, известно, что на работу большинства алгоритмов решения ЗМП существенно влияет степень преобладания нулей в порожденной матрице покрытия (так называемая разреженность матрицы). В связи с этим схема выбора алгоритма решения для отдельных задач этапа структурного синтеза объектов проектирования может иметь вид, представленный на рис. 1.
Рис. 1. Схема выбора алгоритма решения для отдельных задач этапа структурного
синтеза объектов проектирования
Рассмотрим несколько примеров задач, возникающих в процессе синтеза различных объектов и укажем для них наиболее подходящие способы постановки ЗМП и связанные с ними алгоритмы решения.
1. Оптимизация логических схем. В теории синтеза логических схем имеется хорошо разработанный аппарат минимизации булевых функций в классе нормальных форм. В работе [5] У. Квайн впервые предложил свести задачу выбора оптимальной ДНФ к задаче покрытия булевой матрицы. Характерными особенностями таких задач являются большая размерность порожденной матрицы покрытия, а также, как правило, ее сильная разреженность.
2. Задача использования заданных функций при синтезе схем в базисе программируемых логических интегральных схем (ПЛИС). Такая задача может возникнуть, если часть схемы уже построена и использование имеющихся (схемно реализованных) функций уменьшит сложность реализации оставшихся функций. При этом требуется выбрать такую подсистему функций, мощность которой не превосходит заданное число В работе [6] данная проблема формализуется как задача покрытия булевой матрицы, однако вместо поиска оптимального решения возможен поиск допустимого вектора, число единиц в
котором не превышает числа
3. Задача разбиения схемы на подсхемы. Один из вариантов задачи о разбиении схем при минимизации числа соединений между модулями также может быть сформулирован как задача покрытия (0, 1)-матрицы [7]. Для данной задачи особенно важно рассмотреть эффективные методы получения приближенных решений. Желательно иметь возможность нахождения нескольких приближенных решений, чтобы затем выбрать из них наилучшее. Этот подход оправдан следующими соображениями. Обычно получение точного решения не является столь важным. К тому же, при минимизации числа промежуточных соединений приходится учитывать различные ограничения на разбиение, которые иногда не могут быть сформулированы в точной математической форме. После того как найдено несколько приближенных решений, выбирается одно из них, удовлетворяющее требуемым ограничениям.
Для получения эквивалентных постановок ЗМП введем в рассмотрение функцию
x(z) =
l,z>0;
0,z = О.
В работе [7] доказано, что задача о покрытии может быть эквивалентно переписана как задача безусловной псевдобулевой минимизации
(1)
где Я — значение целевой функции задачи (1) в любой известной допустимой точке (например, Я = п). Для поиска оптимального результата в безусловных задачах псевдобулева программирования существуют специально разработанные алгоритмы. Приближенное решение может быть получено, например, с помощью алгоритмов типа покоординатного спуска. Модифицировать и усовершенствовать многие из них позволяет переход к вероятностной постановке задачи:
(2)
где М[ • ] — операция математического ожидания; {X} — множество случайных векторов длины п, реализации которых имеют булевы координаты [4]. Для решения задачи (2) могут быть использованы вероятностные итеративные алгоритмы, работающие на основе концепции локального улучшения и адаптивно учитывающие текущую информацию. В частности, в работе [8] предлагается алгоритм решения задачи о покрытии в такой постановке, являющийся вероятностным аналогом метода покоординатного спуска.
Если обозначить qj вероятность того, что булева случайная величина Xj примет
значение, равное 0, то для задачи о покрытии математическое ожидание М[/ (Х)] может быть вычислено в явном виде в терминах переменных qi, так как
В результате задача о покрытии переписывается как задача минимизации полинома с простыми ограничениями:
В работе [8] было доказано, что решением задачи (3) является вектор с булевыми координатами. Это означает, что полученное оптимальное распределение вероятностей позволяет восстановить реализацию случайной величины X единственным образом: х- = 1 -
qj. Для решения задачи о покрытии в такой постановке могут привлекаться различные
методы, использующие дифференциальные характеристики функции (например, градиентные процедуры).
На рис. 2 представлена сравнительная характеристика времени работы метода ветвей и границ и метода наискорейшего спуска при отыскании точного решения задачи о покрытии. Время указано в условных единицах. При тестировании были использованы матрицы, сформированные с помощью датчика случайных чисел, обеспечивающего преобладание нулей в матрице как 10:2.
80 70 60
к 50 |40
т 30 20 10 0
15 30 45 60 75 90
Размерность т
■ Наискорейший спуск ЁЗ Метод ветвей и границ
Рис. 2. Сравнительная характеристика времени работы метода ветвей и границ и метода наискорейшего спуска при отыскании точного решения задачи о покрытии
Если ввести в рассмотрение полную группу событий
^,1 = 0, и
заключающихся в
н
том, что оптимальный вектор X имеет ровно / единиц (т. е. = 1 ), и обозначить а.
вероятность осуществления события А, то задача о минимальном покрытии может быть переписана следующим образом [9]:
(4)
В рамках данной постановки возможно использование алгоритмов, работа которых
I.
происходит в два этапа.
1 этап. Поиск по а при фиксированном распределении X и фиксирование значения
2 этап. Поиск по X при фиксированном значении I.
Такого рода итеративные процедуры могут быть вероятностным обобщением для известного класса приближенных алгоритмов решения задачи о покрытии, в которых предварительно фиксируется некоторое значение целевой функции, а затем в соответствии с этим значением строится вектор х, минимизирующий среднее число невыполненных в нем ограничений.
В таблице приведены некоторые характеристики упомянутых алгоритмов решения
ЗМП.
Описанные приемы могут быть использованы при алгоритмизации задач покрытия более сложной структуры (например, при наличии дополнительных ограничений). К такому классу относится следующая постановка задачи.
Одной из основных проблем при проектировании программно-аппаратных многопозиционных радионавигационных систем является построение производительной радиосети передачи информации. Многопозиционность предполагает использование множества разнесенных в пространстве и взаимодействующих между собой радиотехнических объектов. Основным ограничением для взаимодействия объектов между собой является фиксированный радиус действия их радиопередающих устройств. Для решения этой и ряда других проблем в основу построения таких систем положен принцип создания иерархической сети передачи информации, в которой каждый объект может выполнять прием, передачу и ретрансляцию информации. Иерархия сети описывается графом древовидной послойной структуры. Узлами дерева иерархии являются объекты, которые выполняют роль ретрансляторов и сборщиков информации от некоторого локального подмножества объектов, называемого кластером. Необходимым условием производительной работы сети является требование выбора минимального числа объектов-ретрансляторов среди объектов /-го слоя с учетом ограничения на размер кластера, обеспечивающих радиосвязность со всеми объектами (/ + 1)-го слоя. Для решения задачи выбора минимального числа объектов ретрансляторов предлагается использовать аналог постановки задачи о минимальном покрытии с дополнительным ограничением на размер кластера. С этой целью введем переменные следующим образом:
Математическая запись задачи будет иметь следующий вид:
т
X X. <АУ=1,п
1=1
(5)
х = 1V 0,1=1,п.
Рекомендации по выбору рассматриваемых алгоритмов решения ЗМП
Способ постановки ЗМП Рекомендуемый алгоритм Характеристики алгоритма
(1) Покоординатный спуск Быстрый, пригоден для решения задач сколь угодно большого размера. В среднем результат точнее, если матрица покрытия не очень сильно разрежена. Всегда выдает допустимые точки, рекомендуется к использованию для задач синтеза, не требующих высокой точности получаемого результата
(2) Вероятностный аналог метода покоординатного спуска Скорость работы несколько меньше, но качество решения выше. Может использоваться также для решения задач большой размерности
(3) Градиентный алгоритм с проекцией на простые ограничения Допускается размерность задач в пределах 500—1000 (в зависимости от приемлемого для проектирования времени). Быстрее работает на разреженных матрицах. Точность решения очень высокая
(4) Двухэтапный вероятностный алгоритм Удобен для решения задач, в которых требуется найти точку с заданным (или не превышающим заданного) числом единиц. В случае, если такие допустимые точки отсутствуют, выдается "лучшая из недопустимых"
Сумма
в целевой функции определяет число объектов,
г
т
Л
назначенных ретрансляторами, поскольку V — 1 у только в том случае, если /-и
объект выбирается для покрытия каких-либо других. Первая группа ограничений фиксирует тот факт, что каждый объект (абонент) должен быть покрыт некоторым ретранслятором. Здесь
1, если 1 - й объектнаходится в радиусе
а.
действия j - го ретранслятора; О в противном случае.
Вторая группа ограничений учитывает максимальный размер кластера. Здесь V — некоторая целая положительная константа, по величине не превосходящая т и фиксирующая заданный размер. При проектировании производительной радиосети возникает последовательность задач о минимальном покрытии. Предварительно должна быть задана базовая радиостанция. Объектами 1-го слоя становятся все абоненты, попавшие в радиус действия базовой станции. Объектами 2-го слоя становятся все абоненты, попавшие в радиус действия хотя бы одного из объектов первого слоя (радиус действия базовой станции и всех предполагаемых ретрансляторов одинаков). Таким образом, при переходе от слоя к слою меняются элементы матрицы А, увеличивается ее размер и усиливается ее разреженность. Большая размерность задач не позволяет воспользоваться точными алгоритмами (в частности, методом ветвей и границ), поэтому рассмотрим возможности построения приближенных алгоритмов. Данная задача допускает следующую эквивалентную перезапись [8]:
Чтобы избавиться от оставшихся ограничений, воспользуемся функцией Лагранжа. Задача (5) эквивалентно переписывается следующим образом:
(6)
Для отыскания решения задачи в данной постановке используются двойственные субградиентные алгоритмы. Однако практика показывает, что для многих задач классические субградиентные методы сходятся достаточно медленно. Если к тому же размерность задачи очень велика, то эти методы требуют для своей работы большого объема вычислений, что часто делает невозможным получение приемлемого решения за реальное время. В целях сокращения объема вычислений можно рассмотреть вероятностную постановку задачи, которая обеспечивает возможность построения модификаций двойственных алгоритмов, на основе вероятностной интерпретации множителей Лагранжа [10]. Такой подход позволяет строить алгоритмы, использующие на каждом этапе поиска по х информацию, касающуюся лишь отдельных ограничений в поисковой точке, что существенно повышает порог их применимости. Вероятностные алгоритмы включают в себя следующие этапы:
• поиск вероятностных характеристик множителей Лагранжа;
• формирование поисковой функции на основе анализа положения текущей точки х;
• поиск по х с использованием сформированной поисковой функции.
Список литературы
1. Батищев Д. И., Львович Я. Е., Фролов В. Н. Оптимизация в САПР. Воронеж: Изд-во ВГУ, 1997. 416 с.
2. Алексеев О. Г. Комплексное применение методов дискретной оптимизации. М: Наука, 1987. 279 с.
3. Кузюрин Н. Н. Задача линейного булева программирования и некоторые комбинаторные проблемы // Компьютер и задачи выбора. М: Наука, 1989. С. 44—60.
4. Львович Я. Е., Каплинский А. И., Чернышева Г. Д., Черных О. И. Конструирование адаптивных схем перебора для решения дискретных задач оптимизации // Актуальные проблемы фундаментальных наук. М.: Изд-во МГТУ, 1991. С. 44—46.
5. Квайн У. Упрощение функций истинности // Вопросы теории математических машин. М.: Машиностроение, 1964.
6. Бибило П. Н. Использование заданных функций при синтезе схем в базисе программируемых логических интегральных схем // Автоматика и вычислительная техника. 1998. № 2. С. 58-96.
7. Фридман Ф., Менон П. Теория и проектирование переключательных схем: Пер. с англ.
М.: Мир, 1978. 580 с.
8. Каширина И. Л., Чернышева Г. Д. Алгоритмы решения задачи о покрытии, использующие переход к вероятностной постановке задачи // Известия РАЕН, сер. МММИУ. 1997. № 1.С. 119-127.
9. Каширина И. Л., Чернышева Г. Д. Об одном подходе к построению приближенных алгоритмов решения задачи о минимальном покрытии // Изв. вузов. Радиофизика 1998. Т. 5. Вып. 1. С. 119-126.
10. Каширина И. Л., Чернышева Г. Д. Использование Лагранжиана в приближенной алгоритмизации задачи о минимальном покрытии // Оптимизация и моделирование в автоматизированных системах. Межвуз. сб. науч. трудов. Воронеж. 1997. С. 129-135.
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ, № 4, 1999 СИСТЕМЫ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ
Ключевые слова: САПР, оптимизация, минимальное покрытие, сравнение алгоритмов, размер кластера.
Публикации с ключевыми словами: САПР - оптимизация -минимальное покрытие - сравнение алгоритмов - размер кластера Публикации со словами: САПР - оптимизация - минимальное покрытие - сравнение алгоритмов - размер кластера См. также:
■ Обучение нейросети на базе шарового метода оптимизации Ньютона
■ Автоматизированное проектирование в машиностроении
■ SP-BDD-модель цифровых КМОП-схем и ее приложения в оптимизации и моделировании
■ Метода анализа, синтеза и оптимизации нестационарных систем автоматического управления.
■ Основы построения распределенных систем управления коллективами роботов
■ Состояние и перспективы развития исследований в области обработки и распознавания видеоинформации (аналитический обзор)
■ Радиоэлектронные системы: основы построения и теория. Справочник
Все публикации на ту же тему>> Написать комментарий >>
УЧАСТНИКДЬ
гттгят
Журнал | Портал | Раздел Copyright © 2003 «Инженерное образование» E-mail: [email protected] | тел.: +7 (495) 263-68-63
Вход для редакторов