Единица 7 / 9

Оптимизация цепочки поставок и логистики

Прибыль:

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

Цепочка поставок — это весь поток материалов, информации и денег от сырья до конечного потребителя. Каждое решение в этой сети (где закупать, на каком складе хранить, по какому маршруту отправлять) обеспечивает баланс между стоимостью, скоростью и долговечностью. Оптимизация здесь не волшебство, она означает четко определенную целевую функцию и ограничения. Искусственный интеллект очень эффективен в этой области при структурировании проблемы, создании сценариев, составлении списка ограничений и разработке модели оптимизации; Но заявления о «наилучшем решении» всегда необходимо подтверждать с учетом ограничений и фактических затрат. В этом модуле мы обсудим проектирование сети, оптимизацию маршрутов и складские решения с поддержкой ИИ.

Карта проблем оптимизации цепочки поставок

Распознавание проблем оптимизации — первый шаг к построению правильной модели.

проблема

переменная решения

Типичная цель

сетевой дизайн

Какой объект/склад открыть?

Итого фиксированные + переменные затраты мин.

Назначение/распределение

Какой клиент с какого склада?

Стоимость перевозки мин.

Маршрутизация транспортных средств (VRP)

Какое транспортное средство делает какие остановки и в каком порядке?

Общее расстояние/время мин

планировка склада

Где следует размещать продукты?

Расстояние выбора мин.

Выбор вида транспорта

Земля/море/воздух

Баланс стоимости и скорости

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

Роль: Вы — промышленный инженер, специализирующийся на оптимизации цепочек поставок. Задача: Перевести следующую бизнес-задачу в оптимизационную модель. Укажите: (1) переменные решения, (2) целевую функцию, (3) ограничения (мощность, удовлетворение спроса, неотрицательность), (4) тип этой задачи. Проблема: «У нас есть 3 завода и 5 распределительных центров. Мощность каждого завода и спрос каждого центра определенны. Удельные затраты на транспортировку от завода к центру различны. Минимизируйте общие затраты на транспортировку. Мы хотим загрузить ее». Правило: Назовите тип модели (например, транспортная задача), четко запишите предположения.

Это классическая транспортная проблема. ИИ может распознать это и построить правильный математический скелет; Вы также размещаете данные о реальной мощности и спросе.

Оптимизация маршрута (VRP) и важность ограничений

Маршрутизация транспортных средств является наиболее часто встречающейся и неправильно устанавливаемой проблемой на практике. Существует большая разница между простым «кратчайшим путем» (TSP) и настоящим VRP: вместимость транспортного средства, временные окна (часы, когда клиент может забрать), ограничения по времени вождения, наличие нескольких транспортных средств.

Внимание: когда ИИ рекомендует маршрут, он часто «забывает» или приблизительно приближается к ограничениям пропускной способности и временного окна. Маршрут, загруженный большим количеством груза, чем может перевезти транспортное средство, может показаться «коротким», но он непрактичен. Проверьте каждый маршрут индивидуально на предмет общей загрузки ≤ мощности и времени прибытия в временном окне.

Слабая подсказка/Сильная подсказка

Слабая подсказка:

Укажите кратчайший маршрут для этих 8 остановок.

Если нет вместимости, временного окна и количества транспортных средств, ИИ дает простую оценку; Он не выдерживает реальной эксплуатации.

Мощная подсказка:

Предложите план маршрута для следующих 8 клиентов. Имеется 2 автомобиля, вместимость каждого 100 единиц. Требования и временные рамки каждого клиента прилагаются. Выезд со склада 08:00. Предположим, средняя скорость 40 км/ч. Выходные данные: порядок остановок для каждого транспортного средства, совокупная загрузка (не превышать пропускную способность), расчетное время прибытия (чтобы соответствовать временному окну), общее расстояние. Если есть нарушение ограничений, четко укажите это и предложите альтернативу. Данные: {{ ... }}

Второе приглашение явно накладывает ограничения и требует от ИИ проверки нарушений. Однако важно проверить результат с помощью решателя или вручную; ИИ не гарантирует абсолютную оптимальность.

Оптимально или просто «хорошо»?

Здесь есть важная концепция: решение, которое находит ИИ (и большинство практических методов), часто является хорошим решением (эвристическим), а не оптимальным. Истинный оптимум находится с помощью математического решателя (например, OR-Tools, Gurobi, PuLP), решающего правильно построенную модель. Роль ИИ — построить модель, а не решить ее.

Напишите скелет модели для решения следующей транспортной задачи с помощью Python PuLP: - Переменные решения x[i][j] (i фабрика, j центр) - Цель: минимизация общих затрат - Ограничение: предложение каждой фабрики, спрос каждого центра, x >= 0 Объясните код с комментариями, но я буду вводить числовые данные. Также: перечислите, какие проверки мне нужно сделать, когда решение выйдет.

Совет: вместо того, чтобы говорить ИИ «напиши код и разберись», скажи ему: «напиши код, и я его запущу». Это делает оптимизацию настоящим решающим фактором; Вы не доверяете вымышленным (и непроверенным) цифрам, созданным ИИ и говорящим: «вот мое решение».

Решения о складе и местоположении

Размещение товара на складе напрямую влияет на расстояние комплектации. Основной принцип заключается в размещении часто перемещаемых (высокооборотных) товаров близко к точке комплектования (размещение ABC). ИИ может создать схему предложения по макету с данными о движении продукта; Однако физические ограничения (размер полки, вес, разделение опасных материалов, холодовая цепь) должны контролироваться людьми.

Мини-кейс: мало бумаги, невозможно в полевых условиях

Дистрибьюторская компания осуществляет 40 доставок в день тремя автомобилями. Промышленный инженер Селин передает ИИ остановки, запросы и вместимость транспортных средств, а также запрашивает план маршрута. ИИ производит снимок, который выглядит красиво и имеет небольшое общее расстояние. Но когда Селин проверяет, она понимает, что совокупная нагрузка на маршруте автомобиля превышает пропускную способность на 15%; Есть также две остановки, где клиент может забрать товар во второй половине дня, но запланировано на утро. Селин более четко записывает ограничения в командной строке и воспроизводит их, а затем проверяет план с помощью OR-Tools. Результат становится осуществимым. Урок: план, который ИИ назвал «кратчайшим», на самом деле не был самым коротким и даже был недействителен из-за нарушений ограничений.

Распространенные ошибки

  • Без указания ограничений: запрос маршрута без указания пропускной способности, временного окна и количества транспортных средств.
  • Принятие ИИ за решателя: принятие «оптимального» решения, предоставленного ИИ, за реальный результат решателя.
  • Отсутствие проверки нарушений ограничений: реализация плана без проверки совокупной загрузки и времени прибытия.
  • Сосредоточение внимания на единственной цели: оптимизация только затрат и забвение о долговечности/риске (зависимость от одного поставщика).
  • Не использовать реальные затраты: построение модели с использованием стандартных/сфабрикованных удельных затрат и не обновление ее реальными данными.

В заключение

  • Любая оптимизация цепочки поставок сводится к трем компонентам: переменные решения, целевая функция, ограничения.
  • Самый ценный вклад ИИ — это преобразование бизнес-задачи в модель правильного типа (транспортировка, VRP, назначение).
  • Ограничения мощности и временных окон имеют решающее значение для VRP; ИИ часто их пропускает, обязательно проверьте их.
  • ИИ строит, а не решает; Решатель (PuLP, OR-Tools) должен выполнить фактическую оптимизацию.
  • Помимо стоимости, целью также должны быть долговечность и риск; Зависимость от одного поставщика/одного маршрута — это скрытые затраты.

Задача приложения

Постройте задачу снабжения/распределения (например, 3 склада, 5–8 клиентов, спрос и вместимость транспортных средств). Во-первых, попросите ИИ смоделировать проблему как переменную решения, цель и ограничение и назвать тип проблемы. Затем дайте сценарий VRP и попросите план маршрута; Проверьте совокупную загрузку и время прибытия каждого транспортного средства самостоятельно в выходных данных. Критическая проверка: вручную сложите общую нагрузку хотя бы одного транспортного средства, сравните ее с вместимостью и найдите нарушение ограничения. Наконец, попросите ИИ написать скелет кода решателя (PuLP) и разработать рабочий процесс, который не позволит ИИ генерировать поддельные числа, используя подход «Я запущу решение».