|   |   | 
| 
 | Теория графов: аналоги задачи коммивояжера | ☑ | ||
|---|---|---|---|---|
| 0
    
        andrewalexk 23.08.22✎ 20:37 | 
        :)
 можно ли свести к теории графов задачу об оптимальном расположении маленьких квадратиков х(i) на большом квадрате х(0)? | |||
| 1
    
        БигБаг 23.08.22✎ 21:00 | 
        Это вроде задача упаковки рюкзака.     | |||
| 2
    
        RomanYS 23.08.22✎ 21:10 | 
        (0) так задачу озвучь. Как минимум не понятны критерии оптимальности. У квадратиков есть вес?     | |||
| 3
    
        sqr4 23.08.22✎ 21:13 | 
        брутфорси     | |||
| 4
    
        PR 23.08.22✎ 21:52 | 
        (1) Причем здесь рюкзак?
 Задача оптимального раскроя | |||
| 5
    
        Йохохо 23.08.22✎ 21:55 | 
        (4) при чем здесь раскрой если ТС про упаковку?     | |||
| 6
    
        PR 23.08.22✎ 21:58 | 
        (5) Где ты прочитал слово упаковка?
 Я вот в (0) прочитал про маленькие и большие квадратики и это все, квадратики, замечу, а не кубики | |||
| 7
    
        andrewalexk 23.08.22✎ 22:36 | 
        :)
 если взять квадратик как частный случай прямоугольника и мерность пространства = 2 то может и упаковка и рюкзака зы вес неважен | |||
| 8
    
        Garykom гуру 23.08.22✎ 22:45 | 
        (0) Нет это задача раскроя     | |||
| 9
    
        Garykom гуру 23.08.22✎ 22:45 | 
        (8)+ Задачи раскроя не относятся к комми или рюкзаку     | |||
| 10
    
        Garykom гуру 23.08.22✎ 22:47 | 
        (9)  тьфу задача раскроя не относится к коммивояжеру, это рюкзак/ранец     | |||
| 11
    
        Garykom гуру 23.08.22✎ 22:48 | 
        (9)+ хотя должен уточнить что если раскрой производится разными инструментами то получается коммивояжер     | |||
| 12
    
        polosov 23.08.22✎ 23:11 | ||||
| 13
    
        PR 23.08.22✎ 23:12 | 
        (7) Задача упаковки двухмерного рюкзак — это задача раскроя, но да, ничего не мешает называть эту задачу как угодно, например, задача поиска смысла во вселенной или задача максимизации изнасилования мозга окружающим     | |||
| 14
    
        БигБаг 23.08.22✎ 23:13 | 
        (7) Список вариантов задачи об упаковки рюкзака: https://ru.wikipedia.org/wiki/Список_задач_о_рюкзаке     | |||
| 15
    
        PR 23.08.22✎ 23:14 | 
        (14) Не мешай человеку, у него свой глоссарий и свои инструменты     | |||
| 16
    
        БигБаг 23.08.22✎ 23:15 | 
        (15) Можно проще назвать: задача о комбинаторной оптимизации. Не ошибетесь.     | |||
| 17
    
        PR 23.08.22✎ 23:16 | 
        (16) Не усложняй, просто задача     | |||
| 18
    
        БигБаг 23.08.22✎ 23:20 | 
        Но является ли это теорией графов, я наверняка не знаю. Теория графов это вроде подмножество комбинаторики.     | |||
| 19
    
        Guk 24.08.22✎ 00:01 | 
        (18) теория графов, это теория графов. при чем тут комбинаторика? комбинаторика вообще другой раздел математики...     | |||
| 20
    
        БигБаг 24.08.22✎ 00:42 | 
        (19) поиски по графу имеет комбинаторную размерность.     | |||
| 21
    
        andrewalexk 24.08.22✎ 07:07 | 
        (15) :) не я же начал вводить новые термины     | |||
| 22
    
        andrewalexk 24.08.22✎ 07:08 | 
        (20) :) тогда можно приплести высшую математику раздел матрицы и нео     | |||
| 23
    
        Йохохо 24.08.22✎ 08:53 | 
        (17) с ":)" есть только потребность рассказать, что нет просто задач     | |||
| 24
    
        АгентБезопасной Нацио 24.08.22✎ 08:55 | 
        Так что является критерием оптимальности?     | |||
| 25
    
        mistеr 24.08.22✎ 09:05 | 
        (24) Это часть задачи. Как обычно в жизни. :)     | |||
| 26
    
        RomanYS 24.08.22✎ 09:10 | 
        (24) наиболее вероятно критерием является вес пропорциональный площади квадратов, но ТС утверждает, что "вес неважен"     | |||
| 27
    
        Михаил Козлов 24.08.22✎ 09:47 | 
        (0) Т.к. задача коммивояжера - NP полная задача, то свести можно. Только зачем?     | |||
| 28
    
        andrewalexk 24.08.22✎ 10:39 | 
        (27) :) намекаешь что через матрицы проще?     | |||
| 29
    
        andrewalexk 24.08.22✎ 10:40 | 
        (26) :) ну квадраты это я неточно выразился - прямоугольники т.е. критерий - периметр и площадь     | |||
| 30
    
        Михаил Козлов 24.08.22✎ 10:53 | 
        (28) Сформулируйте задачу содержательно. Например, нужно материал размером ШхД нарезать на такие-то прямоугольники.
 Или есть набор прямоугольников и полоса материала такой-то ширины. Нужно нарезать, минимизировав отходы. Такие задачи пытались решать с незапамятных времен. | |||
| 31
    
        RomanYS 24.08.22✎ 10:59 | 
        (29) >> периметр и площадь
 озвучь уже задачу. | |||
| 32
    
        andrewalexk 24.08.22✎ 11:00 | 
        :)
 a(i) х b(i)-> а(0) х b(0) оптимизация упаковки/раскроя/... | |||
| 33
    
        Михаил Козлов 24.08.22✎ 11:57 | 
        Наверное, прямоугольники можно еще и вращать (т.е. подходит b(i) x a(i))). 
 Попробуйте поискать в инете. Делал похожее давно (неявный перебор методом ветвей и границ) для раскроя нестандартных кровельных элементов. Результат был не ахти. Еще вопрос: размеры прямоугольников совсем свои для каждой задачи или более-менее стандартные? | |||
| 34
    
        СеменовСемен 24.08.22✎ 12:31 | 
        (33) такую задачу даже запросом решали     | |||
| 35
    
        andrewalexk 24.08.22✎ 14:06 | 
        (33) :) скажем так я упрости задачу - высота у всех одна- только вертикальное расположение
 размеры в справочнике - могу тупо обработкой подобрать - их всего полтыщи но хотелось красиво а то блин столько в универе проходили а в 1с не пригодилось почти | |||
| 36
    
        Timon1405 24.08.22✎ 14:11 | 
        (34) да еще и в 3D https://infostart.ru/1c/articles/267268/     | |||
| 37
    
        Михаил Козлов 24.08.22✎ 14:12 | 
        (35) Верно ли понимаю, что нужно в прямоугольник заданных размеров накидать сколько можно прямоугольников (с одинаковой высотой) из массива, минимизировав отход?
 Не понял насчет "...могу тупо обработкой подобрать" - подбирая по какому-то принципу? | |||
| 38
    
        Михаил Козлов 24.08.22✎ 14:17 | 
        (35) Статью в (36) имеет смысл глянуть, хотя в ней о сути алгоритма всего одна фраза. Для 2-мерного случая (особенно, если высота у всех одинаковая) жадный алгоритм может оказаться вполне приемлимым.
 Попробуйте для своей задачи сформировать критерий упорядочивания. | |||
| 39
    
        andrewalexk 24.08.22✎ 14:21 | 
        (37) :)
 да перебором что-то типа пока сумма х(i)<х(0) цикл потом +минимум по х(i+1)...х(к) | |||
| 40
    
        Михаил Козлов 24.08.22✎ 14:34 | 
        (39) Это похоже на жадный алгоритм в одномерном ранце (если сначала упорядочено по x(i) по убыванию).
 Еще может быть важно, как будут кроить: может резать можно только на всю ширину (гильотина). | |||
| 41
    
        andrewalexk 24.08.22✎ 14:54 | 
        (40) :) можно по убыванию ... но еще есть подгруппы тематические ... прикину если не найду вариант в (12) и (14)     | |||
| 42
    
        Михаил Козлов 24.08.22✎ 20:10 | 
        (41) (12) - это просто о методах оптимизации. Вряд ли найдете подходящее для Вашей задачи, но не вредно.
 В (14) подойдет разве что мультипликативный рюкзак - если раскрой возможен только прямыми сплошными резами. В (14) собственно, только формализация, про методы ничего не сказано. Вам скорее ближе задача раскроя (https://ru.wikipedia.org/wiki/Задача_раскроя). | |||
| 43
    
        andrewalexk 24.08.22✎ 20:55 | 
        (42) :) ну я с самого начала подозревал что хотя задача банальная вряд ли она формализована так как задача К.
 зы кстати а есть средства программной реализации решения? там всего лишь нужно открыть изображение 0 и вставить туда изображение 1 в позицию [x;y] | |||
| 44
    
        Михаил Козлов 25.08.22✎ 08:42 | 
        (43) "... есть средства программной реализации решения" - решения чего? Вы задачу не сформулировали ни содержательно, ни формально.
 Следующую фразу совсем не понял. | |||
