Научная статья на тему 'Двухмерная упаковка со связями. 1 часть'

Двухмерная упаковка со связями. 1 часть Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
107
45
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Двухмерная упаковка со связями. 1 часть»

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

Исходя из выше изложенного, необходимость обновления испытательного оборудования становится очевидной. В настоящее время разработано новое поколение автоматизированных испытательных машин типа МИРИ-К, которые успешно прошли приемочные испытания, аттестованы органами Госстандарта и уже широко используются в металлургической промышленности. Машины оснащены системами электрических датчиков, электрогидравлического сервопривода и компьютерной системой управления, обеспечивающей: автоматизированное управление и измерение всех параметров;

автоматическую обработку результатов испытаний; представление результатов в виде протокола и графического изображения процесса; высокую повторяемость результатов испытаний. Машины обеспечивают испытания на растяжение, сжатие и изгиб, и при этом не требуют переналадки при переходе с одного вида испытаний на другой. Обеспечена высокая центричность приложения нагрузки. Обеспечено соответствие ГОСТ, DIN, ASTM.

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

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

ЛИТЕРАТУРА

1. Информационно-аналитический промышленный журнал «ИТО» №2. Под редакцией Филиппова М.Н. Москва, Новости, 1997, 62с.

2. Сборник докладов научной конференции по гидроавиации «Геленджик 98». Под редакцией Полунина Н.А., Колоколова О.В. Москва, ЦАГИ, 1998, 348с.

3. Сборник докладов Северо - Кавказкой региональной научно-практической конференции по методам диагностики прочности зданий и инженерных сооружений. Под редакцией Полтавцева С.И. Армавир, АИПП, 1996, 64 с.

УДК 658.512

А.В. Бондалетов ДВУХМЕРНАЯ УПАКОВКА СО СВЯЗЯМИ. 1 ЧАСТЬ

Введение

Целью упаковки со связями является нахождение такого реального размещения, площадь ограничивающего прямоугольника которого будет минимальна [1].

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

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

Эффективное решение данной задачи важно при проектировании микросхем. Известно, что задача является NP-полной [5].

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

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

1. Постановка задачи

Исходными данными являются:

1. Конечное множество блоков BLOCKS.

Блок - прямоугольный элемент заданного фиксированного размера.

2. Конечное множество соединительных линий (связей) WIRES.

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

Типы связей:

Вертикальная имеет заданную фиксированную ширину. Может иметь

любую высоту.

Горизонтальная имеет заданную фиксированную высоту. Может иметь любую ширину.

3. Список соединений между связями и блоками CONNECTS.

Соединение содержит информацию о типе соединения и двух соединяемых элементах.

Используется 5 типов соединений:

Соединения Блок - Связь:

1. Связь выходит из правой стороны блока.

2. Связь выходит из левой стороны блока.

3. Связь выходит из верхней стороны блока.

4. Связь выходит из нижней стороны блока.

Для соединений типа Блок - Связь (блок i, связь j) дополнительно задаются 2 числа, описывающие границы внутри стороны блока, в которых может перемещаться связь:

г1у — левая (нижняя) граница. r2jj - правая (верхняя) граница.

Соединения Связь - Связь:

5. Горизонтальная Связь - Вертикальная Связь.

4. Минимальные расстояния между каждой парой объектов DISTS.

Для каждой пары объектов (i, j), которым не разрешено накладываться задаются 4

числа:

dljj - Минимальное расстояние от правой стороны элемента i до элемента j. d2|j - Минимальное расстояние от левой стороны элемента i до элемента j. d3y - Минимальное расстояние от нижней стороны элемента i до элемента]. d4y - Минимальное расстояние от верхней стороны элемента i до элемента j.

Ниже все эти понятия описаны более подробно с приведением рисунков.

Цель задачи: Найти такое размещение Р, чтобы его площадь size(P) была минимальной.

Приведем описания используемых понятий.

