Научная статья на тему 'Трехмерная упаковка на основе эвристических процедур'

Трехмерная упаковка на основе эвристических процедур Текст научной статьи по специальности «Математика»

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

Похожие темы научных работ по математике , автор научной работы — Нужнов Е. В., Барлит А. В.

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

Текст научной работы на тему «Трехмерная упаковка на основе эвристических процедур»

ние к нулю или более наглядное стремление к — га частичных сумм логарифмического ряда из следствия 2, что эквивалентно (7); аналогично выявляется нарушение (7). Одновременно с помощью (4), (5) (или с соответственной заменой этих соотношений при использовании других методов) ведется контроль погрешности, рост которой свыше линейного при произвольно малых h на основании теоремы 3 служит дополнительным признаком неустойчивости. Значения параметров из условий представленных теорем и следствий на практике выбираются без принципи,

этих значений в рамках формальных ограничений.

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

(2), , ,

решение в аналитической форме.

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

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

ЛИТЕРАТУРА

1. Чезари Л. Асимптотическое поведение и устойчивость решений обыкно-венных дифференциальных уравнений. М.: Мир, 1964. 478 с. (Lamberto Cesari. Asymptotic behavior and stability problems in ordinary differential equations. Springer verlag. Berlin Gottingen Heidelberg. 1959.)

2. Березин КС., Жидков НМ. Методы вычислений. Т.2. М.: Физматгиз, 1962. 640 с.

3. Ромм Я.Е. Итерационные критерии устойчивости по Ляпунову на основе методов численного интегрирования обыкновенных дифференциальных уравнений. Таганрог: Изд-во ТГПИ, 1999. 132 с. ДЕП в ВИНИТИ 13.10.99, № 3064-В99."

УДК 681.3.06

Е.В. Нужное, А.В. Барлит ТРЕХМЕРНАЯ УПАКОВКА НА ОСНОВЕ ЭВРИСТИЧЕСКИХ ПРОЦЕДУР

Известная задача плотной упаковки трехмерных объектов для их транспортировки в контейнерах, грузовиках, вагонах и трюмах постоянно расширяет области . -

ной в современной промышленности, особенно при использовании hi-tech техно.

и видоизменения компонентов в ограниченном объеме. Эта задача востребована и , -

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

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

сжатием трехмерной топологии может дать значительный прирост в производительности электронных систем. В виде критерия могут выступать стоимость, безопасность, комфорт, быстродействие и др. Например, при производстве мобильного процессора компанией ЛМБ остро стояла проблема тепловыделения. Без изменения архитектуры двумерная переупаковка топологии и соответствующая перетрассировка в первом слое позволили снизить потребление энергии на 20%, а производительность при этом возросла на 10%.

При решении рассматриваемой задачи удобно представлять область размещения и размещаемые элементы в виде параллелепипедов, грани которых совпадают по направлению с осями координат декартовой системы. Задачу можно свести к формированию последовательности заполнения заданной трехмерной области с учетом специфики сферы применения (критерия оптимизации, наличия (отсутствия) связей, числа вариантов размещения элементов в пространстве и т.д.). При этом оптимальное решение может гарантировать только алгоритм полного перебора вариантов размещения с факториальной временной сложностью. На практике необходимо решать задачи больших размерностей. В случае проектирования современных СБИС, даже с учетом регулярности структуры некоторых их фрагментов, число элементов размещения может достигать порядка 106 - 109. Ввиду КР-полноты рассматриваемой задачи, даже при малом числе элементов (15-20) решать ее целесообразно эвристическими, поисковыми, эволюционными или стохастическими методами для снижения аппаратных, вычислительных и временных .

В данной работе рассмотрен эвристический алгоритм трехмерной упаковки , . Алгоритм размещает элементы внутри параллелепипеда без учета привязки к си. , -ловных «стенах», и на «потолке». Порядок заполнения определяется сканированием плоскостей снизу вверх после получения решения. Задача решается в декартовой системе координат.

Постановка задачи. Имеется множество элементов для размещения А=(а\ 1=1,2,.Каждый элемент характеризуется тройкой чисел (х,у^}, где xi,yi,zi -габаритные размеры элемента. В ходе решения задачи положение элементов в пространстве задается множеством Б=&=(<х1 ,у1 ^п>, <х2,у2^2>) \ i=1,2,.,n}, где <хну1^п>, <х2,у2^2> - координаты углов элемента, самого близкого к началу

осей координат и самого удаленного соответственно . Так же имеется параллелепипед М=(тх,ту,т}, где тх,ту,т2 - габаритные размеры области упаковки.

Возможны два критерия оптимизации:

1. N - число элементов, упакованных в заданный объем.

2. V - объем, требующийся для упаковки всех элементов.

Для этих случаев существуют следующие ограничения:

1. Ни один элемент не может выходить за границы заданного объема:

1 Здесь использован метод «двщкды ориентированной точки»: при описании плоского ортогонального контура последовательным обходом его точек ввиду последовательной повторяемости одной из координат на каждом шаге, целесообразно описывать точки контура «через одну». Данная идея применена нами к трехмерному случаю описания параллеле-ПИІІ™1®. "

хи >0; уц >0; 2и >0; %2г <тх, У2г < ту; 22, <тг;

2.

(Х2г —Хц & У2г >Уц & Z2i >Z1]) V (ХЪ <Хц & У2, >Уц & Z2i >Z1]) V

(%2, >Х1} & У2г <У1} & Z2г >Z1]) V (Х21 >Хц & У2г >Уг} & Z2i <Z1]) V

(Х2г <Хц & У2г <Уц & Z2г >Zli) V ^ >Хц & У2г <Уц & Z2г <Zli) V

(ХЪ <Хц & У2г >У1} & Z2i <Zli) = 1 Vi <П, ] <П О?]).

Критерием оптимизации является отношение суммы объемов всех элементов к общему объему упаковки [1]. Целевая функция имеет вид:

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

. .

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

В качестве основной использована следующая эвристика: для размещения на данном шаге должен быть выбран «самый неудобный для процесса размещения» ( , ) , -тить его в заданный объем с каждым следующим шагом будет все сложнее [2]. Для этого подсчитывается число возможных вариантов размещения каждого элемента, и для размещения выбирается элемент, для которого это число минимально. Необходимо также учитывать то, что параллелепипед, в общем случае, имеет шесть возможных вариантов ориентации в пространстве, когда его ребра параллельны ( . 1).

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

упаковки:

П

І=1

3. Отсутствие пересечений:

П

І=1

>1,

тХ • ту • т2

на 100%.

Рис.1

После размещения выполняется обычная компакция по трем осям. Существуют два подхода к определению габаритов области для упаковки:

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

2) производится априорная оценка имеющегося набора параллелепипедов, на основании которой задается рабочая область с объемом, равным сумме объемов всех имеющихся элементов (ЦФ=1). В случае невозможности упаковки всех элементов в эту область, происходит ее увеличение на основе эвристик,

. , .

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

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

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

Для этой подзадачи была предложена следующая эвристика. От границ области, включая уже стоящие там элементы, наращивается граница: по оси 2 на (2, -1) клетку пространства в сторону плоскости 2=0, по оси х на (х, - 1) клетку пространства в сторону плоскости х=0 и по оси у на (у,- - 1) клетку пространства в сто-у=0.

числу возможных вариантов размещения. В качестве примера рассмотрим дву-( .2).

- добавленная граница

- установленные элементы

- размещаемый элемент

Рис.2

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

Для упрощения задачи предлагается учитывать следующую идею: размещать элемент целесообразно лишь в вогнутых трехгранных углах (рис.3).

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

Применение данного алгоритма показало его эффективность для решения задач с числом элементов до 100 при квадратичной временной сложности алгоритма.

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

к = тах (шах( х,), тах( уг), тах( )) , = —

р тт(тт(х,),тт(у{),тт( )) ’

?деЫ - число элементов

Было произведено 10 экспериментов с N=16, последовательно задавая КР=1,

2, ..., 10. Требуемый объем подбирался вручную. Экспериментально полученные данные приведены в табл. 1. При аппроксимации этой зависимости, получена сле-:

Клриращ. объема*~1+ Кр 0,5

1

кр 1 2 3 4 5 6 7 8 9 10

Кприращ. объема 1,2 1,04 1,13 1,21 1,24 1,29 1,14 1,32 1,44 1,49

Теоретически полученная зависимость отражена в табл. 2.

Таблица 2

кр 1 2 3 4 5 6 7 8 9 10

Кприращ. объема* 1,05 1,10 1,15 1,20 1,25 1,30 1,35 1,40 1,45 1,50

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

Экспериментальные исследования эффективности алгоритма и его временной сложности (ВСА) проводились на наборах с мощностью, не превышающей N=10 для оценки эффективности (дая возможности сравнения с результатами, получен) 100 . в 9 из 10 экспериментов алгоритм нашел решение, аналогичное полученному при .

превысила 6%. При оценке ВСА экспериментальный график лежал ниже теорети-, .

Алгоритм трехмерной упаковки реализован в программной среде Borland C++ Builder. -

.

решения в качестве инструмента визуализации была выбрана библиотека Open GL

[3]. Благодаря этому, пользователь может вращать трехмерный вид упаковки с находящимися в нем элементами для нахождения наилучшего ракурса просмотра как « » , скроллинга. Внешний вид рабочего окна программы представлен на рис 4.

Рис.4

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

ЛИТЕРАТУРА

1. Бондалетов А.В. Двухмерная упаковка со связями. Части I, II. Известия ТРТУ, №3. Таганрог: изд-во ТРТУ, 1999.

2. Фионова Л.Р. Последовательный алгоритм плотной упаковки элементов. В кн.: Тезисы докл. Респ. науч.-техн. конф. «Автоматизация технического проектирования цифровой аппаратуры». Каунас: КПП, 1981.

3. Тихонов Ю. Программирование трехмерной графики. СПб: БХВ, 1999. 432 с.

УДК 681.3.06

М.В. Рыбальченко, В.М. Глушань

АЛГОРИТМ КОМПОНОВКИ, УЧИТЫВАЮЩИЙ ВРЕМЕННЫЕ ПАРАМЕТРЫ НА ОСНОВЕ СОХРАНЕНИЯ ЛУЧШИХ КОНУСОВ СХЕМЫ

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

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

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

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

). -, , среди которых имеются и критические пути.

Поставим задачу таким образом. Сформировать компоненты разбиения, чтобы для каждой компоненты:

tMAX ____ tMAX

’'РАЗИ _ 0 ,

Size p

Cost p =------- _ max ,

- IO- ’

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