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

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

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

Поставка модулей раскроя возможна как в составе комплексного решения Окнософт: Управление позаказным производством, так и в виде отдельных программ. При вызове раскройных программ из 1С, не требуется импорт – экспорт данных в промежуточные файлы. Пользователь работает в стандартном интерфейсе, а все тонкости взаимодействия 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 изделий. При этом достигаются высокие показатели обрези и получается равномерная загрузка участков сварки и фурнитуры
  • Снижается оперативность, с которой цех может отреагировать на изменения плана. Если менеджеру нужно вклинить в сегодняшний план новое изделие, это ухудшит результаты оптимизации

"Раскрой", "Утвердить", "Просмотр", "Этикетки", "Справка", "Закрыть"

Опции

  • Фильтр "Типы материальных ценностей", перечень артикулов, входящий в выделенный тип или подтип материальных ценностей, вкладка "Профили", вкладка "Заполнения"
  • Фильтр "Типы материальных ценностей" предназначен для удобства поиска определенных типов и подтипов материальных ценностей, если необходимо передать на раскрой выборку из погонажных и листовых комплектующих.
    Перечень артикулов представлен таблицей со следующими столбцами: "Артикул", "Название" и "Текстура", "Внутренняя", "Внешняя". В перечень артикулов попадают все артикулы из выделенных проектов и относящихся к какому-либо типу или подтипу комплектующих.
    Параметры раскроя регламентируются:
  • "Профили", где длина хлыста по умолчанию берется из каталога "Материальные ценности" или может быть изменена вручную. Измененная длина будет относиться ко всему перечню артикулов.
    Движок "Метод" позволяет выбрать приоритет при проведении раскроя: "Минимум материала" для получения минимума отходов (анализ парных резов) и "Оценка остатков" для получения наиболее крупных остатков из получающейся обрези. Второй метод затрачивает больше материалов, но получающаяся обрезь более пригодна для дальнейшего использования. Маркировка габаритов возможна прямо на карте раскроя, т.е. на "листе резки" или в отдельной "таблице", тогда как на карте раскроя будут проставлены лишь коды листов получающегося раскроя. Второй способ становится необходим при небольших типоразмерах раскроя. Метод "Глубокий анализ" представляет собой математический аппарат с более сложным алгоритмом расчета, что увеличивает время раскроя, но в некоторых случаях может разложить заготовки более оптимально, нежели другие методы.
    Установка флага "Без учета текстуры" позволяет использовать деловые остатки без учета текстур (применимо при дальнейшем перекрашивании профилей).
    Установка флага "Включать длинномеры" позволяет отображать в отчете заготовок равных длине целых хлыстов, не требующих резки - используется при продаже длинномеров.
    Установка флага "Показывать эскизы распилов" позволяет отображать в отчете графическое представление схемы раскроя профилей.
    Установка флага "Номер только деловых остатков" - включает присвоение номера только деловым обрезкам.

Фильтр

"Целые хлысты на складе" - позволяет указать склад, с которого будут браться целые хлысты для раскроя.

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

Кнопки

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

В таблице отчета по групповому раскрою профилей введен столбец `Арм.№` по номеру элемента каждого изделия (сортировка отрезанных профилей с соответствующей каждому из них арматурой - по номеру элемента в изделии)

Предопределенный отчет по групповому раскрою профилей расширен столбцом высоты ручки к профилям створок (для маркировки для сверления под ручку на профиле створки сразу после проведения раскроя - отреза заготовки)

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

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


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

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

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

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

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

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

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

Не смотря на кажущуюся простоту, решение задач линейного раскроя является весьма не легким, но стоящим делом. Внедрение научного подхода к раскрою погонажных материалов позволяет снизить расходы на них иногда более чем на 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 заготовки. Применение жадных алгоритмов оправдано в случаях необходимости снижения общего времени операции резки при слишком большом количестве вариантов раскроев в более оптимальных планах.

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