Оптимизация решения задачи ортогональной упаковки объектов

№ 4 (40) 2012

В. А. Чеканин, канд. техн. наук, доцент Московского государственного технологического университета «СТАНКИН»

А. В. Чеканин, докт. техн. наук, профессор, заведующий кафедрой Московского государственного

технологического университета «СТАНКИН»

Оптимизация решения задачи ортогональной упаковки объектов

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

Введение

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

Сложность решения задачи упаковки обусловлена ее принадлежностью к классу NP (Nondeterministic polynomial)-полных задач [1]. Практическое применение методов решения задач упаковки, использующих полный перебор вариантов, оказывается неэффективным из-за больших затрат временных ресурсов. В связи с этим одним из перспективных направлений исследований является разработка и совершенствование различных приближенных, а так-

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

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

.....wD },/ = 1.....п. Запишем положение объекта / в /-м контейнере следующим образом: (;х(;...;. Необходимо разместить все объекты в минимальном числе контейнеров при выполнении условий:

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

2) упакованные объекты не перекрывают друг друга, т. е. V/ = 1.....N, Vd = 1.....D,

V/ = 1.....п, Vк = 1.....п, / ф к должно выполняться условие (( > х+ wdk) V ( > х^ + wd);

3) упакованные объекты не выходят

за границы контейнера, т. е. V/ = 1.....N,

Vd = 1.....D, V/ = 1.....пдолжно выполняться

условие ( > 0) а ( + wd < W|d).

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

№ 4 (40) 2012

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

Решение задачи упаковки объектов произвольной размерности может быть представлено строкой размещения, содержащей последовательность выбора объектов для их размещения. Каждый объект I в строке размещения описывается кортежем С = (/,Ь(), где Ь — номер варианта ориентации объекта в пространстве заполняемого контейнера.

В качестве целевой функции решения предлагается отношение суммарного объема размещенных в контейнере объектов к объему V* описанного вокруг полученной О-мерной упаковки О-мерного параллелепипеда:

хп

Б =

<и л

мз

0

а §

1

о

и §

12 р

§

I £ «О

I §

I

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

На эффективность решения задачи упаковки влияет не только алгоритм поиска оптимального решения, но и способ представления объектов в контейнерах, используемый при конструировании упаковки. Для решения задачи упаковки обычно используются блочная [2] и узловая [3] модели представления объектов. В узловой модели выполняется присоединение объектов к особым точкам, расположенным внутри контейнера, называемым узлами. Каждый узел описывается кортежем

ик = (Хк, э,Ь),

<} —

где к — номер узла; Хк = {, хк, вектор, описывающий положение этого узла

56

в О-мерном ортогональном контейнере; а — присоединенный к узлу к объект; Ь — вариант ориентации этого объекта в контейнере. Присоединение объектов возможно только к так называемым свободным узлам (т. е. не содержащим присоединенные объекты).

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

ик = {Хк ,Рк, аЬ),

где Рк = {, рк.....рО) —вектор, описывающий виртуальный объект узла и содержащий габариты наибольшего ортогонального объекта, который может быть присоединен к узлу к без перекрытий с размещенными в контейнере объектами и границами контейнера. Например, при размещении в точке {0, 0} пустого двухмерного контейнера с габаритами L • \ прямоугольника с габаритами I• \ в его углах формируются новые узлы, содержащие виртуальные объекты, описываемые векторами Р = {- , Р = {-1;\-Ц и Р = {;\- Ц.

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

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

/=1 а=1

№ 4 (40) 2012

и £

и

£ $

со

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

Последовательность выбора узлов для присоединения к ним объектов определяет-

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

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

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

№ 4 (40) 2012

0,895

0,89

о 0,885

0,88

0,893

0,888

0,882

Узловая модель

Блочная модель

Модель «виртуальные объекты»

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

4,33

1,98

1,51

Узловая модель

Блочная модель

Модель «виртуальные объекты»

оо

В

<и л

мз

0

а §

1

о

л §

12 р

§

и £ «о

и §

и

Рис. 3. Время размещения для различных моделей представления объектов

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

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

Выбор эффективных параметров генетического алгоритма

Проведенные в [4, 5] исследования показали высокую эффективность применения генетических алгоритмов (ГА) при решении задачи ортогональной упаковки объектов. Получение оптимального решения задачи упаковки возможно при правильном выборе схемы ГА, его эффективных параметров и критерия останова работы алгоритма.

Вычислительные эксперименты (рис. 4) показали, что при решении задачи ортогональной упаковки объектов эффективными параметрами ГА являются следующие: вероятность выполнения оператора крос-синговера равна 0,9, инверсии — 0,7, мутации — 0,1 [6].

Мультиметодный генетический алгоритм

В настоящей работе реализована муль-тиметодная технология, разработанная профессором И. П. Норенковым [7], в основу

3

а

X

>

>5

0 со ш =; ш

си

1

ш

X го I

м си ш

I

4

я> а о

0,£

0,88

0,87

0,86

0,85

0,84

0,83

0,82

- —- '

* -- —

Р

« **

/

Г

Кроссинговер

Инверсия

Мутация

0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

Вероятность выполнения генетических операторов

Рис. 4. Зависимость качества решения от вероятностей выполнения генетических операторов

58

№ 4 (40) 2012

которой положена идея кодирования решения задачи в виде последовательности эвристик. Для мультиметодного генетического алгоритма (МГА) применительно к модели «виртуальные объекты» разработаны новые эффективные эвристики размещения ортогональных объектов:

1) присоединение к узлу k текущего контейнера наиболее подходящего объекта i вдоль выбранного направления упаковки l:

2) присоединение к узлу k текущего контейнера первого подходящего объекта i с максимальным объемом:

( D D \

Пpd-Пwd ^min,wd <pd Vd = 1.....D ;

V d=1 d=1 )

3) присоединение первого объекта (/ = 1) из списка упорядоченных по одному из габаритных размеров неразмещенных объектов к ближайшему свободному узлу к текущего контейнера:

Vh < k 3 d : pd < wd wd < pd Vd = 1.....D ;

4) присоединение первого объекта (/ = 1) из списка упорядоченных по объему неразмещенных объектов к ближайшему свободному узлу к текущего контейнера при выполнении условия (6).

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

Программная реализация

Для решения задач упаковки произвольной размерности разработана информационная модель в виде библиотеки классов UniPacker (рис. 5).

UniPacker является унифицированной и может быть использована при разработке алгоритмов упаковки объектов произвольной конфигурации любой размерности. Поскольку библиотека классов написана на языке программирования С++ стандарта ISO/ANSI, ее можно применять на всех платформах с компилятором С++. Унификация библиотеки классов задач упаковки достигается благодаря возможности использования узловой и производных от нее моделей размещения объектов при решении задач упаковки произвольной размерности, а также благодаря возможности применения различных эвристических алгоритмов для оптимизации решений задач упаковки.

Для решения задач ортогональной упаковки различной размерности разработано прикладное программное обеспечение Packer (рис. 6), использующее библиотеку классов задач упаковки UniPacker. Разработанные алгоритмы реализованы на платформе Microsoft Win 32.

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

Эффективность применения разработанных алгоритмов и методов решения задачи ортогональной упаковки исследована на эталонных задачах двухмерной контейнерной упаковки S. P. Fekete и J. Schepers из библиотеки OR-library1, для которых известны точные нижние границы решений. Во всех задачах габариты контейнеров одинаковы и равны 100 • 100. В ходе вычислительного эксперимента решены задачи упаковки 40, 50, 100, 150, 250, 500 и 1000 прямоугольных объектов. Для каждой задачи проведена серия из 100 эксперимен-

и £

£

и

s $

ва

1 URL: http://people.brunel.ac.uk/~mastjjb/jeb/info. html.

59

-ч ПРИКЛАДНАЯ ИНФОРМАТИКА

№ 4 (40) 2012 ' -

Набор узлов

-набор узлов

+Упорядочивание узлов

Узел

-вектор положения -вектор виртуального объекта -ссылка на объект -угол поворота объекта

Контейнер

-наборы узлов

+Определение свободного пространства

Ж"

Объект

-форма -число

-варианты ориентации

+Проверка возможности размещения

7Г

Задача

-объекты -контейнеры -алгоритмы решения -размерность задачи

Ортогональный объект

-длина

-ширина

-высота

Цилиндр

-радиус -высота

Сфера

-радиус

<и л

мз

0

3

со §

1

о

Л §

12 р

§

I £ «О

I §

I

Закодированное решение

-хромосома -целевая функция

+Размещение объектов

Алгоритм решения

-популяция решении -лучшее решение

+Создание начальной популяции

Л

Генетический алгоритм

1

Алгоритм отжига

Рис. 5. Библиотека классов задач упаковки

тов. Показателем качества размещения служит относительное отклонение т от нижней границы решения, которое рассчитывается по формуле:

N -Л,

ц(%) = -

-100%,

т

где Ы, — целевая функция решения (число заполненных объектами контейнеров); Л, —

точная нижняя граница задачи; т — число размещаемых объектов.

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

60 у

№ 4 (40) 2012

и £

и

s $

ва

Рис. 6. Визуализация рассчитанной трехмерной упаковки в пакете Packer

Таблица 1

Результаты сравнительного тестирования генетических алгоритмов

Клас с Относительное отклонение от нижней границы m, %

зада с Генетический алгоритм Мультиметодный генетический алгоритм

ngcutfsl 2,19 1,63

ngcutfs2 1,96 1,06

ngcutfs3 1,28 0,78

Результаты тестирования разработанных алгоритмов Packer MGA (МГА с разработанными эвристиками) и Packer FIT (алгоритм выбора лучшей из описанных выше эвристик без последующей оптимизации) в сравнении с генетическим блочным алгоритмом И. П. Норенкова GMA [8] и жадным ГА Genetic Greedy Sub (GGSub) [2] приведены на рис. 7.

Из приведенной на этом рисунке диаграммы видно, что алгоритм Packer MGA обеспечивает наиболее плотное размеще-

ние объектов для всех трех типов решаемых тестовых задач упаковки. Для быстрого получения упаковки может быть использован алгоритм Packer FIT, скорость работы которого на порядок выше скорости работы алгоритма Packer MGA.

Заключение

В результате исследований получены следующие результаты:

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

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

№ 4 (40) 2012

3,00 2,50 2,00 1,50 1,00 0,50 0,00

2,39

1,06 -| 02 - 0.88 0,88

m

S GMA И GGSub  Packer FIT  Packer MGA

ngcutfsl

ngcutfs2

ngcutfs3

Класс задач

Рис. 7. Качество решения задач двухмерной контейнерной упаковки различными алгоритмами

<и л

мз о

а

Si

il 'S

0 s

1

s

12 p

s

t

£

fi

a i

t s

i ¿5

3. Установлено, что мультиметодный генетический алгоритм с предложенными эвристиками позволяет получать в среднем на 20% более качественные (по критерию относительного отклонения m) решения по сравнению с решениями, полученными с помощью других известных вариантов реализации эволюционных алгоритмов на всех тестируемых классах задач двухмерной контейнерной прямоугольной упаковки.

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

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

Список литературы

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

62

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

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

4. Чеканин В. А. Сравнительный анализ эвристических алгоритмов для решения задачи трехмерной упаковки объектов // Прикладная информатика и математическое моделирование: Межвузовский сборник научных трудов. М.: МГУП, 2009. С. 179-188.

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

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

7. Норенков И. П. Эвристики и их комбинации в генетических методах дискретной оптимизации // Информационные технологии. 1999. № 1. С. 2-7.

8. Валиахметова Ю. И, Филиппова А. С. Мультиметодный генетический алгоритм для решения задач ортогональной упаковки // Информационные технологии. 2007. № 12. С. 50-56.