Рассчитайте 5 лучших оптимальных конфигураций шкафов для посылок.

Вопрос или проблема

Дорогие участники сообщества Data Science,

У меня есть следующая задача, которую нужно решить, и я хотел бы узнать, какой алгоритм или подход я могу использовать, чтобы с ней справиться. Я не ожидаю полного решения, но действительно хочу понять, какой тип задачи оптимизации мне предстоит решить, и надеюсь получить несколько советов.
Для информации, я использую Python, если вы хотите предложить определённую библиотеку.

Область проблемы — почтовые шкафчики.

Кратко;

Рассчитать 5 оптимальных конфигураций почтовых шкафчиков, чтобы разместить большую часть доставок посылок в течение года.

ДЕТАЛЬНО

  • Предположим, что я начинаю с данных о ежедневных доставках посылок электронной коммерции в почтовые шкафчики за прошлый год. Я знаю, сколько посылок какого размера доставляется на почтовые шкафчики в день n (n от 1 до 365) в определённом регионе. Предположим, я не знаю точные местоположения почтовых шкафчиков, но я знаю приблизительные координаты дома каждого клиента. Таким образом, данные выглядят следующим образом: массив (день года, размер посылки, местоположение клиента)
    • Все данные касаются одной единственной посылки, без сложных сценариев.
  • Теперь я хочу создать свою собственную оптимальную сеть почтовых шкафчиков для размещения этих доставок. Допустим, я рассчитал оптимальные местоположения для почтовых шкафчиков. Теперь мои данные выглядят так: массив (день года, размер посылки, местоположение почтового шкафа) => местоположение клиента теперь переведено в ближайшее местоположение почтового шкафа.
  • Представьте, что я ограничен тремя размерами шкафчиков и меньшие могут помещаться в большие.
    • размер 1 помещается в размер 2 и размер 3
    • размер 2 помещается в размер 3
  • Учитывая эти 3 размера шкафчиков, я теперь знаю, какая из моих посылок помещается в какой размер шкафа => теперь мои данные: массив (день года, минимальный размер шкафа, местоположение почтового шкафа) – теперь агрегация этих данных по местоположению показывает, сколько шкафчиков какого размера (минимум) мне нужно на каждом конкретном почтовом шкафчике.
  • Почтовые шкафчики состоят из шкафов, которые вмещают определённую конфигурацию шкафчиков. Вымышленная конфигурация шкафа может выглядеть так: [2 * (размер 1), 3 * (размер 2), 0 (размер 3)] или [1 * (размер 1), 2 * (размер 2), 1 * (размер 3)] и т. д.

Проблема, которую я хочу решить, начинается здесь

  • Учитывая следующее:
    • Я могу разместить любое количество шкафов на почтовом шкафчике;
    • Каждый шкаф может иметь максимальную высоту 2 метра;
    • Каждый шкаф представляет собой один столбец шкафчиков (при условии, что все 3 размера шкафчиков имеют одинаковую ширину);
    • Для целей экономии я ограничен производством 5 типов конфигураций шкафов.
  • Как я могу рассчитать 5 лучших конфигураций шкафчиков из этих данных? – Лучшее означает:
    • В течение года я использую минимальное количество шкафов;
    • Я также минимизирую количество недовольных клиентов в пиковые периоды (Рождество, Черная пятница и т. д.)
  • Для упрощения мне не разрешается добавлять дополнительные шкафчики в пиковые дни.

Эту проблему можно сформулировать как задачу упаковки в контейнеры, где предметы разных размеров должны быть упакованы в ограниченное количество контейнеров.

Существует множество библиотек Python для решения задачи упаковки в контейнеры. Две распространённые библиотеки — binpacking (более специализированная) и pywraplp (более общая).

Ответ или решение

Оптимизация Конфигураций Кабинетов Парковых Локеров: Алгоритмический Подход

Ваша задача по определению оптимальных конфигураций кабинетов для парковочных локеров представляет собой интересную задачу в области оптимизации и может быть по сути связано с задачей упаковки предметов (bin packing problem). Давайте разберем эту задачу step-by-step, чтобы вы могли успешно применить алгоритмические подходы для ее решения.

Этап 1: Понимание Исходных Данных

Для начала нам необходимо проанализировать имеющиеся данные:

  • Данные о доставках: У вас есть данные о доставках парцел надлежащего размера и их местоположениях в определенные дни. Это может выглядеть как array (день года, размер посылки, местоположение клиента).
  • Конвертация местоположений: На следующем этапе вы переводите местоположение клиентов в ближайшие места установки локеров.
  • Размеры локеров: У вас есть три размера локеров, где меньшие размеры могут помещаться в более крупные.

Этап 2: Определение Требований к Конфигурациям

Вы должны учитывать следующие аспекты:

  • Конфигурация кабинета будет определяться сочетанием локеров разных размеров.
  • Ограничение на высоту кабинета и количество кабинетов на станции ограничивает общую вместимость.
  • Критериями оптимальности являются минимизация количества кабинетов и снижение общего числа недовольных клиентов в пиковые периоды.

Этап 3: Моделирование Проблемы

С рассмотрением ограничений на количество кабинетов и вместимость, наша задача сводится к:

  1. Агрегация данных: Собрать данные по использованию локеров в зависимости от их размера по договорам (по дням и местоположениям).
  2. Определение размера потребностей: Вычислить, сколько локеров каждого размера вам необходимо в зависимости от прогноза объемов доставок.

Этап 4: Алгоритмический Подход

Наиболее подходящей стратегией для решения данной проблемы может быть использование методов, таких как:

  1. Методы жадной оптимизации: Например, начиная с самого большого локера и постепенно заполняя более мелкие.
  2. Динамическое программирование: Может помочь, если вы хотите прослеживать состояние в течение определенного времени и вести учет улучшений.
  3. Линейное программирование: Вы можете рассмотреть использование библиотеки ortools, чтобы формализовать свои ограничения и цели в задаче.

Этап 5: Реализация и Поиск Оптимальных Конфигураций

Вам понадобятся следующие шаги для нахождения топ-5 оптимальных конфигураций:

  • Сбор и агрегация данных: Суммируйте количество нужных локеров по каждому размеру на основе ваших предыдущих расчетов.
  • Оптимизация конфигураций: Используйте алгоритмы, чтобы протестировать различные конфигурации и найти 5 минимальных вариантов кабинетов, которые обеспечат минимизацию общего числа кабинетов и максимальную удовлетворенность клиентов.

Заключение

С помощью таких библиотек, как binpacking или ortools, вы сможете более эффективно искать оптимальные конфигурации. Оцените различные сценарии и обеспечьте регулярное обновление ваших данных, чтобы точно отражать текущие нужды и изменяющиеся тенденции в доставках. С помощью такого подхода вы сможете построить эффективную и удовлетворяющую нуждам клиентов сеть парковочных локеров.

Таким образом, создавая и оптимизируя конфигурации, вы не только поддержите текущие потребности, но и подготовитесь к будущему, что является ключевым элементом для любого успеха в сфере e-commerce.

Оцените материал
Добавить комментарий

Капча загружается...