Исходной информацией при решении
задачи размещения являются данные о конфигурации и размерах монтажного
пространства, количество и геометрические размеры модулей, схема соединений, а
также ограничения на взаимное расположение отдельных элементов, учитывающие
особенности разрабатываемой конструкции.
В общем виде задача размещения
формулируется следующим образом. Заданы множество модулей и множество связей между ними , а так же множество установочных мест (позиций) на
коммутационной плате . Найти такое отображение множества S на множестве Z, которое обеспечивает экстремум
некоторой целевой функции F.
Основной целью задачи размещения
является облегчить последующую задачу трассировки. В идеале каждое размещение
должно быть оценено проведением трассировки, но из-за больших затрат ресурсов
ЭВМ не может быть эффективно осуществлено на современных вычислительных
машинах. Поэтому обычно используют промежуточные критерии, которые
опосредованно способствуют решению основной задачи – получению оптимальной
трассировки соединений. К таким
критериям относятся:
-
минимум
суммарной длины всех соединений платы;
-
минимизация
длины наиболее длинных соединений;
-
минимизация
числа пересечений сигнальных цепей;
-
максимум
числа цепей простой конфигурации.
Наибольшее распространение получил
первый критерий, так как уменьшение длин соединений упрощает последующую
трассировку, улучшает электрические характеристики устройства, кроме того, он
сравнительно прост в реализации.
Схема соединений описывается
матрицей смежности. Для дискретных алгоритмов размещения (см. далее п2.) коммутационное поле описывается матрицей длин. Длина
соединений между элементами si
и sj определяется как , где rij – элемент матрицы смежности, - элемент матрицы
длин. Суммарная длина соединений для схемы при произвольном размещении будет
вычисляться по формуле: , таким образом, в случае критерия минимума суммарной длины
соединений мы должны минимизировать, указанное выражение: , в такой постановке эта задача соответствует одной из
типовых задач математического программирования - задаче квадратичного назначения.
2. Классификация алгоритмов
размещения
В настоящее время алгоритмы
размещения можно разделить на две большие группы:
-
непрерывно
- дискретные алгоритмы;
-
дискретные
алгоритмы размещения.
При использовании
непрерывно-дискретных алгоритмов задача размещения решается в два этапа: на
первом, полагая МКП (монтажно-коммутационное поле) непрерывным, определяют
координаты центров элементов, при которых целевая функция имеет экстремальное
значение. На втором этапе, полученные значения округляют до целочисленных
значений. Для решения задачи размещения в этом случае могут использоваться
методы, основанные на решении нелинейной задачи математического
программирования, и методы, основанные на решении задачи динамического
программирования.
В дискретных алгоритмах размещения
используют МКП с фиксированными
позициями, и из различных вариантов выбирается тот, который обеспечивает
оптимальное значение целевой функции. Можно выделить следующие группы
дискретных алгоритмов: случайного поиска, назначения, и эвристические алгоритмы
(последовательные и парных перестановок).
Алгоритмы случайного поиска
основаны на использовании методов Монте-Карло и
относятся к итерационным. На основе датчика случайных
чисел получают некоторый вариант размещения, для которого вычисляют целевую
функцию, результат запоминают, если значение функции является наилучшим, и так
до тех пор, пока не будет найдено устраивающее разработчика решение. Существует
несколько модификаций такого типа алгоритмов, в зависимости от датчика
случайных номеров позиций.