Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.72/145: Рейтинг темы: голосов - 145, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 24.01.2014
Сообщений: 4

Оптимальный линейный раскрой

26.06.2014, 10:24. Показов 30198. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Требуется
1. Решить данную задачу оптимальным алгоритмом.
Если можно на простом примере объяснить оптимальный алгоритм.
Только такие наборы бывают посложнее и побольше
400мм 20шт.
1200мм 12шт.
Все надо разместить данные отрезки на отрезкаъ длинной не более 6000мм.
Расстояние между отрезками = 5мм.
2. Результат нужно будет выводить в следующем виде (приложил файл)
Все данные для данного отчета мы можем получить из базы. Как быть с отрисовкой элементов?
Будем данную обработку использовать в нашей программе (на C# делаем)

Существует ли оптимальный алгоритм решения данной задачи?
Является ли решение данной задачи следующим методом оптимальным

Метод гомора
Симплекс метод
Миниатюры
Оптимальный линейный раскрой  
Вложения
Тип файла: pdf Раскрой.pdf (117.2 Кб, 195 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.06.2014, 10:24
Ответы с готовыми решениями:

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

Раскрой деталей
Всем Здравствуйте! Помогите мне сохранить драгоценное время с поиском нужного компонента для создание в нем кроя из прямоугольных деталей,...

Раскрой листа.
Подставки прямоугольной формы под цветы вырезаются из фанерного листа. Длина подставки составляет m см, а ширина n см. Имеется фанерный...

20
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
15.07.2015, 15:06
hulk45, Вам тема с линейным раскроем актуальна?

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

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

Примеры получаемых раскроев можно посмотреть во вложении.
Если будет заинтересованность в алгоритме, то можете обратиться ко мне в личку.
Вложения
Тип файла: rar LinRaskr90 v1.01b пример.rar (309.0 Кб, 369 просмотров)
2
0 / 0 / 0
Регистрация: 27.01.2016
Сообщений: 3
27.01.2016, 17:15
m-ch, Пожалуйста помогите разобраться с этой программой . Где взять макрос к ней ?
Которая выше в Вашем посте.

Добавлено через 18 минут
Цитата Сообщение от m-ch Посмотреть сообщение
LinRaskr90 v1.01b пример.rar (309.0 Кб, 13 просмотров)
Я имел ввиду эту таблицу . Нужно оптимизировать раскрой помогите пожалуйста .
0
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
27.01.2016, 19:30
приложите Ваши данные, которые нужно раскроить
0
0 / 0 / 0
Регистрация: 27.01.2016
Сообщений: 3
28.01.2016, 04:05
m-ch, Это каждый раз разные задачи . Резать металл на разные заготовки исходя из хлыста 60000мм
0
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
30.01.2016, 09:53
Цитата Сообщение от m4shaman Посмотреть сообщение
Резать металл на разные заготовки исходя из хлыста 60000мм
Вы не ошиблись, у вас заготовки по 60метров, а не по 6м?

Цитата Сообщение от m4shaman Посмотреть сообщение
Пожалуйста помогите разобраться с этой программой . Где взять макрос к ней ?
Которая выше в Вашем посте.
В файле, который я выложил нет макросов, это просто пример получаемых раскроев.
Бесплатную демоверсию пока не сделал, но могу раскроить Ваши данные если вы их выложите.

Если Вас интересуют программы по раскрою, то вот несколько ссылок на них, которые мне удалось найти:
Онлайн калькулятор "Экономичный распил. Раскрой линейных изделий": относительно неплохой калькулятор, достаточно прост в использовании.

Онлайн калькулятор "Задача об упаковке в контейнеры": использует "жадный" алгоритм, качество раскроя соответствующее (как правило не оптимальное)

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

Онлайн калькулятор "Line cutting": работает нестабильно, в сложных реальных раскроях мне не удалось найти решение

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

Программа lin_raskr , автор Семенов В.В.: бесплатная программа, реализована на VB6. работает быстро, ввод данных можно делать из текстового файла или файла .xls

Оптимизация раскроя профиля - Optimize от ФС-Буд: высокая скорость работы, невысокая стоимость: доступна демоверсия на 10 запусков. Тестирование показало, что качество раскрое очень плохое, близкое к "жадному" алгоритму.

Cutting Line: достаточно простая программа в использовании, стоимость не большая. Работает относительно быстро, качество раскроя лучше, чем у Optimize, но тоже не всегда хорошее.

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

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

Программа линейного раскроя Окнософт cutting: платная программа, с не очень дешевой ценой. Качество работы не проверял, но выложенные на сайте примеры работы программы не самые эффективные, исходные данные можно раскроить с меньшими потерями.

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

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

Нашел тест по тестированию программ линейного раскроя, используемые в оконном производстве: http://forum-okna.ru/index.php?showtopic=35118
Там указаны еще программы, позволяющие производить линейный раскрой, а также приведены результаты их работы на тестовых данных.

Относительно качества раскроя программ.
Хорошим тестом является набор данных указанных в Википедии по теме «Задача раскроя»:
Кликните здесь для просмотра всего текста
Размер заготовок – 5600
Детали, размер - кол-во:
1380 - 22
1520 - 25
1560 - 12
1710 - 14
1820 - 18
1880 - 18
1930 - 20
2000 - 10
2050 - 12
2100 - 14
2140 - 16
2150 - 18
2200 - 20
Ширина реза – 0
Торцевые кромки – 0

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

Во вложении пример, как раскроила эти детали моя программа: использовано 73 заготовки, сохранен остаток в 580 мм.
Применяемый метод линейного программирования в моей программе позволяет найти оптимальное решение при этом максимизируя остаток от последней детали.
Если будет заинтересованность в алгоритме - обращайтесь в личку.
Вложения
Тип файла: xlsx LinRaskrLP v1.102b Wiki.xlsx (50.8 Кб, 199 просмотров)
1
0 / 0 / 0
Регистрация: 27.01.2016
Сообщений: 3
30.01.2016, 13:55
да по 6 метров

Добавлено через 6 минут
Получается что Вы этот макрос продаёте ?
0
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
03.02.2016, 02:09
Ссылка для скачивания Demo-версии есть здесь
Также выкладываю программу на этом форуме
Вложения
Тип файла: zip LinRaskrLP Demo.zip (407.0 Кб, 249 просмотров)
2
0 / 0 / 0
Регистрация: 02.03.2016
Сообщений: 1
02.03.2016, 11:47
m-ch, Интересен Ваш LinRaskrLP, как приобрести полную версию ?
0
0 / 0 / 0
Регистрация: 01.03.2016
Сообщений: 1
29.11.2017, 15:09
m-ch, Интересен Ваш LinRaskrLP, как приобрести полную версию ?. Прошу сообщить на: del
Заранее спасибо
0
0 / 0 / 0
Регистрация: 03.08.2015
Сообщений: 2
03.09.2018, 11:51
https://softbel.000webhostapp.com/gallery/kroy.zip
вот ещё прога. Пробуйте. Она еще и под углами, отличными от 90, может резать.
Вложения
Тип файла: zip Kroy.zip (1.84 Мб, 237 просмотров)
0
0 / 0 / 0
Регистрация: 15.12.2020
Сообщений: 2
16.02.2022, 10:51
m-ch, Интересует ваша программа, но в ЛС не могу написать, т.к. не набрал 3х сообщений. Можете мне написать?
0
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
16.02.2022, 11:35
Цитата Сообщение от ZloyEjik Посмотреть сообщение
Интересует ваша программа
ZloyEjik, что именно интересует?
Демо версия полностью функциональна и без ограничений по времени, по ссылке можно скачать и другие реализации
0
0 / 0 / 0
Регистрация: 15.12.2020
Сообщений: 2
16.02.2022, 11:48
m-ch, я нашел вышу тему на excelworld, попробую поковыряться с вашей программой. Я инженер на алюминиевом производстве витражей и хочу использовать код для автоматизации выгрузки напила на пилу, без использования программы Cutting Optimization Pro.
Как я понял (судя по ветке на другом сайте) вы не возражаете, против использования вашего кода?
0
0 / 0 / 0
Регистрация: 13.07.2022
Сообщений: 3
13.07.2022, 12:08
Уважаемый M-ch, как можно приобрести полную версию вашего файла линейного раскроя? Демоверсией пользуюсь уже почти год. Очень нравится, но хотелось бы иметь полную версию.
0
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
13.07.2022, 12:15
Artyemy, программа с открытым кодом и в разных вариантах реализации есть на excelworld, легко ищется в поисковике
0
0 / 0 / 0
Регистрация: 13.07.2022
Сообщений: 3
13.07.2022, 12:19
Не могу найти, к сожалению (( Помогите ссылкой , пожалуйста
0
403 / 265 / 69
Регистрация: 12.04.2020
Сообщений: 1,404
13.07.2022, 12:24
https://www.optimalprograms.com
это чтоле?
0
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
13.07.2022, 12:30
Цитата Сообщение от Artyemy Посмотреть сообщение
Помогите ссылкой , пожалуйста
http://www.excelworld.ru/forum/3-21304-1
0
0 / 0 / 0
Регистрация: 13.07.2022
Сообщений: 3
13.07.2022, 13:05
Благодарю!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.07.2022, 13:05
Помогаю со студенческими работами здесь

раскрой поверхности
вот нашёл исходники в интернете подскажите на чём скомпилить это можно? посмотреть хочется.

Раскрой материала ДСП на Python
Есть желание написать программу для раскроя, аналог cutting, базис-раскрой ... 1. Алгоритм 2. Визуализация, печать с...

Раскрой выпуклого многоугольника двумя методами С++
Помогите перваку с курсачем по АСА Раскрой выпуклого многоугольника на треугольники методом полного перебора и методом динамического...

Раскрой деталей разной геометрии
Предлагаю демо-версию раскройной системы. Детали любой формы формата dxf SolidWorks 2001, Autocad 2004 и КОМПАС v9. Имеется внутренний...

Раскрой m различных партий одномерного полуфабриката
Добрый день! Можете помочь литературой или ссылкой где есть описания решений данной задачи? Спасибо


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru