Оптимизация раскроя листового материала на прямоугольники различных размеров. Ассоциативность между исходной геометрией и контурами деталей в T­FLEX Раскрое

ОПТИМИЗАЦИЯ РАСКРОЯ ЛИСТОВОГО МАТЕРИАЛА НА ПРЯМОУГОЛЬНИКИ РАЗЛИЧНЫХ РАЗМЕРОВ

Гиниатуллина Регина Айратовна

студент 1 курса магистратуры, кафедра прикладной математики и информатики КНИТУ им. А.Н. Туполева, РФ, г. Казань

E-mail: regina 1402@ yandex . ru

Галиев Шамиль Ибрагимович

научный руководитель, д-р техн. наук, профессорИТКиИ КНИТУ им. А.Н. Туполева, РФ, г. Казань

Гильотинный раскрой стальных и иных листов широко используется в машиностроении и других отраслях промышленности. Этот раскрой фактически является задачей упаковки квадратов различных размеров в заданный лист при использовании гильотинной процедуры. При этом важно уменьшить отходы листа. Интерес к задачам упаковки объясняется их большой практической значимостью. Как правило, такие задачи относятся к материалоемким производствам, где одним из основных факторов снижения себестоимости выпускаемой продукции является рациональное использование ресурсов. Данная задача имеет широкий спектр практических приложений в тех отраслях индустрии, где традиционно возникают задачи упаковки (раскроя) в машиностроении, деревообработке, лёгкой и строительной индустрии.

1. Обзор по задаче

В промышленности при изготовлении различных видов конечной продукций возникает задача оптимального раскроя листов заданных размеров на прямоугольные заготовки. Эта задача состоит в следующем: известны размеры квадратов, размер листа. Требуется разместить в лист заданные квадраты без перекрытия друг с другом так, чтобы можно было кроить лист гильотиной. Под гильотинным понимается раскрой, реализуемый последовательностью сквозных резов, параллельных кромкам материала. Кроме того, эти квадраты должны быть ортогонально упакованными без вращений, то есть у каждого выбранного элемента типа , сторона с высотой должна быть параллельна стороне листа с высотой H . Мы будем рассматривать проблему упаковки квадратов разного размера в прямоугольник. Решим эту проблему с помощью одного точного алгоритма. Он основан на итеративном выполнении рекурсивной процедурой алгоритма ветвей - и - границ (его мы так же рассмотрим) с различными входными параметрами, чтобы определить оптимальное значение решения.

2. Цель проекта

Цель данной работы состоит в исследовании и реализации алгоритма, способного находить решения упаковки квадратов в прямоугольник. Рассматриваемая задача имеет широкое применение в различных отраслях промышленности: машиностроении, деревообработке, лёгкой и строительной индустрии.

Необходимо осуществить возможность вывода на экран полученного результата в виде вписанных в прямоугольник квадратов различного размера и соответствующей дополнительной информации, необходимой пользователю. Например, такой как: времени работы алгоритма, различных сведений об ошибках и т. д.

3. Общие требования

1) Задание вручную размеров прямоугольника-листа (ширины и высоты), в который будут упаковываться квадраты;

2) Ручной ввод размеров квадратов (они могут быть как одинаковыми, так и различными);

3) Визуальный просмотр результатов выполнения алгоритма (с выводом соответствующей информации: время выполнения алгоритма, количества квадратов определенного размера вписавшихся в прямоугольник);

4) Сохранение в файл информацию об уже вписанных квадратах.

4. Актуальность проблемы

Основной целью проектируемой системы является соответствие основному алгоритму упаковки квадратов и удобство эксплуатации конечным пользователем, отказоустойчивость.

Задачи и функции проектируемой системы должны соответствовать поставленным требованиям.

Предложенный в данной работе алгоритм может быть использован для эффективного решения задачи упаковки квадратов в прямоугольную область заданных размеров. Данная задача имеет широкий спектр практических приложений в тех отраслях индустрии, где традиционно возникают задачи раскроя-упаковки. Рассмотренный алгоритм можно использовать в практических расчетах и включать его в автоматизированные системы проектирования и управления. Можно также сказать, что проблема является актуальной на данный момент, так как есть потребность в упаковке квадратов в прямоугольник и эта потребность никогда не закончится, а значит и проблема будет актуальной всегда.

Задачи раскроя-упаковки занимают важное место в современной комбинаторной оптимизации и привлекают внимание многих ученых, как в России, так и за рубежом.

Интерес к задачам раскроя-упаковки объясняется, в частности, их большой практической значимостью. Как правило, приложения задач раскроя-упаковки относятся к материалоемким производствам, где одним из основных факторов снижения себестоимости выпускаемой продукции является рациональное использование ресурсов.

5. Существующие системы раскроя.

Существуют много программных продуктов для раскроя листового материала, такие как ORION, АСТРА РАСКРОЙ, ТЕХТРАН . Рассмотрим один из них на примере ТЕХТРАНА.

Для предприятий, использующих машины термической резки, внедрение современных информационных технологий - задача из числа самых актуальных. Понятно, что сокращение сроков подготовки программ раскроя, оптимальное размещение деталей на листе, меньший расход материала решающим образом повлияют на себестоимость и качество продукции.

Новый программный продукт Техтран/Раскрой дополняет линейку программ семейства Техтран и предназначен для проектирования программ раскроя листового материала. Возможности CAM-системы объединены здесь с функциями организации производственного процесса. Подход к решению, использованный в программе, суммирует опыт работы ряда предприятий, эксплуатирующих машины термической резки. Задача в том, чтобы по заданию на раскрой, которое состоит из номенклатуры отобранных деталей и их количества по каждому наименованию, оперативно, учитывая складские запасы, оптимальным образом разложить детали на листах и получить управляющие программы резки этих деталей. Листы делового отхода, остающиеся после работы, должны быть учтены в базе данных системы для дальнейшего использования.

6. Формализация задачи и разработка математической модели

Приведем математическую модель задачи, следуя работе .

Алгоритм ветвей - и - границ основан на модели целочисленного линейного программирования (ЦЛП). Ради простоты в этой формулировке мы полагаем, что каждый элемент отличен, то есть для каждого типа j прямоугольников , мы определяем идентичных элементов, имеющих ширину , высоту и выгоду . Пусть (1) будет общим количеством элементов. Для каждого элемента k вводим бинарную переменную принимающую значение 1 тогда и только тогда, когда элемент k включен в оптимальное решение. Модель ЦЛП для общей двумерной задачи рюкзака выглядит следующим образом:

где: - размеры вписанного квадрата,

Размеры самого прямоугольника,

U - любая верхняя граница величины оптимального решения и C обозначает множество всех подмножеств элементов, которые не могут быть упакованы в лист гильотинным способом. Для величины порога U мы используем , то есть, величину оптимального решения для двумерной задачи рюкзака, соответствующей упрощению, согласно которому ограничения гильотинности опущены. Отметим, что ограничения (3) и (4) избыточны, но добавлены к формулировке, чтобы усилить его. Наш алгоритм решает упрощенную задачу, в которой ограничения (5) устранены и проверено будет ли текущее решение допустимо или нет с помощью решения следующей задачи разделения: будут ли все элементы из вписываться в лист при гильотинном подходе? В случае, если ответ положителен, то оптимальное решение общей двумерной задачи рюкзака найдено. Иначе, находится новое нарушенное ограничение, и процесс повторяется.

Этот подход подобен методу, предложенному Капрара и Монаси для точного решения двумерной задачи рюкзака и согласно Пизингеру и Сигарду для того, чтобы решить саму общую двумерную задачу рюкзака. Более точно, модель (2)-(6) решена специализированным методом ветвей и границ, в котором элементы упорядочены. Верхние границы получаются из ЛП релаксации задачи (2)-(3) с использованием верхней границы Мартелло и Тота . Обратный проход происходит всякий раз, когда верхняя граница не превышает текущее решение, или когда некоторые ограничения (3)-(5) нарушены.

