Вход | Регистрация


О жизни... ::

Метки: 

OFF: Пятничная задачка - как раскроить панели без обрезков?

Я
   Dotoshin
 
17.08.18 - 09:07
Добрый день, коллеги.
Помогите решить прикладную задачку. На рисунке изображен потолок балкона.
https://drive.google.com/file/d/1MAmOT1doV1RHlhvXq5rTsxfbti8cstXD/view?usp=sharing

Этот потолок нужно обшить панелями. Размер панели 3000 х 250 (но ширина панели в этой задаче роли не играет). Для обшивки необходимо разрезать панели на части. Эти части, вместе с размерами изображены на картинке. Так как потолок имеет сложную форму, эти части получаются разными по длине. Подскажите пожалуйста, как раскроить панели так, чтобы не было обрезков (это в идеале) или чтобы минимизировать обрезки (более реальный вариант)?
Может кто-то уже решал подобную задачу? В интернете полно методик и алгоритмов оптимизации и минимизации, но нет (или я не нашел) готовых решений для моей задачи. Я конечно же могу написать какой-то алгоритм подбора, но работать он будет ооооочень долго (больше триллиона комбинаций), да и на его написание и отладку потребуется какое-то время. В общем это будет из пушки по воробьям.
То есть интересует какое-то решение, легко применимое на практике.
Ну возможно какой-то не сложный алгоритм, который можно реализовать на коленке в Экселе за 15 минут.
 
 
   1Сергей
 
1 - 17.08.18 - 09:12
У тебя выпуклые грани. Без обрезков не получится
   Dotoshin
 
2 - 17.08.18 - 09:15
(1) Ну это неизбежные обрезки. Даже если бы они были не выпуклые, то совсем без обрезков вряд-ли получится. Хотелось бы их минимизировать.
   Dotoshin
 
3 - 17.08.18 - 09:17
+ (2) Для упрощения считаем, что все куски прямоугольные.
   vova1122
 
4 - 17.08.18 - 09:26
(0) некрасиво будет если делать стык полос по длине. Нужно одну полосу на всю ширину балкона. Поэтому отходов будет больше чем предполагаешь
   Доктор Манхэттен
 
5 - 17.08.18 - 09:29
Вырежи из бумаги уменьшенную копию, разложи на столе и комбинируй. Найдешь какой-то оптимальный вариант довольно быстро.
   Вася Теркин
 
6 - 17.08.18 - 09:29
Cutting3
   Вася Теркин
 
7 - 17.08.18 - 09:30
Сам ищи в гугле, здесь ссылки на варез давать нельзя
   Вася Теркин
 
8 - 17.08.18 - 09:31
(5) Нет,лучше пусть с пластелина лепит и сюда фотку выложит.
   Dotoshin
 
9 - 17.08.18 - 09:31
(4) Если делать в длину, такие куски во первых сложней монтировать, во вторых длина балкона больше длины панелей и все равно придется стыковать - будет еще некрасивей.
   Dotoshin
 
10 - 17.08.18 - 09:32
(7) Я не прошу ссылки. Я прошу методику.
 
 Рекламное место пустует
   dmpl
 
11 - 17.08.18 - 09:33
(0) Делай так, чтобы сумма длины 2 или 3 элементов была максимально близка к 3000 (например, остается обрезок не более 5 см). Убирай эти кусочки из общей кучи. Ну и так пока не расположишь все куски. Далее смотри, сколько лишних панелей требуется. Если ни одной лишней - считай задача решена.
   vova1122
 
12 - 17.08.18 - 09:33
(9) Под длиной и имел ввиду сторону с размером 1560
   Dotoshin
 
13 - 17.08.18 - 09:33
(8) Могу фотку выложить, когда потолок сделаю.
   1Сергей
 
14 - 17.08.18 - 09:35
(11) так это ж рюкзачок :)
   Dotoshin
 
15 - 17.08.18 - 09:35
(11) Еще бы методику подбора элементов, цены б не было твоему совету. В это все и упирается, что слишком много комбинаций.
   Вася Теркин
 
16 - 17.08.18 - 09:36
(11) Программа примерно так и делает, не поверишь.
(10) За что ты презираешь программы? Программа и есть методика.
   vova1122
 
17 - 17.08.18 - 09:37
(0) к тому же тебе не нужно идеально выйти в ноль по остаткам материала. Несколько лишних полос тебя не обанкротят. По рисунку расчитай длинну каждой полосы (с запасом на неровность стены, неровность обреза) И потом комбинируй эти длины. ( у тебя же не будет Миллион полос. Можно и вручную скомбинировать)
   Вася Теркин
 
18 - 17.08.18 - 09:38
(13) Выложи фотку когда программу Cutting установишь, блин, сейчас сам твои размеры забью и ответ тебе покажу
   Dotoshin
 
19 - 17.08.18 - 09:39
(18) Ок, давай. такой вариант тоже подойдет.
   s03
 
20 - 17.08.18 - 09:40
(10) самая оптимальная методика - разрезаешь свои панели на мааааааленькие кусочки и собираешь аки из мозаики
   Dotoshin
 
21 - 17.08.18 - 09:40
(17) 15 кусков - это больше триллиона комбинаций.
   zenik
 
22 - 17.08.18 - 09:42
625+710 + длинная - одна панель
795+880 + длинная - вторая панель
1050+965 + 700 - еще панель.
700+700 + длинный кусок
остальное пополам.
Просто на практике идеально вымеренное не сделаешь - запутаешься быстрее.
   dmpl
 
23 - 17.08.18 - 09:43
(15) У тебя общая длина 15,21 м. Соответственно, ты купишь 6 панелей длиной 18 м. Далее чисто интуитивно складывай. Найдешь какое-то решение. Узнаешь, какие обрезки остаются - и решишь, устраивает тебя это, либо надо перекомбинировать панели, чтобы получить обрезок большей длины (т.е. который может куда-то еще пригодиться).
   Михаил Козлов
 
24 - 17.08.18 - 09:43
Делайте жадным алгоритмом: упорядочив по убыванию длины, подбираете, пока влезает. Если получатся большие остатки - попробовать улучшить.
   Вася Теркин
 
25 - 17.08.18 - 09:44
Херня, 6 полос
880+625+700+700
1305+965+710
1050++1220+700
1560+1390
1135+1475
700
   Вася Теркин
 
26 - 17.08.18 - 09:45
1 обрезок 390 и 1 обрезок 2300
   Вася Теркин
 
27 - 17.08.18 - 09:45
Лучше не получится.
   Вася Теркин
 
28 - 17.08.18 - 09:45
Только один оптимальный вариант
   1Сергей
 
29 - 17.08.18 - 09:45
ширину распила не учитываем?
   Вася Теркин
 
30 - 17.08.18 - 09:45
4 мм
   Dotoshin
 
31 - 17.08.18 - 09:46
(29) Можно не учитывать - пластик можно ножом разрезать.
   1Сергей
 
32 - 17.08.18 - 09:48
(25) Похоже на правду. Проверять я, конечно же, не буду :)
   Dotoshin
 
33 - 17.08.18 - 09:48
+ (31) Даже если пилить ножовкой, то края-то все равно уголком закрывать, так что плюс/минус миллиметр роли не играет.
 
 
   Dotoshin
 
34 - 17.08.18 - 09:48
(25) Спасибо. Все примерно так и есть.
   helg66
 
35 - 17.08.18 - 09:49
1560+ 1390
1470+700+700
1305+710+965
1220+8/80+700
1135+1050+795
625
   Вася Теркин
 
36 - 17.08.18 - 09:49
(32) Каттинг лучший в мире для всяких ДСП
   vova1122
 
37 - 17.08.18 - 09:50
(21) Сколько там у тебя полос будет? 50 полос максимум. Вручную можно перебрать длинны, интуитивно
   Вася Теркин
 
38 - 17.08.18 - 09:50
(35) 1220+880+700 - не оптимально.
   Dotoshin
 
39 - 17.08.18 - 09:52
(37) Полос будет 15. Интуитивно не интересно, интересно минимизировать обрезки.
   vova1122
 
40 - 17.08.18 - 09:53
(39) тебе предложили 2 варианта. Всеравно в любом случае нужно 6 полос как не крути
   dmpl
 
41 - 17.08.18 - 09:54
(25) [режим зануды] Где 795?
   helg66
 
42 - 17.08.18 - 09:55
остатки в мм
1-50
2-130
3-20
4-200
5-20

самое что ни есть оптимальное. : доска запасная а то вдруг после пивасика не так померяещь:)
   dmpl
 
43 - 17.08.18 - 09:55
(38) Зато остается обрезок 2375, а не 2300.
   Вася Теркин
 
44 - 17.08.18 - 09:56
(41) В первом неправильно перепечатал:
880+625+795+700
1305+965+710
1050++1220+700
1560+1390
1135+1475
700
   helg66
 
