Алгоритм раскроя листового материала excel

Обновлено: 05.07.2024

генеральный директор общества с ограниченной ответственностью «СТАЛКЕР КОММУНИКАЦИОННАЯ ГРУППА»;
руководитель совместной научно-технической лаборатории «СТАЛКЕР» (ООО «СТАЛКЕР» и Федеральное государственное бюджетное образовательное учреждение высшего образования «СыктГУ им. Питирима Сорокина»)

студент, Институт точных наук и информационных технологий
ФГБОУ ВО «СыктГУ им. Питирима Сорокина»

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

Ключевые слова: раскрой, генетические алгоритмы, двумерное пространство..

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

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

Прежде чем приступать к рассмотрению алгоритмов решения задачи раскроя, следует рассмотреть характеристики, влияющие на то, как будет выглядеть итоговый алгоритм решения. В статье Harald Dyckhoff приводит достаточно полное описание характеристик задач раскроя [1]:

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

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

ло

Рис.1. Соотношение потерь при резке стекла (руб.).

дло

Рис.2. Соотношение потерь при резке стекла (М2).

Основная характеристика раскроя — количество измерений:

  • раскрой в одномерном пространстве;
  • раскрой в двумерном пространстве;
  • раскрой в трёхмерном пространстве.

Например, загрузка поддонов является задачей в двумерном пространстве. В отличие от задач в двух и более измерениях, задача в одномерном пространстве имеет явное решение. Достаточно подробно данная задача описывается в книге Канторовича-Залгаллера – «Рациональный раскрой промышленных материалов» [2]. Так же в данной книге можно найти методы решения задач двумерного раскроя для случая прямоугольных заготовок.

К другим основным характеристикам «раскроя» относятся: количественные характеристики, геометрические характеристики и характеристики по ограничениям на результат.

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

Имеется сырьё площади S , на котором необходимо расставить заготовки M различных типов. Площади заготовок задаются вектором s , а количество заготовок каждого типа задаётся вектором b .

ка

Пусть матрица A[M,N] – целочисленная матрица всех потенциально возможных способов раскроя одной единицы сырья, |N|=n – число таких способов. Потенциально возможный способ раскроя – столбец матрицы , удовлетворяющий условию:

ьти

(1)


Пусть x[M]

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

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

  • Данный продукт реализует решение задачи с помощью генетических алгоритмов.
  • Предполагается уменьшение отходов при внедрении продукта до 21,3%.
  • Генетический алгоритм гарантированно находит некоторое решение, предположительно являющееся оптимальным – некоторая последовательность фигур.
  • Представления фигур: аппроксимация полигоном, растром, true shape.
  • В настоящий момент подготовлен «пакет документов» для патентования инновационного решения.
  • Внедрение продукта не предполагает изменения технологии производства, так как является лишь математическим решением задачи подготовки плана раскроя. Сам технический план не затрагивается.

шо

Рис.3. Пример работы ПО «РАСКРОЙ»: 63 фигуры за 2,4 минуты.

При использовании программы «раскроя» потери (отходы) при раскрое материала составляют в среднем 2,7%, что на 21,3% меньше, чем потери при резке материала без использования программы «раскроя».

Финансовая выгода от использования программы «раскроя» на примере резки стекла составляет 2 096 454 рублей.

длот

Рис.4. Соотношение затрат при использовании программы «раскроя».

Примечание: расчёт составлен по результатам фигурной резки стекла на предприятии ООО «Белые окна» с применением ПО «Раскрой».

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

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

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


Необходимо выбрать наилучшие размеры и найти наилучший вариант раскроя листа шириной B и длиной L. Диапазон возможного изменения длин листа: L=2000…3000 мм с шагом 100 мм, диапазон возможного изменения ширины листа: В=600…1100 мм с шагом 50 мм. Предварительно выбрана схема двухрядного косого раскроя, что определяется размерами штампового пространства используемого прессового оборудования.

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


Здесь N - количество заготовок, помещающихся на листе.

Для сравнения вариантов, одинаковых по величине коэффициента использования металла, можно использовать дополнительный показатель - площадь концевого отхода, остающегося при раскрое полосы. Можно ожидать, что чем больше эта площадь, тем с большей эффективностью можно использовать концевой отход для других производственных нужд. Для приведения этого критерия к безразмерному виду можно отнести величину площади концевого отхода к максимальной площади листа, который может быть использован. Как следует из изложенного выше, максимальная площадь листа составляет Bmax´Lmax=1100´3000 мм 2 . Тогда критерий площади концевого отхода может быть рассчитан как:


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


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

Таким образом, задача оптимизации сформулирована следующим образом (см. курс "Основы автоматизированного проектирования"):

· Целевая функция: F® max

· Вектор управляемых параметров: B, L, a

· Ограничения на управляемые параметры: B=600…1100 с шагом 50, L=2000…3000 с шагом 100, 0£a£90

Ниже приведен возможный алгоритм вычисления целевой функции в рамках поставленной задачи. Для определенности варьируемым (управляемым) параметрам заданы начальные значения. Величина ширины перемычек a и a1 (см. чертеж) приняты постоянными для диаметров детали в пределах 100…200 мм.

Наименование Формула (пояснение)
1 Кратность по ширине * iB=5 (варьируемый параметр iB=0…10)
2 Кратность по длине * iL=5 (варьируемый параметр iL=0…10)
3 Угол косого раскроя a=60 (варьируемый параметр 0£a£90)
4 Ширина листа B=600+50iB,
5 Длина листа L=2000+100iL,
6 Диаметр детали D=141
7 Ширина перемычек a1=2
8 a=2,5
9 Мин. ширина полосы
10 Количество полос
, округлить до меньшего целого
11 Шаг между заготовками в ряду **
12 Количество заготовок в ряду
, округлить до меньшего целого
13 Длина ряда
14 Наличие дополнительной заготовки в ряду ***
15 Количество заготовок в полосе Nзп=2Nзр+Nдз
16 Количество заготовок в листе N=NпNзп
17 Коэффициент использования металла
18 Ширина концевого отхода Bo=B-NпBпmin
19 Целевая функция

Пояснения к алгоритму:

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

** Шаг между заготовками в ряду при углах косого раскроя менее 60° увеличивается за счет того, что заготовки из соседних рядов при величине перемычки равной a1 начинают накладываться друг на друга.




*** Дополнительную заготовку можно разместить в нижнем ряду в том случае, если длина ряда окажется меньше длины полосы на величину диаметра с учетом перемычки

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

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

2. Проанализировать влияние угла раскроя на величину коэффициента использования металла, ширину концевого отхода и обобщенную целевую функцию при значения диаметра заготовки D=141 мм и D=120 мм, построив соответствующие графики.

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

4. Найти оптимальный раскрой листа для значения диаметра заготовки, заданного преподавателем.

Методы решения с использованием Excel:

Для решения задач оптимизации в Excel используют уже изученную нами надстройку Поиск решения, диалоговое окно которой вызывается по команде Сервис-Поиск решения (см. работу 3). Здесь мы поясним дополнительные возможности настройки алгоритма поиска решения. Окно настройки вызывают нажатием экранной клавиши Параметры диалогового окна Поиск решения.


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

Максимальное время - Служит для ограничения времени, отпускаемого на поиск решения задачи. В поле можно ввести время (в секундах) не превышающее 32767; значение 100, используемое по умолчанию, подходит для решения большинства простых задач.

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

Точность - Служит для задания точности, с которой определяется соответствие ячейки целевому значению или приближение к указанным границам. Поле должно содержать число из интервала от 0 (нуля) до 1. Чем меньше введенное число, тем меньше точность. Высокая точность увеличит время, которое требуется для того, чтобы сошелся процесс оптимизации.

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

Сходимость - Когда относительное изменение значения в целевой ячейке за последние пять итераций становится меньше числа, указанного в поле Сходимость, поиск прекращается. Сходимость применяется только к нелинейным задачам, условием служит дробь из интервала от 0 (нуля) до 1. Лучшую сходимость характеризует большее количество десятичных знаков ѕ например, 0,0001 ѕ это меньшее относительное изменение, чем 0,01. Лучшая сходимость требует больше времени на поиск оптимального решения.

