Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Последовательный алгоритм компоновки

Будем описывать схему с помощью ГГ:

,

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

В рассматриваемом алгоритме процесс формирования очередного блока начинается с выбора первого, так называемого базового элемента (БЭ). В качестве БЭ выбирается элемент, имеющий максимальное число общих цепей со всеми еще нераспределенными элементами (элемент e0 уже распределен). далее блок последовательно заполняется элементами из числа еще нераспределенных. Для этого из множества всех нераспределенных элементов выделяется подмножество таких элементов, распределение которых в блок не приводит к превышению заданного числа выводов из блока. Из них в блок распределяется элемент, имеющий максимальное число общих цепей со всеми элементами, уже распределенными в блок. Если таких элементов несколько, то среди них выбирается элемент, при добавлении которого в блок число выводов из блока минимально. Если и таких элементов несколько, то выбирается элемент с максимальным порядковым номером (для формализации задачи).

Рассмотрим более подробно процедуру формирования блока bj. Будем считать, что блоки b1, b2, …, bj-1 уже сформированы. Пусть Ij – множество элементов, нераспределенных в эти предшествующие блоки, т. е.

,

где E(bk) – множество элементов блока bk.

Последовательный алгоритм компоновки можно представить в следующем виде.

П. 1.

При выборе БЭ для всех элементов вычисляется оценка L1(x).

,

Здесь qk – связи элемента со всеми нераспределенными элементами,

V(x) – множество цепей, инцидентных элементу x,

E(vk) – множество элементов, инцидентных цепи vk,

L1(x) – число связей элемента x со всеми еще неразмещенными элементами.

В блок распределяется элемент с максимальной оценкой L1(x). Если таких элементов несколько, то выбирается элемент с большим порядковым номером (для формализации задачи).

П. 2.

Пусть на t -м шаге формирования блока bj имеется множество элементов , распределенных к этому шагу в блок bj (). При определении очередного элемента для всех нераспределенных элементов вычисляется оценка L2(x).

,

Здесь – множество цепей, инцидентных всем элементам блока bj к шагу t, включая элемент x,

L2(x) – число выводов блока bj на шаге t с учетом элемента x.

П. 3.

Для всех элементов x, для которых выполняется условие , вычисляется оценка L3(x) – число связей элемента x с формируемым блоком .

,

В блок bj включается элемент с максимальной оценкой L3(x). Если таких элементов несколько, то среди них выбирается элемент с минимальной оценкой L2(x). Если и таких элементов несколько, то выбирается элемент с максимальным порядковым номером (для формализации задачи).

П. 4.

Если ни для одного элемента условие не выполняется, то дополнение блока bj прекращается и начинается формирование следующего блока (переход к п.1).

П. 5.

Алгоритм заканчивает работу когда все элементы схемы распределены в блоки.

При практической реализации алгоритма вместо формулы (4.2) для определения числа выводов из блока удобно использовать формулы для приращения числа выводов из блока bj при добавлении в него элемента x.

,

где – количество выводов блока bj до добавления в него элемента x.

,

Последнее выражение (для ∆ pk) можно пояснить с помощью рисунка 4.1.

Рис. 4.1.


Рассмотрим работу последовательного алгоритма компоновки на примере.

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

Перед началом компоновки множество нескомпонованных элементов I1 содержит все элементы схемы кроме e0 (элемент e0 уже распределен).

Рис. 4.2.

Для выбора БЭ вычислим оценку L1(x) по формуле (4.1) для всех элементов множества I1.

В соответствии с формулой (4.1) .

Вычисляя подобным образом оценки L1(x) для элементов e2, e3, …, e9 определим, что максимальным числом связей со всеми еще неразмещенными элементами обладает элемент e7.

Аналогично вычисляются оценки L2(x) и L3(x). Вычислим, например, L3(e9) – связи элемента e9 с элементами формируемого блока, в который вошли элементы e7 и e8 (см. ниже).

Таким образом .

Результаты вычислений удобно свести в таблицу.

  L1 L2 L2 L3 L1 L2 L1 L2 L3
                   
e1   5+3>6 4+3>6 –– 4* –– –– –– ––
e2   5+3>6 4+3>6 ––   4+1   4+1 2*
e3   5+3>6 4+2=6     4+3 –– 4+3 ––
e4   5+2>6 4+2=6     4+0 3* –– ––
e5   5+2>6 4+0<6*   –– –– –– –– ––
e6   5+2>6 4+2=6     4+1   4+1  
e7 5* –– –– –– –– –– –– –– ––
e8   5-1<6* –– –– –– –– –– –– ––
e9   5+3>6 4+2=6     4+2   4+2  

 

В качестве БЭ блока b1 выбираем элемент e7 с максимальной оценкой L1(x)=5.

Для остальных элементов схемы вычисляем оценку L2(x) – выводы. Результаты сведем в графу 3 таблицы.

Всего один элемент e8 может быть включен в блок b1 без нарушения контактного ограничения . Таким образом, , количество выводов из блока – четыре.

Для выбора очередного элемента блока b1 вычислим оценки L2(x) для нескомпонованных элементов (графа 4 таблицы).

Для элементов () e3, e4, e5, e6, e9 вычислим оценки L3(x) – связи (графа 5таблицы).

При одинаковых максимальных оценках L3max=2 элемент e5 дает меньшее число выводов из блока (четыре) чем элемент e4, поэтому состав блока b1={e7, e8, e5}; P1=4, S1=3.

Формирование второго блока проведем аналогично первому (графы 6 – 10).

Состав b2={e1, e4, e2}.

Оставшиеся элементы распределим в блок b3 с P3=6.

Количество межблочных связей при данном варианте компоновки – десять.

При решении задачи компоновки на ПЭВМ целесообразно использовать списки элементов по цепям и списки цепей по элементам с соответствующими разделителями (см. § 2, Гиперграф).

Для схемы рис. 4.2 список элементов по цепям и соответствующий список разделителей имеют следующий вид:

Аналогично составляются список цепей по элементам ST и список разделителей RST.

Схема последовательного алгоритма компоновки приведена на рисунке 4.3.

Рис. 4.3. Схема последовательного алгоритма компоновки


§ 5. ЗАДАЧА РАЗМЕЩЕНИЯ КОНСТРУКТИВНЫХ МОДУЛЕЙ

Различают два типа задач размещения:

1) размещение конструктивных элементов в заранее фиксированные позиции;

2) размещение элементов в непрерывном монтажном пространстве, когда позиции заранее не определены, а определяются в процессе размещения (например, проектирование БИС).

Рассмотрим первую задачу.

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

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

Чаще всего такая метрика используется тогда, когда последующая трассировка соединений осуществляется с помощью проводного монтажа «в навал» (провода с изоляцией). При использовании печатного или жгутового монтажа используются соответственно метрики (5.б) и (5.в):

где t – количество проводников в жгуте.

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

 

Если для простоты рассуждений положить m=n, то вариантов размещения будет n!, при этом любой вариант размещения может быть задан перестановкой , где π(i) – номер позиции, в которую устанавливается элемент ei.

Сформулируем математическую постановку задачи размещения.

Пусть L(π) – суммарная длина межэлементных соединений, соответствующая некоторому варианту размещения π.

Пусть ES – множество директивно размещенных элементов, к числу которых, в частности, относятся разъемы и внешние контактные площадки. Здесь S – множество индексов директивно размещенных элементов.

Рассмотрим некоторый произвольный заранее не размещенный элемент. Определим суммарную длину его связей со всеми директивными элементами. Обозначим эту длину как:

где cis – элемент матрицы смежности ВНГ.

Суммарная взвешенная длина межсоединений недирективно размещенных элементов ei и ej определяется как:

С учетом (5.1) и (5.2) суммарная взвешенная длина межсоединений для варианта размещения π будет определяться из выражения (5.3):

Таким образом, необходимо найти такой вариант размещения при котором обеспечивается минимум целевой функции (5.3). Это комбинаторная задача размещения.

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

Пусть перестановочная матрица (матрица решений) имеет вид:

На элементы матрицы решений X можно наложить следующие ограничения:

Т.е. каждому элементу соответствует одна позиция.

 

Каждый элемент может занимать только одну позицию.

 

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

В выражении (5.7) первый член это суммарная взвешенная длина межсоединений между собой недирективно размещенных элементов, второй член – суммарная взвешенная длина межсоединений между недирективно размещенными и директивно размещенными элементами.

 

Необходимо найти такую булеву матрицу решений X, которая удовлетворяла бы ограничениям (5.4) и (5.6) и обеспечивала минимум целевой функции (5.7). Эта задача является квадратичной задачей целочисленного программирования.

 

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


В настоящее время разработано много алгоритмов размещения, классификация которых приведена на рисунке 5.1.

Рис. 5.1. Классификация алгоритмов размещения.

<== предыдущая лекция | следующая лекция ==>
Математическая постановка задачи компоновки схем конструктивно унифицированными модулями | Конструктивные алгоритмы размешения
Поделиться с друзьями:


Дата добавления: 2014-01-14; Просмотров: 3672; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.