В задаче 2-6 не учтено, что раскрой гильотинный. С учетом всех условий рассматриваем рекурсивный метод решения.

7. Метод решения

В этом пункте мы рассмотрим рекурсивную процедуру для перечисления гильотинных двумерных упаковок. В процедуре, называемой рекурсивной, мы обозначим каждое допустимое расположение подмножества элементов на листе как допустимую упаковку. Каждая допустимая упаковка может быть представлена как неотрицательный целочисленный вектор , где каждая координата представляет число элементов типа в упаковке. Обозначим как прибыль упаковки . Мы говорим, что допустимая упаковка максимальна, если никакие дальнейшие элементы не могут быть упакованы в лист, то есть, упаковка оказывается, неосуществимой для всех типов элементов, таким образом, что . Для двух допустимых упаковок и мы определяем новую упаковку следующим образом: , .

Рекурсивная процедура неявно перечисляет все допустимые упаковки, рекурсивно деля лист на две части посредством (горизонтального либо вертикального) гильотинного реза. Процедура получает во входе параметр , который является нижней границей прибыли любой допустимой (гильотинной) упаковки.

Как замечено Кристодесом и Уитлогом , для любой задачи двумерной упаковки существует оптимальное решение, соответствующее нормальному образцу, то есть, решение, в котором для любого упакованного элемента его левая сторона прилегает либо к правой стороне другого элемента или правой стороне листа. Это означает, что мы можем рассмотреть только вертикальные разрезы, по координатам , которые могут быть получены как комбинация ширин элементов, то есть, которые принадлежат множеству:

Похожим способом мы рассматриваем только горизонтальные разрезы, по координатам , принадлежащих следующему множеству:

Мы предполагаем, что элементы обоих множеств и отсортированы по возрастанию значений и полагаем и .

Даны и и пороговая величина решения , пусть будет множеством всех выполнимых (допустимых) упаковок данных элементов в лист размера , который может произвести (вместе с остаточными элементами и листом) прибыль, больше, или равное . Для двух данных выполнимых упаковок и мы формально обозначаем через попарную сумму упаковок в множества и :

Интуитивно, является множеством упаковок, которые могут быть получены, комбинацией любой упаковки с любой упаковкой , независимо от размеров множеств и . Ясно, что как только множество определено мы можем найти множества с условием, что все (соответственно ), элементы принадлежат упорядоченному множеству (соответственно ). Похожим способом знание множества позволяет нам определять множества . Действительно, достаточно отметить, что каждая упаковка , которая может произвести прибыль, по крайней мере равную , в прямоугольнике , может быть получена как сумма двух допустимых упаковок определенных для прямоугольника меньших размеров. Формально: , где либо и для некоторого , либо и для некоторого . Таким образом, зная и для каждого и , мы можем легко получить (сгенерировать) рекурсивным способом .

Основной алгоритм может быть улучшен следующим образом. Для каждой упаковки на листе ширины и высоты , верхняя граница, скажем , максимальной прибыли, может быть получена, когда остаточная площадь вычислена. С этой целью рассмотрим примеры рюкзаков с вместимостью , типов элементов, возможных в копий, каждый с прибылью и весом . Оптимальное решение из этого случая или любая верхняя граница этой величины дает верхнюю границу для максимальной прибыли, которая может быть получена, упаковывая остающиеся элементы в остаточную часть листа. Ясно, что все элементы , такие, что могут быть удалены из множества , так как они не могут привести к выполнимому решению, имеющему прибыль больше, чем . В нашей реализации мы вычисляем величину верхней границы на оптимальном решении (одномерного) случая задачи рюкзака (см. ). Величины верхних границ и полученные Хайфи и эти же величины, предложенные Янг-Гуном и Кангом для двумерной (ортогональной) задачи рюкзака без ограничений, мы используем минимум этих величин как верхнюю границу.

Кроме того, отметим, что ширина и высота листа могут быть уменьшены до и , соответственно, что приводит к меньшей мощности рюкзака, при решении релаксации задачи рюкзака, следовательно, к более точным верхним границам. Наконец, отметим, что только максимальная допустимая упаковка должна быть сохранена для каждого набора , и что любой не максимальный элемент может быть игнорирован. Это сокращает количество элементы в , следовательно, требования к памяти и времени вычисления алгоритма.

8. Входные и выходные данные системы

Входные данные:

1. Ширина прямоугольника-листа;

2. Высота прямоугольника-листа;

3. Размеры квадратов;

Выходные данные:

5. Прямоугольники, расположенные на экране монитора;

6. Текстовый файл с информацией о вписанных прямоугольниках;

7. Дополнительная информация о вписывании прямоугольников в виде различных сообщений на экране.

8.5. Разработка интерфейса пользователя

Интерфейс пользователя целесообразно делать в графическом виде, так как это максимально удобно для использования.

Форма ввода и вывода данных

Рисунок 1. Интерфейс пользователя

Вводим сначала ширину прямоугольника, нажимаем enter, высоту - enter, и вводим размеры квадратов, например 23 - enter, 45 - enter и т. д., нажимаем 0, для прекращения ввода квадратов и в том месте, где сохранен проект, появляется файл result.png, где можно увидеть упаковку квадратов.

В этом же окне выводится информация о количестве квадратов определенных размеров. Нажимаем 0 и видим информацию о времени заполнения прямоугольной область квадратами.

После всех проделанных действий получаем:

Рисунок 2. Полученный результат программы

и саму упаковку:

Рисунок 3. Упаковка квадратов в прямоугольник

Таблица 1.

Численные результаты программы

Размер прямоугольника

Предполагаемое кол-во квадратов

Общее кол-во квадратов

Вывод: чем больше введенных квадратов, тем больше время выполнения алгоритма.

9. Заключение

В соответствии с целью исследования были поставлены и выполнены следующие задачи:

1. Формулировка рассматриваемых задач раскроя-упаковки в терминах математического программирования и качественная оценка методов их решения;

2. Разработан и исследован алгоритм решения задачи упаковки квадратов различных размеров в прямоугольник;

3. Проведен анализ эффективности разработанного метода на основе результатов численных экспериментов.

Список литературы:

1.Техтран/Раскрой листового материала [Электронный ресурс] - Режим доступа. - URL: http://9132222.ru/catalog/soft/techtran/textran.html (дата обращения 12.06.2014).

2.Caprara A, Monaci M. On the two-dimensional knapsack problem. Operations Research Letters 2004;32:5–14.

3.Christofides N, Whitlock C. An algorithm for two-dimensional cutting problems. Operations Research 1977;25:30–44.

4.Hifi M. An improvement of Viswanathan and Bagchi’s exact algorithm for constrained two-dimensional cutting stock. Computers and Operations Research 1997;24:727–36.

5.Martello S, Toth P. Knapsack problems: algorithms and computer implementations. Chichester: John Wiley & Sons; 1990.

6.Pisinger D, Sigurd M. Using decomposition techniques and constraint programming for solving the two-dimensional bin-packing problem. INFORMS Journal on Computing 2007;19:36–51

7.Young-Gun G, Kang MK. A new upper bound for unconstrained two-dimen-sional cutting and packing. Journal of the Operational Research Society 2002;53:587–91.

См. Модели линейного программирования для решения задач раскроя.

Пример №1 . Продукция бумажной фирмы выпускается в виде бумажных рулонов стандартной ширины - по 2 метра. По специальным заказам потребителей фирма поставляет рулоны и других размеров, для чего производится разрезание стандартных рулонов. Типичные заказы на рулоны нестандартных размеров приведены в табл.


