Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
И.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
818.57 Кб
Скачать

4 4. Методы структурного синтеза в системах автоматизированного проектирования

S3) конструктив с максимальным числом связей с уже распределенными

конструктивами, т. е. конструктив, которому соответствует столбец в матрице

Y с максимальной суммой элементов.

Примеры правил выбора блока:

gj) минимально загруженный блок;

Q2) максимально загруженный блок;

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

руктивом, т. е. блок с максимальным элементом у ( текущей матрицы Y в /-м

столбце, где / — номер распределяемого конструктива.

Пару правил 5 и Qk называют эвристикой Эл. В случае задачи с приведен-

ными выше примерами правил имеем 3 x 3 = 9 возможных эвристик.

Кластеризация. Иногда требуется равномерное распределение элемен-

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

можно рассматривать как разновидность задачи компоновки, отличающуюся

типом ограничений: вместо ограничения типа неравенства на объем кластера

(блока) вводится ограничение типа равенства на число элементов (компонен-

тов) в кластере. Таким образом, ограничение (4.33) принимает вид п = егЛ(п/т)

или ent(n/m) + 1:

те

Z » = п,

7=1

где п - число элементов в у'-м кластере, ent(«/w) — целая часть частного от

деления числа элементов п на число кластеров т. Другими словами, требуется

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

ность кластеров друг с другом. В частности, в некоторых алгоритмах разме-

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

кластеризации — разделения множества микросхем на два минимально свя-

занных подмножества одинаковой (при четном и) мощности.

Очевидно, что в задаче кластеризации после соответствующей корректи-

ровки можно использовать правила выбора очередного элемента и его разме-

щения в одном из кластеров, аналогичные правилам в задаче компоновки. Так,

в правиле Qt загрузка кластера будет оцениваться не его внутренним трафи-

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

Qk возможным кластером-кандидатом может быть только тот кластер, в кото-

ром еще не исчерпан лимит на размещение. Правила 5",- S3 используются без

изменений. При вычислении целевой функции штрафы за нарушение ограниче-

ний не предусматриваются, так как учет ограничений введен в эвристики.

Возможны и другие варианты множества эвристик. Например, можно ис-

пользовать правила, в которых очередным размещаемым элементом выбира-

ется следующий элемент:

£,) в строке которого в матрице связей находится максимальный элемент

матрицы;

IS"2) имеющий максимальную суммарную связность с уже размещенными

элементами;

7 Основы автоматизированного 193

проектирования

4. Математическое обеспечение синтеза проектных решений

S3) имеющий минимальную суммарную связность с еще не размещенными

элементами.

Для выбранного по одному из правил S^- S3 элемента Р определяется клас-

тер, в котором:

Q}) имеется элемент, максимально связанный с Р',

Q2) уже размещенные элементы максимально связаны с Р (максимальна

суммарная связность).

Из этих правил можно скомбинировать шесть разных эвристик и добавить

эвристику, в которой сначала определяется кластер L по признаку минимальной

загруженности, а затем для него выбирается элемент по признаку максималь-

ной связности с уже размещенными в L элементами. Ограничения на макси-

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

Размещение двумерных разногабаритных компонентов. Эта задача

известна как задача размещения электронных компонентов (в кристаллах БИС

или на печатных платах) или как двумерная задача упаковки грузов в контейне-

ры (в последнем случае ее часто обозначают 2DBPP (2D Bin Packing Problem)).

Рассмотрим подход к ее решению с помощью НСМ.

В этой задаче задана полубесконечная полоса (контейнер с открытым вер-

хом и шириной W) и множество разногабаритных прямоугольных компонентов

высотой D и основанием шириной Z(, число компонентов равно N. Требуется

упаковать компоненты в контейнер с минимизацией высоты Язаполненной ча-

сти контейнера (допускаются следующие ориентации компонентов: исходная с

основанием, параллельным дну контейнера, повернутая на 90°).

При решении задача разбивается на подзадачи, в каждой из подзадач выби-

рается слева наиболее низкий незаполненный участок контейнера и выполня-

ется его заполнение по одной из следующих эвристик:

Э,) выбирается еще не размещенный компонент, обеспечивающий наимень-

ший горизонтальный зазор gap>0 (рис. 4.14); если gap>0, то компонент разме-

щается вплотную к тому краю участка, на котором меньше (по абсолютной

величине) вертикальный зазор г; если компонентов с gap>0 нет, то участок

шириной а и высотой h объявляется пустотелым и заполняется фиктивным

компонентом;

32) то же, что и в Э,, но выбирается компо-

нент, обеспечивающий минимальный вертикаль-

ный зазор z при исходной ориентации компонен-

та; если таких компонентов нет, то делается

попытка найти подходящий компонент при повер-

нутой ориентации;

33) то же, что и в Э2, но сначала исследуются

компоненты при повернутой ориентации;

34) для очередного размещения выбирается

компонент с наибольшей площадью среди еще

Рис. 4.14. Размещение компо- не размещенных компонентов в случае положи-

нента в очередном участке тельного зазора gap.

gap

194

4 4 Методы структурного синтеза в системах автоматизированного проектирования

Синтез расписаний. Задачи синтеза расписаний требуется решать во

многих приложениях, например при планировании различных производствен-

ных процессов, распределении ресурсов, выборе числа и типов процессоров

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

Рассмотрим постановку и подход к решению одной из основных разновид-

ностей задач синтеза расписаний, обозначаемой JSSP (Job Shop Scheduling

Problem). К исходным данным относятся:

множество работ А = Г А2, ..., Ап};

множество исполнителей, называемых также машинами (или серверами)

М={М12,...,Мт};

матрица Р = [Ptj], где Ptj затраты времени на выполнение работы Л(на

машине М;

вектор С = (С,, С2, ..., Ст), где С — цена за единицу времени работы маши-

ны М;

ограничения на время окончания работ Т = (Г,, Т2, ..., Гп), где Т— предель-

ное время для завершения работы А:,

штраф Q, добавляемый к общим затратам Z при нарушении какой-либо ра-

ботой соответствующего ей временного ограничения.

Необходимо составить расписание, при котором минимизируются затраты

на выполнение всех работ с учетом штрафов.

В других разновидностях задач синтеза расписаний могут быть те или иные

усложняющие решение отличия. Примерами отличий могут быть: 1) много-

стадийность — наличие нескольких стадий обслуживания каждой работы;