物流网络规划-让AI用线性规划方式求解

一.背景

之前有一个物流线网规划的小案例,但用EXCEL搭建的计算模型,并不能计算出来结果(算力问题),现在尝试用AI给出最优解。

案例:E公司是一家向美国中西部各州的20个销售市场批发电子消费产品的批发商。为了最大限度地降低配送成本,公司决定对下一年的配送中心重行进行选择。 E公司的物流经理Grant负责下一年的配送中心选择工作。通过前一段时间的信息收集、分析以及和公司其它部门间事的沟通,Grant和他的团队整理了三张数据表。

表1是8个候选仓库所在的城市以及每个仓库到20个市场的配送距离。在每一个候选城市,公司都有不设仓库、设立一个小型仓库,或设立一个大型仓库三种选择。

表2是下一年各销售市场的需求(以货车整车时的发车次数计算)。

表3是8个候选城市的小型仓库或大型仓库的最大发货量(以货车整车时的发车次数 计算)和运营成本(计算单位:千美元),仓库的所有运营成本由固定成本和可变成 本组成 另外,经过测算,E公司的运输成本是$0.60/每车英里。

现在需要用线性规划求解的方式,追求成本最小,作一份最佳仓库选择的方案。

二.方案思路

上面的业务场景,需要梳理出变量,梳理出约束条件,确定目标函数成本。

1. 设变量小仓库为x,取值为0或1,x=0代表不开小仓库,x=1代表开小仓库;设变量大仓库为y,取值为0或1,x=0代表不开小仓库,x=1代表开小仓库;约束x+y<=1。通过这个约束的方式,代表在某个城市只能选择【开1个小仓库】或者【开1个大仓库】或者【不开仓库】。
2.设置变量z为8个城市到20个需求城市的运输次数。
3.约束:这8个城市是否建仓库

开小仓库x,开大仓库y,用二进制数的0/1来表示即可。且x+y<=1。

4.约束:满足需求城市的发车次数
5.约束:每个城市仓库最大发货量

以芝加哥为例,小仓库流量=sum(芝加哥发货次数)*x,x代表是否在芝加哥开设小仓库。sum(芝加哥发货次数)*x<=2500.大仓库流量=sum(芝加哥发货次数)*y,y代表是否在芝加哥开设大仓库。sum(芝加哥发货次数)*y<=7500.

搭建好最大发货量的表。

6.目标函数:总成本=固定成本+可变成本+运输成本

这里的成本已经用excel搭建好计算公式。

四.excel的规划求解

1.让AI完全理解题目

这里搭建好了excel的计算模型之后,在规划求解里面写入计算公式。但excel计算不出来结果值。所以尝试让AI理解这种算法,并给出最优解。

五.让AI理解题目和思路

将上面的题目整理成一份word文档,让AI理解这个题目,知道要做什么。

从这个思考可以看出,AI已经理解了这道案例的解题思路。

2.让AI给出最优解

AI最后给出了最优解,第一次给出的答案是错的,纠正一次之后,给出的答案就正确了。

最后的答案如下。通过这次小案例实践,发现AI还是很好用的。

相关推荐
ikkkkkkkl31 分钟前
C++设计模式:面向对象设计原则
c++·设计模式·面向对象
summer7771 小时前
GIS三维可视化-Cesium
前端·javascript·数据可视化
德育处主任4 小时前
p5.js 掌握圆锥体 cone
前端·数据可视化·canvas
whitepure5 小时前
万字详解Java中的面向对象(二)——设计模式
java·设计模式
稚辉君.MCA_P8_Java7 小时前
豆包 Java的23种设计模式
java·linux·jvm·设计模式·kubernetes
快乐的划水a17 小时前
组合模式及优化
c++·设计模式·组合模式
Zyy~18 小时前
《设计模式》装饰模式
java·设计模式
落霞的思绪21 小时前
Java设计模式详细解读
java·开发语言·设计模式
是2的10次方啊1 天前
🚀 JDK设计模式大揭秘:23种模式藏在你每天在用的类里
设计模式
步行cgn1 天前
设计模式(Design Patterns)
设计模式