2014 Электротехника, информационные технологии, системы управления № 10 УДК 519.81
Р.А. Файзрахманов, Р.Т. Мурзакаев, В.С. Шилов, А.С. Мезенцев
Пермский национальный исследовательский политехнический университет,
Пермь, Россия
РЕШЕНИЕ ЗАДАЧИ ОРТОГОНАЛЬНОЙ УПАКОВКИ ЛИСТОВЫХ МАТЕРИАЛОВ МЕТОДАМИ ЛИНЕЙНОГО РАСКРОЯ
Статья посвящена проблеме оптимизации процесса двумерного ортогонального раскроя-упаковки, которая наиболее часто встречаются на практике. Были рассмотрены задачи 1.5-DBPP (1.5-Dimensional Bin Packing Problem) и 2-DBPP (2-Dimensional Bin Packing Problem). Различие данных задач состоит в том, что в первой происходит размещение объектов на полубесконечной полосе материала, в то время как во второй задаче длина листа материала ограничена. Для их решения предложен алгоритм-декодер, названный групповым декодером. Данный алгоритм использует методы линейного раскроя, основанные на динамическом программировании, для поиска группы объектов, которой необходимо заполнить текущий рассматриваемый блок. Выбор именно группы, а не отдельного объекта позволяет более эффективно расходовать пространство на листе и тем самым снижать количество отходов. Были проведены вычислительные эксперименты, в которых предложенный алгоритм сравнивался с уже существующими; также было рассмотрено применение метода имитации отжига для поиска лучших вариантов приоритетных списков. По результатам вычислительных экспериментов групповой декодер, примененный совместно с методом имитации отжига, показал наилучшие результаты, кроме того, групповой декодер без использования метода имитации отжига показал результаты, не уступающие существующим алгоритмам, примененным совместно с методом имитации отжига. Эксперименты проводились на двух наборах данных. Первый набор представлял собой тесты, состоящие из случайно сгенерированных прямоугольников. Для второго набора данных тесты генерировались таким образом, чтобы была возможность разместить имеющиеся прямоугольники на листе таким образом, чтобы материал был использован на 100 %. Предложенный алгоритм на ряде тестов из второй группы данных смог найти оптимальное решение.
Ключевые слова: ортогональный раскрой-упаковка, групповой декодер, динамическое программирование, оптимизация, линейный раскрой, имитация отжига, жадные алгоритмы.
R.A. Faizrakhmanov, R.T. Murzakaev, V.S. Shilov, A.S. Mezentsev
Perm National Research Polytechnic University, Perm, Russian Federation
SOLUTION OF THE ORTHOGONAL PACKING OF SHEET MATERIALS BY LINEAR CUTTING
Article deals with two-dimensional orthogonal cutting-packing optimization which is the most often in practice. 1.5-DBPP (1.5-Dimensional Bin Packing Problem) and 2-DBPP (2-Dimensional Bin Packing Problem) were considered. Difference between these two problems is following. In 1.5-DBPP
we are given half-infinite strip of material while in 2-DBPP sheet of material has fixed length. Algorithmdecoder was proposed, this algorithm was called group decoder. To find group of objects which should fill current block proposed algorithm uses linear cutting methods based on dynamic programming. Choose of precisely group but not single object let us more effectively spend space on the sheet and reduce the amount of waste. Computational experiments were held in which proposed algorithm was compared to existing ones; use of simulated annealing methods to find better priority lists was also considered. In these experiments group decoder applied together with simulated annealing showed the best results. Moreover results group decoder without simulated annealing weren't worse than existing algorithms with simulated annealing. Experiments were hold on two data sets. First data set was test consisted of randomly generated rectangles. For second data set tests were generated so as to one be able to place rectangles on a sheet in a way to sheet was used for 100 %. On several tests from second data set proposed algorithm was able to find optimal solution.
Keywords: orthogonal cutting-packing, group decoder, dynamic programming, optimization, linear cutting, simulated annealing, greedy.
Наиболее распространенным классом задач раскроя-упаковки являются задачи двумерного ортогонального раскроя [1, 2, 3, 4]. На практике технологи часто ограничиваются использованием прямоугольников, вписывая в них как детали сложной формы, так и детали, близкие к прямоугольным [5]. Даже в такой формулировке задачи раскроя материала являются NP-трудными, т.е. для них не разработано точного алгоритма, имеющего полиномиальную сложность [6, 7, 8].
Наиболее хорошо изученными являются задачи линейного раскроя. Поэтому сведение более сложных задач к линейным представляется перспективным направлением исследований. Целью данной статьи является применение методов линейного раскроя к двумерным ортогональным задачам.
Рассмотрим задачу раскроя листового материала на прямоугольники. Интересуют задачи 1.5-Dimensional Bin Packing Problem (1.5-DBPP) и 2-Dimensional Bin Packing Problem (2-DBPP) [9].
Задача 1.5-DBPP. Имеется прямоугольная полоса заданной ширины W и неограниченной длины, а также набор прямоугольных предметов заданных размеров w.,L,i = 1,m . Необходимо определить параметры (координаты) упаковки предметов в полосу, занимающую минимальную длину, при следующих условиях:
- грани упакованных предметов параллельны граням полосы;
- упакованные предметы не пересекаются друг с другом и с гранями полосы.
Задача 2-DBPP. Имеются прямоугольные листы заданной ширины W и длины L, а также набор прямоугольных предметов с размерами wt, L, i = 1, m . Определить параметры упаковки предметов в минимальное число листов при условиях:
- ребра листов и прямоугольников параллельны;
- упакованные предметы не пересекаются друг с другом и с гранями листа.
Начнем с рассмотрения задачи 1.5-DBPP. Параметр занимаемой деталями длины позволяет сравнивать решения алгоритмов друг с другом, однако не позволяет оценить, как плотно уложены детали. Поэто-
£
му введем понятие коэффициента полезной площади: к3 = —п -100%,
£з
где £п - полезная площадь, определяется как сумма площадей всех объектов, £з = Ж х хтах , Ж - ширина листа, хтах - максимальная координата по оси ОХ из всех размещенных объектов.
Популярной группой алгоритмов решения задачи раскроя листового материала на прямоугольники являются декодеры. Данные алгоритмы размещают объекты в соответствии с некоторым эвристическим правилом и приоритетным списком. Приоритетный список задает порядок размещения объектов на листе материала. Этот список может быть жестко задан алгоритмом-декодером, условиями задачи или же получен с помощью метаэвристических методов комбинаторной оптимизации, таких как генетический алгоритм или метод имитации отжига [10, 11].
Недостатком существующих декодеров является то, что они размещают объекты по одному, что в итоге приводит к появлению лишних незаполненных пространств. Предлагается декодер, который бы выбирал группу объектов, позволяющую максимально заполнить текущий рассматриваемый блок. Данный декодер предлагается назвать групповым декодером, так как он оперирует группами объектов.
Группа объектов выбирается таким образом, чтобы ее суммарная высота была максимально приближена к высоте текущего блока, но не превышала ее. Данная задача может быть сведена к задаче раскроя одномерного стержня на набор заготовок таким образом, чтобы остаток стержня был минимальным. Для решения задачи одномерного раскроя в [1] предложен алгоритм, основанный на методе динамического программирования. Будем применять данный алгоритм для поиска группы объектов, которая сможет максимально заполнить текущий рассматриваемый блок. Однако в данном случае необходимо
учитывать, что размещаемый объект имеет две размерности и может быть повернут на 90 градусов.
Введем следующие обозначения: H - высота текущего рассматриваемого блока; m - количество еще не размещенных объектов; h -текущая суммарная высота; k - количество рассмотренных объектов; 4 - длина k-го объекта; wk - ширина k-го объекта-
Тогда состояние задачи будет описываться параметрами h и k. Логическую (булеву) функцию f (h, k), характеризующую достижимость состояния, можно определить из следующего рекуррентного соотношения (1), f (h, k) принимает значение True, если можно построить блок высотой h , использовав какие-то из первых k объектов.
/(h - wk, к -1) V f(h - 1к, к -1) V f (h, к -1), при к > 0 и h > 0,
Блок-схема алгоритма, использующего описанные выше идеи, приведена на рис. 1.
Сложность декодера О(Нп3) : хотя данная оценка является псевдополиномиальной на данных, приближенным к реальным, его время работы сравнимо с временем работы других алгоритмов и не превышает нескольких секунд.
При решении задачи 2-ОВРР, в отличие от 1.5-ОВРР, вводится дополнительное ограничение на максимальное значение координаты размещаемого объекта по оси ОХ, возникающее из-за того, что ширина листа в данном случае конечная.
Это ограничение может быть учтено следующим образом. Пусть в какой-то момент необходимо заполнить блок номер х, это значит, что левый край размещаемых объектов имеет координату х по оси ОХ. Тогда длина размещаемого объекта (после выполнения его поворота на 90 градусов в случае необходимости) не должна превышать Ж - х, где Ж - ширина листа (рис. 2). Если в какой-то момент невозможно найти такие объекты, то необходимо перейти на новый лист.
f (h, к) = \
False, False, True,
при l < 0, при l Ф 0 и к = 0, при h = 0,
(1)
Рис. 1. Блок-схема алгоритма работы группового декодера
Как уже было отмечено, для получения приоритетного списка для декодера могут использоваться метаэвристические методы. Наиболее популярными из них являются эволюционные методы, муравьиные алгоритмы и метод имитации отжига. Все перечисленные алгоритмы показывают примерно одинаковые результаты, однако метод имитации отжига является наиболее простым из них. Поэтому для проведения вычислительных экспериментов будет использоваться именно он. На рис. 3 приведена блок-схема алгоритма совместной работы группового декодера и метода имитации отжига.
Рис 2. Размещение объектов при решении задачи 2-БВРР
Генерация начального приоритетного
Конец
Рис. 3. Алгоритм совместной работы группового декодера и метода имитации отжига
Было проведено сравнение предложенного алгоритма со следующими существующими декодерами: Sub(NF), Sub (FF), GrredySub [12].
Для оценки эффективности предложенного алгоритма был произведен вычислительный эксперимент. Эксперимент производился на 2 группах тестов, которые были созданы с помощью генератора псевдослучайных чисел.
Первая группа тестов характеризуется следующими ограничениями: ширина листа - 1000 мм, количество деталей - 400, длина и ширина деталей - от 50 до 200 мм. Для второй группы данных лист материала размером 1500*6000 мм был случайным образом разделен на прямоугольники, после чего решалась задача размещения прямоугольников на полубесконечной ленте (1.5-DBPP) шириной 1500 мм. Таким образом, для второй группы данных заведомо известно, что может быть найдено такое размещение объектов, при котором коэффициент полезной площади составляет 100 %.
Результаты испытаний алгоритмов на первой группе данных приведены в табл. 1, а также в виде графика на рис. 4.
Таблица 1
Результаты испытаний алгоритмов на первой группе данных
# Sub(NF) Sub(FF) GreedySub GroupSub Sub(NF)+SA Sub(FF)+SA GreedySub+SA GroupSub+SA
1 91,1 89,0 94,3 96,2 89,4 94,3 96,8 97,8
2 90,8 91,1 93,8 96,0 89,0 95,0 95,5 96,4
3 93,5 90,9 94,5 96,8 91,8 94,3 96,4 97,3
4 92,8 89,7 94,1 96,4 90,4 94,5 96,7 97,3
5 91,4 89,7 92,9 95,0 90,2 95,1 94,8 96,3
В табл. 1 и таблицах ниже символом # обозначен номер испытания.
В столбцах приведены названия алгоритмов, в строках — номера испытаний. Оценка эффективности алгоритмов производилась по коэффициенту полезной площади.
Алгоритмы имеют следующие обозначения: Sub (NF) - декодер «Следующий подходящий»; Sub (FF) - декодер «Первый подходящий»; GreedySub - декодер GreedySub; GroupSub - групповой декодер; Sub (NF)+SA - декодер «Следующий подходящий» с методом имитации отжига; Sub (FF)+SA - декодер «Первый подходящий» с методом имитации отжига; GreedySub+SA - декодер GreedySub
с методом имитации отжига; Огоир8иЬ+8Л - групповой декодер с методом имитации отжига.
99 I 37
га
3"
0
1 35 о
т 93
си ^
о
: 91 .
щ
¡Г 89
-е-
85
Номер испытания
Рис. 4. Результаты испытаний алгоритмов на первой группе данных
Из табл. 1 видно, что лучшее решение дает групповой декодер, использованный совместно с методом имитации отжига.
Результаты испытаний алгоритмов на второй группе данных приведены в табл. 2, а также в виде графика на рис. 5.
Таблица 2
Результаты испытаний алгоритмов на второй группе данных
# 8иЬ(№) 8иЬ(РБ) GreedySub GroupSub Sub(NF)+SA Sub(FF)+SA GreedySub+SA GroupSub+SA
1 84,0 85,0 92,6 99,7 92,6 95,8 97,4 99,7
2 87,0 87,0 91,7 99,7 93,2 95,5 98,3 99,7
3 86,2 88,8 93,8 99,7 94,3 96,8 98,7 100
4 82,9 88,5 92,9 97,4 92,6 96,8 97,4 100
5 86,5 85,7 95,2 99,7 92,6 95,8 97,7 99,7
На второй группе данных лучшее решение также показал групповой декодер, примененный вместе с методом имитации отжига. Кроме того, по данным результатам можно оценить, насколько близки решения, найденные с помощью предложенного алгоритма, к оптимальным. Из табл. 2 видно, что даже без применения метода имитации отжига групповой декодер находит решения, которые очень близки к оптимальным, применение же метода имитации отжига позволило на двух тестах получить оптимальное решение.
Рис. 5. Результаты испытаний алгоритмов на второй группе данных
В статье рассмотрено применение методов линейного раскроя к задаче двумерного ортогонального раскроя материала. Предложен групповой декодер, сочетающий в себе идеи жадных алгоритмов и динамического программирования. Проведенные испытания показали, что предложенные алгоритмы применимы для ортогональных задач. Выбор групп объектов с использованием предложенного декодера позволяет более эффективно использовать пространство на листе, тем самым сократить количество отходов, а в ряде случаев находить оптимальное решение.
Библиографический список
1. Applying the greedy algorithm for reducing the dimensionality of the dynamic programming method in solving the one-dimensional cutting stock problem [Электронный ресурс] / R.A. Fayzrakhmanov [и др.] // Middle-East Journal of Scientific Research. - 2014. - Vol. 5, № 19. - URL: http://www.idosi.org/mejsr/mejsr19(3)14/14.pdf (дата обращения: 12.03.2014). DOI: 10.5829/idosi.mejsr.2014.19.3.13685.
2. Application of the Group Decoder for Solving the Orthogonal Materials Cutting Problem [Электронный ресурс] / R.A. Fayzrakhmanov [и др.] // World Applied Sciences Journal. - 2013. - Vol 10, № 28. - URL: http://www.idosi.org/wasj/wasj28(10)13/4.pdf (дата обращения: 12.03.2014). DOI: 10.5829/idosi.wasj .2013.28.10.13872.
3. Мурзакаев Р.Т., Шилов В.С., Буркова А.В. Основные методы решения задачи фигурной нерегулярной укладки плоских деталей [Электронный ресурс] // Инженерный вестник Дона. - 2013 - № 4. -URL: http://www.ivdon.ru/magazine/archive/n4y2013/2043 (дата обращения: 26.05.2014).
4. Шилов В. С. The usage of group decoder to solve 1.5-dimension bin packing problem // Инновационные процессы в исследовательской и образовательной деятельности: сб. ст. междунар. конф. - Пермь, 2013. - C. 168-171.
5. Мезенцев А.С., Шилов В.С. Интерпретация данных для алгоритмов решения задач двумерного раскроя-упаковки // Вестник Пермского национального исследовательского политехнического университета. Электротехника, информационные технологии, системы управления. - 2013. - № 8. - C. 137-143.
6. Hifi M. Cutting circles and placing various-sized into a strip // Computers and Operations Research. - 2004. - № 31. - P. 675-694.
7. Wascher Gerhard. An improved typology of cutting and packing problems // European Journal of Operational Research. - 2007. - № 183. -Р.1109-1130.
8. Мурзакаев Р.Т., Лялин Д.А. Алгоритм уплотнения карты раскроя на основе двумерной гравитационной имитационной модели // Современная наука: актуальные проблемы теории и практики. - 2013. -№ 9-10. - С. 34-41.
9. Мухачева А.С., Ширгазин Р.Р. Задачи упаковки прямоугольников: рандомизированная эвристика на базе двойственной схемы локального поиска оптимума // Информационные технологии. - 2003. -№ 5. - C. 18-22.
10. Люк Ш. Основы метаэвристик [Электронный ресурс]. - 2009. -URL: http://qai.narod.ru/GA/metaheuristics.html (дата обращения: 16.06.2014.
11. Сиразетдинова Т.Ю. Решение задачи прямоугольного раскроя на базе процедур метода имитации отжига // Приложения методов оптимизации: труды XIV Байкальской междунар. школы-сем. - Иркутск, 2008. - Т. 4. - С. 223.
12. Ширгазин Р. Р. Эволюционные методы и программное обеспечение для решения задач ортогональной упаковки на базе блочных структур: дис. ... канд. техн. наук: 05.13.18. - Уфа, 2006.
References
1. Fayzrakhmanov R.A., Murzakaev R.T., Mezentsev A.S., Shilov V.S. Applying the greedy algorithm for reducing the dimensionality of the dynamic programming method in solving the one-dimensional cutting stock problem. Middle-East Journal of Scientific Research, 2014, vol. 3, no. 19, pp.412416, available at: http://www.idosi.org/mejsr/mejsr19(3)14/14.pdf. DOI: 10.5829/idosi.mejsr.2014.19.3.13685 (accessed 10 March 2014).
2. Fayzrakhmanov R.A., Murzakaev R.T., Mezentsev A.S., Shilov V.S. Application of the Group Decoder for Solving the Orthogonal Materials Cutting Problem. World Applied Sciences Journal, 2013, vol. 10, no. 28, pp.1361-1365, available at: http://www.idosi.org/wasj/ wasj28(10)13/4.pdf. DOI: 10.5829/idosi.wasj.2013.28.10.13872.
3. Murzakaev R.T., Shilov V.S., Burkova A.V. Osnovnye metody resheniia zadachi figurnoi nereguliarnoi ukladki ploskikh detalei [Main methods of compound details irregular optimal packing on sheet material problem solving]. Inzhenernyi vestnikDona, 2013, no. 4, available at: http://www.ivdon.ru/magazine/archive/n4y2013/2043 (accessed 25 April 2014).
4. Mezentsev A.S., Shilov V.S. Interpretatsiia dannykh dlia algoritmov resheniia zadach dvumernogo raskroia-upakovki [Data interpretation for two-dimensional cutting-packing problem algorithms]. Vestnik Permskogo natsional'nogo issledovatel'skogo politekhnicheskogo universiteta. Elektrotekhnika, informatsionnye tekhnologii, sistemy upravleniia., 2013, no. 8, pp. 137-143.
5. Shilov V.S. The usage of group decoder to solve 1.5-dimension bin packing problem. Tezisy dokladov IIMezhdunarodnoi nauchnoi konferentsii "Innovatsionnye protsessy v issledovatel'skoi i obrazovatel'noi deiatel'nost. Perm, 2013, pp. 168-171.
6. Hifi M. Cutting circles and placing various-sized into a strip. Computers and Operations Research, 2004, no. 31, pp. 675-694.
7. Wascher G. An improved typology of cutting and packing problems. European Journal of Operational Research, 2007, no 183, pp. 1109-1130.
8. Murzakaev R.T., Lialin D.A. Algoritm uplotneniia karty ras-kroia na osnove dvumernoi gravitatsionnoi imitatsionnoi modeli [Sealing algorithm of cutting chart based on two-dimensional gravitational simulation model]. Sovremennaia nauka: aktual'nye problemy teorii i praktiki, 2013, no. 9-10, pp. 34-41.
9. Mukhacheva A.S., Shirgazin R.R. Zadachi upakovki priamougol'-nikov: randomizirovannaia evristika na baze dvoistvennoi skhemy lo-kal'nogo poiska optimuma [Retangle pakcking problems: randomized heuristics based on dual scheme of optimum local search] Informatsionnye tekhnologii, 2003, no. 5, pp. 18-22.
10. Liuk Sh. Essentials of metaheuristics, 2009, available at: http://qai.narod.ru/GA/metaheuristics.html (accessed: 16 June 2014).
11. Sirazetdinova T.Iu. Reshenie zadachi priamougol'nogo ras-kroia na baze protsedur metoda imitatsii otzhiga [Orthogonal cutting problem solving based on simulated annealing method procedure]. Trudy XIV Baikal'skoi mezhdunarodnoi shkoly-seminara "Prilozheniia metodov optimizatsii". Irkutsk: Baikal, 2008, vol. 4, p. 223.
12. Shirgazin R.R. Evoliutsionnye metody i programmnoe obes-pechenie dlia resheniia zadach ortogonal'noi upakovki na baze blochnykh struktur [Eloutionary methods and software for orthogonal packing problem solving based on block structures]. Ph.D. thesis. Ufa, 2006.
Сведения об авторах
Файзрахманов Рустам Абубакирович (Пермь, Россия) - доктор экономических наук, профессор, заведующий кафедрой информационных технологий и автоматизированных систем Пермского национального исследовательского политехнического университета (614990, Пермь, Комсомольский пр., 29, e-mail: [email protected]).
Мурзакаев Рустам Талгатович (Пермь, Россия) - кандидат технических наук, доцент кафедры информационных технологий и автоматизированных систем Пермского национального исследовательского политехнического университета (614990, Пермь, Комсомольский пр., 29, e-mail: [email protected]).
Шилов Вадим Сергеевич (Пермь, Россия) - аспирант кафедры информационных технологий и автоматизированных систем Пермского национального исследовательского политехнического университета (614990, Пермь, Комсомольский пр., 29, e-mail: [email protected]).
Мезенцев Алексей Сергеевич (Пермь, Россия) - аспирант кафедры информационных технологий и автоматизированных систем Пермского национального исследовательского политехнического университета (614990, Пермь, Комсомольский пр., 29, e-mail: [email protected]).
About the authors
Faizrakhmanov Rustam Abubakirovich (Perm, Russian Federation) is PhD of Economic Sciences, Professor, the Head of the Department of Information Technologies and Computer-Aided Systems Perm National Research Polytechnic University (614990, 29, Komsomolsky pr., Perm, e-mail: [email protected]).
Murzakaev Rustam Talgatovich (Perm, Russian Federation) is Ph.D. of Technical Sciences, Associate Professor at the Department of Information Technologies and Computer-Aided Systems Perm National Research Polytechnic University (614990, 29, Komsomolsky pr., Perm, e-mail: [email protected]).
Shilov Vadim Sergeevich (Perm, Russian Federation) is a post-graduator of the Department of Information Technologies and Computer-Aided Systems Perm National Research Polytechnic University (614990, 29, Komsomolsky pr., Perm, e-mail: [email protected]).
Mezentsev Alexey Sergeevich (Perm, Russian Federation) is a post-graduator of the Department of Information Technologies and Computer-Aided Systems Perm National Research Polytechnic University (614990, 29, Komsomolsky pr., Perm, e-mail: [email protected]).
Получено 10.06.2014