收益:
- 能够识别供应链网络设计、路线和仓库布局问题
- 能够在场景生成、约束列表和优化模型构建中使用人工智能
- 能够根据成本、容量和交付限制来验证人工智能建议的解决方案
供应链是从原材料到最终客户的整个材料、信息和资金流。该网络中的每个决策(在哪里采购、在哪个仓库库存、从哪个路线发货)都会在成本、速度和耐用性之间取得平衡。优化在这里并不神奇,它意味着明确定义的目标函数和约束。人工智能在构建问题、生成场景、列出约束条件和起草优化模型方面非常强大;但“最佳解决方案”的主张始终需要根据限制和实际成本进行验证。在本单元中,我们将讨论人工智能支持下的网络设计、路线优化和仓库决策。
供应链优化问题图
认识优化问题是构建正确模型的第一步。
问题
决策变量
典型用途
网络设计
应开设哪些设施/仓库?
总固定成本 + 可变成本(最小值)
指派/分配
哪个客户来自哪个仓库?
运输成本最低
车辆路线(VRP)
哪辆车停哪站,按什么顺序?
总距离/时间 分钟
仓库布局
产品应该放在哪里?
最小拣选距离
运输方式选择
陆/海/空
成本与速度的平衡
每个问题的共同框架都是相同的:决策变量、目标函数、约束。人工智能最有价值的贡献是它可以帮助您将业务问题转化为这三个组成部分。
角色:您是一名专门从事供应链优化的工业工程师。任务:将以下业务问题转化为优化模型。指定:(1) 决策变量,(2) 目标函数,(3) 约束(能力、需求满足、非负性),(4) 该问题的类型。问题:“我们有3个工厂和5个配送中心。每个工厂的产能和每个中心的需求是一定的。从工厂到中心的运输单位成本是不同的。最小化总运输成本我们要下载它。”规则:命名模型类型(例如运输问题),清楚地写出假设。
这是一个经典的交通问题。 AI可以识别这一点并构建正确的数学骨架;您还可以放置实际容量和需求数据。
路由优化 (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可以根据产品移动数据生成布局方案大纲;然而,物理限制(货架尺寸、重量、有害物质分离、冷链)必须由人类监督。
迷你案例:纸上谈兵,现场不可能
一家配送公司每天使用 3 辆车进行 40 次送货。工业工程师 Selin 向 AI 提供停靠点、请求和车辆容量,并要求提供路线计划。 AI 生成的镜头看起来不错且总距离较短。但当Selin检查时,她发现车辆路线上的累计负载超过了承载能力的15%;还有两个站点可供客户在下午接载,但安排在早上。 Selin 在提示上更清楚地写下约束条件并重现它们,然后使用 OR-Tools 验证计划。结果变得可行。教训:AI所谓“最短”的计划实际上并不是最短的,甚至因为违反约束而无效。
常见错误
- 不指定约束:请求没有容量、时间窗口和车辆数量的路线。
- 将人工智能误认为求解器:接受人工智能给出的“最佳”解决方案作为真正的求解器输出。
- 不检查约束违规:在不检查累积负载和到达时间的情况下实施计划。
- 专注于单一目标:仅优化成本并忘记耐用性/风险(单一供应商依赖性)。
- 不使用实际成本:使用默认/虚构的单位成本构建模型,而不使用实际数据更新它。
综上所述
- 每个供应链优化都可以归结为三个组成部分:决策变量、目标函数、约束。
- 人工智能最有价值的贡献是将业务问题转化为正确的模型类型(交通、VRP、分配)。
- 容量和时间窗口限制在 VRP 中至关重要; AI经常会跳过这些,一定要检查一下。
- 人工智能是构建,而不是解决;求解器(PuLP、OR-Tools)应该进行实际的优化。
- 除了成本之外,耐用性和风险也应该是目标;单一供应商/单一路线依赖是一种隐性成本。
应用任务
构建供应/配送问题(例如 3 个仓库、5-8 个客户、需求和车辆容量)。首先,让人工智能将问题建模为决策变量、目标和约束,并命名问题类型。然后给出一个VRP场景,并索要路线规划;在输出中自行检查每辆车的累计负载和到达时间。关键验证:手动添加至少一辆车的总负载,并将其与容量进行比较,并查找违反约束的情况。最后,让 AI 编写求解器 (PuLP) 代码框架,并设计一个工作流程,以防止 AI 生成假数字,采用“我将运行解决方案”的方法。