ГРУППИРОВКА ДЕТАЛЕЙ ПРИ РЕШЕНИИ ЗАДАЧ ФИГУРНОГО РАСКРОЯ ЛИСТОВОГО МАТЕРИАЛА Шилов Вадим Сергеевич Пермский национальный исследовательский политехнический университет, г. Пермь, ассистент кафедры информационных технологий и автоматизированных систем vadim.shilov@gmail.com DETAIL GROUPING IN NESTING PROBLEMS Vadim Sergeevich Shilov Perm national research polytechnic university, Perm, Informational technologies and Computer-Aided Systems department assistant vadim.shilov@gmail.com Аннотация В статье описывается алгоритм формирования битов деталей, реализованный автором в программном комплексе автоматизированного раскроя листового материала ITAS Nesting. Под битом понимается группа деталей, положение которых друг относительно друга зафиксировано и не меняется при формировании карты раскроя. Показана эффективность объединения деталей в биты с использованием предложенных алгоритмов. Ключевые слова: раскрой-упаковка; фигурный раскрой; бит; группировка деталей. Annotation The paper deals with the algorithm of forming the detail bits from single details, implemented by the author in the software for automated cutting ITAS Nesting. Bit is a group of details, whose relative position fixed and does not change during the formation of the cutting layout. The effectiveness of detail combining into bits using the proposed algorithms was shown. Keywords: cutting-packing; nesting; bit; detail grouping. Фигурный раскрой является наиболее сложным подклассом задач раскроя листового материала[1, 2]. Это связано с трудностью как формализации условия взаимного непересечения деталей, так и построения конструктивных алгоритмов решения данного класса задач. В [3] введено понятие коэффициента прямоугольности задание на раскрой и показано, что если значение этого коэффициента превосходит 0,8, то алгоритмы ортогонального раскроя оказываются более эффективными, чем алгоритмы фигурного раскроя. Кроме того, отмечается, что объединение деталей в так называемые биты позволяет значительно повысить величину значение коэффициента прямоугольности задания на раскрой. Под битом понимается группа деталей, положение которых друг относительно друга зафиксировано и не меняется при формировании карты раскроя. На рисунке 1 приведен пример построения битов деталей. Алгоритмы построения битов в значительной степени изучены [4,5,6]. В данной статье описывается алгоритм, примененный автором в программном комплексе автоматизированного раскроя материала ITAS Nesting [7]. Описанный алгоритм имеет достаточно простую реализацию и позволяет значительно улучшать решения, получаемые с помощью алгоритмов ортогонального раскроя; в качестве такого алгоритма автором используется групповой декодер [8]. a) б) Рисунок 1. Пример построения битов деталей в) Определим критерий построения битов. Объединение деталей в бит должно уменьшать коэффициент прямоугольности задания на раскрой; это утверждение позволяет сформулировать следующий критерий: K Sb min , n S0 (1) где S b - площадь описанного вокруг бита прямоугольника, S 0 - площадь описанного вокруг детали прямоугольника, n - количество деталей в бите. То есть необходимо минимизировать отношение площади описанного вокруг бита прямоугольник к суммарной площади всех описанных вокруг деталей прямоугольников. Здесь и далее в работе под описанным прямоугольником является такой прямоугольник, что деталь полностью лежит внутри него, а прямоугольник имеет минимальную возможную площадь; для построения такого прямоугольника используется алгоритм, описанный в [9]. Сформулируем теперь алгоритм построения бита деталей. На первом шаге необходимо произвести "выравнивание" детали, т.е. выполнить такой ее поворот, чтобы стороны описанного вокруг детали прямоугольника были параллельны осям координат. Анализ большого числа чертежей показал, что достаточно рассмотреть варианты стыковки двух деталей, допускающие ортогональные повороты на 0, 90, 180, 270 градусов. Необходимость рассмотрения других углов поворотов может возникнуть, если детали оказываются достаточно сложными; в такой ситуации применение методов ортогонального раскроя к данной задаче будет нецелесообразным. Помимо этого необходимо рассматривать различные сдвиги деталей относительно друг друга вдоль оси OX (рис. 1, в). Для заданных углов поворота и сдвига вдоль оси OX стыковка производится выполнением следующих шагов: 1. Разместить детали с учетом заданных углов поворота и сдвига вдоль оси OX, при этом вторую деталь разместить значительно выше первой (так, чтобы детали гарантированно не пересекались). 2. Выполнить сдвиг второй детали таким образом, чтобы детали начали соприкасаться, но не пересекаться. Определение длины вектора такого сдвига описано в [10]. Как уже отмечалось, вторая деталь может быть сдвинута на некоторый вектор вдоль оси ОХ. Величина вектора такого сдвига может быть определена перебором: достаточно с некоторым шагом рассмотреть все сдвиги, при которых проекции деталей на ось ОХ будут пересекаться. Из всех вариантов необходимо выбрать тот, при котором критерий (1) достигает минимума. Если значение данного критерия оказалось больше или равно единицы, то объединение деталей в биты не позволит повысить коэффициент прямоугольности задания на раскрой, а значит детали целесообразно рассматривать по отдельности. Также может быть ситуация, когда целесообразно создавать бит более чем из двух деталей (рис. 1, а). Признаком такой ситуации является то, что углы поворота обеих деталей равны, и сдвиг по оси ОХ равен нулю. В таком случае следует создать бит из того количества данных деталей, какое есть в задании на раскрой, если это позволит улучшить значение критерия (1). Формирование более сложных структур из одинаковых деталей в данной работе не рассматривается, т.к. зачастую это оказывается нецелесообразным. Алгоритмы дополнительного уплотнения на этапе формирования карт раскроя справляются с этой задачей более эффективно. Предложенный алгоритм реализован в программном комплексе автоматизированного раскроя листового материала. На рисунке 2 приведены примеры карт раскроя, полученных без использования предложенного алгоритма, по рисунке 3 - примеры карт, для формирования которых использовалось объединение деталей в биты. Рисунок 2. Пример карт раскроя, полученных без объединения деталей в биты Рисунок 3. Пример карт раскроя, полученных c объединением деталей в биты В статье описан алгоритм формирования битов деталей - групп деталей, положение которых друг относительно друга зафиксировано и не меняется при формировании используется карты в раскроя. программном Предложенный комплексе алгоритм реализован автоматизированного и раскроя листового материала ITAS Nesting. Применение описанных алгоритмов совместно с методами ортогонального раскроя позволяет использовать материал в среднем в 1,5 раза эффективнее. Список литературы 1. Файзрахманов Р.А., Мурзакаев Р.Т., Шилов В.С., Мезенцев А.С. Решение задачи ортогональной упаковки листовых материалов методами линейного раскроя // Вестник политехнического Пермского университета. национального исследовательского Электротехника, информационные технологии, системы управления. – 2014. - №10. - С.29-42. 2. Romanova T., Stoyn Y., Pankratov A. Mathematical models and solution algorithm for nesting problem of arbitrary shaped objects. 8th Conference of the special interest group on cutting and packing (ESICUP), Copenhagen, Denmark, 2011. 3. Петунин А.А. Методологические и теоретические основы автоматизации проектирования раскроя листовых материалов на машинах с числовым программным управлением: дис. д.т.н.: 05.13.12. Екатеринбург, 2009. – 348 с. 4. Фроловский В. Д. Оптимальное группирование геометрических объектов при проектировании карт раскроя материалов // Программные продукты и системы. 2000, N3. С.47-48. 5. Руднев А. С. Вероятностный поиск с запретами для задачи упаковки кругов и прямоугольников в полосу // Дискретный анализ и исследование операций. – Новосибирск, 2009. – Т.16, № 4. C. 61 – 86. 6. Lamousin H., Waggenspack W. Nesting of two-dimensional irregular parts using a shape reasoning heuristic // Computer-Aided Design. 1997. Vol. 29, N. 3. 7. Мурзакаев Р.Т., Шилов В.С., Брюханова А.А. Программный комплекс фигурного раскроя листового материала ITAS NESTING // Вестник Пермского национального исследовательского политехнического университета. Электротехника, информационные технологии, системы управления. – 2015. №13. - С.15-25. 8. 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 28 (10): 1361-1365. – 2013. – (http://www.idosi.org/wasj/wasj28(10)13/4.pdf). Проверено 07.07.2014 9. Murzakaev R.T., Shilov V.S., Mezentsev A.S. On the nesting layout in view on technical gaps for joint cutting // Russian electrical engineering - №11 – 2015 – pp.668-672.