Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2014, 12:34   #1
leones911
 
Регистрация: 13.01.2014
Сообщений: 9
По умолчанию интересная головоломка

Существуют раскройные программы для различных материалов (листовых или же линейных). Вот возникла потребность в раскрое линейных материалов. Ручками это можно сделать и не сильно сложно, но тут возникает мысль, а как же это описать математически и загнать в макрос Exel. В общем суть задачи такова: Имеется материал определенной длины, назначим длину 7000 мм (условно назовем его палкой). Есть N-ное количество деталей которые надо нарезать с таких палок (понятное дело детали не могут превышать общую длину палки). детали могут повторятся. если табличкой, то это я вижу так

номер детали длина детали количество деталей
1 a x
2 b y
... .... ....
r c p

Вот каким образом можно описать математически что бы производился пересчет деталей всеми вариантами или задать количество итераций вручную. определялась наиболее аффективная раскладка деталей на палках. и выводилось табличкой что на первой палке такие то детали лежат, на второй-такие то и т.д.
Может это и уже избитый алгоритм, но меня он зацепил. Помогите если не сложно
leones911 вне форума Ответить с цитированием
Старый 15.01.2014, 13:42   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

http://www.planetaexcel.ru/forum/?PA...ID=8&TID=35453
может что-то подберёте - я не вникал.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 15.01.2014, 15:02   #3
leones911
 
Регистрация: 13.01.2014
Сообщений: 9
По умолчанию

спасибо большое за ссылку, полазив по страничкам, я понял что в EXEL c VBA это не решаемая задача, остается считать все ручками как в старинку))
leones911 вне форума Ответить с цитированием
Старый 15.01.2014, 15:35   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
понял что в EXEL c VBA это не решаемая задача
Не факт. Не наиболее оптимальное, но приближенное к оптимальному решение и Excel может подсказать. В качестве примера http://msexcel.ru/content/view/128/1/
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 15.01.2014, 16:03   #5
leones911
 
Регистрация: 13.01.2014
Сообщений: 9
По умолчанию

Да вряд ли это поможет. Расстроился конечно, но жизнь такова что всегда есть доля огорчений.
большое количество размеров перебирать надо
вот к примеру что приходится в длину 7000мм разложить
1____875мм____111шт
2____950мм______9шт
3____975мм_____45шт
4___1025мм_____18шт
5___1100мм_____18шт
по итогу это 201 деталь, соответственно не мыслимое кол-во вариантов для перебора.
придется делать раскрой в 2D Place, потом переносить результат в табличку Exel, а потом уже обрабатывать. интересно конечно понять алгоритм работы раскройной программы, к тому же там кол-во итераций можно задавать самому.
leones911 вне форума Ответить с цитированием
Старый 15.01.2014, 16:11   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Расстроился конечно, но жизнь такова что всегда есть доля огорчений
Прежде чем расстраиваться можно и попробовать. Чем черт не шутит, а вдруг вполне решаемо получится. Да и сомневаюсь, что Excel делает полный перебор.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 15.01.2014, 16:22   #7
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Ну почему - можно поискать "задачи о рюкзаке"

http://www.planetaexcel.ru/forum/?PA...ID=8&TID=31231
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 15.01.2014, 17:47   #8
leones911
 
Регистрация: 13.01.2014
Сообщений: 9
По умолчанию

опять мысли побежали)))
плохо что я еще математически себе не совсем представил решение задачи
но благодаря суммам чисел натолкнулся на размышления. Я так понимаю надо будет перебрать возможные комбинации сложения, вычесть их размера условия (в моем варианте от 7000), выбрать наименьший остаток. а потом с массива как то выкинуть уже использованные числа и продолжать в таком плане перебор до финиша.
но опять же перебор дольше и затратнее по ресурсам, применимо ко мне много размеров повторяются и можно сравнением выделить идентичные наборы чисел, соответственно убрав их с массива.
и повторить эти операции до завершения оставшихся чисел.
но очень смущает количество чисел в 200+ штук
leones911 вне форума Ответить с цитированием
Старый 15.01.2014, 19:20   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

задачу надо будет решать в 2 этапа

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

2. для каждого варианта раскроя поставить количество

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

задача действительно интересная.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 15.01.2014, 19:25   #10
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Прежде чем расстраиваться можно и попробовать. Чем черт не шутит, а вдруг вполне решаемо получится. Да и сомневаюсь, что Excel делает полный перебор.
Аватар, ну порадовал! 100!
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
головоломка lblondy Помощь студентам 0 12.05.2011 13:14
Головоломка Vali_T Помощь студентам 9 24.05.2008 12:30
головоломка =) Exo Microsoft Office Excel 4 14.04.2008 17:06
интересная головоломка Vereshagina Помощь студентам 9 11.03.2008 10:16
Головоломка! Selena SQL, базы данных 1 14.11.2007 11:43