Прибуток:
- Здатність визначати проблеми з дизайном мережі ланцюга поставок, маршрутом і розташуванням складу
- Можливість використовувати ШІ для створення сценаріїв, списків обмежень і побудови оптимізаційної моделі
- Здатність перевіряти рішення, запропоновані штучним інтелектом, з обмеженнями вартості, потужності та доставки
Ланцюг постачання - це весь потік матеріалів, інформації та грошей від сировини до кінцевого споживача. Кожне рішення в цій мережі (де брати, який склад зберігати, яким маршрутом відправляти) забезпечує баланс між вартістю, швидкістю та довговічністю. Оптимізація тут не магія, це означає чітко визначену цільову функцію та обмеження. Штучний інтелект є дуже потужним у цій сфері у структуруванні проблеми, створенні сценаріїв, переліку обмежень і складанні моделі оптимізації; Але заяви про «найкраще рішення» завжди потрібно перевіряти на відповідність обмеженням і фактичним витратам. У цьому розділі ми обговоримо дизайн мережі, оптимізацію маршрутів і складські рішення з підтримкою ШІ.
Карта проблем оптимізації ланцюга поставок
Розпізнавання проблем оптимізації є першим кроком у створенні правильної моделі.
проблема
змінна рішення
Типове призначення
проектування мережі
Який об'єкт/склад відкрити?
Загальна постійна + змінна вартість мін
Присвоєння/розподіл
Який клієнт з якого складу?
Вартість транспортування мін
Маршрутизація транспортних засобів (VRP)
Які транспортні засоби які зупиняються, в якому порядку?
Загальна відстань/час хв
схема складу
Де повинні бути розміщені продукти?
Відстань підбирання хв
Вибір виду транспорту
Земля/море/повітря
Баланс вартості та швидкості
Загальна структура кожної проблеми однакова: змінні рішення, цільова функція, обмеження. Найцінніший внесок ШІ полягає в тому, що він допомагає вам перекласти бізнес-проблему на ці три компоненти.
Посада: Ви промисловий інженер, який спеціалізується на оптимізації ланцюга постачання. Завдання: перевести наступну бізнес-задачу в модель оптимізації. Вкажіть: (1) змінні рішення, (2) цільову функцію, (3) обмеження (пропускна здатність, задоволення попиту, невід’ємність), (4) тип цієї проблеми. Проблема: «У нас є 3 фабрики та 5 розподільних центрів. Потужність кожної фабрики та попит кожного центру визначені. Вартість одиниці транспортування від фабрики до центру різна. Мінімізуйте загальну вартість транспортування. Ми хочемо її завантажити». Правило: назвіть тип моделі (наприклад, транспортну проблему), чітко запишіть припущення.
Це класична транспортна проблема. ШІ може розпізнати це та побудувати правильний математичний скелет; Ви також розміщуєте дані про реальну потужність і попит.
Оптимізація маршруту (VRP) і важливість обмежень
Маршрутизація транспортних засобів є найбільш часто зустрічається і неправильно встановленою проблемою на практиці. Існує велика різниця між простим «найкоротшим шляхом» (TSP) і справжньою VRP: місткість автомобіля, часові вікна (години, коли клієнт може забрати), обмеження часу водіння, наявність кількох транспортних засобів.
Застереження: коли штучний інтелект рекомендує маршрут, він часто «забуває» або наближає обмеження пропускної здатності та часового вікна. Маршрут, завантажений більшою кількістю вантажу, ніж транспортний засіб може перевезти, може здатися «коротким», але непрактичним. Перевірте кожен маршрут окремо на загальне завантаження ≤ місткість і час прибуття ∈ часове вікно.
Слабка підказка / Сильна підказка
Слабка підказка:
Вкажіть найкоротший маршрут для цих 8 зупинок.
Якщо немає місткості, часового вікна та кількості транспортних засобів, AI дає простий рейтинг; У реальній роботі не витримує.
Потужна підказка:
Запропонуйте план маршруту для наступних 8 клієнтів. Є 2 машини, місткість кожної 100 одиниць. Попит і часове вікно кожного клієнта додаються. Виселення зі складу08:00. Припустимо середню швидкість 40 км/год. Вихідні дані: порядок зупинок для кожного транспортного засобу, сукупне навантаження (не перевищувати пропускну здатність), очікуваний час прибуття (щоб відповідати часовому вікну), загальна відстань. Якщо є порушення обмежень, чітко вкажіть це та запропонуйте альтернативу. Дані: {{ ... }}
Друга підказка явно накладає обмеження та запитує ШІ перевірити порушення. Однак важливо перевірити результат за допомогою розв’язувача або вручну; ШІ не гарантує абсолютної оптимальності.
Оптимально чи просто «добре»?
Тут є критична концепція: рішення, яке знаходить ШІ (і більшість практичних методів), часто є хорошим рішенням (евристичним), а не оптимальним. Справжній оптимальний результат знаходить математичний розв’язувач (наприклад, OR-Tools, Gurobi, PuLP), який розв’язує правильно побудовану модель. Роль штучного інтелекту полягає в тому, щоб створити модель, а не вирішити її.
Напишіть скелет моделі для вирішення такої транспортної проблеми за допомогою Python PuLP:- Змінні рішення x[i][j] (i фабрика, j центр)- Мета: мінімізація загальних витрат- Обмеження: пропозиція кожної фабрики, попит кожного центру, x >= 0Поясніть код із коментарями, але я введу числові дані. Також: перелічіть, які перевірки мені потрібно зробити, коли з’явиться рішення.
Порада: замість того, щоб говорити штучному інтелекту «написати код і розібратися», скажіть йому «напишіть код, і я його запусту». Це робить оптимізацію справжнім розв’язувачем; Ви не довіряєте цифрам, створеним ШІ (і неперевіреним), які говорять «ось моє рішення».
Рішення щодо складу та розташування
Розміщення товару на складі безпосередньо впливає на відстань комплектування. Основний принцип полягає в тому, щоб розташувати предмети, які часто переміщуються (великий оборот), ближче до точки вибору (розміщення ABC). AI може створювати схему пропозиції макета з даними про рух товару; Однак фізичні обмеження (розмір полиці, вага, розділення небезпечних матеріалів, холодовий ланцюг) повинні контролюватися людьми.
Міні-кейс: короткий на папері, неможливий у полі
Дистриб'юторська компанія здійснює 40 поставок на день 3 автомобілями. Промисловий інженер Селін передає ШІ зупинки, запити та місткість транспортних засобів і запитує план маршруту. AI робить постріл, який виглядає гарно та має малу загальну відстань. Але коли Селін перевіряє, вона розуміє, що сукупне навантаження на маршруті транспортного засобу перевищує пропускну здатність на 15%; Є також дві зупинки, де клієнт може забратися вдень, але запланований на ранок. Селін більш чітко записує обмеження у підказку та відтворює їх, а потім перевіряє план за допомогою інструментів АБО. Результат стає здійсненним. Урок: план, який ШІ назвав «найкоротшим», насправді не був найкоротшим і навіть був недійсним через порушення обмежень.
Поширені помилки
- Без визначення обмежень: запит маршруту без пропускної здатності, часового вікна та кількості транспортних засобів.
- Приймаючи штучний інтелект за розв’язувач: приймаючи «оптимальне» рішення, надане ШІ, як реальний результат розв’язувача.
- Не перевірка на порушення обмежень: впровадження плану без перевірки сукупного навантаження та часу прибуття.
- Зосередження на одній меті: оптимізація лише витрат і забуття про довговічність/ризик (залежність від одного постачальника).
- Невикористання реальних витрат: створення моделі за замовчуванням/сфабрикованими одиничними витратами без оновлення її реальними даними.
Підсумовуючи
- Кожна оптимізація ланцюжка поставок зводиться до трьох компонентів: змінні рішення, цільова функція, обмеження.
- Найцінніший внесок штучного інтелекту полягає в переведенні бізнес-проблеми в правильний тип моделі (транспортування, VRP, призначення).
- Обмеження ємності та тимчасового вікна мають вирішальне значення для VRP; ШІ часто пропускає їх, обов’язково перевіряйте їх.
- AI будує, а не вирішує; Розв’язувач (PuLP, OR-Tools) має виконувати фактичну оптимізацію.
- Крім вартості, довговічність і ризик також повинні бути метою; Залежність від одного постачальника/одного маршруту є прихованою ціною.
Аплікаційне завдання
Побудуйте проблему постачання/розподілу (наприклад, 3 склади, 5-8 клієнтів, вимоги та місткість транспортного засобу). По-перше, попросіть ШІ змоделювати проблему як змінну рішення, ціль і обмеження та назвіть тип проблеми. Потім надайте сценарій VRP і попросіть план маршруту; Перевірте сукупне завантаження та час прибуття кожного транспортного засобу самостійно у вихідних даних. Критична перевірка: вручну складіть загальне навантаження принаймні одного транспортного засобу та порівняйте його з вантажопідйомністю та знайдіть порушення обмежень. Нарешті, попросіть штучний інтелект написати скелет коду розв’язувача (PuLP) і розробити робочий процес, який запобігатиме штучному інтелекту від генерування фальшивих чисел за принципом «я запусту рішення».