УДК 19.8:504
Метод регулярного размещения плоских геометрических объектов на базе геометрических преобразований
В. В. Мартынов1, А. В. Бабель2
1 [email protected],2 [email protected] 1’2ФГБОУ ВПО «Уфимский государственный авиационный технический университет» (УГАТУ)
Поступило в редакцию 10.11.2012
Аннотация. Исследуется расположение плоских геометрических объектов в полосе. Предложен метод нахождения области допустимого размещения двух геометрических объектов, метод нахождения области допустимого размещения двух выпуклых и двух невыпуклых геометрических объектов, метод нахождения рациональных параметров размещения повторяющегося геометрического объекта в полосе.
Ключевые слова. Раскрой; область допустимого размещения; плоские геометрические объекты; оптимальное размещение в полосу
ВВЕДЕНИЕ
При производстве плоских деталей из листового и рулонного материала (вырубка, вырезка, плазменная резка и т. д.), возникает задача оптимизации размещения заготовок на материале. Для сокращения времени и эффективности решения этих задач необходимо использовать вычислительную технику при определении наиболее экономного способа раскроя материала.
Общая формулировка задачи регулярного раскроя заключается в нахождении наиболее выгодного варианта размещения заготовок на материале с учетом критериев размещения (в данном случае bt) и существующих ограничений (В, рис. 1), т. е. нахождение максимального коэффициента плотности заполнения - max %. Плотность заполнения определяется как
X = S/(B-b1). (1)
Рис. 1: Ь\ - период укладки, В - ширина полосы, £ - площадь размещаемой фигуры
При размещении плоских геометрических объектов (ГО) сложной формы на плоскости (анизотропный материал) положение каждого ГО в общем случае определяется двумя пара-
метрами: координатами на плоскости любой, связанной с ГО точки - центра ГО. В случае изотропного материала добавляется еще один параметр - угол поворота ГО, например, относительно его центра. Сведение двумерной (трехмерной, в случае изотропии) задачи размещения одного ГО к одномерной (к двумерной - изотропия) приведет к уменьшению общей размерности р задачи раскроя, которая определяется по следующей известной формуле р = п х t, где п - число ГО, t - число параметров их положения. Поэтому важным является разработка аппарата, позволяющего реализовать снижение размерности задачи.
На данный момент существуют различные методы решения данной проблемы. Метод решения зависит от способа представления информации о ГО, например дискретного, растрового, аналитического. В данном исследовании используется аналитический метод представления, так как при увеличении точности представления время расчета рационального размещения растет медленнее, чем при использовании других методов представления [1].
В связи с вышеизложенным рассмотрим метод регулярного размещения ГО на базе геометрических преобразований и нахождения области допустимых размещений (ОДР) ГО. Рассматриваемый метод позволяет снизить на один параметр размерность задачи размещения одного ГО, являющейся основой для решения задач размещения сложных плоских ГО, в том числе
в задачах регулярного размещения. Предлагаемый метод в теоретическом плане базируется на операциях Минковского и основан на операциях объединения, пересечения и движения ГО. На базе метода нахождения регулярного размещения реализован способ построения рациональной укладки плоских конгруэнтных ГО в полосу произвольной и заранее заданной ширины.
1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ
В данном разделе приведены теоретические основы применения суммы Минковского.
Определение. Пусть £ и £ ' - два точечных множества в пространстве. Рассмотрим все возможные векторные суммы С = 8 + 8', где 8 и 8' принадлежат совокупности всех векторов соответственно £ и S'. Множество ^, определяемое совокупностью всех таким образом полученных векторов с, называется суммой Минковского множеств £ и £ ', и обозначается как (рис. 2):
О = 8 © 8'. (2)
Рис. 2
Рассмотрим использование суммы Минков-ского для анализа расположения двух ГО £ и £ 1 как множество точек на плоскости. Полагая сначала вектор 8 постоянным, получаем сумму с = 8 + 8' : 8'е 8'. Затем, изменяя вектор 8 по множеству £, строим сумму О = 8 © 8'. Это же множество можно выразить следующим образом:
8 © 8' = У ^’©8).
(3)
Для анализа взаимного положения ГО £ и £ ' используется сумма Минковского
О = 8 © (-8') - ГО £ и ГО, центрально симметричного ГО £ 1 относительно начала координат.
Также для суммы доказаны ряд утверждений и следствий к ним [2], которые в необходимой мере для полноты изложения приведем здесь без доказательств.
Утверждение. Пусть О = 8 © (-8'). Для того чтобы множества £ и £ ' пересекались, необходимо и достаточно перенести множество £ ' на вектор с или множество £ на вектор -с, где сеО, а О = 8© (-8').
Условия взаимного расположения ГО £ и £ 1 определяются из приведенных ниже следствий:
1. ГО £ и £ 1 пересекаются, если разность векторов их переноса (а для множества £ и в для множества £ ') принадлежит £ © (-8').
2. ГО £ и £ ' не пересекаются, если разность векторов их переноса лежит вне £ © (-8').
3. ГО £ и £ 1 плотно расположены (происходит лишь касание их граничных точек) и £ ' касается £ снаружи, если разность векторов их переноса лежит на границе £ © (-8').
Рассмотрим рассуждения, на основании которых разработан метод нахождения ОДР двух ГО £ и £ '.
Как следует из приведенного выше утверждения, граница ОДР находится следующим образом:
С = £ © (-£').
Или с учетом (2):
£ © (-£') = у (5'©£). (4)
8’е-
Из свойств суммы Минковского следует, что она удовлетворяет коммутативному закону:
£ © £1 = £'©£, т. е. с учетом (3) имеем:
£ ©(- £')= (- £')© £ = у (я ©(- £')) .
Следовательно, для построения ОДР нужно сначала выполнить построение (4) с объединением только по вершинам ГО - £ ', затем объединить полученный результат с аналогично выполненным в соответствии с (6) объединением только по вершинам ГО £.
2. МЕТОД НАХОЖДЕНИЕ ОДР
ОДР нескольких ГО находится как объединения всех возможных ОДР этих объектов [3]. Следовательно, ОДР двух невыпуклых ГО можно рассматривать как объединение ОДР выпуклых ГО, которые были получены путем разбиения невыпуклых ГО на выпуклые ГО. Рассмот-
в'єЛ
рим сначала построение ОДР для выпуклых ГО, потом обобщим данные подход на невыпуклые.
Нахождение ОДР для выпуклых ГО Предположим, даны два выпуклых ГО S и £ ? (рис. - 3). Требуется найти ОДР ГО £ и £ ?.
Для анализа взаимного положения ГО £ и £ ? используется сумма Минковского:
0 = £ 0 (-£') = У (я'0£),
^ 'е-£'
т. е. ГО £ и ГО, центрально симметричного ГО £ ? относительно начала координат.
Из свойств суммы Минковского следует:
£ 0 £? = £?® £
£ 0 (- £ ') = (- £ ')0 £ = У (я 0 (- £')).
^є£
Рис. 3
Нахождение ОДР для невыпуклых ГО
Предположим, даны два невыпуклых ГО £ и £ ’.Требуется найти ОДР ГО £ и £ ?.
Выше было рассмотрено нахождение ОДР двух выпуклых объектов. Следовательно, разобьем ГО £ и £ ? на выпуклые ГО. Существуют различные методы разбиения многоугольника на выпуклые ГО, например, основанные на триангуляции (примитивный алгоритм, монотонный метод [4], ушной метод [5]). В данный момент предлагается использовать примитивный метод разбиения многоугольника на треугольники [4]. В дальнейшем планируется использование метода, который будет разбивать ГО на минимальное количество выпуклых фигур.
Исходя из примитивного метода разбиения многоугольника на треугольники, разобьем ГО £ на п треугольников, а ГО £ ? на т треугольников: £ = £і + £2 + ... + £п и £ = £1 + £2 + ... + £т.
Алгоритм разбиения невыпуклого ГО на треугольники
Предположим, дан невыпуклый ГО £ (рис. 3).
1. Нахождение вершины соединения -наибольшего угла многоугольника.
2. Соединение вершины найденной в пункте 1 с остальными вершинами. Если линия, соединяющая две вершины лежит вне многоугольника £ или пересекает одну из сторон многоугольника - эти две вершины не соединяем.
3. Проверка, является ли каждая фигура, на которые разбился ГО £, треугольником. Если полученная фигура не является треугольником, то для нее повторяем пункт 1 и 2.
4. В результате получается ГО £ состоящий из п треугольников (рис. 4).
Рис. 4
Обойдя все вершины по предложенному алгоритму, мы разобьем невыпуклый ГО £ на несколько выпуклых ГО.
После разбиения ГО £ и £ ' на выпуклые ГО, ОДР £ и £ ? равна:
О — ^1,1+ °1,2+..°п,тг>
где О11 - ОДР ГО £1 и £1?, О12 - это ОДР ГО £1 и £2\ Оп,т - это ОДР ГО £п и £т\ Таких множеств будет п х т штук, их мы найдем с помощью метода рассмотренного выше для выпуклых ГО.
Алгоритм нахождения ОДР
Рассмотрим использование метода размещения для нахождения рациональной укладки конгруэнтных ГО в полосу.
Задачу регулярного размещения заготовок на материале можно свести к математической задаче: дан геометрический объект £. Необходимо найти рациональное значение параметров Ь1 и В, характеризующих размещение £ в полосе (рис. 1).
Применим описанный выше метод нахождения области допустимых размещений к нашей задаче.
Нахождение области допустимых размещений для двух конгруэнтных объектов.
1. Нахождение среди вершин ГО точек 0\ и 0Ы с минимальной и максимальной ординатой:
01 ® тт У ,0N ® тах У.
2. Для удобства расчетов осуществим преобразование переноса начала координат в точку
0.
3. Поворотом ГО £ на 180° вокруг точки 0, получаем ГО £ ':
£ ' — £(-х, -у).
4. Разбиение ГО £ и £ 1 на выпуклые ГО £ —
— £1 + £2 + ... + £п и £ — £\ + £'2 + ... + £т. (см. Алгоритм разбиения невыпуклого ГО на треугольники)
5. Половина первой части ОДР Оп,т (рис. 5, а) определится как результат операции объединения областей £т', размещенных в вершинах ГО £п:
Оя,т = и £ ^ 0' °"0, {1,..., N}),
где N - количество вершин ГО £п.
6. Половина второй части области размещения 0!п,т (рис. 5, б) определится как результат операции объединения областей £п, размещенных в вершинах ГО £т':
Опт = У (£, ^ 0 ° "0/ {1,...,N}),
,
где N - количество вершин ГО £т'.
7. Объединение областей Опт и О"п,т в О1 и О2 соответственно:
01 = О,, + 0,2 +...+О ,
1.1 1,2 п,т5
02 = О, 1 + О, 2 +...+о .
1.1 1,2 п,т
8. Определение ОДР О посредством объединения первой О1 и второй О2 частей ее границ (рис. 5, в):
О = О‘ иО2.
Для автоматизации процесса размещения двух конгруэнтных фигур в полосу необходимо разработать алгоритм автоматизированной укладки плоских объектов в полосу. Для этого нужно решить следующие задачи:
• определить ОДР для двух конгруэнтных объектов;
• найти рациональную укладку ГО объектов в полосу, при известной ОДР.
Нахождение ОДР для двух конгруэнтных объектов осуществляется в восемь этапов.
• Ввод начальных параметров: вводится количество вершин многоугольника (S) и их координаты. Координаты вершин многоугольника записываются в массив.
• Нахождение для S min Y и max: поиск среди вершин ГО min Y и max Y. Перенос многоугольника в начало координат, точка с min Y совпадает с точкой начала координат (0; 0).
a б
в
Рис. 5
• Поворот ГО: поворот многоугольника £ на 180° вокруг начала координат, получаем многоугольник £ '. Координаты полученного многоугольника добавляем в массив.
• Триангуляция ГО £ и £ ': Разбиение ГО 8 и 8' на выпуклые ГО £ = £1 + £2 + ... + £п и £ = =£\+£2 + ... + £т.
• Нахождение 0.„,т: нахождение первой части ОДР. Находится как объединение многоугольников £т, перенесенных в вершины многоугольника £п.
• Нахождение Q'n,m: нахождение второй
части ОДР. Находится как объединение многоугольников Sn , перенесенных в вершины многоугольника S'm.
• Нахождение Q1 и Q2: объединение всех Qn,m и Q'n,m в Q1 и Q2, соответственно.
• Нахождение Q: нахождение всей ОДР. Объединение двух областей пересечения Q1 и Q2.
После того как найдена ОДР, можно приступать к размещения конгруэнтных ГО в полосу.
3. РАЗМЕЩЕНИЯ В ПОЛОСУ
После нахождения области размещения двух конгруэнтных ГО необходимо найти размещение конгруэнтных ГО в полосу.
Алгоритм нахождения рациональной укладки ГО в полосу
Рассмотрим рис. 6, и в соответствии с ним преобразуем формулу (1):
C=[S]• n(Xmax - Xmm +(n - 1). bix )• B,
где [S] - площадь ГО S, n - число размещенных в полосе ГО, Xmax и Xmin - максимальная и минимальная абсцисса ГО S соответственно.
При известной ОДР Q рациональная укладка в полосе, соответствующая функции цели max х, определится как:
Обычно, для больших п величиной Хт
- Хтт - Ь1х пренебрегают, и тогда
% = [£V К •В или
= ________________£_________________
Х (х,®шпУ, - ХО®ттУ, | * |таХ У, - П1|П У, ^ ’
где [£] - площадь ГО £.
max % ® min(X
—X
' i®minY, W®minY,
[ |max Yt — min Yt |)
так как [S] = const.
Осуществляя преобразования поворота с определенным шагом на угол 0 ^ {0,...,п} относительно начала координат ГО S и ОП формулам
X1 = X • cos 0 + Y • sin 0,
Y' = -X • sin 0 + Y • cos 0,
находим рациональное решение и соответствующие ему параметры размещения:
b1x (0)= |X,®min Y (0), (0)-X Q®min Y (0), (0|
B(0) = max Y (0) - min Yt (0)
В том случае, если ширина полосы является величиной заранее заданной (B = const) или может быть выбрана из конечного ряда (B = {B1, B2,..., BN}), в выражении появятся дополнительные ограничения:
|max Y - min Y-| < max Bt
и рациональному решению будет соответствовать только параметр b1x в случае B = const, а также BN , соответствующее:
• IX,®min Y - XW®min J • min BN >^
max c ® min 1 ‘ ‘1
v> (max Y, - min Y,)
в случае выбора ширины полосы из конечного ряда.
Реализация алгоритма нахождения рациональной укладки ГО в полосу.
На рис. 7 приведена блок-схема алгоритма нахождения рациональной укладки в полосу, при условии, что ОДР Q была найдена ранее.
Рассмотрим каждый блок.
1) Ввод начальных параметров: задаем ширину полосы (B).
2) Ввод начальных параметров: задаем ширину полосы (B).
3) 0 < 0 < п: изменяем угол 0 с определенным шагом от 0 до п, чем шаг меньше, тем время выполнения программы больше, а результат точнее.
4) Поворот: осуществляем поворот ГО S и ОП на угол 0.
5) Нахождение %: рассчитываем значение коэффициента заполнения полосы %.
6) Нахождение max %: сравниваем полученное значение коэффициента заполнения полосы
X с предыдущим значением, полученным при другом значении угла 0. Тем самым находим тах х.
7) Вывод результата: после того, как угол 0 станет больше п, выводим координаты ГО повернутого на угол 0, при котором коэффициент заполнения полосы х максимален. Так же выводится оптимальный размер полосы В.
Рис. 7
РЕЗУЛЬТАТЫ ВЫЧИСЛИЕЛЬНОГО ЭКПЕРИМЕНТА
В результате вычислительного эксперимента были получены следующие данные: для ГО £ (рис. 6) и ширины полосы В = 6, было рассчитано рациональное размещение ГО в полосе (рис. 8), где ширина полосы и шаг равны В = = 4,563, Ь = 4,602. Вычислительный эксперимент проводился на компьютере модели Л8И8-Х558Я, время выполнения 2 с.
/ Е! \ / /777/
ь
Рис. 8 ВЫВОДЫ
Таким образом, получены следующие результаты:
1. Разработан алгоритм нахождения ОДР для двух выпуклых ГО.
2. Разработан алгоритм нахождения ОДР для двух невыпуклых ГО.
3. Разработан алгоритм нахождения оптимального размещения плоских конгруэнтных ГО в полосу.
4. Перечисленные выше алгоритмы автоматизированы и реализованы с помощью языка программирования Delphi. Зарегистрировано программное средство [6].
СПИСОК ЛИТЕРАТУРЫ
1. Мартынов В. В. Автоматизированная система управления процессом раскроя геометрических объектов сложной формы: автореферат. Уфа: УГАТУ, 1999. 370 с.
2. Мартынов В. В. Использование операций Мин-ковского при анализе взаимного расположения геометрических объектов / Принятие решений в условиях неопределенности. Межвуз. научн. сб. Уфа: УГАТУ, 1999. С. 167-174.
3. Мухачева Э. А., Мартынов В. В., Верхоту-
ров М. А. Модели и методы расчета раскроя-упаковки геометрических объектов: монография. Уфа: УГАТУ,
1998. 217 с.
4. Mark de Berg, Marc van Kreveld, Mark Overmars, and Otfried Schwarzkopf (2000), Computational Geometry (2nd revised ed.), Springer-Verlag, ISBN 3-54065620-0 Chapter 3: Polygon Triangulation: стр. 45-61
5. Meisters G.H., Polygons have ears, Amer. Math. Monthly. Вып. 82. С. 648-651, 1975.
6. Бабель А.В. Размещение заготовок на материале: св-во о гос. регистрации программы для ЭВМ № 2011616383.
ОБ АВТОРАХ
Мартынов Виталий Владимирович, проф., зав. каф. эконом. информатики, рук. БРЦНИТ, дипл. инж.-мех. (МПИ, 1981). Д-р техн. наук по АСУ (УГАТУ, 2000). Иссл. в обл. информ. систем, иссл. операций, прикл. геометрии.
Бабель Алексей Викторович, асс. той же каф. Дипл. спец. по прикладной информат. в экономике (УГАТУ, 2011). Иссл. в обл. экон. информ. систем.
METADATA
Title: The method of the regular placement of flat geometric objects based on geometric transformations.
Authors: V. V. Martynov1, A. V. Babel2 Affiliation:
1 Ufa State Aviation Technical University (UGATU), Russia.
2 Ufa State Aviation Technical University (UGATU), Russia. Email: 1 [email protected], 2 [email protected].
Language: Russian.
Source: Vestnik UGATU (Scientific journal of Ufa State Aviation Technical University), 2013, Vol. 17, No. 2 (55), pp. 208214. ISSN 2225-2789 (Online), ISSN 1992-6502 (Print). Abstract: We study the location of flat geometric objects in the band. A method for obtaining a valid placement of two geometric objects, the method of finding the area of a valid placement of two convex and non-convex two geometric objects, a method for finding rational placement options repetitive geometric object in the band.
Key words: Cutting; allowable placement area, flat geometric objects, the optimal allocation in the band.
References (English Transliteration):
1) Martynov V.V. Automated process control system for cutting objects with complex geometric shapes (abstract). Ufa USATU, 1999. - 370.
2) Martynov V.V. Using Minkowski operations in the analysis of the relative position of geometric objects / Decision mak-
ing under uncertainty. Intercollege. Nauchn. Sat Ufa USATU,
1999. s. 167-174.
3) Mukhacheva E.A., Martynov V.V., Verkhoturov M.A. / Models and methods for calculating cutting-packing geometric objects: monograph. Ufa USATU, 1998. - 217 p.
4) Mark de Berg, Marc van Kreveld, Mark Overmars, and Otfried Schwarzkopf (2000), Computational Geometry (2nd revised ed.), Springer-Verlag, ISBN 3-540-65620-0 Chapter 3: Polygon Triangulation: page 45 -61
5) Meisters G.H., Polygons have ears, Amer. Math. Monthly. MY. 82. S. 648-651, 1975.
6) Babel A.V. / Accommodation blanks on the material / Certificate of state registration of the computer number 2011616383
About authors:
1. Martynov, Vitali Vladimirovich, prof., Head. Department. Economy. Informatics, hands. BRTSNIT, Dipl. engineer-mech. (MPI, 1981). Dr. Sc. Sciences on ASU (USATU, 2000). Tests were performed. in the region. Inform. systems, tests were performed. operations, Appl. geometry.
2. Babel, Alexey Vitorovich. ass. Department. Economy. Informatics. Dipl. specials. on Applied informative. in the economy (USATU, 2011). Tests were performed. in the region. Economics. Inform. systems.