Требуется найти такие сочетания различных вариантов разрезания стандартных рулонов, чтобы поступившие заказы полностью удовлетворить с минимальными потерями (отходами).
Рассмотрим все возможные варианты раскроя стандартного рулона, соответствующие данные приведем в табл.
Ширина рулона(м) Варианты раскроя рулона Минимальное количество рулонов
1 2 3 4 5 6
0,5 0 2 2 4 1 0 150
0,7 1 1 0 0 2 0 200
0,9 1 0 1 0 0 2 300
Отходы в м 0,4 0,3 0,1 0 0,1 0,2 -

Определим переменные:
X j - количество стандартных рулонов, разрезаемых по варианту j, j =1, 2, 3,4,5, 6 .
Ограничения непосредственно связаны с требованием обеспечить изготовление требуемого количества нестандартных рулонов. Используя данные табл., получим:
2Х 2 + 2 Х 3 + 4 Х 4 + Х 5 = 150 - количество рулонов шириной 0,5 м,
X 1 + Х 2 + 2 Х 5 = 200 - количество рулонов шириной 0,7 м,
X 1 + Х 3 + 2 Х 6 =300 - количество рулонов шириной 0,9 м.

Выражение для суммарной величины потерь бумаги (отходы) (в м) имеет вид
0,4Х 1 + 0,3 Х 2 + 0,1 Х 3 + 0,1 Х 5 + 0,2 Х 6 .

Таким образом, математическая модель в общем виде имеет вид
min f(x) = 0,4 X 1 + 0,3Х 2 + 0,1Х 3 + 0,1Х 5 + 0,2Х 6 .
при ограничениях:
2Х 2 + 2 Х 3 + 4 Х 4 + Х 5 = 150
Х 2 + Х 2 + 2 Х 5 = 200
Х 2 + Х 3 + 2 Х 6 = 300

Задача о раскрое материалов

Данная задача состоит в разработке такого плана, который обеспечивает необходимый комплект изделий при минимальных отходах (по длине, площади, массе, стоимости и др.) при раскрое материалов или обеспечивает максимальное число комплектов изделий. Пример №2 . Требуется разработать оптимальный план раскроя стандартных листов стали, обеспечивая выход планового числа заготовок разного вида при минимальных суммарных отходах, если известно, что из партии листовой стали необходимо нарезать четыре вида различных заготовок в количестве b i (i = 1, 2,…,4) штук. Лист стали стандартных размеров может быть раскроен четырьмя способами. Каждому возможному способу раскроя соответствует карта раскроя. Из карт раскроя известен выход заготовок в штуках разных видов a ij (i = 1, 2,…4; j = 1,2,…,4), а также площадь отходов c j (j = 1, 2,…,n) при раскрое одного листа стали по j-му способу раскроя. Какое количество листов стали необходимо раскроить тем или иным способом, чтобы отходы были минимальными?

Таблица 3

Виды
заготовок

План-задание по количеству заготовок (b 1)

Выход заготовок (шт) разных видов
из карт раскроя (a ij)

1 2 3 4
1 240 1 4 0 1
2 200 1 0 4 0
3 120 1 0 0 3
4 140 1 1 0 3
Площадь отходов, м 2
(c j)
1,4 0,1 2,1 0,1

Составим экономико-математическую модель задачи. Обозначим через x j – количество исходного материала (листов стали), которые необходимо раскроить по одному из способов j . Ограничения в задаче должны соответствовать плановому выходу заготовок различных видов. Целевая функция сводиться к нахождению минимума отходов при раскрое

F=1,4·x 1 +0,1·x 2 +2,1·x 3 +0,1·x 4 →(min)..
Ограничения по выходу заготовок i-го вида по всем j способам раскроя:

Пример №3 . На раскрой (распил, обработку) поступает материал одного образца в количестве a единиц. Требуется изготовить из него l разных комплектующих изделий в количествах, пропорциональных числам b 1 , b 2 ,…,b l (условие комплектности). Каждая единица материала может быть раскроена n различными способами, причем использование i -го способа (i = 1, 2,…,n) дает a ik единиц k-го изделия (k = 1, 2,…,l). Необходимо найти план раскроя, обеспечивающий максимальное число комплектов.
Составим экономико-математическую модель задачи.
Обозначим через x i – число единиц материала, раскраиваемых i-ым способом, и x – число изготавливаемых комплектов изделий. Тогда целевая функция сводиться к нахождению

F=x→(max),
при ограничениях: по общему количеству материала равного сумме его единиц, раскраиваемых различными способами; по требованию комплектности и не отрицательности переменных.

Пример №4 . На предприятии имеются бревна длиной L м, которые необходимо разрезать на заготовки длиной l 1 , l 2 , l 3 м в количестве p 1 , p 2 , p 3 соответственно.
Необходимо составить оптимальный план раскройки материала, который обеспечивает минимальные отходы, при условии выполнения плана по выходу заготовок. Исходные данные приведены в таблице.

Задача Длина Размеры заготовок, м Количество заготовок, шт.
l 1 l 2 l 3 p 1 p 2 p 3
68 6,5 2,1 2,3 1,4 600 720 900

Решение: Сначала составим математическую модель нашей задачи. Возможные варианты раскроя и отходы при каждом из них запишем в виде таблицы.
Длина заготовки Варианты раскроя Количество заготовок
1 2 3 4 5 6 7
2,1 3 2 2 1 1 0 0 600
2,3 0 1 0 1 0 2 1 720
1,4 0 0 1 1 3 1 3 900
Остаток, м 0,2 0 0,9 0,7 0,2 0,5 0

Обозначим через x i количество бревен, разрезанных по i-му варианту (i=1..7). Тогда суммарный остаток отходов запишется в виде линейной функции:
Z = 0,2x 1 + 0x 2 + 0,9x 3 + 0,7x 4 + 0,2x 5 + 0,5x 6 + 0x 7
При этом должны выполняться условия выполнения плана по количеству заготовок, т.е.
3x 1 + 2x 2 + 2x 3 + x 4 + x 5 = 600
x 2 + x 4 + 2x 6 + x 7 = 720
x 3 + x 4 + 3x 5 + x 6 + 3x 7 = 900

Таким образом, для решения поставленной задачи необходимо найти minZ при ограничениях. Поскольку minZ = -max(-Z(x)), то вместо задачи минимизации функции будем решать задачу максимизации функции:
Z = -(0,2x 1 + 0x 2 + 0,9x 3 + 0,7x 4 + 0,2x 5 + 0,5x 6 + 0x 7)

Пример №5 . Для пошива одного изделия требуется выкроить из ткани 6 деталей. На швейной фабрике были разработаны два варианта раскройки ткани. В таблице (расположенной ниже) приведены характеристики вариантов раскроя 10 м 2 ткани комплектность, т.е. количество деталей определенного вида, которые необходимы для пошива одного изделия. Ежемесячный запас ткани для пошива изделий данного типа составляет 405 м 2 . В ближайший вечер планируется сшить 90 изделий.
Построить математическую модель задачи, позволяющий в ближайший месяц выполнить план по пошиву с минимальным количеством отходов.

Таблица - Характеристики вариантов раскроя отрезков ткани по 10м 2

Вариант раскроя Количество деталей, шт./отрез Отходы, м 2 /отрез
1 2 3 4 5 6
1 60 0 90 40 70 90 0,5
2 80 35 20 78 15 0 0,35
Комплектность, шт./изделие 1 2 2 2 2 2

Математическая постановка задачи

Переменные задачи
В данной задаче искомые величины явно не указаны, но сказано, что должен быть выполнен ежемесячный план по пошиву 90 изделий. Для пошива 90 изделий в месяц требуется раскроить строго определенное количество деталей. Крой производится из отрезков ткани по 10 м 2 двумя различными способами, которое позволяют получить различное число деталей. Поскольку заранее неизвестно, сколько ткани будет раскраиваться первым способом и сколько - вторым, то в качестве искомых величин можно задать количество отрезков ткани по 10м 2 , раскроенных каждым из способов:
x 1 - количество отрезков ткани по 10м 2 , раскроенных первым способом в течении месяца, [отрез./мес.];
x 2 - количество отрезков ткани по 10м 2 , раскроенных первым способом в течении месяца, [отрез./мес.];

Целевая функция
Целью решения задачи является выполнение плана при минимальном количестве отходов. Поскольку количество изделий строго запланировано (90 шт./мес.), то этот параметр не описывает ЦФ, а относится к ограничению, невыполнение которого означает, что задача не решена. А критерием эффективности выполнение плана служит параметр «количество отходов», который необходимо свести к минимуму. Поскольку при раскрое одного отреза (10м 2) ткани по 1-му варианту получается 0,5м 2 отходов, а по 2-му варианту - 0,35м 2 (см. таблицу 1), то общее количество отходов при крое (ЦФ) имеет вид
L(x) = 0.5x 1 + 0.35x 2 = min,

Ограничения
Количество раскроев ткани различными способами ограничивается следующими условиями:

  • Должен быть выполнен план по пошиву изделий, другими словами, общее количество выкроенных деталей должно быть таким, чтобы из него можно было пошить 90 изделий в месяц, а именно: 1-го вида должно быть как минимум 90 и деталей остальных видов - как минимум по 180 (см. комплектность в таблицу).
  • Расход ткани не должен превышать месячного запаса на складе;
  • Количество отрезков раскроенной ткани не может быть отрицательным.
Ограничение по плану пошива пальто имеют следующую содержательную форму записи.
(Общее количество деталей №1 выкроенных по всем вариантам)≥ (90 штук);
(Общее количество деталей №2 выкроенных по всем вариантам) ≥ (180 штук);
(Общее количество деталей №6 выкроенных по всем вариантам) ≥ (180 штук);

Математически эти ограничения записываются в виде :
60x 1 + 80x 2 ≥90;
35x 2 ≥180;
90x 1 + 20x 2 ≥180;
40x 1 + 78x 2 ≥180;
70x 1 + 15x 2 ≥180;
90x 1 ≥180;

Ограничение по расходу ткани имеет следующие формы записи:
Содержательную
(общее количество ткани, раскроенной за месяц)≤ (405м 2)
Математическую
x 1 +x 2 ≤405/10

Не отрицательность количества раскроенных отрезков задается в виде
x 1 ≥ 0, x 2 ≥ 0

Таким образом, математическая модель задачи имеет вид
L(x) = 0.5x 1 + 0.35x 2 = min [м 2 отх./мес.],
60x 1 + 80x 2 ≥90;
35x 2 ≥180;
90x 1 + 20x 2 ≥180;
40x 1 + 78x 2 ≥180;
70x 1 + 15x 2 ≥180;
90x 1 ≥180;
x 1 +x 2 ≤40,5
x 1 ≥ 0, x 2 ≥ 0

Пример №6 . Имеется 69 труб для отопительной сети по 1070 см каждая. Их необходимо разрезать на трубы по 130, 150 и 310 см. Найти такой вариант раскроя поступивших труб, при котором отходы были бы минимальными.

Этап 1. Определяем варианты оптимального распила труб.

Варианты раскроя 1 2 3 4 5 6 7 8 9 10 11 12 13
310 3 2 2 2 2 1 1 1 1 0 0 0 0
150 0 3 2 1 0 3 2 1 0 3 2 1 0
130 1 0 1 2 3 2 3 4 5 4 5 7 8
Остатки 10 0 20 40 60 50 70 90 110 100 120 10 30

Этап 2.
Составим экономико-математическую модель задачи. Обозначим через x j - количество труб, которые необходимо распилить по одному из способов j. Целевая функция сводиться к нахождению минимума отходов при распиле:
10x 1 + 20x 3 + 40x 4 + 60x 5 + 50x 6 + 70x 7 + 90x 8 + 110x 9 + 100x 10 + 120x 11 + 10x 12 + 30x 13 → min

x 1 + x 3 + x 4 + x 5 + x 6 + x 7 + x 8 + x 9 + x 10 + x 11 + x 12 + x 13 = 69

Ответ: необходимо использовать только второй вариант распила (нулевые отходы)

Программа предназначена для оптимизации раскроя профиля и других длинномерных материалов (брус, бревно, труба, подоконник).
Использован алгоритм "плотной укладки", то есть взятое изделие укладывается на самый короткий остаток заготовки, на который она помещается. Если никуда не помещается, берется новая заготовка. Задачей оптимизации является нахождение последовательности изделий, при которой будет использовано меньше заготовок и будет больше длина деловых обрезков. На первом такте, изделия размещаются на хлыстах в случайном порядке. Возникает "начальная популяция". В процессе решения, популяция мутирует и размножается, неудачные экземпляры погибают, а лучшие продолжают эволюцию. Всё, как в животном и растительном мире + искусственный отбор.

Живое демо на сайте


Старт

Преимущества

  • Окнософт:cutting обеспечивает карты распила высокого качества. Многочисленные внедрения подтверждают реальный коэффициент обрези не более 1% при оптимизации партий от 30 контуров (~120 отрезков)
  • Для чтения исходных данных и записи результатов раскроя, программа использует простые форматы текстовых файлов, что упрощает интеграцию с учетными системами, внедренными у заказчика
  • При необходимости, раскрой может выполняться под Linux или OS X в браузере или Node.js с передачей параметров через url, web-socket или объекты javascript

Алгоритмы линейного оптимизатора

В окнософт:каттинге использован генетический алгоритм. Суть его вот в чем:
Назовем каждое распределение изделий по хлыстам решением. Определим целевую функцию, позволяющую сравнивать качество решений. Сформируем несколько произвольных решений, назовем их поколением. Определим правила получения следующего поколения. Экземпляры с лучшей целевой функцией передают большую часть своего "генофонда", это наш "искусственный отбор". Теперь остается предоставить систему самой себе, пусть мутирует и оптимизирует результаты раскроя
В процессе разработки испытывался метод "Монте-Карло", когда наши "экземпляры" являются случайными и не зависят друг от друга и "Муравьиные алгоритмы"(ACO- ant colony optimisation). Все методы показали себя вполне работоспособным, но генетический алгоритм оказался чуть более эффективным

Варианты поставки

Есть два варианта поставки модуля раскроя Окнософт:cutting - в составе комплексного решения Управление позаказным производствм и в виде отдельного исполняемого файла. Взаимодействие с раскройной программой при первом сценарии, полностью скрыто от пользователя. Оператор работает со стандартными документами 1С:

  • На основании заказов покупателей формируется план производства
  • На основании плана - сменные задания со списком продукции и необходимых материалов
  • Внутри задания на производство происходит оптимизация раскроя
  • В процессе оптимизации, программа забирает из незавершенного производства деловую обрезь и помещает в ячеистый склад вновь образовавшиеся деловые обрезки
  • Сменное задание умеет печатать бланки раскроя при ручном производстве или формировать файлы для станков с ЧПУ
  • Так же, из сменного задания печатаются этикетки для отрезаемых изделий и схемы раскладки в телеги и пирамиды
  • На основании заданий на производство формируются требования - накладные для передачи материалов в цех с учетом потребности и нормоупаковок

