#0
by Fargoth
Люди, не подскажите хороший алгоритм: Есть лист металла. Нужно его распилить так, чтобы получить требуемый перечень листов меньшего размера с заранее заданными размерами. При этом следует максимально минимизировать остатки большого листа.
#2
by supremum
А вообще есть куча программ для раскроя, с учетом отходов на стружку, технологического оборудования и т. д.
#3
by asady
задача имеет кучу решений - можно нарезать много листиков но маленьких а можно нарезать много разных - критерий оптимальности есть?
#5
by supremum
Это называется карта раскроя. Задача достаточно сложная, для быстрого решения в лоб, т. к. зависит от специфики производства, оборудования, который этот распил будет производить, трудозатрат и т. д. Если подходить примитивно, то нужно решить задачу линейного программирования, но тут возникает фокус с формой, если форма хитрая, то простого решения не будет. Для упрощения задачи можно рассматривать прямоугольники, ну и т. д.
#10
by Михаил Козлов
1. ЛП не подходит 2. Непросто и для прямоугольников. 3. Лет 5-6 назад пробовал делать для раскроя на продольно-поперечных станках (раскрой из рулона). Если коротко, то решал методом ветвей и границ и алгоритм был разным для "стандартных" деталей и "произвольных". Для стандартных предварительно делался расчет. По реальным заказам (примерно 100-200) статистика была такой: - по стандартным отходы около 2%; - по нестандартным - 12-15%. Пытался "впарить" в несколько фирм (производство кровельных элементов) - оказалось не нужно: "У нас отходы за счет заказчика". В ассоциации металлоторговцев на предложение организовать семинар отреагировали так же. Тема интересует, если не найдете готового решения, готов поучаствовать безвозмездно.
#11
by Fargoth
Листики разного размера (но только прямоугольные). Критерий оптимальности - минимальный остаток большого листа. При этом маленькие можем нарезать и не все из того, что требуется (например, если их совокупная площадь требуемых маленьких превышает площадь большого)...
#12
by Михаил Козлов
Как происходит раскрой листа: можно ли резать не насквозь (гильотина, болгарка, газовая резка?). Году в 83 был на Уралмаше, в цехе раскроя листов стояла японская установка (газовые резаки), операторы на дисплее формировали раскрой (типа тетриса), их за экономию поощряли.
#16
by dk
да, с критериями мутно как-то либо есть куча деталей - на несколько листов и надо уложиться в меньшее кол-во листов либо каждый лист индивидуален и интересует выход именно с листа --- говоря проще либо задаем план на несколько листов и обсчитываем общие отходы либо задаем план на каждый лист и считаем отходы с каждого листа
#17
by Fargoth
(15, 16) Листов несколько. Цель - минимизировать остатки от "большого" листа. В идеале их не должно быть вообще. Если лист использован не полностью - он может быть использован в последующем раскрое. Последующий раскрой на данный момент не рассматривается...
#20
by Snovy
В конце 90-х годов готовые решения для металлистов и мебельщиков лежали как платные программы на (по-моему) download или listsoft. Цена начиналась от 3000 вечнозеленых...
#21
by dk
можно что-нибудь из комбинаторики попробовать 1. т.к. фигуры прямоугольные, то каждая деталь может быть либо | либо - 2. сортирум детали по наибольшему измерению 3. кладем деталь1 к краю листа - в угол 4. ищем свободное место для деталь2 5. располагаем дет2 чтобы прикасалась к уже уложенным деталям 6. идем в 4. пока не кончится место или детали ---- собственно "укладка рюкзака" получилась фишка: 7. считаем отходы и запоминаем расположение деталей 8. делаем "шаг назад" и переворачиваем | - детали 9. идем в 7. пока не переберем все позиции деталей проблемы: 4. непросто это будет 5. тоже хитро ну и количество вариантов ... 1с не самый шустрый язык --- все имхо, чисто мысли вслух
#24
by supremum
В свое время тестил BestCute Pro, для составления карт раскроя в мебельном производстве. Сравнительное тестирование производили на плотнике краснодеревщике :). В принципе процент отхода был сопостовим, но по времени работы, краснодеревщик оказался круче. Хотя и программа весьма неплоха была :)
#25
by Михаил Козлов
Странно, что краснодеревщик обогонял по времени. Если бы по качеству решения - было бы понятно. Может в программе перебор организован? Не могли бы вспомнить, как долго считала программа и насколько время расчета зависело от параметров задачи (числа деталей).
#26
by supremum
Не по времени расчета, по времени (трудозатраты) на распил. :) Я не закладывал станки, ну и много других параметров. Соответственно зная специфику оборудования, у краснодеревщика получалось лучше. Насколько помню, станки могут быть очень разные и очень много параметров можно учитывать. Простейший прогон был на серии столов, именно серийный выпуск, а не штучное производство. От конструктора получали необходимые размеры, забивали размеры и количество щитов. Получали на выходе карты раскроя. По отходам порядок был практически одинаковый, но трудозатраты по распилу у краснодеревщика получились меньше, за счет более оптимальной нагрузки на оборудование. Ну и еще один момент - никаких фигурных деталей не забивали, только прямоугольные. Из достоинств той системы помню вот что: 1) Учет возвратных отходов 2) Учет ширины распила 3) Учет по видам материалов 4) Учет различной технологии распила 5) Учет обработки кромок 6) Учет стоимости материалов по партиям 7) Ну и много чего еще Система более менее имела дружелюбный интерфейс и мне нравилась, но к сожалению денег на покупку не хватило :(. По скорости работы к сожалению замеров уже не осталось, но помню покурить успевал :) (вообще-то :( - курить вредно!)
#28
by supremum
Михаил, просто ради интереса, Вы занимались калькулированием затрат? Если интересно у меня остался достаточно простой алгоритм калькулирования затрат в производстве с коротким, многоступенчатым технологическим циклом. Была мысль сделать ветку, но пока что думаю, будет ли кому это тут нужно.
#29
by Михаил Козлов
Нет, не занимался. И производством, по сути, тоже. Так что от меня здесь, как от козла молока.
Тэги: Математика и алгоритмы
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- v7: ЗУП 2.5.14 Оплата дополнительного отпуска за счет ФСС (чернобыльцам)
- как попасть в отладку внешней обработки табличной части документа
- Аналог функции ВСтрокуСРазделителями() в 8-ке
- Проблема с выводом на печать прописью
- Создать копию таблицы на SQL
- УПП. Учет брака в сборке
- v7: USN_Acc8.ert и USN_Acc8.xml
- неткат, ошибка: inverse host lookup failed, NO_DATA
- 1С Розница - инкассация денежных средств из ККМ
- Перенос точки актуальности на новую дату
- можно ли сохранить отчет из 1с в формате Юникод программно
- РАУЗ ОС нет стоимости при принятии к учету.
- Запрос из консоли отчетов: вывод группировок в столбцы
- УПП не закрывается регистр НЗП по заказу покупателя
- v8: Формирование в 1С 8 штрих кода EAN128 с разделителями
- ПодключитьОбработчикОжидания
- Помогите настроить структуру подчиненности...
- Не заполненное субконто в запросе
- Склонения часов
- Установка/Удаление флажка в справочнике из документа при его проведении 1С 7.7