运输问题的单纯形解法
问题:用一辆车运50批货,有3个仓库,各存有18,12,20,运到4个地方,他们各需要12,8,16,14,时间分别为:
50 30 90 50
60 80 40 10
90 70 100 20
做运输方案。
问题的抽象
设三个仓库分别为 M i M_i Mi, i = 1 , 2 , 3 i=1,2,3 i=1,2,3
四个目的地分别为 A j A_j Aj, j = 1 , 2 , 3 , 4 j=1,2,3,4 j=1,2,3,4
从仓库 M i M_i Mi运送到目的地 A j A_j Aj的单位成本(花费时间)为 c i j c_{ij} cij
则有:
∑ i = 1 3 M i = ∑ j = 1 4 A j = 50 \sum_{i=1}^3 M_i=\sum_{j=1}^4 A_j=50 i=1∑3Mi=j=1∑4Aj=50
需要求解的运输方案即:从仓库 M i M_i Mi运送到目的地 A j A_j Aj的货物数目,记它为 x i j x_{ij} xij
则问题等价于求解线性规划问题:
m i n ∑ i = 1 3 ∑ j = 1 4 c i j x i j s . t . ∑ i = 1 3 x i j = A j ∑ j = 1 4 x i j = M i min \sum_{i=1}^3 \sum_{j=1}^4 c_{ij}x_{ij} \\ s.t. ~~\sum_{i=1}^3 x_{ij}=A_j \\ \sum_{j=1}^4 x_{ij}=M_i mini=1∑3j=1∑4cijxijs.t. i=1∑3xij=Ajj=1∑4xij=Mi
用表格表示如下:
A 1 A_1 A1 | A 2 A_2 A2 | A 3 A_3 A3 | A 4 A_4 A4 | |
---|---|---|---|---|
M 1 M_1 M1 | x 11 x_{11} x11 | x 12 x_{12} x12 | x 13 x_{13} x13 | x 14 x_{14} x14 |
M 2 M_2 M2 | x 21 x_{21} x21 | x 22 x_{22} x22 | x 23 x_{23} x23 | x 24 x_{24} x24 |
M 3 M_3 M3 | x 31 x_{31} x31 | x 32 x_{32} x32 | x 33 x_{33} x33 | x 34 x_{34} x34 |
问题求解
- 寻找基础可行解
- 计算单纯形乘子
- 计算相对成本系数
- 若相对成本系数都非负,stop,得到最优解。否则,进行第5步
- 选择相对成本系数为负的非基变量进入基变量(通常挑选最小的相对成本系数对应的变量),计算调整回路,得到新解,返回第2步。
1 寻找基础可行解
方法:西北角法则。
- 从左上角开始
- 在不超过
行和
或者列和
的前提下,给这个单元格指定一个最大的数值。 - 如果这一行仍然有任意的剩余需求,考虑该单元格右边的单元格,否则就考虑这个单元格下方的单元格,如果此行此列都得到了满足,stop。否则回到第2步。
例
- 首先填写左上角 x 11 x_{11} x11,
行和
为18,列和
为12,则 x 11 x_{11} x11最大为12
12 | 8 | 16 | 14 | |
---|---|---|---|---|
18 | 12 | |||
12 | ||||
20 |
- 第一列
列和
已经得到满足,第一行还没有,则考虑 x 11 x_{11} x11右边单元格 x 12 x_{12} x12,最大为6
12 | 8 | 16 | 14 | |
---|---|---|---|---|
18 | 12 | 6 | ||
12 | ||||
20 |
- 第一行
行和
已经得到满足,考虑第二列,考虑 x 12 x_{12} x12下方单元格 x 22 x_{22} x22,最大为2
12 | 8 | 16 | 14 | |
---|---|---|---|---|
18 | 12 | 6 | ||
12 | 2 | |||
20 |
- 同上步骤
得到最终的基础可行解
为:
12 | 8 | 16 | 14 | |
---|---|---|---|---|
18 | 12 | 6 | ||
12 | 2 | 10 | ||
20 | 6 | 14 |
注:此表代表: x 11 = 12 , x 12 = 6 , x 13 = 0 , ⋯ x_{11}=12,x_{12}=6,x_{13}=0,\cdots x11=12,x12=6,x13=0,⋯
2 计算单纯形乘子
首先写出成本矩阵:
C = [ 50 30 90 50 60 80 40 10 90 70 100 20 ] C= \left[ \begin{matrix} 50 & 30 & 90 & 50 \\ 60 & 80 & 40 &10 \\ 90 & 70&100 & 20\\ \end{matrix} \right] C=⎣⎡5060903080709040100501020⎦⎤
将基础可行解对应的数值圈出:
3 计算相对成本系数
4 判断是否最优
5 调整回路
今天的文章运输问题的单纯形解法分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/30437.html