|
Оптимизатор раскроя хлыстов на заготовки | ☑ | ||
---|---|---|---|---|
0
serg999
28.05.21
✎
11:31
|
Добрый день.
Задача написать оптимизатор раскроя хлыстов. Вроде тема не новая, даже мат. примеры и модели есть в инете .. * https://math.semestr.ru/lp/rask.php * https://math.semestr.ru/simplex/optimal-cutting.php На первом этапе, попробовал разложить варианты раскроя с ограничением по длине мин. заготовки и длине хлыста. Тут перебор по ТЗ и вроде прослеживается логика. https://www.screencast.com/t/1CvLiOMfyZSV На втором этапе надо отобраться по оптимальным вариантам раскроя. Визуально понятно что выбрать, но как это запрограммировать? Думал насчёт использования СЛАУ, но как понял из документации "систему надо привести к одинаковой размерности" .. короче засада. Буду признателен за любые мысли по теме. |
|||
1
Garykom
гуру
28.05.21
✎
11:34
|
Видяху купи, это не шутка
|
|||
2
acht
28.05.21
✎
11:39
|
А как же ... микросервис на GO?
|
|||
3
polosov
28.05.21
✎
11:46
|
Бабаев Ф.В. Оптимальный раскрой материалов с помощью ЭВМ
|
|||
4
Kassern
28.05.21
✎
11:46
|
||||
5
Garykom
гуру
28.05.21
✎
11:48
|
(2) да пофиг на чем, OpenCL или CUDA смотря какая видяха
|
|||
6
Garykom
гуру
28.05.21
✎
11:49
|
В целом такие задачки требуют хороших определенных знаний
Ну или кому то заказывать кто умеет Не мне ибо у меня опыта маловато, так баловался с CUDA |
|||
7
Garykom
гуру
28.05.21
✎
11:57
|
(0) Напиши тупой полный перебор сначала линейный
Затем распараллель перебор по фоновым в 1С, запускай их по числу логических процессоров Если скорости не хватает то переходить на GPU |
|||
8
RomanYS
28.05.21
✎
12:07
|
(7) для начала нужно хотя бы с критериями оптимальности определиться
>>Полный перебор... GPU... Допустим GPU будет в тысячу раз быстрее. Полный перебор без GPU, например, тысячу лет - на GPU за год переберёшь. |
|||
9
Garykom
гуру
28.05.21
✎
12:14
|
(8) GPU уже не в тысячу раз быстрее а 3 тысячи и более на нормальных видяхах
|
|||
10
Garykom
гуру
28.05.21
✎
12:16
|
(9)+ Но согласен что оптимизировать надо
Хотя в его случае даже тупой пойдет |
|||
11
Михаил Козлов
28.05.21
✎
13:06
|
Году в 2098 делал похожее для раскроя металла. Правда, ширина рулона была одинаковая (как я понял, у Вас длина хлыста может быть разной).
По сути, делал как во второй ссылке в (0): - определение рациональных способов раскроя (их посчитать можно заранее и хранить где-то); - определение оптимальных интенсивностей использования этих способов раскроя. В отличие от ссылки в (0) на втором этапе решал не просто задачу линейного программирования (интенсивность использования способа раскроя должна быть целой), а целочисленную методом ветвей и границ с использованием задачи ЛП для отсечения вариантов. Характерных размеров ширины заготовок было порядка 10 (кровельные элементы). Выход готовых составлял 97-98%. Расчет был довольно быстрым (меньше минуты). Делал на Паскале, на 1С вычисления будут медленнее. Для начала можно на 2-ом этапе можно попробовать жадный алгоритм: в первую очередь использовать схемы раскроя с минимальными отходами. Можно было бы повозиться (правда, сейчас лето). Пришлите на мыло (в профиле) несколько реальных примеров. |
|||
12
МихаилМ
28.05.21
✎
13:18
|
+(4) https://infostart.ru/public/513444/ того же автора
|
|||
13
toypaul
гуру
28.05.21
✎
13:23
|
решение СЛАУ (если это оно) вроде есть в 1С
|
|||
14
H A D G E H O G s
28.05.21
✎
13:24
|
(4) Глянь почту плиз.
|
|||
15
Злопчинский
28.05.21
✎
13:39
|
На мисте как-то было уже аналогичная тема, поройся
|
|||
16
ДедМорроз
28.05.21
✎
13:40
|
Когда задача решается
Забывают другие факторы: - какие-то элементы могут быть нужны раньше других,и если этого не будет,то оптимальность раскроя просто забьет склад болванками. - динамичность заказов - в процессе выполнения могут быть добавлены другие заготовки или поменяться срочность. Поэтому,нужно получать более менее оптимальный результат быстро и оценить возможность применения других критериев. |
|||
17
d4rkmesa
28.05.21
✎
13:47
|
Ага, или начальник лесоцеха сп***ит, скажет что в сердцевине дупло или грибок. Помню, на моей первой работе начальники воровали вагонами пиломатериал, а собственнику говорили, что выход 50-55% норм.
|
|||
18
Михаил Козлов
28.05.21
✎
13:56
|
(13) СЛАУ не имеет отношение к задаче. Кстати, пробовал решение СЛАУ из платформы: удобно данные заполнять и считает быстро.
Правда на плохо обусловленной задаче (системы Ушакова) сыпется при меньшей размерности (38 против 67 Гаусса-Жордана). Но это для 1С неважно. |
|||
19
Михаил Козлов
28.05.21
✎
14:01
|
(0) Забыл: если нужна реализация симплекс-метода для задачи ЛП - пришлю.
|
|||
20
Kassern
28.05.21
✎
14:10
|
(14) глянул, отписался
|
|||
21
Злопчинский
28.05.21
✎
14:21
|
||||
22
serg999
28.05.21
✎
17:35
|
(3) За книжку спасибо!
(18) Да, я понял, что через СЛАУ не решить задачу. Сейчас тоже осмотрю в сторону симплекс-метода, но у меня есть опасения насчет двух хлыстов. Не пойм как объединить две системы уравнений? (19) Письмо отправил в почту ... |
|||
23
Krendel
30.05.21
✎
11:57
|
(17) да могут просто ленится думать, я видел когда просто в стружку уходит
|
|||
24
Михаил Козлов
30.05.21
✎
16:48
|
(22) Выслал.
Какая проблема с двумя типоразмерами хлыстов? - генерите рациональные раскрои для каждого типоразмера; - формируете задачу ЛП по массиву сгенерированных раскроев (как во 2-ой ссылке в (0)). |
|||
25
shotsdv2008
30.05.21
✎
22:17
|
Фигней маетась... Если бы хлысты были все ровненькие, а так там стопятьсот всяких вариантов... Я, всё-таки, имею вышку по этому делу...
|
|||
26
SiAl-chel
31.05.21
✎
07:51
|
(11) В каком, каком году? Там у вас яблони на Марсе то уже цветут?
|
|||
27
Михаил Козлов
31.05.21
✎
10:09
|
(26) Промахнулся: в 1998, конечно.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |