УДК 512.5, 519.1(075.8) DOI: 10.14529/cmsel90403
ПОСТРОЕНИЕ САМОНЕПЕРЕСЕКАЮЩИХСЯ ОЕ-МАРШРУТОВ В ПЛОСКОМ ЭЙЛЕРОВОМ ГРАФЕ
© 2019 Т.А. Макаровских
Южно- Уральский государственный университет (454080 Челябинск, пр. им. В.И. Ленина, д. 16)
E-mail: Makarovskikh. [email protected] Поступила в редакцию: 24.09.2019
В статье предложен полиномиальный алгоритм построения самонепересекающегося маршрута с упорядоченным охватыванием в плоском эйлеровом графе. Предложенный подход состоит в расщеплении всех вершин исходного графа степени выше 4 и введении фиктивных вершин и ребер, сводя, таким образом, исходную задачу к решенной ранее автором задаче построения Л-цепи с упорядоченным охватыванием в плоском связном 4-регулярном графе. Приведенный алгоритм сведения решает поставленную задачу за полиномиальное время. Рассмотрен тестовый пример построения самонепересекающейся цепи с упорядоченным охватыванием. Данная задача возникает при технологической подготовке процесса раскроя, когда требуется определить маршрут движения режущего инструмента, при котором отсутствуют самопересечения траектории резки и отрезанная от листа часть не требует разрезаний. Раскройный план представлен в виде плоского графа, являющегося его гомеоморфным образом. Предложенный в статье алгоритм решает проблему маршрутизации при вырезании деталей, когда на маршрут движения режущего инструмента одновременно наложены такие технологические ограничения.
Ключевые слова: плоский граф, маршрут, раскройный план, полиномиальный алгоритм, процесс раскроя.
ОБРАЗЕЦ ЦИТИРОВАНИЯ
Макаровских Т.А. Построение самонепересекающихся ОА-мартттрутов в плоском эйлеровом графе // Вестник ЮУрГУ. Серия: Вычислительная математика и информатика. 2019. Т. 8, № 4. С. 30-42. DOI: 10.14529/cmsel90403.
Введение
В работе [1] поставлена задача CPDP (Cutting Path Determination Problem), заключающаяся в определении оптимального маршрута вырезания деталей по заданному раскройному плану одним или несколькими режущими инструментами. При этом предполагается наличие двух очевидных ограничений: 1) все детали должны быть
вырезаны; 2) ни один из вырезанных фрагментов не должен требовать дальнейших разрезаний, т.е. выполнено ОЕ (Odered Eclosing) ограничение [2]. Для решения проблемы CPDP известны более детальные постановки: GTSP (General Travelling Salesman Problem) [3-11], ССР (Continuous Cutting Problem), ECP (Endpoint Cutting Problem) [12] и ICP (Intermittent Cutting Problem), [2]. Отметим, что ECP и ICP допускают совмещение границ вырезаемых деталей, что позволяет сократить расход материала, длину резки и длину холостых проходов [4]. Проблемы уменьшения отходов материала и максимального совмещения фрагментов контуров вырезаемых деталей решаются на этапе составления раскройного плана.
Несмотря на отмеченные преимущества компьютерных технологий ЕСР и ICP, в настоящее время большинство публикаций посвящено развитию технологий GTSP и ССР, которые используют очевидные алгоритмы маршрутизации режущего инструмента, состоящие в поконтурном вырезании деталей.
Развитию компьютерных технологий ЕСР и ICP посвящены работы [2, 12] и [13]. В них даны полиномиальные алгоритмы О Е-мартттрутизации, когда отрезанная от листа часть не требует дальнейших разрезаний.
Большую как теоретическую, так и практическую ценность представляет построение самонепересекающихся О Е- м а р т т т р у т о в (N О Е- м ар т т т р у т о в) в плоских эйлеровых графах. Под самонепересекающимся маршрутом имеется в виду циклический граф, представляющий плоскую жорданову кривую без самопересечений [16], полученный в результате расщепления вершин исходного графа. Под расщеплением понимается определенная в [18] операция, которая заключается в следующем. Пусть G — связный граф, v £ y{G) — вершина степени deg(w) > 3. Если х = {щщ} и у = {v,V2} — пара ребер, инцидентных v, тогда под отщеплением пары ребер {ж, у} от вершины v понимается получение нового графа GXty, полученного из G удалением ребер х и у, введением новой вершины vxy и пары ребер {vxyvi} и {vxyV2} (см. [14, рис. 1]).
В частном случае, когда раскройный план оказывается гомеоморфен плоскому связному 4-регулярному графу, в работе [15] предложен полиномиальный алгоритм построения ЛОЕ-цепи, являющейся самонепересекающейся цепью. Данный алгоритм позволяет решать задачи маршрутизации в плоских связных графах со степенями вершин, не превосходящими 4.
Отметим приведенное в [17] «доказательство» ЛЛР-полноты задачи построения самонепересекающейся цепи в плоском эйлеровом графе. Рассуждения базируются на определении непересекающейся цепи, являющемся определением .4-депи [18] (т. е.цепи, в которой очередным в маршруте ребром является следующее ребро в определенном для текущей вершины циклическом порядке). Очевидно, что А-цепь представляет лишь частный случай самонепересекающейся цепи.
В данной статье предложен полиномиальный алгоритм для построения самонепересекающейся цепи в плоском связном эйлеровом графе. Предложенный в статье алгоритм решает задачу маршрутизации при вырезании деталей, когда выполняются два ограничения: отрезанная от листа часть не требует дополнительных разрезаний [2, 19, 20] и в траектории резки отсутствуют пересечения [21].
Статья организована следующим образом. В разделе 1 приведены необходимые определения, описаны используемые обозначения для представления данных. В разделе 2 рассматривается класс самонепересекающихся ОЕ-цепей (называемых далее lVOE-цепями). Цепи указанного класса соответствуют траектории движения режущего инструмента, избегающей пересечения траектории резания. Показано, что задача построения lVOE-цепи в плоском связном эйлеровом графе может быть за полиномиальное время сведена к задаче построения ЛОЕ-цепи в плоском связном 4-регулярном графе. Приведен алгоритм такого сведения. В разделе 3 рассмотрен тестовый пример построения lVOE-цепи. В заключении перечислены полученные в работе результаты, отмечены направления дальнейших исследований.
1. Определения и обозначения, используемые для представления данных
В данной работе будем использовать представление графа, используемое автором в предыдущих работах [2, 15, 19-21]. В работах автора предложено вместо раскройного плана использовать его гомеоморфный образ, представляющий плоский граф G с внешней
гранью /о на плоскости S. Для любой части J графа G (т.е. ./ С С) обозначим через Int (J) теоретико-множественное объединение его внутренних граней (объединение всех связных компонент S \ J, не содержащих внешней грани). Тогда если J — начальная часть маршрута, то Int(J) можно интерпретировать как отрезанную от листа часть. Топологическое представление плоского графа G на плоскости S с точностью до гомеоморфизма определяется заданием для каждого ребра е £ E(G) следующих функций
• Vk(e), к = 1,2 — вершины, инцидентные ребру е;
• lk(e), к = 1, 2 — ребра, полученные вращением ребра е против часовой стрелки вокруг вершины Vk(e)]
• г/.(е), к = 1,2 — ребра, полученные вращением ребра е по часовой стрелке вокруг вершины гДе);
• fk(e) — грань, находящаяся справа при движении по ребру е от вершины гд(е) к вершине пз-Де), к = 1,2.
Пример представления графа подробно рассмотрен в [2].
Представление графа фактически задает ориентацию его ребер. Далее предполагается, что движение по ребру для определенности осуществляется от вершины щ(е) к вершине гДе). Поскольку при задании графа G неизвестно, какое из ребер в каком направлении будет пройдено, то при выполнении алгоритма производится перестановка значений полей ffc(e), гДе) и Д(е), Д(е), к = 1,2 некоторых ребер. В алгоритме данную процедуру выполняет функция REPLACE, функциональным назначением которой является замена индексов функций иДе), 4(e), гДе) и /Де) на 3 — к, к = 1, 2 [20].
Далее будем считать, что все рассматриваемые плоские графы представлены указанными функциями. Пространственная сложность такого представления будет 0{\E(G)\ ■ log2|P(G)|) [15]. В дальнейшем будем использовать ряд понятий, определения которых имеются в работах [13, 18, 22]. Приведем основные из них для удобства читателя.
Определение 1. Будем говорить, что цикл С = щехг^ег ■ ■ ■ гд в эйлеровом графе G имеет упорядоченное охватывание (называется OS-цепью), если для любой его начальной части Ci = v\e\V2e2 ■ ■ ■ i < \E(G)\ выполнено условие Int (О*) П G = 0 [13].
Определение 2. Эйлерову цепь Т будем называть А-цепью [18], если она является /Д-совместимой цепью. Таким образом, последовательные ребра в цепи Т (инцидентные вершине v) являются соседями в циклическом порядке 0±(п) [18].
Определение 3. Рангом ребра е £ Е графа G = (V. Е) будем называть значение функции rank(e) : Е —> N, определяемое рекурсивно:
• пусть Ei = {е £ Е : еС/о} — множество ребер, ограничивающих внешнюю грань /о графа G(V., Е), тогда (Ve £ Si) (rank(e) = 1);
• пусть S/,. — множество ребер ранга 1 графа
[2, 20]:
тогда (Ve £ S^) (rank(e) = к) [13].
Алгоритм 1 NOE-CHAIN (G)
Require: плоский эйлеров граф G, заданный функциями гд,(е), ?Де), гДе), /Де), к = 1, 2 и rank(e); Ensure: NOE-цепь в графе G;
Ранг ребра определяет его удаленность от внешней грани и показывает, какое минимальное число граней необходимо пересечь, чтобы добраться от внешней грани /о до этого ребра.
Определение 4. Рангом грани / £ F{G) будем называть значение функции rank :
где E{f) — множество ребер инцидентных грани / £ F [2].
2. Алгоритм построения NOE-цетш
Рассмотренный в [15] класс АОЕ-цепей достаточно узок. К тому же в общем случае не известны эффективные алгоритмы построения таких цепей. Для практических задач оказывается достаточным построение не АОЕ-цетш, а самонепересекающейся ОЕ-цетш.
Определение 5. Эйлеров цикл в С плоском эйлеровом графе G называется самонепересекающимся если он гомеоморфен плоской замкнутой жордановой кривой [16] без самопересечений, который может быть получен из графа G = (V. Е) с помощью применения \Е\ операций расщепления вершин.
Для построения самонепересекающейся эйлеровой ОЕ-цетш (или цикла) в плоском эйлеровом графе (в дальнейшем эту цепь будем называть NOE-цепью (non-intersecting ОЕ-trail)) можно воспользоваться алгоритмом 1.
Процедура Non-intersecting (GO (алгоритм 2) строит 4-регулярный граф G (с точностью до гомеоморфизма) расщепляя в графе G все вершины v £ V(G) степени 21 (I > 3) на I фиктивных вершин степени 4 и вводит I фиктивных ребер, инцидентных полученным после расщепления вершинам и образующим цикл (см. рис. 1а и 16). Для выполнения указанных преобразований необходимо просмотреть функции гДе), к = 1,2 для всех ребер е £ E(G), и внести требуемые модификации в систему кодирования графа. С этой целью на множестве вершин графа V (G) определена булева функция
При выполнении инициализации (строки 1-3 в описании алгоритма 2) все вершины объявляют непросмотренными, т. е. С becked (г)) = false для всех v £ V(G). Просмотр вершины v = гц(е), такой что Checked)?;) = false состоит в выполнении процедуры Handle (е) (алгоритм 3). которая производит обработку данной вершины, заключающуюся в ее расщеплении в соответствии с рис. 1а и 16.
1: G := Nonlntersecting(G);
2: G := CutPointSplitting(G); 3: G*:=AOE_TRAIL(G);
4: G:=Absorb(G*);
> Расщепить все вершины степени выше 4 > Расщепить все точки сочленения всех рангов [> Построить АОЕ-цепь в графе G > Стянуть все расщепленные вершины
F(G) -A Z-0:
О, при / = /о,
mine6£:y) rank(e), в противном случае,
true, если вершина просмотрена; false, в противном случае.
Алгоритм 2 Процедура Non-intersecting (GO
1 procedure Non-intersecting(G)
Require: плоский эйлеров граф G, заданный функциями гд(е), Z*,(e), 7д(е), Д(е), к = 1, 2 и rank(e); Ensure: плоский связный 4-регулярный граф G*, определяемый аналогичным образом;
2 for all V G V(G) do > Инициализация функции Checked(v)
3 Checked(v) := false;
4 end for
5 for all (e G E{G) ) do > Поиск вершин степени больше 4 и их расщепление
6 к := 1; > Просмотреть вершину с индексом 1, затем - 2
7 while (k < 2) do
8 if (not Checked(vk(e))) then > Обработать только не обработанную ранее вершину
9 if (k = 2) then > Скорректировать индексы
10 REPLACE(e); > обрабатываются вершины гц(е)
11 end if
12 Handle ( e); > Вызвать функцию для обработки вершины гд (е)
13 Checked{v\{e)) := true; > Пометить вершину как просмотренную
14 end if
15 к := к + 1;
16 end while
17 end for
18 end procedure
а) Исходные указатели на соседние ребра в расщепляемой вершине
б) Расщепление вершины (жирными линиями показаны ребра графа G, тонкими линиями - дополнительные (фиктивные) ребра) и модификация указателей в соответствии с расщеплением
Рис. 1. Расщепление вершины степени выше 4 и модификация указателей на ребра
Алгоритм 3 в результате цикла repeat -until (строки 6-11) подсчитывает степень d текущей вершины и. Если d > 4, выполняется второй цикл repeat -until (строки 12-23), в котором обрабатываемая вершина расщепляется на d/2 фиктивных вершин, вводятся d фиктивных ребер, инцидентных этим вершинам и образующим цикл.
Отметим, что строки 18-23 затрагивают не только изменение указателей на ребра, но и вводят новую (фиктивную) грань F, инцидентную всем фиктивным вершинам и ребрам, а также определяют ранги фиктивных ребер.
Алгоритм 3 Процедура Handle (е)
1 procedure HANDLE(e)
2 v := щ(е); > Расщепляемая вершина
3 & first •— > Сохранить первое рассматриваемое ребро
4 d := 0; > Инициализация счетчика для степени вершины d
5 F := FaceNumQ + 1; > Определить номер для новой грани
6 repeat > Проход 1: Определение степени вершины v
7 le := h(e);
8 if (ы(1е) A v) then REPLACE(Ze);
9 end if > При необходимости поменять индексацию функций
10 e := le~, d := d -1-1; > Учесть ребро при подсчете степени и перейти к следующему
11 until (е = еfirst)', > Повторять, пока не будут просмотрены все ребра, инцидентные v
12 if (d > 4) then > Если степень текущей вершины больше 4
13 £ •— & first) > Начать с первого рассматриваемого ребра
14 le := lk (e); > Определить номер его левого соседа
15 &next ■ 1к (Jć)) > Сохранить ребро, для следующей итерации
16 fl := new EDGE; fie := fl; efirst = е; > Ввести фиктивное ребро, смежное 1е
17 repeat > Расставить указатели для ребер
18 6 •— &nextj l& •— lk (б)} fv .— fl,
19 fi(fl) :=T;/2(/0 :=/2(e); > Определить грани, смежные фиктивному ребру
20 rank(/l) := facerank(/2(/Z)); > Определить «ранг» фиктивного ребра
21 > Функция facerankQ вычисляет ранг грани в соответствии с определением
22 fl ■— H.GW EDGE, &next ■— lk (l&)j
23 until (Zfc(Ze) = efirst)',
24 end if
25 end procedure
Определение 6. Ранг фиктивного ребра (строка 20) равен рангу инцидентной фиктивному ребру грани исходного графа.
Для 4-регулярного графа G с определенными для него рангами фиктивных ребер и введенными в его представление фиктивными гранями можно применить последовательно алгоритм CUT-POINT-SPLITTING(G') построения графа G с расщепленными точками сочленения (понятие точки сочленения ранга к см. в [15, Определение 12]), и алгоритм AOE-TRAIL(G) [15] построения АОЕ-щтш С* в графе G . При построении цепи С* алгоритм AOE-TRAIL(G') при наличии двух смежных непройденных ребер одного ранга для гарантированного выполнения условия упорядоченного охватывания в первую очередь выбирает фиктивное ребро.
Процедура Absorb(*) заменяет в * все фиктивные ребра и инцидентные им вершины, полученные при расщеплении вершины v (выполняет операцию стягивания фиктивных вершин). В результате выполнения процедуры получим NOE-цепь С в исходном графе G. Цепь С, полученная после удаления фиктивных ребер за счет стягивания вершин, будет принадлежать классу ОЕ, т.к. процедура удаления ребер не нарушает порядка следования оставшихся ребер в цепи, что исключает появление цикла, охватывающего еще непройденные ребра.
Так как процедура Handle состоит из двух последовательных просмотров ребер, инцидентных текущей вершине и, то вычислительная сложность процедуры равна 0(\E(G)\). Процедура Non-Intersecting заключается в однократном просмотре всех
ребер, то есть ее вычислительная сложность также составляет величину 0(\E(G)\). Следовательно, алгоритм сведения плоского связного эйлерова графа к плоскому связному 4-регулярному графу решает поставленную задачу за время 0(\Е(С1)\2). Поскольку алгоритм A0E-TRAIL и предшествующая его вызову функция CUT-POINT-SPLITTING [15] решают задачу построения AOS-цепи С за время 0(\E(G*)\ ■ log2 |C(G'*)|), то и задача построения NOE-цетш в графе G решается за полиномиальное время О (| А (С) |2).
Из сказанного выше в данном разделе следует справедливость следующей теоремы.
Теорема 1. Алгоритм N0E-CHAIN решает задачу построения NOE-цетш в плоском эйлеровом графе за время 0(\E(G)\2).
3. Иллюстрация работы алгоритма
Рассмотрим работу алгоритма на примере графа, приведенного на рис. 2а. Пример затрагивает общий случай: в графе имеется вершина степени выше 6, не смежная внешней грани, а также присутствуют (и возникают в процессе расщепления) точки сочленения разных рангов. Рассматриваемый граф является эйлеровым, следовательно, построение NOE-цетш можно начать из любой вершины, смежной внешней грани. Пусть это будет вершина v2-
После применения процедуры Handle О получим граф, представленный на рис. 26. В полученном графе все вершины имеют степень 4. В графе на рис. 26 помимо расщепленной вершины г>з имеются и точки сочленения vą и vq рангов 3 и 2 соответственно, а также точка сочленения ранга 2 в расщепленной вершине г>з, инцидентная ребрам е ] з, ед и двум фиктивным ребрам того же ранга. Эти вершины необходимо расщепить с помощью алгоритма CUT-POINT-SPLITTING. В результате выполнения указанного алгоритма получим граф, представленный на рис. 2в. С помощью алгоритма AOE-Trail в полученном графе определим AOS-маршрут, в котором символом «*» обозначен переход по фиктивным ребрам
Т* = v2e5vie4v3 * * * ещтлщ^ибещглщгоизещ^бещ^з *
ез^вешг’бедгуезог’бепг’демг’зебг’деггуезг’зегг’з *
которому после стягивания расщепленных вершин соответствует N О А- м а р т т т р у т
Т* = г’гебщедг’зездщещг’беззщего'Сзешг’бешг’з
e3'Ł’8ei2T’6egT’7eioT’6eiiT’gei4T'3e6T'ge7T'7e8W8e2T'3ei3T’ieiT'2,
в исходном графе.
Заключение
Предложенный в работе алгоритм строит NOE-цепь в плоском эйлеровом графе. В случае плоского неэйлерова (в общем случае несвязного) графа G без висячих вершин необходимо расщепить все вершины степени выше 4 в соответствии с алгоритмом 3. В результате получим граф, степени вершин которого равны 3 или 4 (не уменьшая общности рассуждений, вершины степени 2 не рассматриваются). Для этого графа применима та же последовательность действий, что описана в [15] для построения А О А- п о к р ы т и я. В цепях полученного покрытия удалим все искусственные ребра, стягивая все расщепленные вершины. В результате получим NOE-покрытие.
а) Граф G
б) Менее, чем 4-регулярный граф G
в) граф G без точек сочленения
г) результирующий
самонепересекающийся ОГ-мартттрут С
Рис. 2. Пример построения NOE-цепи в плоском эйлеровом графе, имеющем вершину степени выше 6, не смежную внешней грани
Предложенный в статье алгоритм решает проблему маршрутизации при вырезании деталей, когда на маршрут движения режущего инструмента одновременно наложены такие технологические ограничения, как (1) отрезанная от листа часть не требует дополнительных разрезаний, (2) отсутствуют самопересечения траектории резки.
В качестве направлений дальнейших исследований можно выделить создание библиотеки классов для решения задачи маршрутизации в плоских графах.
Литература
1. Silva E.F., Oliveira L.T., Oliveira J.F., Toledo F.M.B. Exact approaches for the cutting path determination problem // Computers k, Operations Research. 2019. Vol. 112, art. 104772. DOI: 10.1016/j.cor.2019.104772.
2. Makarovskikh T.A., Panyukov A.V., Savitsky E.A. Mathematical Models and Routing Algorithms for CAD Technological Preparation of Cutting Processes // Automation and Remote Control. 2017. Vol. 78, no. 4. P. 868-882. DOI: 10.1016/10.1134/S0005117917050095.
3. Dewil R., Vansteenwegen P., Cattrysse D. A Review of Cutting Path Algorithms for Laser Cutters // International Journal Adv Manuf. Technol. 2016. Vol. 87. P. 1865-1884. DOI: 10.1007/s00170-016-8609-l.
4. Dewil R., Vansteenwegen P., Cattrysse D., Laguna M., Vossen T. An Improvement Heuristic Framework for the Laser Cutting Tool Path Problem / / International Journal of Production Research. 2015. Vol. 53, no. 6. P. 1761-1776. DOI: 10.1080/00207543.2014.959268.
5. Hoeft J., Palekar U. Heuristics for the Plate-cutting Travelling Salesman Problem // HE Transactions. 1997. Vol. 29(9). P. 719-731. DOI: 10.1023/A:1018582320737.
6. Dewil R., Vansteenwegen P., Cattrysse D. Construction Heuristics for Generating Tool Paths for Laser Cutters // International Journal of Production Research. 2014. Vol. 52(20). P. 5965-5984. DOI: 10.1080/00207543.2014.895064.
7. Петунии А.А., Ченцов AT., Ченцов П.А. К вопросу о маршрутизации перемещений при листовой резке деталей // Вестник Южно-Уральского государственного университета. Серия: Математическое моделирование и программирование. 2017. Т. 10, У- 3. С. 25-39. DOI: 10.14529/mmpl70303.
8. Chentsov A.G., Grigoryev А.М., Chentsov A.A. Solving a Routing Problem with the Aid of an Independent Computations Scheme // Вестник Южно-Уральского государственного университета. Серия: Математическое моделирование и программирование. 2018. Т. 11, № 1. С. 60-74. DOI: 10.14529/mmpl80106.
9. Petunin A., Stylios С. Optimization Models of Tool Path Problem for CNC Sheet Metal Cutting Machines // 8th IFAC Conference on Manufacturing Modelling, Management and Control MIM 2016 (Troyes, France, June, 28-30, 2016). IFAC-PapersOnLine. 2016. Vol. 49. P. 23-28. DOI: 10.1016/j.ifacol.2016.07.544.
10. Chentsov A., Khachay M., Khachay D. Linear Time Algorithm for Precedence Constrained Asymmetric Generalized Traveling Salesman Problem // 8th IFAC Conference on Manufacturing Modelling, Management and Control MIM 2016 (Troyes, France, June, 28-30, 2016). IFAC-PapersOnLine. 2016. Vol. 49. P. 651-655. DOI: 10.1016/j.ifacol.2016.07.767.
11. Khachay M., Neznakhina K. Towards Tractability of the Euclidean Generalized Travelling Salesman Problem in Grid Clusters Defined by a Grid of Bounded Height // Communications in Computer and Information Science. 2018. Vol. 871. P. 68-77. DOI: 10.1007/978-3-319-93800-4_6.
12. Manber U., Israni S. Pierce Point Minimization and Optimal Torch Path Determination in Flame Cutting // J. Manuf. Syst. Vol. 3(1). 1984. P. 81-89. DOI: 10.1016/0278-6125(84)90024-4.
13. Panyukova Т. Chain Sequences with Ordered Enclosing // Journal of Computer and System Sciences International. 2007. Vol. 46, no. 1(10). P. 83-92. DOI: 10.1134/S1064230707010108.
14. Borse Y.M. Splitting Lemma for 2-Connected Graphs // International Scholarly Research Network, ISRN Discrete Mathematics. 2012. Vol. 2012, art. 850538. DOI: 10.5402/2012/850538.
15. Макаровских Т.А. Программное обеспечение для построения A-цепей с упорядоченным охватыванием в плоском связном 4-регулярном графе // Вестник Южно-Уральского государственного университета. Серия: Вычислительная математика и информатика. 2019. Т. 8, № 1. С. 36-53. DOI: 10.14529/cmsel90103.
16. Филиппов А.Ф. Элементарное доказательство теоремы Жордана // Успехи математических наук. 1950. Т. 5:5(39). С. 173-176.
17. Manber U., Bent S.W. On Non-intersecting Eulerian Circuits // Discrete Applied Mathematics. 1987. Vol. 18. P. 87-94. DOI: 10.1016/0166-218X(87)90045-X.
18. Fleischner H. Eulerian Graphs and Related Topics. Part 1, Vol. 1.: Ann. Discrete
Mathematics, 1990. no. 45.
19. Panyukova T.A. Constructing of OE-postman Path for a Planar Graph / / Вестник Южно-Уральского государственного университета. Серия: Математическое моделирование и программирование. 2014. Т. 7, У- 4. С. 90-101. DOI: 10.14529/mmpl40407.
20. Makarovskikh Т.А., Panyukov A.V., Savitsky E.A. Mathematical Models and Routing Algorithms for CAM of Technological Support of Cutting Processes // ScienceDirect IFAC-PapersOnLine 49-12. 2016. P. 821-826. DOI: 10.1016/j.ifacol.2016.07.876.
21. Makarovskikh T., Panyukov A. The Cutter Trajectory Avoiding Intersections of Cuts // IFAC-PapersOnLine. 2017. Vol. 50, no. 1. P. 2284-2289. DOI: 10.1016/j.ifacol.2017.08.226.
22. Szeider S. Finding Paths in Graphs Avoiding Forbidden Transitions // Discrete Applied Mathematics. 2003. no. 126. P. 261-273. DOI: 10.1016/S0166-218X(02)00251-2.
Макаровских Татьяна Анатольевна, к.ф.-м.н., доцент, кафедра математического
и компьютерного моделирования, Южно-Уральский государственный университет
(национальный исследовательский университет) (Челябинск, Российская Федерация)
DOI: 10.14529/ cmsel90403
CONSTRUCTING SELF-NON-INTERSECTING OE-CHAINS IN A PLANE EULERIAN GRAPH
© 2019 T.A. Makarovskikh
South Ural University (pr. Lenina 16, Chelyabinsk, 454080 Russia)
E-mail: Makarovskikh. [email protected] Received: 24.09.2019
The paper is devoted to a polynomial-time algorithm for constructing a self-non-intersecting ordered enclosing chain for a plane Eulerian graph. The proposed approach consists in splitting all the vertices of the original graph of degree higher than 4 and introducing Active vertices and edges and, thus, reducing the considered earlier problem to the problem of finding an Т-chain with ordered enclosing in a plane connected 4-regular graph. The presented reduction algorithm solves the problem in polynomial time. A test example of constructing a self-non-intersecting chain with ordered enclosing is considered. This problem arises during the technological preparation of the cutting process, when it is necessary to determine the path of the cutter when there are no self-intersections of the cutting path and the part cut off from the sheet does not require any cuts. The cutting plan may be presented as a planar graph which is the homeomorphic image of the cutting plan. The algorithm proposed in the article solves the problem of routing when cutting parts when such technological constraints are simultaneously imposed on the path of the cutter.
Keywords: plane graph, path, cutting plan, polynomial-time algorithm, cutting process.
FOR CITATION
Makarovskikh T.A. Constructing Self-non-intersecting ОТ-chains in a Plane Eulerian Graph. Bulletin of the South Ural State University. Series: Computational Mathematics and Software Engineering. 2019. vol. 8, no. 4. pp. 30-42. (in Russian) DOI: 10.14529/cmsel90403.
This paper is distributed under the terms of the Creative Commons Attribution-Non Commercial 3.0 License which permits non-commercial use, reproduction and distribution of the work without further permission provided the original work is properly cited.
References
1. Silva E.F., Oliveira L.T., Oliveira J.F., Toledo F.M.B. Exact approaches for the cutting path determination problem. Computers k, Operations Research. 2019. vol. 112, art. 104772. DOI: 10.1016/j.cor.2019.104772.
2. Makarovskikh T.A., Panyukov A.V., Savitsky E.A. Mathematical Models and Routing Algorithms for CAD Technological Preparation of Cutting Processes. Automation and Remote Control. 2017. vol. 78, no. 4. pp. 868-882. DOI: 10.1016/10.1134/S0005117917050095.
3. Dewil R., Vansteenwegen P., Cattrysse D. A Review of Cutting Path Algorithms for Laser Cutters. International Journal Adv Manuf. Technol. 2016. vol. 87. pp. 1865-1884. DOI: 10.1007/s00170-016-8609-l.
4. Dewil R., Vansteenwegen P., Cattrysse D., Laguna M., Vossen T. An Improvement Heuristic Framework for the Laser Cutting Tool Path Problem. International Journal of Production Research. 2015. vol. 53, no. 6. pp. 1761-1776. DOI: 10.1080/00207543.2014.959268.
5. Hoeft J., Palekar U. Heuristics for the Plate-cutting Travelling Salesman Problem. HE Transactions. 1997. vol. 29(9). pp. 719-731. DOI: 10.1023/A:1018582320737.
6. Dewil R., Vansteenwegen P., Cattrysse D. Construction Heuristics for Generating Tool Paths for Laser Cutters. International Journal of Production Research. 2014. vol. 52(20). pp. 5965-5984. DOI: 10.1080/00207543.2014.895064.
7. Petunin A.A., Chentsov A.G., Chentsov P.A. On the Issue of Routing Movements in Sheet Cutting of Parts. Bulletin of the South Ural State University. Series: Mathematical Modelling and Programming. 2017. vol. 10, no. 3. pp. 25-39. (in Russian) DOI: 10.14529/mmpl70303.
8. Chentsov A.G., Grigoryev A.M., Chentsov A.A. Solving a Routing Problem with the Aid of an Independent Computations Scheme. Bulletin of the South Ural State University. Series: Mathematical Modelling and Programming. 2018. vol. 11, no. 1. pp. 60-74. (in Russian) DOI: 10.14529/mmpl80106.
9. Petunin A., Stylios C. Optimization Models of Tool Path Problem for CNC Sheet Metal Cutting Machines. 8th IFAC Conference on Manufacturing Modelling, Management and Control MIM 2016 (Troyes, Prance, June, 28-30, 2016). IFAC-PapersOnLine. 2016. vol. 49. pp. 23-28. DOI: 10.1016/j.ifacol.2016.07.544.
10. Chentsov A., Khachay M., Khachay D. Linear Time Algorithm for Precedence Constrained Asymmetric Generalized Traveling Salesman Problem. 8th IFAC Conference on Manufacturing Modelling, Management and Control MIM 2016 (Troyes, France, June, 28-30, 2016). IFAC-PapersOnLine. 2016. vol. 49. pp. 651-655. DOI: 10.1016/j.ifacol.2016.07.767.
11. Khachay M., Neznakhina K. Towards Tractability of the Euclidean Generalized Travelling Salesman Problem in Grid Clusters Defined by a Grid of Bounded Height. Communications in Computer and Information Science. 2018. vol. 871. pp. 68-77. DOI: 10.1007/978-3-319-93800-4_6.
12. Manber U., Israni S. Pierce Point Minimization and Optimal Torch Path Determination in Flame Cutting. J. Manuf. Syst. 1984. vol. 3(1). pp. 81-89. DOI: 10.1016/0278-6125(84)90024-4.
13. Panyukova T. Chain Sequences with Ordered Enclosing. Journal of Computer and System Sciences International. 2007. vol. 46, no. 1(10). pp. 83-92. DOI: 10.1134/S1064230707010108.
14. Borse Y.M. Splitting Lemma for 2-Connected Graphs. International Scholarly Research Network, ISRN Discrete Mathematics. 2012. vol. 2012. Art. 850538. DOI: 10.5402/2012/850538.
15. Makarovskikh T.A. Software for Constructing of .4-chains with Ordered Enclosing for a Plane Connected 4-regular Graph. Bulletin of the South Ural State University. Series: Computational Mathematics and Software Engineering. 2019. vol. 8, no. 1. pp. 36-53. (in Russian) DOI: 10.14529/cmsel90103.
16. Filippov A.F. The Elementary Proof of Jordan Theorem. Advances in Mathematical Sciences. 1950. vol. 5:5(39). pp. 173-176. (in Russian)
17. Manber U., Bent S.W. On Non-intersecting Eulerian Circuits. Discrete Applied Mathematics. 1987. vol. 18. pp. 87-94. DOI: 10.1016/0166-218X(87)90045-X.
18. Fleischner H. Eulerian Graphs and Related Topics. Part 1, vol. 1. Ann. Discrete Mathematics. 1990. no. 45.
19. Panyukova Т.А. Constructing of OE-postman Path for a Planar Graph. Bulletin of the South Ural State University. Series: Mathematical Modelling, Programming and Computer Software. 2014. vol. 7, no. 4. pp. 90-101. DOI: 10.14529/mmpl40407.
20. Makarovskikh T.A., Panyukov A.V., Savitsky E.A. Mathematical Models and Routing Algorithms for CAM of Technological Support of Cutting Processes. ScienceDirect IFAC-PapersOnLine 49-12. 2016. pp. 821-826. DOI: 10.1016/j.ifacol.2016.07.876.
21. Makarovskikh T., Panyukov A. The Cutter Trajectory Avoiding Intersections of Cuts. IFAC-PapersOnLine. 2017. vol. 50, no. 1. pp. 2284-2289. DOI: 10.1016/j.ifacol.2017.08.226.
22. Szeider S. Finding Paths in Graphs Avoiding Forbidden Transitions. Discrete Applied Mathematics. 2003. no. 126. pp. 261-273. DOI: 10.1016/S0166-218X(02)00251-2.