Математический алгоритм подбора товара #801424


#0 by Solitar
Необходимо реализовать автоматический подбор товара в документы. Менеджер должен вводить только необходимо кол-во, а все остальное должна делать система. Входные данные: - ведется учет по характеристикам - для характеристики добавлены доп реквизиты - кол-во в коробке и кол-во во вложение. КолВо в коробе - это сколько количества товара в коробке. КолВо во вложение - сколько количества товара в маленьком коробе, который входит в большой. Зная эти две величины мы можем точно сказать, сколько маленьких коробок в большом коробе - вывод характеристик во всех печатных формах отключен На складе могут хранится следующие характеристики: - Короб 20*200. 1000 штук (не коробов, а именно штук продукции) - Короб 10*100 2000 штук - Короб 100*200 - 1000 штук Когда менеджер вводит кол-во, то система должна подбирать характеристики по оптимальному пути. Рассмотрим следующую ситуацию. Клиент заказал 500 единиц продукции. Мы можем эти 500 единиц собрать из "Короб100*200" (2 короба, итого 400 штук)" + "Короб 100*200" 100 штук. Итого у нас останется один неполный короб и 2 полных. И у нас по факту будет 3 короба (2 больших, один малеьнкий) А можем взять "10*500" (5 коробов) 500 штук. Но этот вариант нам не подходит, т.к. наша задача минимизировать кол-во коробов при подборе. Другая ситуация: И из этих двух вариантов система должна выбрать первый. - Короб 20*200. 200 штук (один большой короб, внутри которого 10 маленьких) - Короб 50*200 - 100 штук (т.е. по факту в одном большом коробе осталось 2 маленьких) Клиент заказал 100 штук. В этом случае система должна сказать, что бери 2ой короб. Другая ситуация: - короб 40*200 - 80 штук - короб 20*200 - 1000 штук Клиент заказал 200 штук. В этом случае система должна взять 80 штук из первого и потом донабрать из второй. Скорее всего, похожие алгоритмы есть в каких либо WMS или же можно его  описать математически. Буду благодарен за помощь.
#1 by PiotrLoginov
Тут и математика, и логика. одними уравнениями не обойдешься, имхо. Решений подсказать не могу. Сам тупо перебирал бы короба, начиная с самого большого. Сначала задействовал бы его. Затем добирал недостающее по тому же принципу.
#2 by Волшебник
Предлагаю загрузить менеджера работой.
#3 by Garykom
Менеджера на фриланс-сайте
#4 by Garykom
Писал бы сразу "пачки", "блоки" и "коробки"
#5 by Злопчинский
Задача рюкзака с ограничением по выбранному условию?
#6 by Злопчинский
У меня такая задача решена без всякой математики и с высоким качеством.Задача минимизации колва коробов при отборе товара - это очень частный случай.Обычно минимизируют путь сборщика, так как на передвижение от ячейки а2 к ячейке а45 уходит гораздо больше времени, чем на отбор товара из ячейки (пофиг какими упаковками)
#7 by Solitar
спасибо огромное ! буду изучать. вроде похоже на то, что мне нужно. нам все равно как будет ходить кладовщик. главное минимизировать кол-во взятых коробов, и чтобы меньше было вскрытых коробов.
#8 by Garykom
Тут очень не классический рюкзак, очень мало вариантов и очень просто их перебрать. Скорее сложность в написании универсального алгоритма для блоков и коробок разной вместимости. И в способе задания вариантов которые надо выбирать. К примеру добавляем в алгоритм "срок годности" и сразу задачка усложняется на порядки.
#9 by Ildarovich
Интересная задача. Кажется, нужно разложить всеми возможными способами заказанное количество на маленькие коробки (простая комбинаторика), а затем каждый вариант разложения расписать по коробам.
#10 by Ildarovich
+ Если использовать рекурсию (для полного перебора), то довольно компактное решение получится. Еще и параллельно по коробам расписывать.
#11 by Злопчинский
в принципе задача достаточно типовая для складской лтгистики
#12 by Вафель
вроде тут обычный жадный алгоритм, тк коробки упорядочены по кол-ву
#13 by Serg_1960
Обычная рядовая складская задача: когда, сколько, какие нужны коробки, чтобы упаковать заказы покупателей. (офф) Вот только иногда неожиданный облом насчет логистики, в смысле логики: заказчик может приехать на грузовой газели или на раздолбанной шестёрке :)) И вся логистика - побоку. Упаковываем в большие короба и погрузчиком в грузовую машину или по мелким коробочкам, чтобы водитель сам разложил куда что ему там залезет.
#14 by Вафель
вы заказ начинаете собирать только после того как водитель приедет?
#15 by Злопчинский
мир складской логистики разнообразен... ;-)
#16 by VS-1976
Сортировать по номенклатуре, количеству в упаковке убыв, Ячейке Цикл по Номенклатуре Дальше цикл пока нужное количество не возьмёшь ( перегружаем в другой массив ) можно даже указывать что вскрыть коробку и взять столько-то В дальнейшем созданный массив сортируем по ячейкам вот и план подбора
#17 by Вафель
Расходный ордер на товары в УТ11 так и делает
#18 by Serg_1960
Нет, мы его переупаковываем. Ок?
#19 by Злопчинский
есть склады где волна подбора начинается когда только машина прибывает на объект. есть склады где грузят то что успели собрать, остальное догружают позже.. по всякому пипл  работает
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С