МАТЕМАТИЧЕСКОЕ И ПРОГРАММНОЕОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНЫХ МАШИН ...
УДК 621.98.04:004.4
М. А. ВЕРХОТУРОВ, П. Ю. ТАРАСЕНКО
МАТЕМАТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ЗАДАЧИ ОПТИМИЗАЦИИ ПУТИ РЕЖУЩЕГО ИНСТРУМЕНТА ПРИ ПЛОСКОМ ФИГУРНОМ РАСКРОЕ НА ОСНОВЕ ЦЕПНОЙ РЕЗКИ
Рассматривается проблема оптимизации нерегулярного раскроя листовых материалов на фигурные заготовки. Ее решение состоит из нескольких этапов. Одним из основных этапов при решении данной задачи является построение пути режущего инструмента. Дается постановка задачи оптимизации пути режущего инструмента и анализ методов, применяемых для ее решения, приводится описание подхода на основе цепной резки и результаты его тестирования. Нерегулярный раскрой ; путь режущего инструмента ; цепная резка
Процесс создания любого изделия начинается с изготовления его элементарных конструктивных составляющих — деталей. Детали представляют основную массу объектов на любом производственном предприятии, поэтому этап их изготовления является одним из наиболее трудоемких и сложных во всем производственном цикле создания изделия. Трудоемкость и сложность подготовки и организации изготовления деталей усугубляется тем, что многие изделия выпускаются в настоящее время в условиях единичного и мелкосерийного производства. В связи с большой номенклатурой деталей при производстве заготовок возникают сложности по организации технологического проектирования раскройно-заготовительных операций.
Для промышленных и проектных предприятий, связанных по роду деятельности с задачами раскроя-упаковки, возникает необходимость использования автоматизированной системы фигурного раскроя плоских деталей. Обычно такие системы имеют модульную структуру, где каждый модуль позволяет автоматизировать некоторый этап в процессе раскроя.
В процессе раскроя листовых материалов на фигурные заготовки одним из важнейших этапов является построение пути режущего инструмента. Оптимизация пути режущего инструмента может значительно снизить стоимость раскроя.
Обычно оптимизация пути сводиться к минимизации длины холостого хода. Однако длина пути — не единственная характеристика, влияющая на стоимость раскроя. Второй
по важности характеристикой является количество врезок на лист. В зависимости от типа и толщины раскраиваемого материала, а также используемой технологии раскроя, стоимость одной врезки может достигать 20-30% от стоимости одного погонного метра реза, и в десятки раз превышать стоимость одного метра холостого хода.
В связи с этим оправдано применение более сложных подходов, позволяющих достичь большей экономии по сравнению с обычной минимизацией пути холостого хода.
ПОСТАНОВКА ЗАДАЧИ
Задача оптимизации пути режущего инструмента при раскрое листового материала на фигурные заготовки может быть сформулирована следующим образом: дано п контуров, начальное и конечное положение режущего инструмента, информация о вложенности контуров. Необходимо найти путь режущего инструмента
такой, что функция
* CGц- + Lon * С(т + Npl * Cpl —> min,
(1)
где
• Pi — точка, с которой начинается и заканчивается вырезание *-го контура в пути;
переход осуществляется с вы-
ключенным режущим инструментом, в точках
и производится врезка;
• Рк — Рк+т — участок пути, вырезаемый без выключения режущего инструмента. — точка врезки для данного участка
пути, — точка, в которой по заверше-
нии вырезания участка производится выключение режущего инструмента;
— длина переходов с выключенным режущим инструментом;
— стоимость пути с выключенным режущим инструментом;
— длина переходов с включенным режущим инструментом;
Con — стоимость пути с включенным режущим инструментом;
iVpt — количество точек врезки;
• Cpt — стоимость одной точки врезки.
Замечание: контур может быть вырезан
только тогда, когда вырезаны все подконтуры, вложенные в него.
ОБЗОР И АНАЛИЗ ПОДХОДОВ К РЕШЕНИЮ ЗАДАЧИ
Из приведенной выше постановки задачи видно, что стоимость раскроя зависит от трех основных факторов:
• длины пути холостого хода;
• длины пути реза; количества точек врезки.
Эти параметры не являются независимыми. Так, сокращение количества точек врезки приводит к некоторому увеличению пути реза за счет перемещений между контурами без выключения режущего инструмента.
Увеличение количества точек врезки приводит к тому, что перемещение между контурами может производиться с поднятым режущим инструментом, что позволяет перемещаться по кратчайшему пути, даже если при этом пересекаются ранее вырезанные участки.
Длины путей холостого хода и реза также связаны между собой. При увеличении пути реза путь холостого хода может сокращаться, и наоборот.
Длина пути реза ограничена снизу суммой периметров всех вырезаемых контуров.
Исключением может быть ситуация с использованием подхода общего реза («common cut») при котором за один проход может быть прорезана общая граница двух (или более) контуров. В этом случае длина пути реза может быть несколько меньше суммы периметров контуров.
Можно выделить три подхода, направленных на дополнительное снижение стоимости фигурного раскроя, и осуществляемых путем сокращения количества точек врезки: цепная резка, «мосты» и общий рез.
В зависимости от используемой технологии и обрабатываемого материала стоимость одной точки врезки может быть как меньше стоимости холостого хода (тонкий, легкий в обработке материал), так и значительно превышать ее (большие толщины, либо сложный в обработке материал).
В случае больших толщин раскраиваемого материала целесообразно сокращать количество точек врезки за счет некоторого увеличения пути холостого хода и реза.
Цепная резка («chain cutting», «chains»)
Подход цепной резки заключается в последовательном вырезании нескольких контуров, начиная с одной точки врезки. Прежде чем режущий инструмент переходит к вырезанию следующего контура, текущий контур должен быть полностью вырезан. Все контуры в цепочке не должны содержать вложенных контуров (либо последние должны быть вырезаны заранее). Кроме того, необходима возможность перемещения между контурами без выключения режущего инструмента.
В качестве параметра, определяющего допустимость или недопустимость цепной резки для группы контуров, чаще всего выступает максимальная длина перехода между контурами без выключения режущего инструмента.
«Мосты» («bridges»)
Суть подхода заключается в создании двунаправленной перемычки между парой (или более) близко расположенных контуров. В отличие от подхода цепной резки допускается вырезание контуров по частям. Иными словами, путь может быть построен таким образом, что сначала будет частично вырезан один контур, после чего произойдет переход к следующему контуру и его вырезание, а затем возврат к первому контуру и вырезание оставшейся его части.
Как и в случае цепной резки, контуры не должны содержать вложенных контуров (либо все вложенные контуры должны быть вырезаны заранее). Также необходимо перемещение между контурами с включенным режущим инструментом.
Основными параметрами, определяющими допустимость использования «мостов» при вырезании группы контуров, являются: ширина моста (расстояние между дорожками, проходимыми режущим инструментом в пря-
мом и обратном направлении) и максимальное расстояние между соединяемыми контурами.
Общий рез («common line», «common cut»)
Подход общего реза состоит в выявлении групп плотно уложенных контуров, имеющих одну или более общих границ. Поскольку контуры разделяются общей линией реза, то отсутствует необходимость прорезать этот участок дважды. Это позволяет одновременно сократить длину пути реза и количество точек врезки.
Однако путь холостого хода при этом несколько увеличивается, поскольку при выборе положения точки врезки критерий уменьшения длины пути холостого хода является вторичным.
Применение общего реза ограничивается тем, что в общем случае количество плотно уложенных контуров с достаточно продолжительной общей границей невелико.
Основным параметром, определяющим допустимость использования общего реза для группы контуров, является минимальная длина общего участка, на котором совмещаются границы контуров.
Дополнительно задается ограничение на минимальное и максимальное расстояние между границами контуров (поскольку линия реза имеет отличную от нуля ширину, определяемую используемой технологией раскроя и особенностями раскраиваемого материала).
Анализ применимости методов
Цепная резка применима в случае, когда расстояние между контурами таково, что увеличение стоимости пути реза не превышает увеличение стоимости раскроя от дополнительной точки врезки.
«Мосты» могут быть использованы для случая, когда расстояние между контурами достаточно мало, чтобы увеличение стоимости реза за счет двукратного прохода этого расстояния не превышало стоимость отдельной точки врезки.
Общий рез применим в сравнительно небольшом количестве случаев, когда контуры имеют достаточно продолжительный участок общей границы и при этом ширина общей линии реза соответствует используемой технологии. Однако это единственный метод, позволяющий одновременно сократить стоимость реза и количество точек врезки.
Очевидно, что наибольшей областью применимости обладает подход цепной резки.
ОПИСАНИЕ ВЫБРАННОГО ПОДХОДА К РЕШЕНИЮ ЗАДАЧИ:
ЦЕПНАЯ РЕЗКА
Для решения поставленной задачи был выбран подход цепной резки, при котором дополнительное уменьшение стоимости раскроя достигается за счет уменьшения числа точек врезки. Уменьшение количества точек врезки возможно за счет последовательного («по цепочке») вырезания двух и более контуров без выключения режущего инструмента.
Стоит заметить, что в большинстве случаев стоимость перехода с включенным инструментом превосходит стоимость точки врезки, поэтому задача минимизации точек врезки предстает как задача оптимизации соотношения количества точек врезки и длины пути режущего инструмента во включенном состоянии.
Анализ существующих на рынке решений показал, что в настоящее время существует только два продукта с заявленной поддержкой цепной резки. Это SigmaNest (SigmaNest Software) и TurboNest (MTC Europe). Из них только SigmaNest обладает возможностью автоматического построения пути, но при этом накладывает ряд серьезных ограничений, таких как отсутствие вложенных контуров. Таким образом, на текущий момент на рынке представлены только автоматизированные средства построения пути цепной резки, которые не позволяют рассчитывать путь без вмешательства человека.
Задача оптимизации пути режущего инструмента была разделена на следующие подзадачи:
минимизация холостого хода режущего инструмента;
оптимизация соотношения количества точек врезки и длины пути режущего инструмента во включенном состоянии.
Первая подзадача находит путь, близкий к оптимальному, содержащий точки врезки всех контуров. Вторая оптимизирует соотношение количества точек врезки и длины пути в полученной первой подзадачей пути.
Первую подзадачу, более известную как «Задача минимизации пути режущего инструмента» [1], можно сформулировать следующим образом: необходимо вырезать контуров таким образом, чтобы путь режущего инструмента был минимальным. Контуры разделяются на внешние и внутренние. При вырезании контуров важным является то, что
внешний контур обрабатывается только после того, как обработаны все его внутренние контуры.
Задача минимизации пути режущего инструмента, с точки зрения вычислительной сложности, относится к NP-трудным. Переборная сложность NP-трудных задач не позволяет находить их точное решение для большого числа объектов за приемлемое время даже при введении некоторых ограничений. Для решения подобных задач применяются различные эвристические подходы. В настоящее время широкое распространение имеют различного рода эвристики, которые позволяют найти решение, близкое к оптимальному, за приемлемое время. Среди них наибольшую известность получили генетический алгоритм, метод муравьиной колонии, метод моделирования отжига.
Представленный в статье подход предполагает использование готовых решений данной подзадачи. Для тестирования результатов представленного подхода использовались готовые решения, полученные с помощью алгоритмов GRASP [2,3], «Муравьиная система» [4,5], «Муравьиная колония» [6].
Вторую подзадачу можно сформулировать так: необходимо так перестроить путь режущего инструмента, чтобы соотношение переходов с выключенным режущим инструментом, переходов с включенным режущим инструментом, количества точек врезки было оптимальным. При перестроении пути следует также учитывать ограничение на обработку контуров, содержащих другие контуры, а также то, что переходы с включенным режущим инструментом возможны только по остаткам листа, т. е. областям, которые пойдут в отход по окончании раскроя.
Рассматриваемая подзадача относится с точки зрения вычислительной сложности к NP-трудным и предполагает использование метаэвристик для своего решения.
Входными данными для второй подзадачи являются:
путь режущего инструмента, полученный при решении первой подзадачи;
стоимость пути холостого хода режущего инструмента;
стоимость реза; стоимость врезки.
Суть предложенного подхода состоит в том, что он выбирает среди контуров те, которые возможно обрабатывать без выключения режущего инструмента, строит путь включен-
ного режущего инструмента и на основе этого перестраивает путь.
В данном случае считается, что группа контуров может быть вырезана без выключения режущего инструмента только в том случае, когда:
все контуры в группе являются непосредственными подконтурами одного родительского контура — братьями;
ни один из них не содержит вложенных невырезанных контуров;
участок листа, на котором они расположены, является отходом;
удалось построить такой путь реза, который не пересекает никакой из контуров.
Алгоритмически выбранный подход можно представить в следующем виде:
Функция ChainCutting (curPath, Con, C0ff, Cpt): resultPath; начало
curPath — путь, полученный в результате работы алгоритма минимизации пути;
Cm — стоимость пути с включенным режущим инструментом;
Х0д — стоимость пути холостого хода режущего инструмента;
Cpt — стоимость врезки; resultPath — путь режущего инструмента, результат работы алгоритма; curindex = 0;
повторять пока (curindex < длина (curPath)) начало
contour = контур под номером curindex в CurPath;
Если (contour в visited) или (родительский контур contour не является остатком) или
(contour не имеет братьев), то начало поместить contour в visited; curindex:= curindex + 1; продолжить цикл; конец;
brothers = список братьев контура contour;
//максимальная длина пути между контурами, при которой выгодно производить переход без выключения режущего инструмента condValue = Cpt/(Con - Coff);
//выбор братьев, которых выгодно обрабатывать без выключения режущего инструмента
proBrothers = SelectProfitable(contour, brothers, condvalue);
lastIndex = индекс контура из proBrothers, стоящего последним в curPath;
prevPoint = точка, из которой перемещается режущий инструмент для обработки контура lastIndex в curPath;
nextPoint = точка, в которую перемещается режущий инструмент после обработки контура lastIndex в curPath;
//установка точек врезки для братьев SetNewCuttingPoints (proBrothers);
//поиск оптимального пути между братьями
ResortBrothers (proBrothers, prevPoint, next-Point);
//построение результирующего пути для і = 0 до i =lastIndex — 1 начало contour = -й контур в curPath;
если (contour не в proBrothers), то добавить contour в resultPath; конец;
длякаждого contour из proBrothers начало добавить contour в resultPath; добавить contour в visited; конец;
для і = lastIndex +1 до длина (curPath) - 1
начало
contour = -й контур в curPath; добавить contour в resultPath;
конец; curPath = ResultPath; curindex = curindex + 1; конец;
для i = 0 до Длина (ResultPath) - 2 если (родитель і-го контура является остатком) и (перехода от г-го контура в j-й < condValue), то
пометить переход как переход с включенным режущим инструментом; конец.
Функция SelectProfitable() производит выбор братьев, которых выгодно обрабатывать без выключения режущего инструмента. Для этого она реализует подход на основе кластерного анализа на графах [5].
Длина пути между контурами, при которой выгодно производить переход без выключения режущего инструмента вычисляется на основе условия:
Opt > п * (Con — Coff) — стоимость точки врезки больше стоимости перехода, п — длина перехода. При построении пути между контурами используется не просто длина отрезка между точками врезки контуров, а путь от точки врезки одного контура до точки врезки другого контура с обходом препятствий.
Процедура SetNewCuttingPoints() устанавливает точки врезки для выбранных контуров. Стоимость пути с включенным режущим инструментом значительно превышает стоимость пути холостого хода, поэтому точки врезки расставляются с целью минимизировать путь включенного режущего инструмента, перемещающегося между выбранными контурами. Суть данной процедуры заключается в выборе точек врезки для каждого брата ближайших к точке, являющейся серединой отрезка между точкой, после которой начинается обработка братьев, и точкой, в которую переходит режущий инструмент после обработки братьев.
Процедура ResortBrothers() строит между братьями путь, близкий к оптимальному. Задача, решаемая данной процедурой, сводится к классической задаче TSP на евклидовом пространстве [1]. В предложенном решении построение пути осуществляется с помощью модификации алгоритма «Муравьиная колония» [6].
ВЫЧИСЛИТЕЛЬНЫЙ ЭКСПЕРИМЕНТ
Для выявления эффективности цепной резки была проведена серия вычислительных экспериментов. С целью уменьшения стоимости раскроя производилась оптимизация пути. В качестве алгоритмов построения пути были выбраны GRASP (Greedy Randomized Adaptive Search Procedures — Жадные Рандомизированные Адаптивные Процедуры Поиска) [3], Ant Colony [6] и Ant System [5].
Тестирование проводилось с учетом реальной стоимости раскроя материалов [7].
Т аблица1
Цены на гидроабразивную резку и раскрой материалов
№ Материал Толщина Стоимость за 1 м реза Стои- мость перфо- рации Стои- мость холо- стого хода
1 Гранит 30 мм 30 5 од
2 Сталь 20 мм 35 7 од
3 Мрамор 30 мм 20 5 0,1
Несколько тестовых примеров, использовавшихся при проведении сравнения, были взяты из поставки демо-версии системы «AccuFab» — одного из программных продуктов, распространенных в Северной Америке. Дан набор из двух карт раскроя, первая карта содержит 233 контура, вторая — 366 [3] (рис. 1,2).
Таблица 2
Результаты тестирования. Карта 1
Алгоритм Мате- риал Кол-во перфора- ций Длина холостого хода РИ, м Длина пути с включенным РИ, м Стоимость без учета периметра контуров
GRASP Без цепной резки 1 233 927,0 0 1257,7
2 233 927,0 0 1723,7
3 233 927,0 0 1257,7
Оптимизация с помощью цепной резки 1 215 925,7 2,1 1230,6
2 213 925,6 2,4 1667,6
3 212 925,5 2,9 1210,6
Ant System Без цепной резки 1 233 895,7 0 1254,5
2 233 895,7 0 1720,5
3 233 895,7 0 1254,5
Оптимизация с помощью цепной резки 1 215 894,3 2,0 1224,4
2 214 893,9 2,3 1647,9
3 213 893,7 2,6 1206,4
Ant Colony Без цепной резки 1 233 885,7 0 1253,6
2 233 885,7 0 1719,6
3 233 885,7 0 1253,6
Оптимизация с помощью цепной резки 1 214 887,3 1,9 1215,7
2 213 887,2 1,8 1642,7
3 212 887,1 1,6 1180,7
ТаблицаЗ
Результаты тестирования. Карта 2
Алгоритм Мате- риал Кол-во перфора- ций Длина холостого хода РИ, м Длина пути с включенным РИ, м Стоимость без учета периметра контуров
GRASP Без цепной резки 1 366 1390,2 0 1969,0
2 366 1390,2 0 2701,0
3 366 1390,2 0 1969,0
Оптимизация с помощью цепной резки 1 334 1391,1 3,7 1920,1
2 332 1390,9 4,0 2603,1
3 329 1390,6 4,2 1868,1
Ant System Без цепной резки 1 366 1351,2 0 1965,1
2 366 1351,2 0 2697,1
3 366 1351,2 0 1965,1
Оптимизация с помощью цепной резки 1 333 1352,1 4,1 1923,2
2 332 1352,6 4,6 2620,3
3 328 1351,2 4,8 1871,1
Ant Colony Без цепной резки 1 366 1343,9 0 1964,4
2 366 1343,9 0 2696,4
3 366 1343,9 0 1964,4
Оптимизация с помощью цепной резки 1 325 1341,3 2,5 1834,1
2 322 1341,0 2,7 2482,6
3 320 1339,9 3,0 1794,0
Рис. 1. Карта, 233 контура
Рис. 2. Карта, 366 контуров
Результаты тестирования приведены в табл. 2 и табл. 3.
В приведенных результатах средний выигрыш при использовании оптимизации с помощью цепной резки составляет 4,5%. Минимальный выигрыш составил 2,1%, максимальный 8,7%.
Рис. 3. Зависимость стоимости от толщины материала (сталь)
Если принять во внимание зависимость стоимости от толщины материала (рис. 3),
то можно прогнозировать рост эффективности вплоть до 20-30% при толщине материала 100 мм.
На основании этого можно сделать вывод, что применение цепной резки оправдано при больших толщинах раскраиваемого материала.
ЗАКЛЮЧЕНИЕ
В данной статье был рассмотрен подход к решению задачи оптимизации пути режущего инструмента на основе цепной резки. Приведена алгоритмическая реализация данного подхода. Представлены и проанализированы результаты проведенного вычислительного эксперимента. Эксперимент показал, что применение цепной резки для оптимизации пути режущего инструмента при раскрое листового материала на фигурные заготовки может привести к уменьшению стоимости раскроя до 10% для материалов толщиной 20-30 мм.
СПИСОК ЛИТЕРАТУРЫ
1. Верхотуров, М. А. Минимизация пути режущего инструмента: алгоритм «Муравьиной колонии» / М. А. Верхотуров, А. Р. Лохматов, А. Р. Сагидуллина. Уфа: УГАТУ. С. 3-4.
2. Верхотуров, М. А. Раскрой листовых материалов на фигурные заготовки: оптимизация пути режущего инструмента на основе применения группировки / П. Ю. Верхотуров, П. Ю. Тарасенко, А. Р. Тарасенко // Альманах современной науки и образования. 2008. № 1 (8). Тамбов : Грамота, 2008.
3. Верхотуров, М. А. Об одной реализации автоматизированной системы нерегулярного раскроя листового материала на заготовки сложных форм / М. А. Верхотуров, Е. В. Логинов, О. В. Лохматов, С. В. Петренко. Уфа : УГАТУ. С. 5.
4. Верхотуров, М. А. Раскрой листовых материалов на фигурные заготовки: оптимизация пути режущего инструмента на основе алгоритма «Муравьиная система» / П. Ю. Верхотуров, А. Р. Тарасенко // Альманах современной науки и образования. 2008. № 1 (8). Тамбов : Грамота, 2008.
5. Верхотуров, М. А. Раскрой листовых материалов на фигурные заготовки: Минимизация пути режущего инструмента с использованием алгоритмов кластерного анализа и «Муравьиная система» / П. Ю. Верхотуров, А. Р. Тарасенко. Уфа: УГАТУ, 2008.
6. Верхотуров, М. А. Оптимизация пути режущего инструмента при нерегулярном раскрое
листовых материалов на основе алгоритма «Муравьиная колония» / П. Ю. Верхотуров, П. Ю. Тарасенко. Уфа: УГАТУ, 2008.
7. Ш^шє^ ЗАО «ТВиМ» — гидроабразивная резка, характеристики оборудования, сравнение технологий резки [Электронный ресурс] (http://www.aquarezka.ru/).
ОБ АВТОРАХ
Верхотуров Михаил Александрович, проф., каф. выч. матем. и киберн. Дипл. инж.-системотех. по АСУ (УАИ, 1983). Д-р техн. наук по АСУ (УГАТУ, 2000). Иссл. в обл. оптимизации размещения двух- и трехмерн. геометрич. объектов.
Тарасенко Павел Юрьевич,
асп. той же каф. Дипл. инж. по мат. обесп. и админ. инф. систем (УГАТУ, 2005). Готовит дис. в обл. оптимизации пути режущего инструмента при фигурном раскрое.