Вопрос 22: Методы распределения соединений по слоям
1. Расслоение до трассировки
- Части соединений находятся в разных слоях, каждый изгиб - переход между слоями.
Большое количество переходов можно уменьшить, задав и . Если участок соединения меньше и => он остаётся в одном слое:
- Если определены координаты элементов, то можно определить потенциально "проблемные" соединения. Для каждой цепи строится минимальный охватывающий прямоугольник. На рисунке ниже нарисованы прямоугольники для разных комплексов цепей.
Два комплекса и называются пересекающимися, если пересечение соответствующих прямоугольников не является пустым. При пересечении прямоугольников возникает конфликт. Для разрешения конфликта строят граф пересечений, в котором каждая вершина - это минимальный охватывающий прямоугольник, а ребро между вершинами обозначает конфликт между прямоугольниками. Ниже приведён пример графа для приведённого примера прямоугольников.
- Далее решаем задачу раскраски графа в зависимости от того задано число слоёв (красок) или нет.
Если число слоёв не задано => число красок бесконечно.
Если число слоёв задано => число красок = число слоёв.
Число рёбер, связывающих вершины одного цвета, должно быть минимальным.
Если полностью разнесли по множествам (слоям) несмежных элементов, то минимизируем рёбра (число смежных элементов).
Можно решать задачу порядка трассровки, для этого в первую очередь рассматриваются вершины с максимальным числом рёбер (конфликтов).
Можно ввести вес ребра - площадь пересечения минимальных охватывающих прямоугольников.
2. Расслоение после трассировки
Предварительная трассировка (совмещённая, т.е. всё реализуется на одном слое, но допускается пересечение одним соединением другого)
Разнесение по слоям (перенос фрагментов соединений на другие слои)
Послойная трассировка
Алгоритм предварительной трассировки
Строим минимальное связывающее дерево (минимальная сумма длин рёбер):
При построении графа выделяют не всё соединение, а только его части, которые мешают прокладки соединений(1a---2a). Далее осуществляется раскраска графа.
Алгоритм раскраски графа
- Произвольной вершине графа G присваивается цвет 1.
- Если вершины раскрашены l цветами 1,2,...,l и l<=i, то новой произвольно взятой вершине припишем минимальный цвет, не использованный при раскраски смежных вершин.