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

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

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

студент 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.

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

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

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

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

Метод индексов Л.В. Канторовича и В.А. Залгаллера при определенном навыке позволяет «вручную» без использования вычислительной техники эффектно выполнять линейный раскрой. Любопытным читателям рекомендую с этим методом ознакомиться, прочитав книгу вышеназванных авторов «Рациональный раскрой промышленных материалов».

Симплекс-метод, основанный на идеях Л.В. Канторовича, был описан и детально разработан рядом ученых из США в середине 20 века. Надстройка MS Excel «Поиск решения» (Solver) использует этот алгоритм. Именно с помощью этого метода и Excel мы будем в этой статье решать задачу линейного раскроя.

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

Включим Excel и на простом примере порезки металлических стержней на детали познакомимся с одним из способов решения практических задач линейного раскроя. Часто математики эту задачу называют «задачей о распиле».

Исходные данные для примера я не стал придумывать, а взял из статьи Покровского М.А. «Минимизация неизбежных потерь материалов в промышленном производстве при их раскрое на штучные заготовки» опубликованной в №5 (май 2015) электронного научно-технического журнала «Инженерный вестник» издаваемого ФГБОУ ВПО «МГТУ им. Н.Э. Баумана» (ссылка: engbul . bmstu . ru / doc /775784. html ).

Цель, которую я преследовал – сравнить полученные результаты решения задачи.

Пример решения задачи линейного раскроя в MS Excel.

Договоримся, что:

1. Заготовки – это исходный материал в виде прутков, полос, стержней и т.д. одинаковой длины.

2. Детали – это элементы, которые необходимо получить, разрезав исходные заготовки на части.

3. Ширина пила, реза, руба принята равной нулю.

Условие задачи:

Для комплектации одного из заказов заготовительный участок должен порубить на комбинированных ножницах из одинаковых прутков-заготовок длиной 1500 мм три типоразмера деталей:

151 штуку длиной 330 мм

206 штук длиной 270 мм

163 штуки длиной 190 мм

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

Исходные данные:

1. Длину исходных заготовок L з в миллиметрах записываем в объединенную ячейку

D3E3F3: 1500

2. Присваиваем номера i всем типоразмерам деталей, начиная от самой длинной и заканчивая самой короткой в ячейках

D4; E4; F4: 1; 2; 3

3. Длины деталей L д i в миллиметрах пишем в

D5; E5; F5: 330; 270; 190

4. Количество деталей N д i в штуках заносим в

D6; E6; F6: 151; 206; 163

5. Приступаем к очень важному этапу – заполнению вариантов раскроев.

Необходимо запомнить и понять 2 принципа выполнения этой работы .

1. Длины отходов должны быть меньше самой маленькой детали (0< Lo j < L д min ).

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

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

Вариант раскроя №1:

Попытка выкроить из одной заготовки 5 деталей №1 невозможна, поэтому пишем в ячейку

Добавить в раскрой деталь №2 или деталь №3 также невозможно, поэтому оставляем пустыми ячейки

Вариант раскроя №2:

Уменьшаем на 1 от предыдущего варианта количество деталей №1 и записываем в

Пробуем добавить 2 детали №2 – не получается, поэтому дополняем в

Остается возможность дополнить раскрой деталью №3. Заносим в

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

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

Если при раскрое не выполняется первый принцип, то ячейка с длиной отхода автоматически окрашивается в красный цвет. Условное форматирование, примененное к ячейкам G7…G24, наглядно поможет вам в этой работе.

В ячейках H7…H24 ничего не пишем! Они используются для вывода результата решения!

Подготовка к решению:

* В ячейках G7…G24 вычисляются длины отходов (обрезков), остающиеся в результате выполнения раскроев, по формуле

Lo j = L з — Σ (L д i * N д ij )

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

N д i расч = Σ (N д ij * N з j )

Количество деталей в найденном в конце решения плане раскроя должно полностью соответствовать заданному количеству деталей!

7. Необходимое число заготовок для выполнения оптимального плана раскроя будет определяться в объединенной ячейке D27E27F27 по формуле

N з расч = ΣNз j

8. Общая длина всех заготовок, необходимых чтобы выполнить линейный раскрой всех деталей будет подсчитываться в объединенной ячейке D28E28F28 по формуле

L з Σ = L з * N з расч

9. Общая длина всех отходов, получаемых при выполнении найденного плана раскроя, будет считаться в объединенной ячейке D29E29F29 по формуле

L о Σ = Σ (L о j * N з j )

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

Ωo = Lо Σ /Lз Σ

Решение:

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

1. Выбираем в главном меню «Сервис» - «Поиск решения…».

2. В появившемся одноименном окне «Поиск решения» производим настройки.

2.1. Назначаем целевой функцией общую длину отходов Lо Σ и вводим ссылку в окно целевой ячейки.

2.2. Устанавливаем переключатель «Равной:» в положение «минимальному значению».

2.3. Указываем ячейки с переменными Nз j в окне «Изменяя ячейки».

2.4. Вводим ограничения в одноименное окно. В качестве условий указываем необходимость равенства заданного Nд i и расчетного Nд iрасч количества деталей, а так же на переменные Nз j – расчетное количество заготовок по вариантам раскроев – накладываем ограничение: это должны быть целые числа.

3. Нажимаем кнопку «Параметры» и в выпавшем окне «Параметры поиска решения» выполняем настройки так, как показано на следующем скриншоте. Закрываем окно кнопкой «ОК».

4. В окне «Поиск решения» нажимаем кнопку «Выполнить» и ждем, пока Excel найдет решение. Это может длиться несколько минут.

5. После сохранения найденного решения кнопкой «ОК», результаты отобразятся в ячейках H7...H24 на листе Excel.

На следующей картинке показан найденный оптимальный линейный раскройный план.

Что в итоге?

Линейный раскрой в Excel заготовок для задач подобных рассмотренной в этой статье выполняется описанным выше методом за 10-15 минут! «Вручную», не зная метод индексов Канторовича, за такое время решения не найдешь.

Запустив «Поиск решения» несколько раз при разных параметрах поиска, удалось найти 5 различных планов рубки заготовок. Все 5 планов требуют одинаковое число заготовок – 93 и дают отходов всего 2,21%!!! Эти планы почти на 6% лучше, чем план, рассчитанный Покровским и более чем на 10% экономичнее «Традиционного» плана (смотри ссылку на первоисточник в первой части статьи). Очень достойный результат достигнут быстро и без применения дорогостоящих программ.

Следует заметить, что надстройка Excel Solver («Поиск решения»), использующая симплекс-метод при решении задач линейного программирования, может работать не более чем с 200 переменными. В приложении к рассмотренной нами задаче линейного раскроя это означает, что количество раскроев не может превышать 200 вариантов. Для простых задач этого достаточно. Для более сложных задач следует попробовать применить «смесь» «жадного» алгоритма и симплексного метода Solver, отобрав из полного списка раскроев не более 200 самых экономичных. Далее запасаемся терпением и добиваемся результатов. Можно попытаться разбить сложную задачу на несколько простых, но «уровень оптимальности» найденного решения будет при этом, скорее всего, ниже.

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

Использование надстройки MS Excel «Поиск решения» (Solver) было на блоге уже однажды рассмотрено в статье . Думаю, что этот замечательный инструмент достоин пристального внимания и еще не раз поможет изящно и быстро решить ряд новых нетривиальных задач.

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

http://stroymaterial-buy.ru/raschet/70-raskroy-lineynih-izdeliy.html

http://forum-okna.ru/index.php?app=core&module=attach§ion=attach &attach_id=7508

http://forum.dwg.ru/attachment.php?attachmentid=114501&d=13823277 74

http://www.planetcalc.ru/917/

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

Ниже статьи в блоке «Отзывы» можете написать свои комментарии, уважаемые читатели.

«bCUT» — программа для автоматизации раскроя листовых материалов предназначенная, преимущественно, для производства корпусной мебели. Она позволяет быстро выполнять раскладку прямоугольных заготовок на листах прямоугольной формы, с учётом технологических параметров оборудования и кромкооблицовки, распечатывать карты раскроя и этикетки для деталей, создавать программы для раскроя и печати этикеток на станках Altendorf ® .

Программа «bCUT» является продолжением развития модуля «Раскрой», входящего в состав САПР «bCAD Мебель ». Она не только вобрала в себя все лучшие достижения предшественника, но и получила ряд новых возможностей.

Если вас заинтересовали возможности пакета «bCUT», вы можете загрузить . С ценами на «bCUT» вы можете ознакомится в разделе цены нашего сайта.

Быстрое создание заказа

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

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

Импорт заготовок

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

Простота работы с программой

По внешнему виду и способам управления «bCUT» ничем не отличается от любой современной программы. построен на работе с обычными для Windows визуальными элементами, по которым щёлкают мышью или пером, а также вводят текст или числа с клавиатуры. Пиктограммы четкие и ясные. Кнопки снабжены понятными надписями и всплывающими подсказками. Поэтому вы легко сможете освоить «bCUT».

На экране одновременно видно всё, относящееся к заданию на раскрой. Особенно это удобно на современных дисплеях. Достаточно комфортная работа возможна даже на мониторе ноутбука, с разрешением 1024×600. Имеется цветовая подсветка состояния деталей в таблице.

Учёт кромления

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

Учёт особенностей оборудования

Все особенности раскройных или кромочных заносят в банк данных. «bCUT» учитывает максимальные длины резов, толщины пил и свесы кромки. Можно учесть и различия в пиле вдоль и поперёк. Заранее задать значения для разных толщин пилы, которые будут учтены при автоматическом расчёте припусков. Толщину пилы и припуски задают с точностью до 0.1 мм.

Количество станков в банке данных не ограничено. Можно совместить в одном задании раскрой на разных станках.

Высокая скорость раскроя

«bCUT» обеспечивает высокую скорость раскроя. Это достигнуто за счёт быстрых алгоритмов и использования многопроцессорности современных компьютеров.

Алгоритм раскладки деталей оптимизирован для работы на многоядерных процессорах, например Intel Core2Duo. При оптимизации используются все ядра процессора.

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

Оптимизации

«bCUT» имеет простой и ясный . Есть возможность и отдельные карты, меняя при этом методы оптимизации и / или добавлять к заданию дополнительные детали.

Автоматический расчёт припусков заготовок

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

Тем не менее, остаётся возможность задать величину припуска вручную. Просто введя его значение, в том числе с использованием встроенного калькулятора.

Более наглядно работа автоматических припусков показана в видеоролике . Размер ~2 МБ .

Сохранить заказ

Выходные документы

Удобные, ясные выходные документы: карты, сводные ведомости, этикетки для деталей и деловых остатков. На картах раскря используется штрих-кодирование. Имеется возможность настройки бирок «под себя». Можно просто запомнить изображение карты в буфере и вставить как картинку, например, в документ Word.

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

Сергей Бабичев,
системный аналитик
ЗАО «Топ Системы», менеджер по продукту 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.