Назовем блоки и связи элементами.

Т.е. ELEMENTS = BLOCKS uWIRES.

Каждый элемент ej, определяется шириной w, и высотой hi, а его положение левыми нижними (Xj, yj) и верхними правыми (Х„ Yj) координатами, где x,y,X,Y - действительные числа, причем Xj.yiSO И Xj2Xj, YjSy;.

W,

hi

(х,, У,)

Тогда пусть

х = {х, | i=l,...,En}, у = {у, | М.En}, X = {Xj | i=l.En}, Y = {Y* | i=l.En},

где En = |ELEMENTS|

Создание размещения P, это присвоение переменным ze(Z ** xoXl^ujY) действительных чисел.

Тогда Размещением Р, будем называть множество переменных Z = xUXuyUY, причем VzeZ присвоено действительное число.

Пусть V(z) означает значение присвоенное zeZ.

Для решения данной задачи преобразуем все входные данные в ограничения [1].

Любое ограничение может быть записано в следующей форме.

Cj ~ (zlji z2j, dj),

где dj - действительное число. И {zlj, z2j} ^х^Х или {zlj, z2j} cy'-'Y.

Ограничение Cj удовлетворено (выполнено) тогда и только тогда, когда V(zlj) + dj ^ V(z2j). Другими словами две координаты zlj, z2j должны быть расположены не ближе dj единиц друг от друга, если dj ^ 0 и не дальше dj единиц друг от друга, если dj < 0.

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

Введем функцию для размещения isReal(P), которая равна истине, если Р - реальное размещение, ложь, если не реальное.

Площадь размещения Р, size(P) это площадь ограничивающего это размещение прямоугольника, т.е.

size(P) = max {P(z) | zeX}*max {P(z) | zeY}.

Приведем постановку задачи как задачи оптимизации.

Как известно, любая оптимизационная задача имеет структуру, описываемую кортежом: <Х, D, Q>, где

X - пространство решений.

D - ограничения, выделяющие в X область допустимых решений ScX.

Q: S—>R+ - критерий оптимизации.

Требование оптимизации: Q(x)—Hnin или Q(x)—ипах.

В нашем случае:

X - множество всевозможных размещений, т.е. множество различных присвоений действительных чисел элементам множества Z. V(z)eR+, zeZ.

D - это ограничения накладываемые функцией isReal(x), реХ.

Q - это функция определения площади размещения size(x), хе X.

Требование оптимизации состоит в минимизации Q. Q(x)—*nin.

2. Описание структуры данных

В данном алгоритме используются два множества ограничений: базовое множество (BASE) и множество расстояний (DIST).

Рассмотрим их по отдельности.

Базовое множество BASE:

Базовое множество состоит из следующих ограничений:

(Xi5 Yi)

Для блока Bj высотой (height) hj и шириной (width) wit можно записать следующие

ограничения:

Xj + Wj <Xj <=>(xj, Xj, wO, yi + hj ^ Yj <=>(yit Yj, hj),

h;

Xi^Xi + Wi<=>(X„ xi; -wj), Yj Syi + hj <=>(Y;, yf, -hj).

(X„ Yj)

(Х|, У;)

Для вертикальной связи с шириной \У;:

X; + ^ X; <=> (Х;, Х„ Wi), Х: Х; + \У, <=> (Xi, Х:, ^;),

•у; < У; <=>(у;, У» 0) (Высота вертикальной связи может изменяться.).

IV,

(Х„ V,)

(Х|. У.)

Для горизонтальной связи с высотой И,:

X; <, Х( <=>(Х;, Xi, 0) (Ширина связи может изменяться.).

У, + Ь;!£У(<=>(^, У;, Ь;),

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

СВЯЗЬ W;

Yi^yi + hi<=>(Yi,yi, -hi).

(Х„ Y.)

(х„ у,)

Следующие ограничения нужны для обеспечения соединений между блоками и связями, а также между связями. Необходимо отметить, что связь может быть соединена только с той стороной блока, которая указано в задании. В постановке задачи могут быть указаны границы, внутри которых связь может перемещаться вдоль стороны блока. Далее записаны ограничения для описания соединений между связью \У| и блоком В;. Пусть границы внутри стороны блока В; ДЛЯ соединения СО СВЯЗЬЮ будут называться Г1 у И г2у.

Случай 1. Связь соединена с правым ребром блока Вг

х^Х|<=>(х^ X;, 0), X) ^ X) <=>(Х|, Х^ 0), Х( ^ хл

<=>(*» х* 0),

У; + Пц <=>(у(, У;, г 1ц), Yj + г2у £ У; <=>(У;, У-„ г2„).

(X., V.)

(X, У.)

(Х|, у,)

Случай 2. Связь АУі соединена с левым ребром блока Ві. х, £Хі **(хі, Хі, 0), X, £ X; <=>(X* Хі, 0),

Хі 2Ї Хі

►(Хі, Хі, 0),

Уі + Гіц^Уі<=>(Уі,Уі, Гіу),

Уі + г2ц5Уі<=»(Уі> У„г2у).

(Хі, V.)

(х,. У)

г2.

Связь WJ

Блок В, гі.

(х„ Уі)

Случай 3. Связь соединена с верхним ребром блока В;.

Уі £ Уі <=> (и, Уі( 0), Уі * ^ <=> (Уі, Уі, 0),

<=>(Уі, Уі, 0),

Хі гі д ^ Хі >—V(х;, Хі, гі ц), Хі "Ь г2у $ Х; <=>(Хі, Хі, г2у).

Уі £ Уі

Связь \¥

(Хі5 V}

(х„ Уі)

Случай 4. Связь Ші соединена с нижним ребром блока Ві.

Уі ^ Уі <=>(Уі. Уі, 0), Уі^Уі<=>(Уі,Уі,0), Уі ^ Уі

<=>(Уі, Уі, 0),

Х( + Г1 у ^ Хі О (Хі, Хі, ГІ у), Хі г2у ^ X; у-/ (Хі, Хі, г2у).

Две связи могут пересекаться, только если они перпендикулярны друг другу. Пусть горизонтальная, а >¥1 - вертикальная связь. Тогда:

^ <=>(х], Х|, 0), X, £ Xj <=>(Х;, X* 0),

У!^У1<=>(У!,К,0), У;,0).

Связь \У!1—

у)

(X,, У)

Связь Wi

Приведем пример.

Здесь 1,2,3,4,5,6 - Блоки, 7,8,10,12,14 - горизонтальные связи, 9,11,13 - вертикальные

связи.

Введем некоторые обобщенные параметры для решения этой задачи: г1 у — г2у — 0.

<11 у = с12у = 2, для любых двух блоков ! и ^

<11 у = <12„ = 1, для любых двух несоединенных связей \ и].

<11 у = <12у = 2, для любых двух несоединенных блока \ и связи].

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

Запишем базовое множество ограничений BASE для этого примера. Отметим, что |BASE| = 109.

Множество расстояний ОКТ:

Множество расстояний состоит из следующих ограничений:

Для двух любых элементов Е„ Е^ которым нельзя перекрываться (т.е. они не соединены) можно записать следующие ограничения:

с1у: Х( + с11ц £Xj <=>(Х^ х^ (11ц), Е; левее, чем Ej на «11ц, с2у: Xj + (12у ^х, <=>(Х^ X;, (12ц), Е; правее, чем E^ на <12ц, сЗц: V; -ь с! 1 у ^ <=>(У^ у^ с!1ц), Е; ниже, чем Ез на аЗц, с4ц: Yj + с12ц £у| <=>0^, у*, с!2ц), Е( выше, чем Ej на а4ц,

d4 и (X, Y.)

d2 , ч . Блок В, dl,

0 d3y

Rij - область, в которой не может находиться (пересекаться) блок Bj.

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

Пусть S(i, j) = {cl ц, с2у, сЗц, c4jj}.

DIST = 4«J)«oS(ij), где О = {(i,j) | i и j могут перекрываться}.

После определения BASE и DIST, можно сказать, что размещение Р будет являться реальным тогда и только тогда, когда будут удовлетворены все ограничения из BASE и хотя бы одно ограничение для VS(i, j)eDIST.

Заключение

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

ЛИТЕРАТУРА.

1. Schlag М., Liao Y.-Z. and Wong С.К. "An Algorithm for optimal two-dimensional compaction of VLSI layouts", North-Holland INTEGRATION, the VLSI journal 1 (1983) pp. 179-209.

2. Boyer D.G., "Symbolic Layout Compaction Review", 25lh ACM/IEEE Design Automation Conference (1988), Paper 26.1, pp. 383-389.

3. Goodman D.E., Tetelbaum А.У. and Kureichik V.M., "A Genetic Algorithm Approach to Compaction, Bin Packing and Nesting Problems", Technical Report #940702, Case Center For Coinputer-Aided Engineering And Manufacturing Michigan State University, 1994, p. 71.

4. Dai W., Eschermann B., Kuh E.S., Pedram М., "Hierarchical Placement and Floorplanning in BEAR", IEEE Transaction on Computer-Aided Design, Vol. 8, No. 12, 1989, pp. 1335-1348.

5. Hsieh T.M., Leong H.W., Liu C.L., "Two-Dimensional Layout Compaction by Simulated Annealing", in Proc. IEEE International Symposium on Circuits and Systems, June 1988, Espoo, Finland, vol.3, pp. 2439-2443

6. Liao Y.-Z., Wong C.K., "An Algorithm to compaction a VLSI symbolic layout with mixed constraint", IEEE Trans. On CAD of Integrated Circuits and Systems, 1983, vol.CAD-2, no.2, pp.62-69.

УДК 658.512

A.B. Бондалетов ДВУХМЕРНАЯ УПАКОВКА СО СВЯЗЯМИ. 2 ЧАСТЬ

Введение

Целью упаковки со связями является нахождение такого реального размещения, площадь ограничивающего прямоугольника которого будет минимальна [1].

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

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

Наиболее известным и простым методом сжатия уже существующего реального размещения (решения) является последовательное сжатие по каждой оси в отдельности [3], т.е. х-сжатие, а затем у-сжатие или у-сжатие, а затем х-сжатие. Основные недостатки метода в том, что ему нужно дать реальное размещение и метод не меняет структуру размещения, т.е. решение не обязательно будет лучшим.

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

Алгоритм начинает работу с размещения, в котором удовлетворены лишь соединения [1], т.е. не используются ограничения на минимальные дистанции между элементами. Затем, если произошло неразрешенное перекрытие блоков, то алгоритм пытается их «раздвинуть», т.е. поместить один блок над/под/слева/справа от другого.

Для нахождения размещения алгоритм использует граф ограничений [3], который состоит из двух несвязных подграфов: подграф х-ограничений и подграф у-ограничений.

Сделана программа по данному алгоритму на языке Borland C++ Builder 3.0 под операционной системой MS Windows 95, которая имеет удобный интерфейс и наглядное графическое изображение процесса работы алгоритма.

1. Краткая постановка задачи

Исходными данными являются:

5. Конечное множество блоков BLOCKS.

6. Конечное множество соединительных линий (связей) WIRES.

7. Список соединений между связями и блоками CONNECTS.

8. Минимальные расстояния между каждой парой объектов DISTS.

Цель задачи: Найти такое размещение Р, чтобы его площадь size(P) была минимальной;

Более подробная постановка задачи приведена в I части работы [1].

i Надоели баннеры? Вы всегда можете отключить рекламу.