Программный интерфейс (API линейного раскроя)

Файл входных данных - setup.ini, помещается в папку с исполняемым файлом.
Файлы выходных данных - result.txt, resultproduct.txt и resultstick.txt - формируются в той же папке.
Скачать файлы с демо-данными Окнософт:cutting можно по ссылке в конце страницы. В файлх используются следующие теги:

  • Outputvariant - структура выходного файла файла. Возможные значения: tab, oknosoft, по умолчанию oknosoft
    • В варианте "oknosoft", формируются файлы resultproduct.txt и resultstick.txt с информацией о размещении изделий на заготовках и образовавшейся обрези
    • В варианте "tab" выводятся пять значений, разделенных символами "tab": длина изделия, номер хлыста, длина хлыста, номер реза и остаток заготовки
  • Algorithm - используемый алгоритм. Возможные значения: random, conservative, genetic, по умолчанию genetic
    • Random- случайный перебор вариантов
    • Conservative- экземпляры следующей итерации происходят от одного "родителя"
    • Genetic- от двух родителей
  • Variation - изменчивость, параметр алгоритмов "conservative" и "genetic". Чем выше, тем меньше потомство "похоже" на родителей. По умолчанию 1.
  • Generations - количество итераций алгоритма, по умолчанию 40000
  • Persons - количество "экземпляров" в "популяции", количество решений используемых в одной итерации. В алгоритме "random" просто делается generations*persons итераций с одним экземпляром(решением)
  • KnifeWidth - ширина пилы
  • StickLength - длина нового хлыста
  • Products - длина изделия
  • Scraps - длина обрезка, используемого в раскрое
  • Wrongsnipmin – минимальная длина «плохого» образка
  • Wrongsnipmax – максимальная длина «плохого» обрезка
    В результатах оптимизации не будет обрезков с длиной между Wrongsnipmin и Wrongsnipmax

Парный раскрой

Используется при подготовке данных для станков, поддерживающих парный распил. В этом случае, в станок помещают сразу два хлыста профиля и за один такт отрезания, образуется два одинаковых полуфабриката

Задача парного раскроя решается группировкой данных перед их передачей в программу оптимизации и последующего дублирования результатов раскроя на пары изделий и заготовок. При работе раскроя внутри УПзП, система учитывает свойства номенклатуры и использует одиночный или парный раскрой в зависимости от возможностей отрезных станков

Раскрой большого числа изделий

С одной стороны, для достижения высокого качества оптимизации, на вход программы должно поступать значительное количество изделий разной длины, чтобы оптимизатору было "что сортировать". С другой, при очень больших партиях, снижается вероятность нахождения максимума при фиксированном числе итераций перебора. Эксперименты показали, что оптимальной является партия в 60 – 120 заготовок (что соответствует такту производства 30-60 изделий при парном раскрое). Если необходимо оптимизировать более 120 заготовок, лучших результатов можно добиться, разделив задачу на N частей и выполнив последовательные оптимизации для каждой части. Обработка формирования пачек заданий на производство умеет группировать продукции по видам профиля и подбирать в сменные задания изделия с максимальной дисперсией, избавляя оператора от рутинной работы по составлению производственных документов

Скачать примеры раскроя и документацию

  • Демо карт одинарного и двойного распила: 60.01 Листы раскроя
  • Документация и примеры файлов:

Cutting Line - Программа для линейного раскроя

Версия: 2.49


Разрядность: 32bit


Таблэтка: Вылечено


При разработке алгоритмической части программ основным критерием выбран принцип минимизации отходов, а при разработке интерфейсной части автор стремился сделать программы простыми и удобными в каждодневном пользовании.

Программа оптимального раскроя линейных заготовок на детали

В программе реализованы следующие функции и возможности:











В нашем прайсе представлены три продукта, связанных общей темой сортировки и оптимизации:

  • Программа линейного раскроя профиля и длинномерных материалов
  • Программа двумерного раскроя стекла, сэндвичей, ДСП и прочих листовых материалов
  • Программа оптимизации маршрута для решения логистических задач

Поставка модулей раскроя возможна как в составе комплексного решения Окнософт: Управление позаказным производством, так и в виде отдельных программ. При вызове раскройных программ из 1С, не требуется импорт – экспорт данных в промежуточные файлы. Пользователь работает в стандартном интерфейсе, а все тонкости взаимодействия 1С с внешними оптимизаторами выполняют обработки заполнения табличных частей. Для целей учета складских остатков, деловой обрези и материалов в производстве, используются стандартные документы и регистры типовых конфигураций 1С.

Линейный раскрой (профиль, труба, бревно)

Обеспечивает подтвержденный инвентаризациями процент обрези

Живое демо на сайте

Пример ниже - не статическая картинка, а работоспособное веб - приложение.
Вы можете запустить раскрой профиля кнопкой Старт , задать свои размеры изделий и заготовок, изменить настройки оптимизации и оценить решение.
Конечно, оптимизатор в браузере работает медленнее, чем нативная программа, но позволяет бесплатно получить пригодные для работы результаты без необходимости что либо скачивать и устанавливать на компьютер.

20000 р.

Раскрой стекла и листовых материалов

Формирует карты раскроя высочайшего качества. Обеспечивает процент экономии материала, близкий к теоретическому пределу. На 10-12% превосходит популярные программы Opty-Way, MaxCut, PerfectCut, Cutting и др. по таким показателям, как площадь неделовых остатков, общая площадь раскраиваемого материала и количество использованных целых листов

Все алгоритмы двумерного раскроя разработаны в ООО «Программы раскроя», г. Новосибирск, разработчик: Шиляев Владимир Генрихович. "Окнософт" является официальным дилером разработчика и по сублицензионному договору имеет право, как продавать программу в виде отдельного продукта, так и использовать в составе наших разработок

40000 р.

Зачем оптимизировать раскрой в программе?

Многие заказчики говорят: "У меня работает хороший напиловщик. Он прекрасно кроит стекло и профиль в голове. В мусор попадают только треугольники."
Чаще всего, это правда. Вместе с тем, одной из задач руководителя, является организация предсказуемого процесса, стабильность которого не зависит от гениальности исполнителей. Программная оптимизация распила на основании плана производства - одна из мер, приближающая к этой цели.

Если предположить, что человек может перебрать в голове комбинаций больше, чем компьютер за тот же отрезок времени, получаемый при автоматическом раскрое коэффициент обрези ~1%, выгладит привлекательнее, чем неконтролируемый и неуправляемый 1%, который может обеспечить Гений. Перекладвыание задач оптимизации на программу, может высвободить дополнительное время (1-2 часа в день), которые он потратит с пользой для бизнеса.

На самом деле, ситуация с обрезью на большинстве предприятий хуже. В спецификации закладывают коэффициенты порядка 4-7% и если цех отработает с обрезью 3-5%, это считается хорошим результатом. Снижение реального коэффициента обрези на 3-5% - это 30-50 тысяч рублей, сэкономленных на каждом миллионе, потраченном на материалы. А еще, это даст возможность не закладывать в плановую себестоимость лишние рубли и предложить покупателю более выгодные цены.

Задача оптимального расходования материалов состоит из нескольких частей

Складской учет мерных материалов

В зависимости от особенностей бизнеса, клиенты используют несколько схем учета материалов:

  • На основании плана производства формируются требования - накладные с указанием продукции. Выдача дополнительных материалов (не хватило) отражается отдельными документами. Указание продукции в этих документах - желательно, но не является необходимым условием. В этом случае, в цех выдаются только те материалы, которые есть в спецификациях выпускаемой сегодня продукции и только в нужном количестве. Недостатком данного подхода можно назвать необходимость оформлять больше документов и отсутствие запаса материалов на участках (может, это достоинство?)
  • Требования - накладные формируются асинхронно, без привязки к плану производства на основании заявок мастеров. Такой подход позволяет получить "живой склад" при минимальных операторских затратах кладовщика, но не защищает от перерасхода материалов. Вся ответственность за соответствие расхода спецификациям, лежит в этом случае на мастерах и рабочих. План-фактный анализ себестоимости, покажет отклонения, но может оказаться поздно

