ние к нулю или более наглядное стремление к — га частичных сумм логарифмического ряда из следствия 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]. Если такой критический путь разрезан в процессе разбиения схемы на компоненты, то возникающие в результате этого паразитные емкости могут привести к чрезмерно большим временным задержкам и, как следствие, низкому быстродействию или неработоспособности спроектированной микросхемы.
Наиболее часто данная проблема возникает при проектировании вентильных матриц, имеющих высокую насыщенность связями, поскольку большое число входов/выходов обуславливает необходимость учёта при компоновке помимо ограничений на размер компонент, также и ограничений на количество их выводов (фак-
). -, , среди которых имеются и критические пути.
Поставим задачу таким образом. Сформировать компоненты разбиения, чтобы для каждой компоненты:
tMAX ____ tMAX
’'РАЗИ _ 0 ,
Size p
Cost p =------- _ max ,
- IO- ’