| 45
    
        СеменовСемен 25.08.22✎ 09:27 | 
        Средств для решения задач раскроя полно     | |||
| 46
    
        Святофор 25.08.22✎ 10:44 | 
        (0) не думаю. граф это совокупность объектов (вершины) со связями между ними (ребра). а раскрой это комбинаторика или поиск с возвратом     | |||
| 47
    
        cViper 25.08.22✎ 11:02 | 
        (0) Похоже на Динамическое программирование - Dynamic Programming (DP)     | |||
| 48
    
        andrewalexk 25.08.22✎ 11:03 | 
        (44) :) формулировок несколько 
 ты просто не понял | |||
| 49
    
        andrewalexk 25.08.22✎ 11:06 | 
        (45) :) программных ... например есть же dll под 1с для работы с изображением?     | |||
| 50
    
        Михаил Козлов 25.08.22✎ 12:28 | 
        (49) Попросите решение из ссылки в (36). Зададите 3-й размер = 1 и вперед.     | |||
| 51
    
        andrewalexk 25.08.22✎ 14:38 | 
        (50) :) да не я сам напишу думал может есть формализация алгоритма     | |||
| 52
    
        АгентБезопасной Нацио 25.08.22✎ 14:43 | 
        (51) пока нет даже формализации задания...     | |||
| 53
    
        andrewalexk 25.08.22✎ 14:47 | 
        (52) :)
 ну если тебе будет проще вместе с (44) то формализации нет - есть примерное описание задачи ну что мне маткад ставить чтобы создать формулу чтобы не было подобных постов? | |||
| 54
    
        АгентБезопасной Нацио 25.08.22✎ 15:06 | 
        (53) ну зачем маткад?
 нужно просто нормально описывать. Типа: Дано: есть заготовка - квадрат треугольной формы диаметром X*Y Необходимо: разрезать на N кружков размерами V*W оптимальным способом. резка производится ножом по всей длине заготовки критерий оптимизации - минимальное количество резов вдоль длинной стороны квадрата... | |||
| 55
    
        Kassern 25.08.22✎ 15:21 | 
        " вдоль длинной стороны квадрата" - не подскажите, какая сторона у квадрата самая длинная?)     | |||
| 56
    
        Святофор 25.08.22✎ 15:22 | 
        любой квадрат всегда можно разделить на три неравные половины     | |||
| 57
    
        АгентБезопасной Нацио 25.08.22✎ 15:28 | 
        (56) у "квадрата треугольной формы диаметром X*Y" - каждая сторона всегда длиннее любой другой. по определению.     | |||
| 58
    
        bolobol 25.08.22✎ 16:34 | 
        (54) Это прям надо записать - занимательная задача для ребёнка: квадрат треугольной формы с диаметром... нарезать кружочками... ножом вдоль длинной стороны! Это будет дома шоу!     | |||
| 59
    
        Святофор 25.08.22✎ 16:36 | 
        (58) нож лучше убрать... будет кровопролитье     | |||
| 60
    
        bolobol 25.08.22✎ 16:43 | 
        Да. "Квадрат треугольной произвольной формы, диаметром 30 на 60%, нарезали зелёными кружочками вдоль длинной стороны волнистыми линиями. Требуется найти останки квадрата... и выбросить в ведро(?)".. т.к. критерии оптимальности мы ещё не проходили.
 Докручиваем задачу, пожалуйста... | |||
| 61
    
        andrewalexk 25.08.22✎ 17:04 | 
        (54) :) я согласился с обозначением задача раскроя условно - ничего резать не надо и точного критерия нет
 это было общее описание задачи | |||
| 62
    
        Kassern 25.08.22✎ 17:10 | 
        Это вопрос из серии: у меня есть таблица с данными, каким алгоритмом мне ее лучше отсортировать? Все так же абстрактно и не понятно для каких целей.     | |||
| 63
    
        andrewalexk 25.08.22✎ 17:31 | 
        (62) :) неважно для каких целей - в (7) все есть для формализации     | |||
| 64
    
        andrewalexk 26.08.22✎ 13:18 | 
        :)
 по факту технически не было нужды усложнять простой проход после сортировки по размеру (с учетом дискретности по одному измерению) сводит задачу к 1 размерности и процент брака будет около 5% а если добавить второй проход для учета остатков то 3.5% | |||
| 65
    
        andrewalexk 02.09.22✎ 11:03 | 
        :)
 кстати насчет так сказать программного раскроя по схеме в питоне есть библиотека pillow для работы с изображениями и почти нормально отрабатывает скрипт но есть странный глюк с ней работал кто-нить? | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |