Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2250

.pdf
Скачиваний:
2
Добавлен:
15.11.2022
Размер:
1.32 Mб
Скачать

11

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

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

1)минимум суммарной взвешенной длины соединений;

2)минимум числа соединений, длина которых больше заданной;

3)минимум числа пересечений проводников;

4)максимальное число соединений между элементами, находящимися в

соседних позициях либо в позициях, указанных разработчиком; 5) максимум числа цепей простой конфигурации.

Наибольшее распространение в алгоритмах размещения получил первый критерий, что объясняется следующими причинами: уменьшение длин соединений улучшает электрические характеристики устройства, упрощает трассировку печатных проводников и снижает трудоемкость изготовления печатных плат; кроме того, он сравнительно прост в реализации.

В зависимости от конструкции коммутационной платы и способа выполнения соединений расстояние между позициями установки элементов подсчитывается по одной из следующих формул:

d(1)

 

 

 

 

 

 

 

 

 

(x

i

x )2

(y

y )2

;

(2.1)

ij

 

 

 

 

j

i

j

 

 

d(2)

| x

i

 

x |

| y

y | ;

 

(2.2)

ij

 

 

 

j

i

j

 

 

d(3)

(x

i

 

x )t

(y

y )t .

 

(2.3)

ij

 

 

 

 

j

i

j

 

 

где (хi, yi) и (хj, yj) — координаты i-й и j-й позиций коммутационной платы.

Формула (2.1) соответствует проведению проводников по кратчайшему пути между соединяемыми точками. Выражение (2.2) предполагает раскладку проводников по каналам или магистралям, параллельным сторонам платы, что характерно для печатного монтажа с ортогональным рисунком соединений и жгутового монтажа.

Формулу (2.3) применяют при наличии особых требований к максимальной длине отдельных соединений (как правило, t = 2).

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

12

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

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

 

g

(s)ij x(ρs) ,

 

cij

f

(2.4)

s

1

 

 

где fij(s) — вес s-й цепи, связывающей элементы i и j; x( s) — коэффициент учета размера цепи, равный 2/ s; s — число эквипотенциальных выводов s-й цепи; g —

число цепей, связывающих элементы i и j. Величина fij(s) определяет важность s-й цепи с точки зрения минимизации ее длины (при работе алгоритма в первую очередь минимизи-

руются связи с большим весом).

Вобщем виде задача размещения конструктивных элементов на

коммутационной плате формулируется следующим образом. Задано множество конструктивных элементов R == {r1, r2,.…,rn} и множество связей между этими элементами V = {v1,v2, ..., vp}, а также множество установочных мест (позиций) на коммутационной плате T = {t1, t2, ..., tk}. Найти такое отображение множества R на мно-

жестве Т, которое обеспечивает экстремум целевой функции F.

Если критерием качества размещения является минимум суммарной взвешенной длины соединений, то задача состоит в минимизации

n

n

 

F

cijdij,

(2.5)

i 1 j 1

 

Как указывалось ранее, наиболее часто решение задачи ищется именно в такой постановке.

Обычно поле позиций (коммутационная плата) имеет форму прямоугольника Рab = а b с координатами 0 x а и 0 t b. Вся площадь платы разбивается на ряд областей

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

2.1).

13

Рис. 2.1

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

Следует отметить, что перед разбиением поверхности коммутационной платы на позиции из нее, исходя из конструктивных соображений, выделяют области для раз-

мещения выводных контактных зон схемы (разъемов), а также запрещенные области, в

которых не должны помещаться элементы схемы (зоны крепления платы, конструктивные вырезы и т. п.).

Все конструктивные элементы, подлежащие размещению, можно условно разде-

лить на три группы:

1) нефиксированные элементы, местоположение которых на плате заранее не из-

вестно. Пусть таких элементов будет q;

2) граничные элементы, к которым относятся элементы, связанные с разъемами,

осуществляющими электрическую связь с элементами, расположенными на других коммутационных платах. Так как разъемы обычно помещают на внешней стороне коммутационной платы (рис. 2.1), то эти элементы желательно располагать у границы коммутационного поля. Пусть число таких элементов будет h — q;

3) фиксированные элементы, местоположение которых на плате заранее определено (указано разработчиком). Таких элементов будет n — h.

Для рассмотренного случая задачу размещения можно сформулировать следующим образом. Найти такое местоположение элементов на коммутационной плате,

при котором достигается минимум

 

n n

 

F

cij[(xi - xj)t + (yi - yj)t]

(2.6)

i

1 j 1

 

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

14

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

(рис. 2.2). Эффективность того или иного алгоритма обычно оценивают по результатам решения типовых конструкторских задач.

Рис. 2.2.

Эвристические алгоритмы. Практическая реализация большинства указанных на рис. 2.1 алгоритмов размещения связана со значительными затратами машинного времени и памяти ЭВМ. Поэтому для размещения большого числа конструктивных элементов (n > 100) часто используют эвристические алгоритмы, позволяющие сократить время решения задачи при вполне приемлемом для практики качестве получаемого результата. Кроме того, такие алгоритмы лучше приспособлены для учета конкретных конструкторско-

технологических ограничений. К данной группе алгоритмов относятся итерационные,

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

Итерационные алгоритмы имеют структуру, аналогичную итерационным алгоритмам компоновки, рассмотренным в пункте 2.2. В них для улучшения исходного размещения элементов на плате вводят итерационный процесс перестановки местами пар элементов.

В случае минимизации суммарной взвешенной длины соединений формула для расчета изменения значения целевой функции при перестановке местами элементов ri и rj

закрепленных в позициях tj и tg имеет вид /1/

15

k

Fij(f,g) =

(cip - cjp)(dfh(p) - dgh(p)),

(2.7)

p 1

где р и h(p) — порядковый номер и позиция закрепления неподвижного элемента rр. Если Fij(f, g) > 0, то осуществляют перестановку ri, и rj приводящую к уменьшению целевой функции на Fij(f,g), после чего производят поиск и перестановку следующей пары элементов и т. д. Процесс заканчивается получением такого варианта размещения, для которого дальнейшее улучшение за счет парных перестановок элементов невозможно.

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

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

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

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

Особенности алгоритмов размещения при многоцелевой оптимизации модулей.

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

16

это привело к необходимости создания методов многоцелевой оптимизации, среди которых наибольшее распространение получили следующие методы /1/:

1)использования единого функционала;

2)выбора ведущего показателя;

3)параллельной оптимизации по нескольким показателям.

Метод использования единого функционала заключается в следующем. Пусть необходимо найти оптимальное решение с учетом некоторого набора показателей качества F1,F2,…,Fn.

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

Простейшими примерами использования единого функционала качества являются выражения (2.4) и (2.5), позволяющие учесть требования уменьшения длин отдельных соединений и рассредоточения теплонагруженных элементов при минимизации общей суммарной длины всех соединений. При необходимости повышения плотности размещения разногабаритных модулей на монтажной плоскости в качестве единого функционала используют взвешенную сумму эффективности использования площади F1 и суммарной длины соединений F2 : F = k1F1 + k2F2.

Данный метод получил широкое распространение на практике К достоинствам данного метода относятся возможность варьирования весовыми коэффициентами и простота его реализации на ЭВМ Недостатком метода является трудность обоснования важности каждого i-ro показателя и задания конкретных значений весовых коэф-

фициентов.

Метод выбора ведущего показателя основан на использовании принципа последовательной субоптимизации результатов, получаемых на каждом этапе поиска. Все показатели качества располагают в порядке важности и сначала отыскивают оптимальное решение по первому из них. Остальные показатели выступают в роли ограничений. Затем определяют допустимую область, в которой значение первого показателя отличается от оптимального на некоторую величину S (например, на 5—10%) и в этой области ищут оптимальное решение по второму показателю и т. д.

Основное достоинство метода заключается в возможности учета в виде списка ограничений большого числа различных требований предъявляемых к конструкции РЭА.

Быстрый рост затрат машинного времени и объема памяти ЭВМ при расширении списка ограничений, а также значительные трудности получения оптимального решения по

17

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

Метод параллельной оптимизации по нескольким показателям состоит в оценке различных вариантов размещения одновременно по всем оптимизируемым параметрам

/1/.

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

Выводы. Из приведенных сведений по обзору литературных источников можно отметить, что алгоритм парных перестановок имеет ряд достоинств перед другими алгоритмами и широко используется для решения задач компоновки и размещения в САПР. Отмечается также, что результаты оптимизации зависят от начальных исходных данных, но конкретных сведений о том, какая это зависимость и что надо предпринять,

чтобы степень оптимизации была наибольшей, не приводится. В связи с этим тема дипломной работы ―Исследование алгоритмов парных перестановок при решении задач компоновки и размещения в САПР‖ представляется актуальной.

3. АЛГОРИТМ ПАРНЫХ ПЕРЕСТАНОВОК ПРИ РЕШЕНИИ ЗАДАЧ

КОМПОНОВКИ

3.1. Метод парных перестановок

При оптимизации компоновки радиоэлектронных средств обычно решается задача оптимального разделения схемы на несколько блоков. Эта задача известна еще как задача о разрезании графа.

Пусть какое-либо устройство имеет Х элементов (модулей первого уровня,

например, микросхем) и каждый i - й элемент имеет с j - м элементом Cij соединений.

Схема такова, что ее не разместить на одной плате, то есть требуется всѐ устройство разделить на составные части (например, на модули 2 - го уровня, то есть блоки). В

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

-снижение количества используемого монтажного провода (экономический эффект);

-увеличение надежности изделия;

18

-снижение массы и трудоемкости изготовления изделия;

-уменьшение паразитных взаимосвязей.

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

Число возможных сочетаний элементов определяется по формуле :

n

m!

 

Cm =

 

 

(3.1)

n!(m n)!

 

 

n

где Cm - число сочетаний из m элементов по n элементов,

m - число всех элементов; n - число элементов в одном блоке.

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

Таким методом является метод парных перестановок.

Пусть в результате произвольного начального распределения нами сформированы Z блоков. Обозначим их через X , X , X ,...,XZ. Подсчитав количество соединений между двумя блоками, например, между блоком Х и блоком Х , меняем взаимно местами по одному модулю из блока Хи из блока Х . После этого вновь считаем количество соединений между блоками. Если после перестановки количество соединений уменьшилось, то перестановка целесообразна. Если же увеличилось или осталось прежним, то перестановка нецелесообразна. Можно производить перестановку каждого модуля блока Х с каждым модулем блоков Х , Х , ..., Хz, а затем каждого модуля блока Хс каждым модулем остальных блоков и т.д. В результате можно получить минимизацию соединений между блоками. Чтобы упростить вычисления выведем формулу для определения целесообразности перестановки местами i и j модулей,

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

 

 

 

 

 

 

 

 

 

 

 

 

 

19

Обозначим через m -количество внешних соединений модуля xi

с блоком Х ;

 

 

i

 

 

 

 

 

 

 

 

 

 

 

m j

- количество внешних соединений модуля x j с блоком Х

;

 

 

 

 

 

Z j

-

количество внутренних соединений модуля

x

i

 

блока

Х

с

другими

 

 

 

 

 

 

 

 

 

 

 

 

 

модулями этого же блока;

 

 

 

 

 

 

 

 

 

 

 

j

- количество внутренних соединений модуля

x j

блока

Х

с

другими

 

 

 

 

модулями этого же блока;

 

 

 

 

 

 

 

 

 

 

 

mi j

-

количество

общих (прямых) соединений

между

переставляемыми

модулями xi

и x j .

 

 

 

 

 

 

 

 

 

 

 

Приняв такие обозначения, определим исходное (до перестановки) количество

межблочных соединений Fo,

связанное с модулями xi и x j

,

 

которые предполагается

переставить местами. Величина Fo будет равна сумме внешних соединений mi

и m

j

, но

 

 

 

 

 

 

 

 

 

 

 

 

 

из-за того, что общие (прямые) соединения между переставляемыми модулями учтены и в значении mi , и в значении m j , то есть дважды, а надо их учесть только один раз, то из

суммы mi + m

j

необходимо вычесть количество общих (прямых) соединений mi j .

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

Fo = mi

+ m

j

-

mi j .

 

 

 

 

 

xi

 

 

 

x j

 

После перестановки модуля

в блок X

, а модуля

в блок X , внутренние

 

 

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

межблочных соединений, связанных с модулями

xi и

x j , после перестановки станет

равным :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

α

 

β

αβ

 

 

 

 

 

 

 

 

Fxiα xjβ Zi

 

Z j

m ij

 

,

 

 

 

а изменение количества межблочных соединений:

 

 

 

ΔF

α

β

F F

α

β

(m α

m β -m αβ ) (Zα

Zβ

m αβ )

 

xi

xj

o

xi

xj

i

 

j

ij

 

 

i

j

ij

 

 

 

(m

α

m β)-(Zα

Z β) 2m

αβ

 

 

 

 

 

 

 

i

j

i

 

j

 

 

ij

 

 

20

Таким образом целесообразность перестановки i - го модуля, находящегося в блоке Х , с j - м модулем, находящимся в блоке Х , определяется по формуле:

 

 

 

 

F x

 

x

 

(m m j

) (

 

j

) 2m

 

j

 

 

 

(3.2)

 

 

 

 

i

j

i

i

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

где

ΔF xα x β

- функционал для модулей xα

и x β

;

 

 

 

 

 

 

 

 

 

 

i

 

j

 

 

 

 

 

 

 

 

i

j

 

 

 

 

 

 

 

 

 

mα - количество внешних соединений модуля xα

с блоком Х

;

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m β

- количество внешних соединений модуля x β

с блоком Х

;

 

 

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

Zαi

-

количество

 

внутренних

соединений

модуля

xα

блока

Х

с

другими

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

модулями этого же блока;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ζβ

-

количество

 

внутренних

соединений

модуля

x β

блока

Х

с

другими

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

модулями этого же блока;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mαβ -

количество

 

 

общих (прямых) соединений

между

переставляемыми

i j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

модулями xαi

и x βj .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если

Fx

i

x

j

 

 

0, то перестановка этих модулей нецелесообразна, то есть эта

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

перестановка не ведет к уменьшению числа межблочных соединений, а ведет к их

возрастанию или не изменяет их количество. Если Fx

 

x

> 0, то перестановка

 

i

 

j

целесообразна. В рассмотренном выше случае предполагается, что производится первая попавшаяся целесообразная перестановка. Однако лучше использовать алгоритм, в

котором вычисляются значения функционалов F для всех пар модулей и из всех возможных целесообразных перестановок пар модулей выбирается та пара модулей,

перестановка которых дает максимальное уменьшение количества межблочных соединений (рис. 3.1), а не первая попавшаяся целесообразная перестановка. Подсчитав функционалы всех пар модулей и произведя перестановку двух модулей, для которых функционал имеет максимальное положительное значение, вновь производят вычисления всех функционалов для этих двух блоков. Если окажется, что для каких-либо двух модулей максимальный функционал больше нуля, то снова производят перестановку и так несколько раз, до тех пор, пока все функционалы будут равны или меньше нуля. Следует

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]