Есть очень интересная задаче по автоматическому подбору упаковки товара в тару. Размеры товара и тары могут быть разные - есть список номенклатуры в заказе и перечень доступной тары, габариты (ширина/высота/длина/объем/вес) указаны. Нужна обработка по оптимальному заполнению товара в упаковку, коробок для упаковки может быть как одна, так и несколько, если не весь товар поместился в одну тару.
Главное условие - это то, что в одной коробке могут быть как тяжелые товары, так и легкие. И упаковывать товар необходимо по уменьшению веса(плотности) товара - снизу идет наиболее тяжелый и объемный товар, а сверху - наиболее легкий.
Подобрать тару и упаковать товар одной весовой категории я могу. Способ не совсем оптимальный, но имеет право на жизнь - по мере упаковки товара всю тару разбиваю на свободные области рядом с уложенным товаром и стараюсь найти подходящий товар по размерам области. Если свободная область, в которую хочу положить товар, больше товара по габаритам - разбиваю исходную область на несколько других областей. Область с товаром отмечаю как заполненную, и получаю несколько свободных областей сверху, сбоку и спереди от товара. Минус - то что свободные области по размерам ограничены габаритами положенного товара и такая раскладка не всегда оптимальна.
А главная задача - это разместить несколько товаров с различной весовой категорией в одну тару наиболее оптимально.... Я не могу найти способы, как можно учитывать свободное пространство в коробке, как запоминать свободные/занятые области. Кто сталкивался с подобной задачей, учет расположения тел в пространстве, трехмерный тетрис в 1ске?
Нужна Ваша помощь, любые комментарии по делу смогут помочь, т.к. я свою голову уже поломала и новых идей пока не нашла, к сожалению.
Группа: Пользователи
Сообщений: 94
Спасибо сказали: 32 раз
Рейтинг: 0
в Pythone есть бесплатная библиотека py3dbp в которую передаешь список упаковок (размеры, мах вес), список товаров (размеры, вес), в результате библиотека возвращает варианты размещения. Применительно к 1С, можно установить интерпретатор Python, из 1С передать в скрипт параметры (коробки, товары), обратно получить варианты размещения. Пример:
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0
29a @ Сегодня, 12:16
, Да, я видела алгоритмы. С алгоритмом пока вопросов нет. Но я не понимаю, как могу фиксировать товар в упаковке, как мне запоминать свободную область, т.к. в упаковке может быть несколько уровней с выложенным товаром. Сейчас я заполняю слой за слоем, после заполнения нижнего слоя - я его закрываю и больше не возвращаюсь к нему, но это же не оптимально - т.к. если на первом уровне есть пустое место, куда ни один товар не поместится, и на втором уровне будет над ним пустое место, в которое ни один товар не поместиться. Но если объединить эти две области - мы сможем упаковать какую-то лампочку, например. Я не знаю, как отслеживать эти области средствами 1с, у меня в этом проблема...
29a @ Сегодня, 14:07
, ух Вы никогда с таким не сталкивалась, покопаю в этом направлении, спасибо
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0
29a @ Сегодня, 14:31
, Спасибо за совет, для себя обязательно посмотрю и попробую реализовать. Но все-таки предпочтение остается выполнять все силами 1ски, т.к. руководство против дополнительных сервисов, и эта операция будет выполняться в базе на рабочих мобильных устройствах. Поэтому вопрос для меня остается актуален
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!