Линейная модель - Служит для ускорения поиска решения линейной задачи оптимизации или линейной аппроксимации нелинейной задачи.

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

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

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

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

Линейная - Служит для использования линейной экстраполяции вдоль касательного вектора.

Квадратичная - Служит для использования квадратичной экстраполяции, которая дает лучшие результаты при решении нелинейных задач.

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

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

Метод - Служит для выбора алгоритма оптимизации (метод Ньютона или сопряженных градиентов) для указания направление поиска.

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

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

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

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

Дополнительно, к использованным ранее тригонометрическим функциям, функции ПИ () и функции РАДИАНЫ (), в данной задаче будут полезны следующие функции:

ЦЕЛОЕ (число): округляет число вниз до ближайшего целого.

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

ЕСЛИ (логическое_выражение; значение_если_истина; значение_если_ложь): служит для получения в ячейке результата, зависящего от некоторых условий.

Аргумент логическое_выражение служит для записи условия, в котором сравниваются числа, функции, формулы. Любое логическое выражение должно содержать по крайней мере один оператор сравнения, который определяет отношение между элементами логического выражения. Такими операторами могут быть: > (больше), < (меньше), = (равно), <= (меньше либо равно), >= (больше либо равно),<> (не равно). В качестве аргументов логического выражения можно использовать числа, ссылки не другие ячейки, другие функции, а также формулы.

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






= Мир MS Excel/Линейный раскрой - Мир MS Excel

Войти через uID

Войти через uID

Задачу линейного раскроя можно решать разными способами:
1. Полный перебор, как правило, не возможно реализовать в реальных условиях.
2. Самый эффективный способ - целочисленное линейное программирование (метод Гомори, как целочисленный вариант симплекс-метода). В качестве инструмента можно использовать Solver из MS Excel. Но здесь есть ряд ограничений - необходимо найти все варианты сложения исходных деталей, не превышающих размер заготовок (а вариантов может быть несколько тысяч или сотен тысяч). Ограничение Solver'a - 200 изменяемых ячеек.
3. "Жадный" алгоритм. У данного алгоритма есть вариации, основное достоинство - высокая скорость. Применим для быстрой оценки раскроя, либо когда скорость важнее оптимизации.
4. Решать как частный случай задачи о рюкзаке (сумма подмножеств) и выбор наилучшего варианта из имеющихся.
5. Про генетический алгоритм ничего сказать не могу, т.к. не изучал его.

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

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

Domo -версию программы можно скачать здесь или здесь, она полностью функциональна, доступен расчет с помощью динамического программирования (DP).
Расчет с помощью линейного программирования (LP) отключен.
Также отключена возможность составления и экспорта отчетов.

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

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

Задачу линейного раскроя можно решать разными способами:
1. Полный перебор, как правило, не возможно реализовать в реальных условиях.
2. Самый эффективный способ - целочисленное линейное программирование (метод Гомори, как целочисленный вариант симплекс-метода). В качестве инструмента можно использовать Solver из MS Excel. Но здесь есть ряд ограничений - необходимо найти все варианты сложения исходных деталей, не превышающих размер заготовок (а вариантов может быть несколько тысяч или сотен тысяч). Ограничение Solver'a - 200 изменяемых ячеек.
3. "Жадный" алгоритм. У данного алгоритма есть вариации, основное достоинство - высокая скорость. Применим для быстрой оценки раскроя, либо когда скорость важнее оптимизации.
4. Решать как частный случай задачи о рюкзаке (сумма подмножеств) и выбор наилучшего варианта из имеющихся.
5. Про генетический алгоритм ничего сказать не могу, т.к. не изучал его.

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

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

Domo -версию программы можно скачать здесь или здесь, она полностью функциональна, доступен расчет с помощью динамического программирования (DP).
Расчет с помощью линейного программирования (LP) отключен.
Также отключена возможность составления и экспорта отчетов.

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

Можно убедиться в эффективности алгоритма раскроя в сравнении с другими программами.
Если будет заинтересованность в алгоритме или потребуется адаптация отчета под ваши требования, то можете обратиться ко мне в личку. MCH

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

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

Domo -версию программы можно скачать здесь или здесь, она полностью функциональна, доступен расчет с помощью динамического программирования (DP).
Расчет с помощью линейного программирования (LP) отключен.
Также отключена возможность составления и экспорта отчетов.

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

Можно убедиться в эффективности алгоритма раскроя в сравнении с другими программами.
Если будет заинтересованность в алгоритме или потребуется адаптация отчета под ваши требования, то можете обратиться ко мне в личку. Автор - MCH
Дата добавления - 03.02.2016 в 01:49

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

Математическая постановка задачи заключается в размещении плоских геометрических объектов (исходный набор заготовок) на листах заданных размеров (полноформатных листах) с минимальными отходами материала и учетом существующих ограничений. Ограничения первого типа — геометрические — являются классическими и определяются условиями принадлежности заготовок к области размещения, их взаимного непересечения, а также изотропным или анизотропным характером среды размещения (наличием или отсутствием направленного рисунка на поверхности объектов — текстуры).

Условия автоматизированного производства расширяют этот список ограничениями второго типа — технологическими, которые определяются характеристиками раскройного оборудования и организационно-технологическими особенностями производства:

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

Как видно, количественно технологические ограничения значительно превосходят геометрические. Кроме того, они могут варьироваться в широком диапазоне в зависимости от специфики конкретного предприятия.

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


,

где Si — площадь i-го обрезка материала, технологические критерии оптимизации имеют множественный и нередко эмпирический характер. В общем виде их можно объединить понятием «трудоемкость физической реализации раскроя», которая включает такие параметры, как общее количество и общая длина выполняемых резов, количество карт раскроя, количество поворотов пакета листов и переустановок ограничительных упоров на станке, геометрические параметры получаемых обрезков.

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

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

Рис. 1. Геометрическая интерпретация алгоритма линейного раскроя

Рис. 1. Геометрическая интерпретация алгоритма линейного раскроя

Как известно, задача оптимального линейного раскроя имеет точное математическое решение, геометрическая интерпретация которого показана на рис. 1 для случая, когда мощность исходного множества заготовок равна двум. Оси системы координат размечаются с шагом, кратным типоразмерам заготовок (N и K), до значения, не превышающего линейного размера области размещения (L). Таким образом, на плоскости генерируется сетка, каждый узел которой соответствует некоторому варианту раскроя. Отрезок, соединяющий точки на осях координат, значения которых равны размеру области размещения, является границей подмножества узлов, соответствующих реальным вариантам раскроя (расположенных ниже границы). Тот из них, который находится ближе других к границе, и будет определять вариант раскроя, оптимальный по количеству отходов материала. Для ускорения поиска рассматриваются только те ячейки сетки, которые пересекает построенный отрезок (на рис. 1 они заштрихованы).

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

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

  • нахождение оптимального варианта раскроя в двумерной постановке, каждая из которых соответствует проекции многомерной сетки на одну из координатных плоскостей (количество таких задач равно C 2 N, где N — количество типоразмеров заготовок);
  • нахождение минимального элемента в полученном векторе решений.

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

Рис. 2. Характер зависимости времени раскроя от количества типоразмеров заготовок

Рис. 2. Характер зависимости времени раскроя от количества типоразмеров заготовок

Исходя из этого сделан вывод о возможности перехода от площадного раскроя к суперпозиции линейных раскроев. Соответствующий алгоритм является рекурсивным и реализуется за три шага.

Рис. 3. Зависимость КИМ от величины разброса размеров заготовок в полосе

Рис. 3. Зависимость КИМ от величины разброса размеров заготовок в полосе

После раскроя всех псевдополноформатных листов проверяется мощность множества


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

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

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

Для сравнительной оценки значений КИМ, получаемых при использовании традиционного алгоритма площадного раскроя и предлагаемого алгоритма, была произведена случайная выборка из 50 мебельных ансамблей, выпускаемых различными предприятиями. Для каждого ансамбля были выполнены два варианта раскроя. Результаты эксперимента представлены на рис. 4. Из него видно, что в большинстве случаев предлагаемый алгоритм (график красного цвета) дает большее значение КИМ. Таким образом, раскрой площадных материалов по рассмотренному алгоритму подходит не только для пильных центров, но и для обычных форматно-раскройных станков.

Рис. 4. Сравнительный анализ КИМ

Рис. 4. Сравнительный анализ КИМ

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

Практическая реализация рассмотренного алгоритма выполнена в программе БАЗИС-Раскрой.

генеральный директор общества с ограниченной ответственностью «СТАЛКЕР КОММУНИКАЦИОННАЯ ГРУППА»;
руководитель совместной научно-технической лаборатории «СТАЛКЕР» (ООО «СТАЛКЕР» и Федеральное государственное бюджетное образовательное учреждение высшего образования «СыктГУ им. Питирима Сорокина»)

студент, Институт точных наук и информационных технологий
ФГБОУ ВО «СыктГУ им. Питирима Сорокина»

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

Ключевые слова: раскрой, генетические алгоритмы, двумерное пространство..

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

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

Прежде чем приступать к рассмотрению алгоритмов решения задачи раскроя, следует рассмотреть характеристики, влияющие на то, как будет выглядеть итоговый алгоритм решения. В статье Harald Dyckhoff приводит достаточно полное описание характеристик задач раскроя [1]:

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

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

ло

Рис.1. Соотношение потерь при резке стекла (руб.).

дло

Рис.2. Соотношение потерь при резке стекла (М2).

Основная характеристика раскроя — количество измерений:

  • раскрой в одномерном пространстве;
  • раскрой в двумерном пространстве;
  • раскрой в трёхмерном пространстве.

Например, загрузка поддонов является задачей в двумерном пространстве. В отличие от задач в двух и более измерениях, задача в одномерном пространстве имеет явное решение. Достаточно подробно данная задача описывается в книге Канторовича-Залгаллера – «Рациональный раскрой промышленных материалов» [2]. Так же в данной книге можно найти методы решения задач двумерного раскроя для случая прямоугольных заготовок.

К другим основным характеристикам «раскроя» относятся: количественные характеристики, геометрические характеристики и характеристики по ограничениям на результат.

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

Имеется сырьё площади S , на котором необходимо расставить заготовки M различных типов. Площади заготовок задаются вектором s , а количество заготовок каждого типа задаётся вектором b .

ка

Пусть матрица A[M,N] – целочисленная матрица всех потенциально возможных способов раскроя одной единицы сырья, |N|=n – число таких способов. Потенциально возможный способ раскроя – столбец матрицы , удовлетворяющий условию:

ьти

(1)


Пусть x[M]

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

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

  • Данный продукт реализует решение задачи с помощью генетических алгоритмов.
  • Предполагается уменьшение отходов при внедрении продукта до 21,3%.
  • Генетический алгоритм гарантированно находит некоторое решение, предположительно являющееся оптимальным – некоторая последовательность фигур.
  • Представления фигур: аппроксимация полигоном, растром, true shape.
  • В настоящий момент подготовлен «пакет документов» для патентования инновационного решения.
  • Внедрение продукта не предполагает изменения технологии производства, так как является лишь математическим решением задачи подготовки плана раскроя. Сам технический план не затрагивается.

шо

Рис.3. Пример работы ПО «РАСКРОЙ»: 63 фигуры за 2,4 минуты.

При использовании программы «раскроя» потери (отходы) при раскрое материала составляют в среднем 2,7%, что на 21,3% меньше, чем потери при резке материала без использования программы «раскроя».

Финансовая выгода от использования программы «раскроя» на примере резки стекла составляет 2 096 454 рублей.

длот

Рис.4. Соотношение затрат при использовании программы «раскроя».

Примечание: расчёт составлен по результатам фигурной резки стекла на предприятии ООО «Белые окна» с применением ПО «Раскрой».

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

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

Читайте также: