ВВЕДЕНИЕ 3
1. Обзор актуальных методов 5
1.1 Обзор неточных методов 5
1.2 Обзор точных методов 9
1.3 Особенности точного метода 11
2. Аппарат функций гильотинного размещения 13
2.1 Основы гильотинного размещения 13
2.2 Расширение функции гильотинного размещения 15
3. Построение таблиц РФГР 18
3.1. Суммирование РФГР 19
3.2. Минимизация РФГР 21
3.3. Алгоритм вычисления РФГР 23
4. Применение РФГР в методе ветвей и границ 25
5. Практические результаты 29
ЗАКЛЮЧЕНИЕ 34
СПИСОК ЛИТЕРАТУРЫ 36
ПРИЛОЖЕНИЕ
Задача двумерной упаковки - это широко известная оптимизационная задача размещения набора деталей на листе или полуполосе. Задача формулируется следующим образом: дан лист с размерностями Ах В, где А - длина листа, В - его ширина (при этом А > В). Требуется определить, возможно ли разместить на данном листе набор из n прямоугольных деталей размерностей аь х bt i = l,...,n (at < bt), а если это возможно, то определить положение деталей на листе. В ситуации полуполосы длина листа не ограничена. В случае компактного размещения деталей требуется также минимизировать длину листа, используемого для размещения. Также к задаче могут быть применены дополнительные требования гильотинного размещения (итоговая укладка должна быть воспроизводима серией разрезов, проводящихся от края до края параллельно одной из сторон листа). Некоторые методы могут дополнительно накладывать условия на возможность поворота деталей под прямым углом. В данной работе будет рассматриваться общий случай задачи размещения деталей на полуполосе без требований к гильотинности разрезов и строгой ориентации деталей.
Задача двумерной упаковки относится к классу NP-полных задач, а методы, решающие данную проблему, делятся на два класса: точные и эвристические. Эвристические включают в себя всевозможные реализации метаэвристик в виде различных генетических алгоритмов, роевых методов, и других метаэвристик высокого уровня. Класс точных методов состоит из полного перебора, усеченного перебора - метод ветвей и границ, - и методов динамического программирования.
Стоит отметить, что несмотря на то, что задача двумерной упаковки на листе или полуполосе была сформулирована достаточно давно, она до сих пор не теряет своей актуальности, так как она находит широкое применение в сфере промышленности, как в раскрое материалов различного рода, так и в задачах планирования использования ресурсов. Следовательно, повышение эффективности методов решения задач негильотинного раскроя, в свою очередь, позволит сделать его более доступным и применимым для большего числа случаев обеспечивая достаточно высокий уровень точности, а что позволит экономить имеющиеся ресурсы.
Цель работы состояла в попытке улучшить вычислительную эффективность точного негильотинного метода ветвей и границ [1], используя данные об оптимальном гильотинном раскрое через таблицы расширений функций гильотинного размещения (РФГР) [2] и отказавшись при этом от требования получения точного решения задачи. Для достижения данной цели были поставлены следующие задачи:
1) Исследование и анализ рассматриваемых алгоритмов и методов для определения их возможностей, свойств и особенностей, а затем реализация.
2) Разработка и реализация алгоритма, извлекающего необходимые данные из таблиц РФГР, в явном и удобном для использования методом ветвей и границ виде, без нарушения изначального гильотинного рекорда.
3) Сравнение, тестирование и анализ полученных результатов синергии методов через разработанный алгоритм.
4) Подведение итогов исследования, заключение о целесообразности применения данных РФГР в негильотинных раскладках.
В качестве информации, извлекаемой из РФГР, в итоге было использовано деление начального набора на поднаборы необходимой размерности на основании данных о разрезах функций РФГР. Необходимо также отметить, что из-за данных изменений метод ветвей и границ становится эвристическим. Более подробно методика разделения на блоки, их использование, а также теоретическая основа самих методов негильотинного раскроя и РФГР будет изучена в следующих разделах. Но в начале будут рассмотрены методы, применяемые в сфере на данный момент, а затем чуть более подробно методы, на которых основана данная работа.
По итогам работы был реализован подход к использованию данных об оптимальном гильотинном раскрое через таблицы РФГР, разработан и реализован алгоритм деления наборов деталей на подблоки, который позволяет значительно снизить нагрузку на точный алгоритм негильотинного размещения с использованием метода ветвей и границ. Также был реализован сам метод ветвей и границ для данной задачи. Данные подходы позволили методу ветвей и границ иметь возможность работать с гораздо большим числом деталей в диапазоне от 20 до 30, хоть и в ограниченном виде. Время, затрачиваемое на оптимизации подблоков по отдельности и в целом, не превышало времени работы РФГР более чем в 2 раза, благодаря параллельной оптимизации подблоков. В условиях NP-полноты рассматриваемых методов, данный результат можно считать приемлемым и достаточно быстрым.
В отношении улучшения рекордов были получены смешанные результаты. Начальная формулировка алгоритма не выявила набор с возможным улучшением рекордов относительно рекорда РФГР. Большей частью это в итоге связано с кардинально отличающимися раскладками между методами, что приводит к тому, что детали, которые оказываются критичными в оптимизации негильотинным методом, располагаются в различных блоках, а также связано с тем, что некоторые блоки состоят из излишне больших деталей, затрудняя возможности глобальной оптимизации. Однако последующие дополнительные оптимизации, решающие последнюю из вышеупомянутых проблем, позволили найти случаи с улучшением рекорда, который в итоге сравнялся с рекордом точного негильотинного метода, затрачивая при этом значительно меньшее время по сравнению с использованием метода ветвей и границ без блоков (точный метод может не завершить свою работу в течение нескольких месяцев).
В целом, можно подвести итог, что использование данных РФГР для повышения эффективности метода ветвей и границ можно считать вполне целесообразным, так как первоначальная задача ускорения была достигнута, с некоторой вероятностью улучшения рекорда при его принадлежности определенному подклассу, так как набор должен соответствовать множеству условий и ограничений для получения негильотинного рекорда. Увеличение времени работы относительного простого РФГР в связи с синергией двух алгоритмов можно считать незначительным в контексте NP-полноты рассматриваемой задачи.
1. Андрианова, А.А. Модели задачи негильотинного размещения набора прямоугольников на листе и полуполосе [Текст] / А.А. Андрианова, Т.М. Мухтарова, В.Р. Фазылов // Учен. зап. Казан. ун-та. Сер. физ.-мат. науки, 2013. Т.155, кн.2. - С. 5 - 18.
2. Андрианова, А.А. Формирование карты гильотинного раскроя листа по функциям гильотинного размещения [Текст] / А.А. Андрианова, Т.М. Мухтарова, В.Р. Фазылов// Ученые зап. Казан.ун-та. Серия физ.- мат.наук. - 2017. - т.159, кн.2. - с.161-173.
3. Bortfeldt, A. A genetic algorithm for the two-dimensional strip packing problem with rectangular pieces [Текст] / A.Borfeldt // European Journal of Operational Research Volume 172, Issue 3, 1 August 2006, Pages 814-837.
4. Mancapa, V. A genetic algorithm for two-dimensional strip packing problems [Текст] / V Mancapa, TI Van Niekerk, T Hua // THE SOUTH AFRICAN JOURNAL OF INDUSTRIAL ENGINEERING Vol 20, No 2, November 2009 Pages 145-162.
5. Thomas, J. Hybrid Approach for 2D Strip Packing Problem Using Genetic Algorithm [Текст] / Jaya Thomas, Narendra S. Chaudhari // Advances in Computational Intelligence. IWANN 2013. Lecture Notes in Computer Science, vol 7902. Springer, Berlin, Heidelberg 2013 Pages 566-574.
6. Wei, L. An improved skyline based heuristic for the 2D strip packing problem and its efficient implementation [Текст] / Lijun Wei, Qian Hu, Stephen C.H. Leung, Ning Zhang // Computers & Operations Research Volume 80, April 2017, Pages 113-127.
7. Wei, L. A Skyline-Based Heuristic for the 2D Rectangular Strip Packing Problem [Текст] / Lijun Wei, Andrew Lim, Wenbin Zhu // Modern Approaches in Applied Intelligence. IEA/AIE 2011. Lecture Notes in Computer Science, vol 6704. Springer, Berlin, Heidelberg 2011 Pages 286295.
8. Babaoglu, Ismail Solving 2D strip packing problem using fruit fly optimization algorithm [Текст] / Ismail Babaoglu // Procedia Computer Science Volume 111, 2017, Pages 52-57.
9. Soong, Zhe Wen Reinforcement learning for the 2D : packing problem [Текст] / Soong, Zhe Wen // Thesis , Hong Kong University of Science and Technology, 2015, 85 pages.
10. Land, A.H An automatic method of solving discrete programming problems [Текст] / Land A.H, Doig A.G. // Econometrica, 1960. - Vol. 28, № 3. - P. 497-520.
11. Мухаметзянов, Э.К. Применение данных об оптимальном гильотинном раскрое листа для повышения эффективности нахождения негильотинного размещения набора прямоугольников на полуполосе: курсовая работа [Текст]/Э.К. Мухаметзянов. - Казань: КФУ, 2018. - 46 с.
12. Лернер, Э.Ю. Функция гильотинного размещения [Текст]/ Э.Ю. Лернер,
В.Р. Фазылов // Исслед. по при- клад. матем. - Казань: Унипресс, 1999. - Вып. 21. - С. 187-196.
13. Лернер, Э.Ю. Квазиобратные функции и их свойства[Текст]/ Э.Ю. Лернер, В.Р. Фазылов// Исслед. по приклад. матем. - Казань: Казан. матем. о-во, 1997. - Вып. 22. - С. 63-74.
14. Мухаметзянов, Э.К. Отчёт по практике получения профессиональных умений и опыта профессиональной деятельности [Текст]/
Э.К.Мухаметзянов. - Казань: КФУ. - 2018 г. - 17 с.