Алгоритм раскроя листового материала excel
Сколько стоит полный функционал?
И какие отличие от Demo?
Сколько стоит полный функционал?
И какие отличие от Demo?
MCH,
Сколько стоит полный функционал?
И какие отличие от Demo и разница расчёта?
MCH,
Сколько стоит полный функционал?
И какие отличие от Demo и разница расчёта?
У меня такой вопрос: в демо версии 9 закладок раскрой из 9ти только 3 кроят материал оригинально .Остальные 6 выдают одинаковый результат решения.Для чего они нужны. и может я чего-то не понял? Жадным алгоритмом ни один из них не расчитывает?
У меня такой вопрос: в демо версии 9 закладок раскрой из 9ти только 3 кроят материал оригинально .Остальные 6 выдают одинаковый результат решения.Для чего они нужны. и может я чего-то не понял? Жадным алгоритмом ни один из них не расчитывает? vlvp
Что вы имели в виду, вопрос не понял?
В демоверсии приложены примеры раскроя разных наборов данных, для того чтобы можно было бы сравнить с другими программами раскроя и оценить качество раскроя (количество потерь и т.п.)
В алгоритме раскроя присутствует элемент случайности, поэтому каждая новая попытка заново раскроить может незначительно отличатся от предыдущих раскроев.
Раскрой, который делает программа будет не хуже жадного алгоритма, в большинстве случаев значительно лучше, жадный алгоритм присутствует для оценки количества потерь, но далее продвинутые алгоритмы находят более лучшее решение.
Если у Вас есть набор данных, который Вы другими программами решаете более качественно (с меньшими потерями), то прошу предоставить такой набор
Что вы имели в виду, вопрос не понял?
В демоверсии приложены примеры раскроя разных наборов данных, для того чтобы можно было бы сравнить с другими программами раскроя и оценить качество раскроя (количество потерь и т.п.)
В алгоритме раскроя присутствует элемент случайности, поэтому каждая новая попытка заново раскроить может незначительно отличатся от предыдущих раскроев.
Раскрой, который делает программа будет не хуже жадного алгоритма, в большинстве случаев значительно лучше, жадный алгоритм присутствует для оценки количества потерь, но далее продвинутые алгоритмы находят более лучшее решение.
Если у Вас есть набор данных, который Вы другими программами решаете более качественно (с меньшими потерями), то прошу предоставить такой набор MCH
Что вы имели в виду, вопрос не понял?
В демоверсии приложены примеры раскроя разных наборов данных, для того чтобы можно было бы сравнить с другими программами раскроя и оценить качество раскроя (количество потерь и т.п.)
В алгоритме раскроя присутствует элемент случайности, поэтому каждая новая попытка заново раскроить может незначительно отличатся от предыдущих раскроев.
Раскрой, который делает программа будет не хуже жадного алгоритма, в большинстве случаев значительно лучше, жадный алгоритм присутствует для оценки количества потерь, но далее продвинутые алгоритмы находят более лучшее решение.
Если у Вас есть набор данных, который Вы другими программами решаете более качественно (с меньшими потерями), то прошу предоставить такой набор Автор - MCH
Дата добавления - 05.03.2020 в 07:52
Manlexey, что то непонятно. вы заказываете MCH работу или просите помощи? ну дык для работы есть специальный раздел Работа / Фриланс
если просите помощи, то я вам в вашей теме написал, что вам необходимо сделать. И , если вам нужна помощь, то продолжайте вашу тему. Здесь раздел Готовые решения, а не ветка для помощи
Manlexey, что то непонятно. вы заказываете MCH работу или просите помощи? ну дык для работы есть специальный раздел Работа / Фриланс
если просите помощи, то я вам в вашей теме написал, что вам необходимо сделать. И , если вам нужна помощь, то продолжайте вашу тему. Здесь раздел Готовые решения, а не ветка для помощи китин
Попробуем «догнать двух зайцев» — познакомиться с работой очень интересного и мощного инструмента Excel – надстройки «Поиск решения» и научиться математически грамотно проектировать баки для воды на дачу… Что может связывать эти две темы.
. Оказывается — очень многое.
Надстройка «Поиск решения» позволяет найти оптимальные значения аргументов в задачах «на экстремум» и иных задачах оптимизации функции нескольких переменных при заданных ограничивающих условиях. Слишком мудрено? Давайте рассмотрим практический пример — и все станет просто и понятно!
При проектировании и изготовлении любой емкости для хранения газов, жидкостей, сыпучих твердых материалов разработчик часто стремится получить максимальный объем при минимальной площади поверхности — при этом наиболее рационально и с пользой расходуется материал. Безусловно, в погоне за экономией материалов нельзя забывать вопросы прочности и жесткости стенок резервуара, а так же вопросы технологичности последующих эксплуатации и обслуживания емкости.
Формулируем условие задачи:
Из имеющегося в наличии стального листа толщиной 4 мм стандартных размеров 1,5 м на 6,0 м необходимо сварить бак для воды (дно и боковые стенки без крышки), например, на дачу максимального объема, оптимальной формы, с удобным и простым раскроем, с минимальной трудоемкостью изготовления.
Конечно, всем известно, что максимальный объем при минимальной площади поверхности имеет шар, но сложность и трудоемкость его изготовления, а так же неудобства эксплуатации и обслуживания «съедают» всю выгоду от минимального расхода материала. К тому же реальный коэффициент использования материала из-за криволинейного раскроя далек от единицы. Емкости-шары применяют для хранения газов под давлением для обеспечения равномерного распределения возникающих в стенке сосуда напряжений и исключения зон концентрации напряжений, приводящих к разрушению объектов. При поиске решения для нашей задачи мы шар рассматривать не будем.
Для решения поставленной задачи привлечем в помощь Excel.
При отсутствии на вашем компьютере программы MS Excel можно выполнить расчет в программе Calc из бесплатного пакета Open Office. Надстройке «Поиск решения» MS Excel в OOo Calc соответствует «Решатель».
Исходные данные — в ячейках со светло-бирюзовой заливкой, результаты расчетов — в ячейках со светло-желтой заливкой. Результаты работы надстройки «Поиск решения» — в ячейках с золотистой заливкой.
Открываем лист Excel и заполняем таблицу с параметрами прямоугольной листовой заготовки:
1. Толщину листа S в миллиметрах заносим
в ячейку D3: 4,000
2. Ширину листа В в метрах пишем
в ячейку D4: 1,500
3. Длину листа L в метрах пишем
в ячейку D5: 6,000
Предварительные расчеты в Excel выполняем по формулам:
4. Площадь поверхности (с одной стороны) A0 в метрах квадратных считаем
в ячейке D6: =D4*D5 =9,000
A0 = B * L
5. Массу G в килограммах (для справки) рассчитываем
в ячейке D7: =D3/10*D4*100*D5*100*7,85/1000 =282,600
G = S * B * L *7,85
Первой проанализируем цилиндрическую форму емкости с круговым дном:
1. Записываем формулу для расчета площади поверхности A1 в квадратных метрах
в ячейку G13: =ПИ()*E13^2/4+ПИ()*E13*F13
A1 =3.14* y ^2/4+3.14* y * z
2. Записываем формулу для расчета объема бака V в кубических метрах
в ячейку H13: =ПИ()*E13^2/4*F13
V =3.14* y ^2/4* z
3. Вызываем диалоговое окно надстройки «Поиск решения» (в Excel 2003: Сервис – Поиск решения…) и заполняем так, как на снимке экрана, представленном ниже.
Мы хотим получить в целевой ячейке H13 ( V — объем бака) максимальное значение, изменяя значения ячеек E13 ( y — диаметр бака) и F13 ( z — высота бака). При этом мы сообщаем Excel ограничения: E13 (диаметр бака) и F13 (высота бака) – это положительные числа, а значение в ячейке G13 ( A1 — площадь поверхности) равно значению в ячейке D6 ( A0 — площадь листа-заготовки).
Таким образом, мы сформулировали задачу поиска диаметра и высоты цилиндрического бака из конкретного количества материала для получения максимального объема. О том, что это цилиндр с круглым дном, но без крышки «сказано» в формулах расчета A1 и V .
4. Нажимаем кнопку «Выполнить» окна Поиск решения». Окно «Поиск решения» исчезает и появляется окно «Результаты поиска решения». При этом найденные значения мгновенно отображается в соответствующих ячейках:
5. Диаметр бака y в метрах считываем
в ячейке E13: 1,954
6. Высоту бака z в метрах считываем
в ячейке F13: 0.977
7. Площадь поверхности бака A1 в метрах квадратных считываем
в ячейке G13: 9.000
8. Объем бака V в метрах кубических считываем
в ячейке H13: 2.932
9. Нажимаем на кнопку «ОК» — сохраняем найденное решение
10. Анализируем полученные результаты и делаем выводы:
— цилиндрическая емкость с дном и без крышки имеет максимальный объем и минимальную площадь поверхности при диаметре в два раза большем высоты;
— сделать технологически приемлемый и экономичный раскрой листа 1,5 м на 6,0 м для изготовления бака диаметром 1,954 м и высотой 0,977 м достаточно сложно (практически невозможно раскроить без отходов).
Попробуем изменить ограничения: зададим высоту бака z =1.5 м – по ширине исходного листа, а диаметр y = L /(3.14+1) – из условия, что в длину исходного листа должны вложиться донышко и стенка. Площадь поверхности A1 – положительное число. Раскрой деталей при этом будет предельно прост.
1. Формулу для расчета диаметра бака y в метрах записываем
в ячейку E14: =D5/(ПИ()+1) =1.449
2. Высоту емкости z в метрах заносим
в ячейку F14: 1.500
3. Копируем формулу для расчета площади поверхности A1 в квадратных метрах
в ячейку G14: =ПИ()*E14^2/4+ПИ()*E14*F14 =8.475
4. Копируем формулу для расчета объема бака V в кубических метрах
в ячейку H14: =ПИ()*E14^2/4*F14 =2.473
5. Анализируем полученные результаты и делаем вывод:
— в сравнении с предыдущим вариантом мы получили высокотехнологичный раскрой, минимум сварных швов, но «расплатились» за это уменьшением объема бака на 15,7%.
Далее выполним анализ формы емкости в виде параллелепипеда:
По сути — это тоже цилиндр с прямоугольным дном в основании.
Работаем с надстройкой «Поиск решения» по расписанному выше алгоритму. Отличие только в том, что переменных теперь не две, а три – ширина x , длина y , высота z . И формулы для расчета площади поверхности и объема для параллелепипеда другие:
A1 = x * y +2* x * z +2* y * z
V = x * y * z
Я не буду подробно расписывать все шаги работы с параллелепипедом – они аналогичны расписанной выше по шагам работе с круговым цилиндром! Изучите самостоятельно результаты в таблице по баку-параллелепипеду максимального объема без крышки.
Лучшими решениями поставленной в начале статьи задачи с точки зрения математики без учета технологичности раскроя и трудоемкости изготовления являются варианты №1 и №3.
Лучшими практическими решениями задачи являются, безусловно, варианты №2, №5 и №6!
Какие можно сделать в итоге выводы?
1. При изготовлении цилиндрической емкости без крышки для наиболее эффективного использования материала следует высоту бака делать равной радиусу основания!
2. При изготовлении цилиндрической емкости без крышки с высотой равной радиусу основания для наиболее эффективного использования материала следует в качестве заготовки брать прямоугольный лист с отношением сторон 1/(1+3,14/2)=1 / 2,57!
3. При изготовлении емкости в виде параллелепипеда без крышки для наиболее эффективного использования материала следует основание делать квадратным, а высоту бака делать равной половине размера основания!
4. При изготовлении емкости в виде параллелепипеда без крышки с квадратным основанием и высотой равной половине размера основания для наиболее эффективного использования материала следует в качестве заготовки брать прямоугольный лист с отношением сторон 1/3!
5. Чем больше емкость по размерам, тем меньше нужно квадратных метров листового материала на кубический метр объема!
6. Замечательный инструмент в Excel «Поиск решения» — легко и просто решает задачи с несколькими переменными! Рекомендую.
7. Чтобы «хранить» на даче два с половиной кубических метра воды, можно купить тринадцать двухсотлитровых металлических бочек. Места они займут, конечно, много, но обойдутся в три раза дешевле…
Достаточно функциональную программу для решения задач экономного линейного раскроя погонажных материалов можно создать самостоятельно и абсолютно бесплатно, используя исключительно встроенные функции и штатную надстройку «Решатель» программы Calc.
. из свободно распространяемого офисного пакета LibreOffice. При этом ни к созданию макросов, ни к написанию пользовательских функций, ни к программированию вообще обращаться нет необходимости!
И все-таки – почему в данном случае стоит попробовать использовать не Excel, а Calc?
Структура задачи и терминология.
Данная тема уже была подробно рассмотрена на блоге в статье «Линейный раскрой в Excel» 4 года назад. Вновь обратиться к ней побудило желание автоматизировать генерацию схем раскроев и сравнить результаты работы «Решателя» и OpenSolver.
Полную «задачу о распиле» можно разделить на две значительные подзадачи:
- Генерация всех возможных схем раскроев.
- Поиск на основе сгенерированных схем оптимального раскройного плана.
Первая подзадача в статье «Линейный раскрой в Excel» решалась методом составления схем раскроев «вручную» по определенному алгоритму.
Вторая подзадача решалась автоматически с использованием надстройки Excel «Поиск решения» (Excel Solver).
В представленной далее программе генерация схем раскроев выполняется автоматически! Это существенно упрощает работу, защищает от ошибок и экономит время при значительном количестве типоразмеров деталей и схем раскроев.
Поиск плана раскроя осуществим тремя способами:
- В LibreOffice Calc с помощью «Решателя» (NLPSolver).
- В MS Office Excel посредством штатного «Поиска решения» (Excel Solver).
- В MS Office Excel при помощи надстройки OpenSolver.
Определимся с терминологией и ограничениями:
- Заготовки – это исходный материал в виде рулонов, прутков, полос, стержней и т.д. одинаковой длины.
- Детали – это элементы, которые необходимо получить, разрезав исходные заготовки на части.
- Схема раскроя – один из вариантов раскроя заготовки, при котором длина отхода всегда меньше длины самой короткой детали.
- План раскроя – это перечень схем раскроя с количеством их повторений.
- *Ширина реза равна нулю.
Пример.
Условие задачи:
Бумагоделательная машина производит рулоны (заготовки) шириной 5600 мм.
Нужно найти план раскроя для нарезки 13 типоразмеров конечных рулонов (деталей), используя минимальное количество исходных рулонов (заготовок).
Ширины конечных рулонов (размеры деталей) и их необходимое количество — в таблице слева.
Скриншот программы:
Область для генерации схем раскроев имеет размер 13×213 ячеек, что обусловлено исключительно условиями этой конкретной задачи, и может быть изменена и в ширину и в высоту в сторону увеличения или уменьшения по желанию пользователя с соответствующей корректировкой формул.
К сожалению, качественно показать на скриншоте всю область программы для раскроя затруднительно. Скачайте файлы по ссылке под рисунком для детального просмотра листов Calc и Excel с программами.
В ячейках с желтой заливкой – не защищенные от изменений формулы. Будьте внимательны! Изменять значения можно только в ячейках со светло-бирюзовой заливкой.
Прошу уважающих труд автора скачать файлы с программой после подписки на анонсы статей. Подписные окна расположены в конце статьи и наверху страницы.
Ссылки на скачивание файлов с программой:
Правила ввода исходных данных:
В светло-бирюзовые ячейки записываем исходные данные из условия задачи:
- длину исходных рулонов – заготовок — Lз ;
- длины конечных рулонов – деталей — Lдi ;
- количество конечных рулонов – деталей — Nдi .
Длины деталей Lдi следует вписывать в порядке уменьшения размеров, слева – направо:
Внимание! Если типоразмеров деталей в другой вашей задаче будет меньше 13, например 10, то, чтобы не переделывать каждый раз поле схем раскроев, в первые 3 ячейки для длин деталей следует записать значения больше размера заготовки, а их количество указать равным нулю:
А > Lз
Решение:
После ввода всех исходных данных программа для раскроя автоматически сгенерирует 213 схем, решив, таким образом, первую подзадачу.
Действия пользователя при решении второй подзадачи – поиск оптимального плана раскроя — подробно описаны в статье о линейном раскрое в Excel. Эти действия полностью идентичны при работе со всеми тремя вышеназванными надстройками. Повторять их здесь нет смысла, так как, перейдя по ссылке, можно получить подробную, развернутую инструкцию.
Единственное, что следует дополнительно настроить:
- Из окна «Решателя» нужно перейти в окно «Параметры» и выбрать в выпадающем списке «Механизма решателя»: LibreOffice CoinMP линейный решатель.
- Там же в окне «Настройки» рекомендую проставить все галочки, так как переменные у нас в примере неотрицательные и целочисленные.
Ответ:
Минимум из 73 заготовок (исходных рулонов) можно изготовить все детали (конечные рулоны) с долей отходов всего 0,401%! В плане раскроя используется 12 схем раскроев. Время поиска решения – менее 10 секунд! (План раскроя показан выше на скриншоте программы.)
Ответ в Википедии: 73 заготовки; 0,401% отходов; в плане – 10 схем раскроев.
Итоги.
Существует несколько решений — планов раскроя с 13, 12, 11, 10 схемами раскроев, состоящих из 73 заготовок.
В таблице ниже представлены решения, найденные с использованием разных программ и надстроек. При расчетах в Excel и Calc использовались линейные механизмы поиска.
Все программы справились с поставленной задачей – нашли раскройные планы, обеспечивающие минимальное количество отходов.
Для обеспечения работоспособности стандартного «Поиска решения» (Excel Solver) в Excel пришлось удалить из поиска 13 схем раскроев с большими длинами остатков.
Если для этой задачи применить прямолинейный «жадный» алгоритм, традиционно используемый на многих производствах (сначала режем широкие рулоны, а узкие – в конце, используя по возможности отходы), то потребуется 82 исходных рулона-заготовки. Более 11,3% материала уйдет в отходы. При этом в плане будет 15 схем раскроев.
В случае необходимости минимизировать количество схем раскроев в плане стоит применить нелинейные алгоритмы надстроек из списков механизмов поиска решения.
Не используя специальных программ с помощью свободной программы LibreOffice Calc или MS Excel можно эффективно решать весьма громоздкие задачи по линейному раскрою погонажных материалов.
Возможности программы для раскроя можно существенно расширить под соответствующие задачи, увеличив количество типоразмеров деталей и пространство для схем раскроя. Ограничивающими факторами расширения являются только размеры листа программы Calc или Excel, производительность процессора и … здравый смысл.
Статьи с близкой тематикой
Отзывы
12 комментариев на «Программа для раскроя в Excel и Calc»
-
Андрей 12 Июн 2019 09:59
Здравствуйте. Работаю инженером-конструктором. Расчеты зубчатых и звездочек очень пригодились. Остальное осваиваю в своей практике. Большое Вам спасибо за труд.
Огромное Вам спасибо за то что делитесь своими знаниями. Благодаря вашим статьям многому научился.
Больше спасибо за труд и доходчивые объяснения. Я изучал линейное программирование, но мы пользовались программой POM fow Windows для решения задач на минимум и максимум. Тогда еще не было такого пакета в Excel. Применение расчета позволило мне съэкономить более 150 тыс. рублей при расчете бруса на дом, так как фирма сознательно завышала объем.
Спасибо Андрей, Юрий и Антон за теплые отзывы.
Антон, я рад за Вас. Не очень понял применение какой именно программы — POM fow Windows или описанных в статье помогло Вам сэкономить более 150 тыс. рублей,но это и не важно. Важно то, что Вы задумались, вспомнили линейное программирование и не дали Вас провести. Может быть в этом и заключается одно из главных предназначений высшего образования — не поверить, что-то вспомнить и разобраться. Вполне возможно, что фирма Вас и не обманывала, а просто по-привычке «пилила по „жадному алгоритму“», выбрасывая отходы.
Благодарю вас! Отличную работу проделали!
Александр, большое спасибо за очень грамотные расчеты, которые мне очень помогают. Проектирую оборудование для инвалидов: подъемники по лестничным маршам, эвакуаторы и т.п. С уважением, Николай.
Здравствуйте. В вашем примере при изменении длины первой детали с 2200 на 2250 длина остатка становится отрицательной (ячейка Q12=-30). При этом после «решения» этот вариант разбивки предлагается к исполнению. Что я делаю не так?
Здравствуйте. С файлом xlsx бывает возникают вопросы.
Скачайте файл ods и откройте в LibreOffice — там всё работает правильно.
Скачал LibreOffice, действительно работает. Дело в том, что в файле Excel в желтых ячейках отсутствуют формулы.
Теперь возникла другая проблема. В LibreOffice в вашем примере, если поставить длину исходной заготовки 12000 (вместо 5600), то в столбце R количество заготовок в решении есть и отрицательные, и дробные.
Увеличив длину исходной заготовки до 12 метров Вы получили задачу, в которой не 213 схем раскроя, а гораздо больше. Поле программы нужно расширять. Прочтите внимательно текст статьи.
Чтобы не получать дробные и отрицательные значения Вы должны выбрать механизм «Решателя», настроить его параметры и внимательно проверить адреса ячеек и соответствующие ограничения.
Чем более громоздкая задача, тем сложнее «Решателю» с ней справляться, бывает выдает ошибки или вовсе не находит решение. Задачи линейного программирования не просты.
Машиностроение предъявляет все более жесткие требования к конструкционным материалам, особенно это касается оборонной и высокотехнологичных отраслей промышленности. В связи с данной тенденцией всё большее применение получают композиционные пластики, номенклатура и методы производства которых расширяются с каждым годом.
Ставший традиционным метод намотки препрегов на дорны с последующей полимеризацией в высокотемпературных печах при производстве трубчатых изделий (рис. 1.) включает операцию раскроя волокна, которая непосредственно влияет на толщину стенок, а, соответственно, на геометрические размеры и механические характеристики.
Толщина препрегов как правило варьируется в пределах от 0,063 до 0,4 мм, а толщина стенки готового изделия от 0,9 мм до 5мм и более. При этом в зависимости от условий эксплуатации подбираются различные сочетания наматываемых препрегов, которые могут быть ориентированы продольно, радиально или под некоторым углом. Изменение толщины монослоя препрега ведет к необходимости пересчета раскроя. В условиях производства продукции широкой номенклатуры необходимо расчет автоматизировать с решением задачи подбора оптимального соотношения слоев препрега.
С целью минимизации времени расчёта в таблицах EXCEL была разработана программа автоматизированного подбора оптимального соотношения слоёв, количества оборотов и длин препрегов. Задача решается методом нелинейного программирования с помощью функции «Поиск решений»
Рис.1. Углепластиковые трубы
Рис. 2. Листинг программы
Исходными данными являются внутренний и наружный диаметры трубок, толщины монослоев материалов, применяемых при намотке. В качестве выходных переменных выступает количество слоёв каждого материала, заданное в бинарном виде на каждый оборот, то есть 1- оборот выполняется, 0 - оборота нет. Программа производит расчёт длины ленты на каждый оборот с корректировкой на количество уже намотанных слоёв препрега по формуле Li=π*d(i-1), где d(i-1)- диаметр, полученный после намотки предыдущего оборота. Итоговая длина рассчитывается как сумма длин по каждому обороту.
Целевой функцией является квадрат разности значения необходимой толщины стенки и рассчитанной, исходя из расчетного количества слоёв. Важным моментом является задание правильных ограничений в меню параметров функции «Поиск решений». Алгоритм расчёта является достаточно простым, однако при большом количестве расчетов позволяет уменьшить трудозатраты и разброс готовых изделий по геометрическим размерам и механическим характеристикам.
Программа полностью не исключает работу инженера-конструктора. После подбора оптимальной схемы намотки необходимо определить ориентацию и рассчитать упрочняющие косынка и клинья в местах конструкторских баз, которые в дальнейшем подвергаются шлифовке для обеспечения сборки изделий.
Поэтому актуальна задача расширения возможностей программы путем создания алгоритмов для отдельных изделий с дальнейшим созданием общего алгоритма в профессиональной среде программирования. Данная работа будет осуществляться по мере накопления опыта производства трубчатых изделий из композиционных пластиков.
В работе предложена методика и программа в электронных таблицах Excel для рассчета раскроев препрегов как для цилиндрических, так и для конических трубок из композиционных пластмасс. Работа используется непосредственно в производстве и может служить для решения подобных задач в других отраслях промышленности.
= Мир MS Excel/Линейный раскрой - Мир MS Excel
Войти через uID
Войти через uID
Задачу линейного раскроя можно решать разными способами:
1. Полный перебор, как правило, не возможно реализовать в реальных условиях.
2. Самый эффективный способ - целочисленное линейное программирование (метод Гомори, как целочисленный вариант симплекс-метода). В качестве инструмента можно использовать Solver из MS Excel. Но здесь есть ряд ограничений - необходимо найти все варианты сложения исходных деталей, не превышающих размер заготовок (а вариантов может быть несколько тысяч или сотен тысяч). Ограничение Solver'a - 200 изменяемых ячеек.
3. "Жадный" алгоритм. У данного алгоритма есть вариации, основное достоинство - высокая скорость. Применим для быстрой оценки раскроя, либо когда скорость важнее оптимизации.
4. Решать как частный случай задачи о рюкзаке (сумма подмножеств) и выбор наилучшего варианта из имеющихся.
5. Про генетический алгоритм ничего сказать не могу, т.к. не изучал его.
Реализовал собственный алгоритм линейного раскроя в Excel, который основан на решении задачи о рюкзаке (сумма подмножеств) методом целочисленного динамического программирования. Производится генерация различных вариантов раскроя в зависимости от сортировки исходных деталей и заготовок и выбор наилучшего решения.
К достоинству можно отнести - достаточно эффективный результат по сравнению с "жадным" алгоритмом, а также при сравнении с результатом других программ линейного раскроя.
Дополнительно реализовал решение с помощью линейного программирования.
Вначале производится генерация рациональных схем раскроя, затем симплекс-методом находим решение системы, данное решение является оптимальным (использование наименьшего количества заготовок). Далее сводим задачу к максимизации полезного остатка.
Domo -версию программы можно скачать здесь или здесь, она полностью функциональна, доступен расчет с помощью динамического программирования (DP).
Расчет с помощью линейного программирования (LP) отключен.
Также отключена возможность составления и экспорта отчетов.
Можно использовать до 20 различных размеров заготовок и до 90 различных размеров деталей.
Есть возможность задать ширину реза, размер торцевой кромки, размер полезного (делового) остатка, возможность раскраивать в два профиля (если это требуется)
Можно убедиться в эффективности алгоритма раскроя в сравнении с другими программами.
Если будет заинтересованность в алгоритме или потребуется адаптация отчета под ваши требования, то можете обратиться ко мне в личку.
PPS:
Если программа по раскрою окажется полезной и возникнет непреодолимое желания меня отблагодарить, то не откажусь от любого доната
ЯД: 410012329135704
UPDATE, апрель 2022
Выкладываю небольшой калькулятор с примерами, который работает в 3х режимах (быстро, медленно и очень медленно)
т.к. используется внешняя dll, то будет работать только в Excel 32бит
Задачу линейного раскроя можно решать разными способами:
1. Полный перебор, как правило, не возможно реализовать в реальных условиях.
2. Самый эффективный способ - целочисленное линейное программирование (метод Гомори, как целочисленный вариант симплекс-метода). В качестве инструмента можно использовать Solver из MS Excel. Но здесь есть ряд ограничений - необходимо найти все варианты сложения исходных деталей, не превышающих размер заготовок (а вариантов может быть несколько тысяч или сотен тысяч). Ограничение Solver'a - 200 изменяемых ячеек.
3. "Жадный" алгоритм. У данного алгоритма есть вариации, основное достоинство - высокая скорость. Применим для быстрой оценки раскроя, либо когда скорость важнее оптимизации.
4. Решать как частный случай задачи о рюкзаке (сумма подмножеств) и выбор наилучшего варианта из имеющихся.
5. Про генетический алгоритм ничего сказать не могу, т.к. не изучал его.
Реализовал собственный алгоритм линейного раскроя в Excel, который основан на решении задачи о рюкзаке (сумма подмножеств) методом целочисленного динамического программирования. Производится генерация различных вариантов раскроя в зависимости от сортировки исходных деталей и заготовок и выбор наилучшего решения.
К достоинству можно отнести - достаточно эффективный результат по сравнению с "жадным" алгоритмом, а также при сравнении с результатом других программ линейного раскроя.
Дополнительно реализовал решение с помощью линейного программирования.
Вначале производится генерация рациональных схем раскроя, затем симплекс-методом находим решение системы, данное решение является оптимальным (использование наименьшего количества заготовок). Далее сводим задачу к максимизации полезного остатка.
Domo -версию программы можно скачать здесь или здесь, она полностью функциональна, доступен расчет с помощью динамического программирования (DP).
Расчет с помощью линейного программирования (LP) отключен.
Также отключена возможность составления и экспорта отчетов.
Можно использовать до 20 различных размеров заготовок и до 90 различных размеров деталей.
Есть возможность задать ширину реза, размер торцевой кромки, размер полезного (делового) остатка, возможность раскраивать в два профиля (если это требуется)
Можно убедиться в эффективности алгоритма раскроя в сравнении с другими программами.
Если будет заинтересованность в алгоритме или потребуется адаптация отчета под ваши требования, то можете обратиться ко мне в личку.
PPS:
Если программа по раскрою окажется полезной и возникнет непреодолимое желания меня отблагодарить, то не откажусь от любого доната
ЯД: 410012329135704
UPDATE, апрель 2022
Выкладываю небольшой калькулятор с примерами, который работает в 3х режимах (быстро, медленно и очень медленно)
т.к. используется внешняя dll, то будет работать только в Excel 32бит MCH
Реализовал собственный алгоритм линейного раскроя в Excel, который основан на решении задачи о рюкзаке (сумма подмножеств) методом целочисленного динамического программирования. Производится генерация различных вариантов раскроя в зависимости от сортировки исходных деталей и заготовок и выбор наилучшего решения.
К достоинству можно отнести - достаточно эффективный результат по сравнению с "жадным" алгоритмом, а также при сравнении с результатом других программ линейного раскроя.
Дополнительно реализовал решение с помощью линейного программирования.
Вначале производится генерация рациональных схем раскроя, затем симплекс-методом находим решение системы, данное решение является оптимальным (использование наименьшего количества заготовок). Далее сводим задачу к максимизации полезного остатка.
Domo -версию программы можно скачать здесь или здесь, она полностью функциональна, доступен расчет с помощью динамического программирования (DP).
Расчет с помощью линейного программирования (LP) отключен.
Также отключена возможность составления и экспорта отчетов.
Можно использовать до 20 различных размеров заготовок и до 90 различных размеров деталей.
Есть возможность задать ширину реза, размер торцевой кромки, размер полезного (делового) остатка, возможность раскраивать в два профиля (если это требуется)
Можно убедиться в эффективности алгоритма раскроя в сравнении с другими программами.
Если будет заинтересованность в алгоритме или потребуется адаптация отчета под ваши требования, то можете обратиться ко мне в личку.
PPS:
Если программа по раскрою окажется полезной и возникнет непреодолимое желания меня отблагодарить, то не откажусь от любого доната
ЯД: 410012329135704
UPDATE, апрель 2022
Выкладываю небольшой калькулятор с примерами, который работает в 3х режимах (быстро, медленно и очень медленно)
т.к. используется внешняя dll, то будет работать только в Excel 32бит Автор - MCH
Дата добавления - 03.02.2016 в 01:49
Читайте также: