Научная статья на тему 'Эффективные модели представления ортогональных ресурсов при решении задачи упаковки'

Эффективные модели представления ортогональных ресурсов при решении задачи упаковки Текст научной статьи по специальности «Математика»

CC BY
191
40
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ЗАДАЧА ОРТОГОНАЛЬНОЙ УПАКОВКИ / РАСПРЕДЕЛЕНИЕ РЕСУРСОВ / МОДЕЛЬ ПРЕДСТАВЛЕНИЯ ОБЪЕКТОВ / ДЕКОДЕР / ВЫЧИСЛИТЕЛЬНЫЙ ЭКСПЕРИМЕНТ / ORTHOGONAL PACKING TASK / RECOURSES REPLACEMENT PROBLEM / MODEL OF REPRESENTATION OF OBJECTS / DECODER / COMPUTATIONAL EXPERIMENT

Аннотация научной статьи по математике, автор научной работы — Чеканин Владислав Александрович, Чеканин Александр Васильевич

Описана NP-полная задача ортогональной упаковки объектов произвольной размерности в общем виде. Предлагается новая модель «виртуальные объекты» представления ортогональных объектов в контейнерах. Разработан унифицированный декодер строки размещения. Приведены результаты вычислительных экспериментов.

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

Effective Models of Representation of Orthogonal Recourses in Packing Tasks Solution

The NP-completed orthogonal task of packing objects of arbitrary dimension is described in general terms. The new model of representation of orthogonal objects in containers named «virtual objects» is proposed. The unified decoder of a placement string has been developed. The results of performed computational experiments are shown.

Текст научной работы на тему «Эффективные модели представления ортогональных ресурсов при решении задачи упаковки»

УДК 004.94

ЭФФЕКТИВНЫЕ МОДЕЛИ ПРЕДСТАВЛЕНИЯ

ОРТОГОНАЛЬНЫХ РЕСУРСОВ

ПРИ РЕШЕНИИ ЗАДАЧИ УПАКОВКИ

В. А. Чеканин,

канд. техн. наук, доцент

А. В. Чеканин,

доктор техн. наук, профессор Московский государственный технологический университет «СТАНКИН»

Описана ЫР-полная задача ортогональной упаковки объектов произвольной размерности в общем виде. Предлагается новая модель «виртуальные объекты» представления ортогональных объектов в контейнерах. Разработан унифицированный декодер строки размещения. Приведены результаты вычислительных экспериментов.

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

Введение

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

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

Постановка задачи упаковки

В общем виде задача ортогональной упаковки объектов размерности Б описывается следующим образом: имеются набор N ортогональных контейнеров (Б-мерных параллелепипедов) с габаритными размерами |, ] = 1,..N

и набор п ортогональных объектов (Б-мерных

параллелепипедов) с габаритными размерами и2,...,юБ |, і = 1,п. Обозначим положение объекта і в у-м контейнере следующим образом: х1;хЦх(-1. Необходимо разместить все объекты в минимальном числе контейнеров при выполнении следующих условий:

1) ребра размещенных в контейнере ортогональных объектов параллельны ребрам этого контейнера;

2) упакованные объекты не перекрывают друг друга, т. е.

"] = 1...Ы, "й = 1,..., Б, "і, к = 1,п, і ^ к

(хц > х%+ик ) > хіі+)

3) упакованные объекты не выходят за границы контейнеров, т. е.

"]' = 1...Ы, "й = 1,Б; "і = 1,п

Решение задачи упаковки объектов произвольной размерности может быть закодировано строкой размещения, содержащей последовательность выбора размещаемых объектов. Каждый размещаемый объект I в строке размещения описывается кортежем с=<1, Ъ>, где Ъь — номер варианта ориентации этого объекта в пространстве контейнера.

Формирование строки размещения

Декодирование

строки

размещения

Оценка качества размещения объектов

■ Рис. 1. Процесс решения задачи упаковки

Процесс решения задачи упаковки можно представить в виде схемы (рис. 1).

Формирование решений, как правило, осуществляется с помощью алгоритмов многокритериальной оптимизации, например, эволюционных алгоритмов [2, 3]. Конструирование упаковки по заданной в строке размещения последовательности объектов выполняется блоком декодирования. Для оценки качества полученной упаковки используется целевая функция, в качестве которой предлагается отношение суммарного объема размещенных в контейнере объектов к объему V* описанного вокруг полученной Б-мерной упаковки Б-мерного ортогонального контейнера: щ в

Е ГК в=—, (1)

V *

