Страницы: 1
RSS
Подбор размеров фанерных листов, поиск оптимального решения
 
Друзья форумчане!
Озадачен проблемой подбора оптимальных листов фанеры под разные изделия, для оптимизации затрат.
Как это сделать вручную я представляю, но как это сделать в экселе... уже всю голову сломал.

Суть такая. Есть список изделий с линейными размерами длины и ширины. Есть площадь этого изделия.
Необходимо для всех этих изделий подобрать ОПТИМАЛЬНЫЕ по размерам заготовки, для уменьшения затрачиваемого материала, т.е. по сути уменьшение площади обрези.
Есть ограничения:
1. На одной заготовке можно разместить только изделие ОДНОГО ТИПА, т.е. нельзя например, на заготовке рядом разместить 2 и 9 позиции, только две 2 или две 9.
2. Нельзя менять расположение изделия (вращение) на заготовке "Длина изделия по длине заготовки, ширина по ширине". Связано с особенностями фанеры и режущего инструмента.
2. Необходима возможность ставить ограничение на размер заготовки по длине и ширине.
3. Необходимо задавать количество разных заготовок. Например не одну на все 20 позиций, а 4 или 3.
4. Крайне желательно выделять одним цветом выбранную заготовку и подходящие к ней листы фанеры.

Есть предположение, что это совсем не тривиальная задача, но буду благодарен любой помощи.
Если вы готовы взяться за эту задачу и довести ее до совершенства, готов обсудить условия =)
 
а зачем это делать в экселе, если есть готовые програмки для этого дела?
Например
http://raspilidsp.ru/raskroy/17-programma-raskroya-dsp.html
или если уже совсем профи, то
http://cutting.hmarka.net/
 
Цитата
Dima S пишет: а зачем это делать в экселе, если есть готовые програмки для этого дела?
Отвечу так =)
У нас очень многое в работе завязано на экселе. И программы, которые вы указали, работают немного не так, как нужно. Они берут уже имеющийся лист заготовки и на него накладывают изделия. Но мне же нужно наоборот - для имеющихся изделий выбрать оптимальный лист, для того чтобы его в последствии закупить с минимальными затратами
 
Доброе время суток
Что то вводные не совсем понятны по приложенному примеру. Если первая таблица данные об изделиях. Вторая количество заготовок и их возможные размеры (в примере только один вид заготовок по ширине и длине?). Тогда как связаны в третьей таблице первая и вторая, учитывая ограничение, что на одной заготовке может быть только одно изделие?
 
Отписал в личку. Тема связана с основной работой. Есть понимание нюансов.
Никому не отвечай, кoгда ты зол, ничего не обeщай, когда ты счастлив, никогда нe решай, когда ты грустeн.
 
Цитата
Joiner пишет: Отписал в личку. Тема связана с основной работой. Есть понимание нюансов.
к сожалению не пришло сообщение. не могли бы вы еще раз написать?
Цитата
Андрей VG пишет: Тогда как связаны в третьей таблице первая и вторая, учитывая ограничение, что на одной заготовке может быть только одно изделие?
доброе. Может быть не совсем точно описал суть.
1. Есть различные изделия с размерами. изделия зачастую меняются, увеличивается их количество (может быть до 100 разных в месяц)
2. Есть пределы размеров заготовки, в зависимости от станка. Например, один станок не может взять лист более чем 1600 на 1800 мм., а другой не более 1000*1000. Но ведь на первый станок для оптимизации затрат можно взять заготовки 1500*1700 + 1200*1200.
3. Т.к. заготовки могут маленькие и большие, то лучше под маленькие купить одну заготовку, а для больших - другую. Это специфика работы оборудования.
4. С одной заготовки за один проход через оборудование можно вырезать только один тип изделия. Например, заготовка 1000*1000, то из нее не получится вырезать одно изделие 300*300 и еще одно 400*400. Только 3 изделия 300*300.
5. Нельзя поворачивать изделия на заготовке. (менять местами ширину и длину.
Нюансов много, но я постарался указать самые основные.
 
Цитата
Андрей Прокофьев пишет:
к сожалению не пришло сообщение. не могли бы вы еще раз написать?
Я Вам на E-mail отписал. Дублирую на сайт в личную почту.
Никому не отвечай, кoгда ты зол, ничего не обeщай, когда ты счастлив, никогда нe решай, когда ты грустeн.
 
Коль Joiner, взял в работу, тогда тогда пас. Не буду "мучить" расспросами. Года два назад делал на заказ похожее - по раскройке материи.
Успехов.
 
В таком случае "озвучу" выдержку из правил:
Цитата
Рекомендации для заказчиков:
Не пользоваться услугами случайных исполнителей и новичков, у которых на форуме мало сообщений (меньше 200-300).
 
Цитата
Андрей VG пишет: Года два назад делал на заказ похожее - по раскройке материи.
работа еще не взята, поэтому рассматриваю все предложения о помощи.
Расспрашивайте все, что интересует. Возможно в будущем эта тема кому-то поможет.
 
Цитата
Андрей VG пишет: Коль Joiner , взял в работу, тогда тогда пас.
Я еще не взял. Просто тема родная, по специальности.
Цитата
vikttur пишет: Не пользоваться услугами случайных исполнителей и новичков, у которых на форуме мало сообщений (меньше 200-300).
Выполнил несколько работ. Нареканий на этом сайте нет, как впрочем и на других. Программирую с 1984 года. Еще на перфокартах начинал. А малое количество сообщений может быть следствием банальной нехватки времени. Извините уж.
Никому не отвечай, кoгда ты зол, ничего не обeщай, когда ты счастлив, никогда нe решай, когда ты грустeн.
 
Это не я пишу. Правила гласят.
И не запрет - предупреждение для заказчика.
 
Цитата
Joiner пишет:
А малое количество сообщений может быть следствием банальной нехватки времени. Извините уж.
Нехваткой помочь бесплатно на форуме, надо полагать :-) Не принимайте близко к сердцу, ниже пояснения.

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

И если чуть дополнить: Вы, по крайней мере, не поступаете так, как некоторые "ниндзя" - Вы не скрываете тот факт, что предложили свои услуги. Следовательно мы все хотя бы знаем, кто еще на заказ претендует. А вот "ниндзя" - не афишируют свою деятельность и тупо шлют предложения услуг на почту заказчику никого не уведомляя. Я называю их "ниндзя", Витя - крысы. Каждый свое придумал :-)


Оговорка: сам очень редко беру здесь заказы. За все время только 2 выполнил(из интереса). Т.к. хватает своих, со своего сайта :-)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
The_Prist пишет:
сам очень редко беру здесь заказы. За все время только 2 выполнил(из интереса). Т.к. хватает своих, со своего сайта :-)
Дмитрий, может возьметесь за эту задачу в виде исключения? Вы мне не раз помогали на форуме, когда я еще только начинал осваивать простейшие возможности Эксель. С этой задаче сам справиться не могу, в виду отсутствия навыков и знаний.
 
Цитата
Андрей Прокофьев пишет:
4. С одной заготовки за один проход через оборудование можно вырезать только один тип изделия. Например, заготовка 1000*1000, то из нее не получится вырезать одно изделие 300*300 и еще одно 400*400. Только 3 изделия 300*300.
5. Нельзя поворачивать изделия на заготовке. (менять местами ширину и длину.
Данные ограничения существенно облегчают задачу.

Делал похожую задачу по линейному раскрою.
Пример работы программы можно посмотреть здесь: https://yadi.sk/d/Zp8P7XdydEvo7
(файл лучше скачать)
Программа рассчитывает раскрой не хуже CuttingLine (в ряде случаев - лучше).

Двумерный раскрой на порядок сложнее по алгоритму, но указанные ограничения позволяют упростить алгоритм выбора.
Каков бюджет и сроки?
Сейчас занят, но через неделю смогу взяться.

Есть еще вопросы:
Нужно ли учитывать ширину реза?
Можно ли из одного листа 1000х1000 вырезать 6шт по 300х300 и 2шт 400х400 или только 9шт 300х300?
Ну и будет множество вопросов при реализации.

Пишите, почта в профиле.
 
Цитата
Андрей Прокофьев пишет:
Дмитрий, может возьметесь за эту задачу в виде исключения
К сожалению довольно забит сейчас график. До конца недели не смогу даже вникнуть, т.к. есть заказы, которые надо выполнить до конца недели. Всю следующую неделю веду тренинги и времени вообще не останется.
Следовательно взяться смогу не ранее чем через неделю.
При таком раскладе - я советовал бы обратиться к МСН - он на всяких там раскроях собаку съел :-) И очень профессионально сможет решить эту задачу, я полагаю.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Joiner пишет: Программирую с 1984 года. Еще на перфокартах начинал.
А сейчас на чём программируете? На Фортране? Или Коболе? Что-то мне подсказывает, что Вам должно было быть легко изучить VBA.
There is no knowledge that is not power
 
Доброе время суток
Цитата
4. Крайне желательно выделять одним цветом выбранную заготовку и подходящие к ней листы фанеры.
Всё же не понятно что такое лист фанеры, заготовка и изделие, и какая между ними связь?
Вариант на формулах (если устроит, то используйте) из предположения, что
1. заготовка=лист фанеры
2. на заготовке можно выложить изделия только одного вида. Выложить изделия можно только в одной ориентации (то есть все по длине или только все по ширине).

Понимаю, что формульный вариант требует ручного сопровождения, но за более удобный вариант на макросах не возьмусь в силу недостатка времени и нестыковки по часовому поясу +6 с Москвой, Skype в силу низких скоростей нет интернета. Так что если нужно именно на макросах, то договаривайтесь с Михаилом MCH.
Успехов.
 
Цитата
Johny пишет:
А сейчас на чём программируете? На Фортране? Или Коболе? Что-то мне подсказывает, что Вам должно было быть легко изучить VBA.
Шутка удалась. Перечисляю в порядке очередности. Фортран IV, Паскаль, dBase III, Clipper 5, FoxPro 2-3 версии, ну и естесно за весь период множество вариаций любимого всеми нами Basic-а. Ну и апофеоз - VBA, VB.net. Балуюсь PHP, ASP.net, JavaScript, VBScript. Eще пользую AutоIt (прикольная вещь, советую, кто не слышал). Ааа... еще забыл программируемый калькулятор (было такое в 80-х).
Изменено: Joiner - 13.02.2015 09:07:43
Никому не отвечай, кoгда ты зол, ничего не обeщай, когда ты счастлив, никогда нe решай, когда ты грустeн.
 
Друзья, разрешите поднять тему, т.к. выполнение работы еще требуется. Был в отъезде, не мог заняться этим вопросом.
 
Я набросок сделал, кому надо используйте для дальнейшей работы.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
Страницы: 1
Наверх