Учет деловой обрези

Возможен в сценарии, при которм требования - накладные формируются на основании плана производства. Остатки деловой обрези на начало раскроя берутся из специального регистра и могут быть скорректированы оператором в соответствии с реальными остатками. При проведении задания на производство, данные о количестве материалов, которое необходимо получить со склада, помещаются в требования - накладные, а данные об образовавшейся деловой обрези складываются обратно в регистр.

Взаимодействие исполнителей

Принимая решение об использовании оптимизатора раскроя, необходимо учесть:

  • При автоматическом раскрое невозможно организовать сварку (сборку) изделий "из - под пилы", так как отрезки, относящиеся к одному изделию будут "разбросаны" по всей карте оптимизации
  • Удлинняется цикл производства, требуется организовать пул для хранения заготовок. Компромиссом является раскрой партиями по 30 - 50 изделий. При этом достигаются высокие показатели обрези и получается равномерная загрузка участков сварки и фурнитуры
  • Снижается оперативность, с которой цех может отреагировать на изменения плана. Если менеджеру нужно вклинить в сегодняшний план новое изделие, это ухудшит результаты оптимизации

Программа для линейного раскроя

Версия: 2.49
Разработчик: Шибаев Юрий Анатольевич Украина, г. Черкассы
Сайт разработчика: http://www.cuttinghome.com/
Разрядность: 32bit
Совместимость с Windows 7: да
Язык интерфейса: Английский + Русский
Таблэтка: Вылечено
Системные требования: Минимальные
Описание: Программа CUTTING предназначена для оптимального раскроя материала на линейные детали. Программа могут быть использованы в деревообрабатывающем производстве, производстве мебели, рубки металла, резки стекла и т.д. В основу программ положен уникальный, высокоскоростной алгоритм, позволяющий быстро произвести раскрой с минимальными отходами.



При разработке алгоритмической части программ основным критерием выбран принцип минимизации отходов, а при разработке интерфейсной части автор стремился сделать программы простыми и удобными в каждодневном пользовании.
В программе реализованы следующие функции и возможности:
. задание произвольного числа раскраиваемых заготовок и отрезков
. задание заготовок и отрезков по определенным признакам, например, названию и цвету
. расчет с учетом типа материала (название материала, цвет)
. задание ширины режущего инструмента
. расчет суммарных длин отрезков и остатков
. задание разных режимов выполнения раскроя
. восстановление предыдущих раскроев текущего сеанса работы
. сохранение заданных заготовок и отрезков как спецификации
. добавление сохраненной спецификации к новому варианту расчета
. сохранение раскроя в файл с возможностью последующего восстановления
. просмотр и печать результатов раскроя, как в графическом, так и в табличном виде
. полная система справочной информации.

Оптимальный раскрой заготовок является довольно сложной производственной задачей. Здесь на помощь приходят специализированные программные решения. В комплексе T-FLEX PLM эту задачу решает программа T-FLEX Раскрой, позволяющая на основе конструкторских данных получать схемы раскроя деталей на заготовках. Как и многие компоненты комплекса, Т-FLEX Раскрой ориентирован на решение узкоспециализированной задачи, а именно: оптимизации раскроя (рис. 1). Другие сопутствующие задачи - подготовка геометрии деталей и заготовок, оформление документации на основе схем раскроя, подготовка управляющих программ (УП) для станков с ЧПУ - решаются в соответствующих программах комплекса T-FLEX PLM.



Рис. 1


Применение специализированных программных продуктов, интегрированных между собой, выгодно для клиентов и партнеров компании «Топ Системы» , поскольку позволяет им на определенном этапе развития бизнеса использовать именно те инструменты T-FLEX, которые подходят для этого наилучшим образом. В то же время при масштабировании бизнеса или переходе на следующие этапы автоматизации это дает возможность «безболезненно» включать в имеющуюся инфраструктуру новые компоненты T-FLEX PLM без приостановки работ и дополнительных затрат на интеграцию программ. Именно поэтому T-FLEX Раскрой развивается как простое эффективное решение без дублирующей функциональности других компонентов T-FLEX PLM.

Принципы использования программы для раскроя

T-FLEX Раскрой тесно связан со средой проектирования T-FLEX CAD, которая берет на себя все непрофильные для программы раскроя функции: построение геометрии и оформление документации, взаимодействие с внешними CAD-системами и другими компонентами комплекса T-FLEX PLM (рис. 2).




Рис. 2


В общем случае взаимодействие двух программ выглядит следующим образом:

T-FLEX CAD:

1. Сложная геометрия контуров деталей и заготовок создается или импортируется из других программ при помощи T-FLEX CAD (прямоугольные детали и заготовки можно задать непосредственно в T-FLEX Раскрое).

2. Из T-FLEX CAD запускается программа для раскроя.

T-FLEX Раскрой:

3. Создается проект одного из следующих типов: фигурный (для деталей и заготовок произвольной формы), гильотинный (для раскроя заготовок прямоугольной формы сквозными резами), линейный (для заготовок в хлыстах).


4. Задаются параметры проекта раскроя и добавляется недостающая информация о деталях и заготовках: наименования, обозначения, количество, возможность поворота или переворота деталей и т.д.

5. Производится расчет и анализируются результаты. Создаются отчеты. Схема раскроя передается обратно в T-FLEX CAD.

T-FLEX CAD:

6. Оформляется необходимая документация (карты раскроя, спецификации, экспликации).

7. Производится формирование УП в модуле T-FLEX ЧПУ (модуль также интегрирован в среду T-FLEX CAD).

8. При необходимости, результаты раскроя экспортируются во внешние программы.

9. Основные возможности программы T-FLEX Раскрой были рассмотрены в работе , поэтому далее более подробно остановимся на самых интересных возможностях программы и ее взаимодействии с другими продуктами линейки T-FLEX.

Формирование данных для проекта раскроя

Существует множество способов добавить данные в проект раскроя:

1. Ручное добавление деталей или заготовок непосредственно в интерфейсе T-FLEX Раскроя.

2. При помощи команд импорта деталей и заготовок (рис. 3).




Рис. 3

  • импортировать контуры из документа T-FLEX CAD. Это удобно, когда есть чертежи деталей и на их основе созданы штриховки (контуры для раскроя), помещенные на специальный слой. В проект раскроя попадают все штриховки, принадлежащие заданному слою;
  • импортировать детали из других проектов раскроя. Это удобно, когда есть возможность заимствовать полностью или частично имеющиеся данные.

3. Ручное добавление контуров деталей или заготовок из документа T-FLEX CAD (рис. 4).

4. Копирование через буфер обмена данных о деталях из внешних таблиц, например из документов Microsoft Excel.

5. Формирование данных для проекта раскроя на основе структуры изделия. Данный вариант применяется для автоматического формирования проекта раскроя для группы серийных изделий. Проиллюстрируем способ 5. Например, имеется параметрическая модель шкафа для трех типоразмеров (рис. 5).



Рис. 4




Рис. 5


Изделия серийные, поэтому регулярно появляются заказы на изготовление определенного количества изделий разных типоразмеров. И каждый раз стоит задача сформировать проект раскроя для конкретного заказа. В этом случае рекомендуется следующий подход. Для параметрической модели шкафа формируется специальная структура изделия, где указываются необходимые для раскроя данные: тип раскроя, наименования, обозначения, количество деталей в изделии и т.д. (рис. 6).




Рис. 6


Структура изделия создается один раз для параметрической модели, а затем обновляется при пересчете для разных составов изделия. То есть структура изделия для своей модели всегда актуальна.

Чтобы сымитировать состав заказа (выбрать позиции и задать их количество), достаточно в T-FLEX CAD создать из прототипа новый документ и добавить в него модели изделий с нужными параметрами, задав через переменные количество экземпляров каждой позиции заказа. Автоматически сформируется структура для всего заказа. После этого в T-FLEX Раскрое достаточно создать проект на основе структуры изделия и запустить расчет (рис. 7).




Рис. 7

Ассоциативность между исходной геометрией и контурами деталей в T-FLEX Раскрое

При добавлении контуров деталей из T-FLEX CAD в программу раскроя запоминается путь к исходному документу. Если в T-FLEX CAD контуры деталей изменились, то T-FLEX Раскрой отмечает записи с неактуальными контурами (рис. 8). Выделив нужное количество деталей, можно обновить их. Обновление контуров опциональное. Это дает возможность открыть старые («неактуальные») версии проектов раскроя и изготовить запчасти для устаревших изделий.




Рис. 8


Также нередко бывает, что в T-FLEX CAD создается другая версия документа с контурами деталей и требуется переназначить путь к новому документу. В этом случае также выбираются все или несколько деталей и в параметрах изменяется путь.

Управление деловыми отходами

Деловые отходы (ДО) - это крупные остатки заготовок, которые впоследствии можно использовать для раскроя более мелких деталей. T-FLEX Раскрой позволяет установить для проекта приемлемый размер ДО, и на схеме раскроя будут отображаться (и учитываться в отчетах) остатки, размер которых превышает установленный предел. Такие остатки можно отобразить на схеме раскроя, а при необходимости нужным образом разделить отрезками на части, разрезая перемычки между деталями (рис. 9).




Рис. 9


Для фигурного раскроя размеры ДО по площади могут быть большими, но совершенно не пригодными для последующего использования. В этом случае такие остатки можно удалить вручную (рис. 10).




Рис. 10


Список деловых отходов формируется динамически, например, если пользователь изменил в параметрах проекта минимальный размер ДО или удалил остатки со схемы раскроя. Эта информация, наряду с другими результатами по деталям и заготовкам, отражается в отчетах (рис. 11). Отчеты можно выгружать во внешние файлы.




Рис. 11

Формирование управляющих программ

Как было показано на рис. 1, схемы раскроя являются лишь промежуточным результатом. На основе схем раскроя создаются управляющие программы в модуле T-FLEX ЧПУ. Пример имитации обработки деталей на заготовке показан на рис. 12.




Рис. 12

Использование T-FLEX Раскрой в едином информационном пространстве

Говоря о комплексном подходе к автоматизации КТПП, следует упомянуть, что T-FLEX Раскрой интегрирован с системой электронного документооборота T-FLEX DOCs, что позволяет наладить коллективную работу над проектами (рис. 13). Благодаря мощной платформе и гибкости инстру-ментария построено решение, позволяющее из среды T-FLEX DOCs запускать T-FLEX Раскрой, производить расчет и регистрировать в системе результаты: файлы проектов раскроя, КИМ, схемы раскроя, деловые отходы. Полученные данные используются для реализации заказов.




Рис. 13


В заключение отметим, что Т-FLEX Раскрой постоянно развивается: появляется новая функциональность и совершенствуется имеющаяся. Относительно молодая программа приобрела черты солидного взрослого решения, нацеленного на серьезные задачи.

Сергей Бабичев,
системный аналитик
ЗАО «Топ Системы», менеджер по продукту T-FLEX Раскрой

Оптимальный раскрой заготовок является довольно сложной производственной задачей. Здесь на помощь приходят специализированные программные решения. В комплексе T­FLEX PLM эту задачу решает программа T­FLEX Раскрой, позволяющая на основе конструкторских данных получать схемы раскроя деталей на заготовках. Как и многие компоненты комплекса, Т­FLEX Раскрой ориентирован на решение узкоспециализированной задачи, а именно: оптимизации раскроя (рис. 1). Другие сопутствующие задачи - подготовка геометрии деталей и заготовок, оформление документации на основе схем раскроя, подготовка управляющих программ (УП) для станков с ЧПУ - решаются в соответствующих программах комплекса T­FLEX PLM.

Применение специализированных программных продуктов, интегрированных между собой, выгодно для клиентов и партнеров компании «Топ Системы» , поскольку позволяет им на определенном этапе развития бизнеса использовать именно те инструменты T­FLEX, которые подходят для этого наилучшим образом. В то же время при масштабировании бизнеса или переходе на следующие этапы автоматизации это дает возможность «безболезненно» включать в имеющуюся инфраструктуру новые компоненты T­FLEX PLM без приостановки работ и дополнительных затрат на интеграцию программ. Именно поэтому T­FLEX Раскрой развивается как простое эффективное решение без дублирующей функциональности других компонентов T­FLEX PLM.

Принципы использования программы для раскроя

T­FLEX Раскрой тесно связан со средой проектирования T­FLEX CAD, которая берет на себя все непрофильные для программы раскроя функции: построение геометрии и оформление документации, взаимодействие с внешними CAD­системами и другими компонентами комплекса T­FLEX PLM (рис. 2).

В общем случае взаимодействие двух программ выглядит следующим образом:

T­FLEX CAD:

  1. Сложная геометрия контуров деталей и заготовок создается или импортируется из других программ при помощи T­FLEX CAD (прямоугольные детали и заготовки можно задать непосредственно в T­FLEX Раскрое).
  2. Из T­FLEX CAD запускается программа для раскроя.
    T­FLEX Раскрой:
  3. Создается проект одного из следующих типов: фигурный (для деталей и заготовок произвольной формы), гильотинный (для раскроя заготовок прямоугольной формы сквозными резами), линейный (для заготовок в хлыстах).
  4. Задаются параметры проекта раскроя и добавляется недостающая информация о деталях и заготовках: наименования, обозначения, количество, возможность поворота или переворота деталей и т.д.
  5. Производится расчет и анализируются результаты. Создаются отчеты. Схема раскроя передается обратно в T­FLEX CAD.
    T­FLEX CAD:
  6. Оформляется необходимая документация (карты раскроя, спецификации, экспликации).
  7. Производится формирование УП в модуле T­FLEX ЧПУ (модуль также интегрирован в среду T­FLEX CAD).
  8. При необходимости, результаты раскроя экспортируются во внешние программы.
  9. Основные возможности программы T­FLEX Раскрой были рассмотрены в работе , поэтому далее более подробно остановимся на самых интересных возможностях программы и ее взаимодействии с другими продуктами линейки T­FLEX.

Формирование данных для проекта раскроя

Существует множество способов добавить данные в проект раскроя:

  1. Ручное добавление деталей или заготовок непосредственно в интерфейсе T­FLEX Раскроя.
  2. При помощи команд импорта деталей и заготовок (рис. 3).
    При этом возможны два варианта использования:
    • импортировать контуры из документа T­FLEX CAD. Это удобно, когда есть чертежи деталей и на их основе созданы штриховки (контуры для раскроя), помещенные на специальный слой. В проект раскроя попадают все штриховки, принадлежащие заданному слою;
    • импортировать детали из других проектов раскроя. Это удобно, когда есть возможность заимствовать полностью или частично имеющиеся данные.
  3. Ручное добавление контуров деталей или заготовок из документа T­FLEX CAD (рис. 4).
  4. Копирование через буфер обмена данных о деталях из внешних таблиц, например из документов Microsoft Excel.
  5. Формирование данных для проекта раскроя на основе структуры изделия. Данный вариант применяется для автоматического формирования проекта раскроя для группы серийных изделий. Проиллюстрируем способ 5. Например, имеется параметрическая модель шкафа для трех типоразмеров (рис. 5).

Изделия серийные, поэтому регулярно появляются заказы на изготовление определенного количества изделий разных типоразмеров. И каждый раз стоит задача сформировать проект раскроя для конкретного заказа. В этом случае рекомендуется следующий подход. Для параметрической модели шкафа формируется специальная структура изделия, где указываются необходимые для раскроя данные: тип раскроя, наименования, обозначения, количество деталей в изделии и т.д. (рис. 6).

Структура изделия создается один раз для параметрической модели, а затем обновляется при пересчете для разных составов изделия. То есть структура изделия для своей модели всегда актуальна.

Чтобы сымитировать состав заказа (выбрать позиции и задать их количество), достаточно в T­FLEX CAD создать из прототипа новый документ и добавить в него модели изделий с нужными параметрами, задав через переменные количество экземпляров каждой позиции заказа. Автоматически сформируется структура для всего заказа. После этого в T­FLEX Раскрое достаточно создать проект на основе структуры изделия и запустить расчет (рис. 7).

Ассоциативность между исходной геометрией и контурами деталей в T­FLEX Раскрое

При добавлении контуров деталей из T­FLEX CAD в программу раскроя запоминается путь к исходному документу. Если в T­FLEX CAD контуры деталей изменились, то T­FLEX Раскрой отмечает записи с неактуальными контурами (рис. 8). Выделив нужное количество деталей, можно обновить их. Обновление контуров опциональное. Это дает возможность открыть старые («неактуальные») версии проектов раскроя и изготовить запчасти для устаревших изделий.

Также нередко бывает, что в T­FLEX CAD создается другая версия документа с контурами деталей и требуется переназначить путь к новому документу. В этом случае также выбираются все или несколько деталей и в параметрах изменяется путь.

Управление деловыми отходами

Деловые отходы (ДО) - это крупные остатки заготовок, которые впоследствии можно использовать для раскроя более мелких деталей. T­FLEX Раскрой позволяет установить для проекта приемлемый размер ДО, и на схеме раскроя будут отображаться (и учитываться в отчетах) остатки, размер которых превышает установленный предел. Такие остатки можно отобразить на схеме раскроя, а при необходимости нужным образом разделить отрезками на части, разрезая перемычки между деталями (рис. 9).

Для фигурного раскроя размеры ДО по площади могут быть большими, но совершенно не пригодными для последующего использования. В этом случае такие остатки можно удалить вручную (рис. 10).

Список деловых отходов формируется динамически, например, если пользователь изменил в параметрах проекта минимальный размер ДО или удалил остатки со схемы раскроя. Эта информация, наряду с другими результатами по деталям и заготовкам, отражается в отчетах (рис. 11). Отчеты можно выгружать во внешние файлы.

Формирование управляющих программ

Как было показано на рис. 1, схемы раскроя являются лишь промежуточным результатом. На основе схем раскроя создаются управляющие программы в модуле T­FLEX ЧПУ. Пример имитации обработки деталей на заготовке показан на рис. 12.

Использование T­FLEX Раскрой в едином информационном пространстве

Говоря о комплексном подходе к автоматизации КТПП, следует упомянуть, что T­FLEX Раскрой интегрирован с системой электронного документооборота T­FLEX DOCs, что позволяет наладить коллективную работу над проектами (рис. 13). Благодаря мощной платформе и гибкости инструментария построено решение, позволяющее из среды T­FLEX DOCs запускать T­FLEX Раскрой, производить расчет и регистрировать в системе результаты: файлы проектов раскроя, КИМ, схемы раскроя, деловые отходы. Полученные данные используются для реализации заказов.

В заключение отметим, что Т­FLEX Раскрой постоянно развивается: появляется новая функциональность и совершенствуется имеющаяся. Относительно молодая программа приобрела черты солидного взрослого решения, нацеленного на серьезные задачи.

Список литературы:

  1. Мальчук А.В. Практический опыт использования продуктов T­FLEX PLM на предприятиях малого и среднего бизнеса // САПР и графика. 2017. № 8.
  2. Бабичев С.В. T­FLEX Раскрой 15: новый продукт - большие перспективы // САПР и графика. 2016. № 6.

Цель работы : Закрепление знаний в области экономико-математического моделирования, знакомство с методикой решения задачи рационального раскроя материалов, основанной на решении оптимизационной задачи линейного программирования.

Исходные положения . Изготовление многих видов современной промышленной продукции начинается с раскроя материалов, что является одной из важных производственных задач для заготовительного производства и органов материально-технического снабжения.

Задачи оптимального раскроя материалов - одни из первых задач, к решению которых применялись методы линейного программирования. Они заключаются в определении наилучшего способа раскроя поступающего материала, при котором будет изготовлено наибольшее число готовых изделий в заданном ассортименте или будет получено наименьшее количество отходов.

Первая работа, посвященная решению задач, названных впоследствии задачами линейного программирования, появилась в 1939 г. Это была книга Л.В.Канторовича "Математические методы организации и планирования производства". Толчком для ее появления послужила задача, поставленная перед Институтом математики и механики Ленинградского Государственного университета лабораторией фанерного треста. В других отраслях промышленности также успешно применялись экономико-математические методы оптимизации раскроя материалов. Так, еще в 1948 - 1949 гг. математические методы раскроя были успешно применены на вагоностроительном заводе им. Егорова в Ленинграде, что позволило снизить в несколько раз отходы при раскрое различных материалов.

Математическая модель задачи.

Поступающие на предприятие материалы подлежат раскрою на заготовки. От правильности раскроя зависит себестоимость продукции (используется, например на автозаводах и в др.).

В большинстве случаев раскрой материалов на заготовки производится в определенной пропорции, обеспечивающей получение комплекта заготовок (т.е. кратно комплекту).

Задача оптимизации раскроя материалов заключается в разработке таких вариантов раскроя, при которых получают определенное количество заготовок в данном ассортименте (разных видов) с минимальными отходами.

Для составления математической модели задачи оптимального раскроя введем следующие обозначения:

L - длина материала; S - площадь поверхности листового или рулонного материала; N - количество единиц исходного материала.

Необходимо получить m различных видов заготовок либо длиной L i , либо площадью S i , где i - вид заготовки (i=1, 2, ..., m ).

Известно число заготовок i -го вида в изделии, т.е. то число заготовок, которое необходимо для производства одного изделия - b i . Число комплектов изделий, выпускаемых предприятием обозначим через k .


Раскрой материала можно произвести n способами. Известно а ij - число заготовок i -го вида, получаемое j -м способом (j =1, 2, …, n ).

Количество отходов, получаемое при раскрое единицы исходного материала j -м способом - С j .

Требуется составить такой план раскроя, чтобы обеспечить получение полных комплектов заготовок с минимальными отходами.

Обозначим через x j количество единиц исходного материала, раскроенных j -м способом. Найти такие x j ³ 0 , которые удовлетворяют следующим ограничениям:

(ограничение по количеству исходного материала)

(ограничение по плану производства)

Столько получается заготовок i-го вида при всех вариантах раскроя. Исходя из условия комплектности получим следующие ограничения по плану производства:

Суммарная величина отходов должна быть минимальной, тогда функция цели примет вид:

Пример расчетов в задаче оптимального раскроя материалов.

Из металлических прутков длиной по 6 м каждый, имеющихся в количестве 100 шт. необходимо изготовить конструкцию, изображенную на рис.1.