где п( — число размещенных в контейнере объектов. Наиболее плотной упаковке соответствует значение целевой функции, равное единице.

Модели представления объектов в контейнерах

Для решения задачи упаковки обычно используются блочная [4] и узловая [5] модели представления объектов. В узловой модели выполняется присоединение объектов к особым точкам, расположенным в пространстве контейнера, называемым узлами. Каждый узел описывается кортежем

и* = (X*, а, Ъ), (2)

где к — номер узла; X* = •{, х|,— вектор, описывающий положение этого узла в Б-мер-ном ортогональном контейнере; а — присоединенный к узлу к ортогональный объект; Ь — вариант ориентации этого объекта в контейнере. Присоединение объектов возможно только к так называемым свободным узлам (т. е. не содержащим присоединенные объекты).

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

и* = (X*, Р*, а, Ъ), (3)

где Р* =|р!,, Рь,---, рВ| — вектор, описывающий

виртуальный объект узла и содержащий габаритные размеры ортогонального объекта наибольшего объема, который может быть присоединен к узлу к без перекрытий с размещенными в контейнере объектами и выхода за границы контейнера. Например, при размещении в точке {0, 0} пустого двухмерного контейнера с габаритными размерами Ь х Ж прямоугольника с габаритными размерами I х ю в его углах формируются новые узлы, содержащие виртуальные объекты, описываемые векторами P = {Ь - I; Ж}, P = = {Ь - I; Ж - ю} и P = {Ь; Ж - ю}.

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

Алгоритм работы декодера размещения.

1. Выбрать очередной объект I из строки размещения. Выбрать первый контейнер у, содержащий, как минимум, один свободный узел. Если выбраны все объекты, выполнить переход к п. 4.

2. Произвести последовательный поиск свободного узла к текущего контейнера у, к которому возможно присоединить текущий объект I (для модели «виртуальные объекты» должно выполняться условие и< р% "й = 1,В). Если искомый узел не найден, выполнить переход к следующему контейнеру у: = у + 1 и повтор п. 2. Если среди всех контейнеров не найден искомый узел, выполнить переход к п. 1.

3. Присоединить объект I к найденному узлу к контейнера у. Образовать в углах размещенного объекта новые узлы контейнера и определить векторы их виртуальных объектов. Выполнить сортировку узлов контейнера в порядке убывания приоритета присоединения к ним объектов, т. е. для любого узла к контейнера у должно выполняться следующее неравенство:

Б Б Б Б

Е 4 п К <Е 4+1 П К

Л=1 а=н+1 к=1 а=н+1

Выполнить переход к п. 1.

4. Завершить работу декодера.

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

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

Реализация модели «виртуальные объекты» при размещении заданной последовательности объектов в одном контейнере представлена в виде блок-схемы (рис. 2).

Использование модели «виртуальные объекты» позволяет повысить скорость размещения объектов за счет оптимизации процедуры определения возможности присоединить объект к узлу, поскольку вместо проверки на перекрытие со всеми размещенными в контейнере объектами необходимо выполнить единственную проверку нахождения размещаемого объекта целиком внутри виртуального объекта узла к, к которому он присоединяется: < р%)"й = 1,., В.

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

/'Создание набора^ у объектов )

Генерация первого узла в контейнере в точке {0, 0, ... , 0}

Выбор первого объекта для размещения

Присоединение объекта к свободному узлу

Выбор следующего узла из списка свободных узлов

Выбор следующего объекта для размещения

Формирование новых узлов и перерасчет виртуальных объектов всех узлов контейнера

■ Рис. 2. Алгоритм размещения объектов в модели «виртуальные объекты»

— виртуальный объект узла до размещения в контейнере объекта IV

— первый виртуальный объект узла после размещения в контейнере объекта IV

— второй виртуальный объект узла после размещения в контейнере объекта IV

Рис. 3. Виртуальные объекты узла в трехмерном контейнере

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

Вычислительные эксперименты

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

При решении задачи трехмерной упаковки объектов модель «виртуальные объекты» демонстрирует меньшую эффективность по качеству размещения объектов, что подтверждается проведенными вычислительными экспериментами: значение целевой функции решения ниже, чем при использовании узловой модели (рис. 4, а). Од-

■ Параметры тестовой задачи трехмерной упаковки

Наименование Габариты Количество

Контейнеры 300x100x100 1

Объекты 25x25x25 20

25x30x25 20

10x30x60 20

45x30x60 10

30x30x30 20

Узловая Блочная Модель

модель

модель

«виртуальные

объекты»

б) 5

4

“ з я,

2

р

В

4,33

1,98

1,51

ІГ

Узловая

модель

Блочная

модель

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

Модель

виртуальные

объекты»

■ Рис. 4. Плотность (а) и время (б) размещения параллелепипедов при использовании различных моделей представления объектов

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

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

целесообразно использовать узловую модель представления объектов.

Заключение

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

Литература

1. Gary M., Johnson D. Computers intractability: a guide to the theory of NP-completeness. — San Francisco: W. H. Freeman, 1979. — P. 124.

2. Чеканин В. А., Ковшов Е. Е., Хуэ Н. Н. Повышение эффективности эволюционных алгоритмов при решении оптимизационных задач упаковки объектов // Системы управления и информационные технологии. 2009. № 3. С. 63-67.

3. Чеканин В. А., Ковшов Е. Е. Моделирование и оптимизация технологических операций в промышленном производстве на основе эволюционных алгоритмов // Технология машиностроения. 2010. № 3. С. 53-57.

4. Филиппова А. С. Моделирование эволюционных алгоритмов решения задач прямоугольной упаковки на базе технологии блочных структур // Информационные технологии. 2006. № 6. Приложение. — 32 с.

5. Чеканин В. А. Эффективное решение задачи двухмерной контейнерной упаковки прямоугольных объектов // Вестник компьютерных и информационных технологий. 2011. № 6. С. 35-39.

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