45 - 17.08.18 - 09:57
на стройку один хрен надо с запасом брать, а то потом цвет хрен подберешь из другой партии. я в 2013 ламинат у себя стелил так на гардеробе 3 пачки до сих пор лежит
   dmpl
 
46 - 17.08.18 - 09:58
(39) Эти задачи за приемлемое время решаются именно что интуитивно. Т.е. с нечеткой логикой.

(44) Первая панель ровно 3000, на распил нет запаса.
   Вася Теркин
 
47 - 17.08.18 - 10:00
Да, Супер оптимизация.
   helg66
 
48 - 17.08.18 - 10:02
в (44) отходов 490 мм - 5 досок
у меня 420 мм - 5 досок
   Вася Теркин
 
49 - 17.08.18 - 10:03
Экологичненько...
 
 Рекламное место пустует
   Вася Теркин
 
50 - 17.08.18 - 10:05
Если сантиметрами меряться то у меня длиннее. Я выиграл
   helg66
 
51 - 17.08.18 - 10:08
В старые добрые времена, когда компьютеры еще кушали перфокарты, а я занимался остеклением балконов такие задачи решались каждый день на рынке(на свои вагонку покупал), причем без мозга...как то само и так складывалось
   ink-nsk
 
52 - 17.08.18 - 10:20
(0) В задаче не хватает длины минимального куска
Данное условие уменьшит количество решений и обрезков
   ink-nsk
 
53 - 17.08.18 - 10:22
+(52) плюс ограничение по количеству стыков по длине, ещё урежет количество решений.

Короче когда полностью поставишь задачу, там уже не будет триллион вариантов.
   ink-nsk
 
54 - 17.08.18 - 10:36
(0) помню ложил в квартире доску паркетную, два цвета.
рассчитал в Екселе с учетом коробки 227 см и 115 см. Точные размеры уже не помню ну короче в длинной и короткой упаковке Таркет. По подсчетам покупка длинной упаковки с условием полных коробок давало преимущество.
Купил, привез, начал укладку. Первую коробку вскрыл - всё нормально, вторую вскрыл, а там вместо двух длинных - 4 коротких. Упс.....
Пришлось пересчитывать с учетом вновь открывшихся обстоятельств. :)
   Dotoshin
 
55 - 17.08.18 - 10:40
(52) Там на картинке все куски есть, как минимальные, так и максимальные. А триллион вариантов - это количество всех перестановок для 15-ти кусков, если решать задачу тупым перебором.
   ink-nsk
 
56 - 17.08.18 - 10:41
2(45)Запасливый. :)
Мне плитку в ванну считали с запасом - две коробки до сих пор в гараже валяется, всё везде пересчитывал сам.
   ink-nsk
 
57 - 17.08.18 - 10:45
(55) Ты не понял. Почитай рекомендацию например по укладки ламината. Там ты поймешь про минимальный кусок.
Про количество стыков - это минимально или максимально (а панели стыкуются по длине?)
И начать укладку можно с трёх точек - лево, право и с произвольной в две стороны (третий вариант может быть технически не возможен) Старт определяет дальнейшую логику.
   ink-nsk
 
58 - 17.08.18 - 10:49
2(55) В реале не поверю про триллион вариантов.
По опыту выкладки плитки, паркета, ПВХ плитки, обоев - оптимальное решение - одно.
   Dotoshin
 
59 - 17.08.18 - 10:49
(56) У меня с плиткой тоже прикол получился. В магазине все посчитали с небольшим запасом. Должно было остаться несколько плиток. Пришел мастер, выложил плитку, осталась лишняя коробка. Вот так вот он соптимизировал, без потери качества :)
(57) Да все я понял. Панели по длине не стыкуются - смотри рисунок. У меня укладывать либо слева направо, либо справа налево, других вариантов нет.
   Dotoshin
 
60 - 17.08.18 - 10:51
(58) В реале триллион вариантов никто и не собирался перебирать :)
   ink-nsk
 
61 - 17.08.18 - 10:54
2(59) Если панели по длине не стыкуются то решение то одно
Сначала режутся длинные более 1/2 длины панели и понеслось в низ.
Или ты хочешь получить СЛУ по данной задаче?
   Dotoshin
 
62 - 17.08.18 - 10:56
(61) Я хочу сэкономить :)
   ink-nsk
 
63 - 17.08.18 - 10:58
2(62) Если не стыкуются, то врятли.
Просто если стыкуются, там немного другая логика, плюс левый/правый кусок для стыка
   Dotoshin
 
64 - 17.08.18 - 10:58
+ (62) в (44) и (35) уже все посчитали. Похоже у меня лишняя панель останется.
   ink-nsk
 
65 - 17.08.18 - 10:59
(62) Сейчас подумал что может есть какое то СЛУ плюс решение к нему по оптимизации, но там ширина важна будет.
   ink-nsk
 
66 - 17.08.18 - 11:03
(64) есть же ещё нюанс по укладке, т.е. первая 250 а последняя 50, Этетичнее положить 2 по 150.
   Dotoshin
 
67 - 17.08.18 - 11:05
(66) Нету там никаких нюансов, от слова совсем. Посмотри на картинку.
   dmpl
 
68 - 17.08.18 - 11:06
(62) Тогда сократи панели на 1 см с каждой стороны и режь 5 панелей :)
   Dotoshin
 
69 - 17.08.18 - 11:08
(68) Это как? В чем магический смысл?
   Dotoshin
 
70 - 17.08.18 - 11:10
+ (69) А, наверно понял твою мысль...
Экономия не получится. Нужно целую панель сэконмить, чтобы обратно в магазин сдать.
   dmpl
 
71 - 17.08.18 - 11:13
(69) Тогда общая длина получится меньше 15 м, и, теоретически, будет существовать решение как разрезать 5 панелей.
   ink-nsk
 
72 - 17.08.18 - 11:14
(67) по ширине, потому что всегда прикидывают с какой ширины начать, чтобы в конце не закончить 5см шириной
   Dotoshin
 
73 - 17.08.18 - 11:20
(72) Ну я высчитаю ширину крайних панелей и обрежу их. Спасибо за подсказку, что-то я упустил этот момент из виду, но в любом случае количество кусков не изменится, так как их общая длина больше длины балкона. Просто надо будет резать не только последний, но и первый кусок. Еще раз спасибо за подсказку :)
   Dotoshin
 
74 - 17.08.18 - 11:22
+ (73) А обрезать я могу только крайние куски, так что даже если получится 5 см, то никуда не денешься, придется оставлять как получилось.
   dmpl
 
75 - 17.08.18 - 11:26
(74) Если останется 5 см - кривизна стены даже на 1 см будет очень видна. Поэтому стараются оставлять куски максимальной ширины.
   ink-nsk
 
76 - 17.08.18 - 11:27
(73) Да по количеству не изменится, но если выступ учтешь без хвоста, то тут можно сэкономить. Т.е. манипулируешь первым и последним так чтобы выступ был без хвоста, и не нарушить какой-нибудь эстетический/технический мин
   Dotoshin
 
77 - 17.08.18 - 11:29
(75) Там по краям будет стартовый профиль, он ляжет на стену со всеми ее изгибами, так что ничего страшного. Кроме этого крайние куски будут короткие.
   ink-nsk
 
78 - 17.08.18 - 11:31
(77) Я не понял мы один тип балкона рассматриваем, или задачка гипотетическая с произвольным примером?
   Dotoshin
 
79 - 17.08.18 - 11:32
(78) Задача вполне конкретная, с конкретным балконом. Все же нарисовано на картинке...
   ink-nsk
 
80 - 17.08.18 - 11:36
2(79) ну тогда я то решил что балкон может быть другой.
Так тебе просто эту задачу рассчитать?
Тогда размеры давай точные
   Dotoshin
 
81 - 17.08.18 - 11:37
(80) Так уже посчитали (44) и (35)
   ink-nsk
 
82 - 17.08.18 - 12:25
(81) Теперь то я понял, что пример конкретный и количество полос указано.
Я думал ты для конторы ваяешь, под любой балкон.
Тут то и вспомнился опыт раскладки в Эксели всего ремонта
   Обработка
 
83 - 17.08.18 - 12:58
Вот что значить иногда ум мешает работе.
Если искать алгоритм будешь долго искать.
Мой брат делает мебель он без всякого там алгоритма быстро все и без отходов (или минимальными) делает разрезы.
Он в математике не силен.
Правда архитектурный заканчивал, но был троечником.
Самый верный самому быстро подобрать оптимальные разрезы
   Dotoshin
 
84 - 03.09.18 - 08:52
(8) Вот фотка того, что получилось.
https://drive.google.com/open?id=1MoeatMGi6ih-9DsC6r9q4x20azialEYv
Спасибо всем за помощь.



Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует