"задача о ранце" для раскроя

iskatelsql
Дата: 27.05.2011 13:29:41
нужно покроить заготовки на детальки (только по длине нарезать) для этого подходит задача о ранце, код которой я нагло стянул из википедии http://ru.wikipedia.org/wiki/Задача_о_рюкзаке "Задача о ранце с возможностью единичного выбора предмета", немного усовершенствовав чтоб выдавал список разложенных деталей.

проблема кроется в том, что пила тоже имеет толщину, в моем случае 4 мм идет на распил, и вот ума не приложу куда можно эти 4 мм запихать в алгоритм. если прибавить к каждой детальке - то получистя нехорошо когда заготовка например 1200 а детали 598 - т.е аккурат ложаться на заготовку, а если к каждой прибавить по 4 мм, то не влезут...

не встречал кто нибудь алгоритм с учетом толщины пИла?
Gwa
Дата: 27.05.2011 13:36:46
iskatelsql,
Дык.. Прибавьте к каждой по 2 мм..
iskatelsql
Дата: 27.05.2011 13:39:27
Gwa,

ну а если влезет 3 детали? 2*3 = 6 а два пИла = 8
-----------//-----6? 2*6 = 12 а 5 пИлов = 20.
Gwa
Дата: 27.05.2011 13:57:14
iskatelsql,
не знаю что Вы там кроите, но в реальном производстве (раскрой стекла, например)
край заготовки всегда обрезается и даже с большим допуском чем на распил..
И это очень разумно..
iskatelsql
Дата: 27.05.2011 14:23:51
Gwa,

у нас заготовки с чистовой обработкой краев, обрезать не надо, а вот ситуация когда детали вписываются в заготовку + пропил весьма вероятна т.к. конструктора знают размер заготовок :) так что ползагогтовки в отход из за неверного рассчета не вариант, нужно 4 мм засовывать


хотя идея появилась... к заготовке тоже прибавить 4 мм. и тогда вроде все срастается, надо проверять
Anatoly Podgoretsky
Дата: 27.05.2011 14:29:33
Неправильно, к крайней заготовке не надо прибавлять

1|2|3
iskatelsql
Дата: 27.05.2011 14:44:05
Anatoly Podgoretsky,

ну так вроде сходится если по 4 мм прибавить ко всем деталям и к заготовке...

резов ведь всегда на 1 меньше чем заготовок - вот этот 1 лишнеприбавленный рез и компенсируется увеличением заготовки на величину 1 реза. или я опять запутался?
iskatelsql
Дата: 27.05.2011 14:46:23
точнее резов ведь всегда на 1 меньше чем деталей
S.G.
Дата: 28.05.2011 10:43:06
iskatelsql
нужно покроить заготовки на детальки (только по длине нарезать) ...
не встречал кто нибудь алгоритм с учетом толщины пИла?
Это что-то типа длинного цилиндра, которого нарезают на маленькие цилиндры?
добавьте 4 мм с одной стороны каждой детали, и еще увеличьте заготовку на 4 мм.
S.G.
Дата: 28.05.2011 10:45:05
S.G.
...и еще увеличьте заготовку на 4 мм.
.. то есть, увеличьте величину заготовки для расчета , не реальную, конечно