新浪博客

MATLAB编程(运筹学之运输问题)

2017-04-04 18:52阅读:
运筹学与最优化MATLAB编程
使用MATLAB求解:
1、某公司经销甲产品。它下设三个加工厂。每日的产量分别是:A17吨,A24吨,A39吨。该公司把这些产品分别运往4个销售点。各销售点的每日销量分别为:B13吨,B26吨,B35吨,B46吨,已知运价如下表所示,问该公司如何调用产品,在满足各销地需求量的前提下,使总运费最少。 运价表
加工厂
销地
B1
B2
B3
B4
A1
3
11
3
10
A2
1
9
2
8
A3
7
4
10
5


解:设xij为第i加工厂运往第j销地的产品
min Z=3x11+11x12+3x13+10x14+x21+9x22+2x23+8x24+7x31+4x32+10x33+5x34
根据合同要求,需满足
x11+x12+x13+x14=7
x21+x22+x23+x24=4
x31+x32+x33+x34=9
x11+x21+x31=3
x12+x22+x32=6
x13+x23+x33=5
x14+x24+x34=6
M文件如下:
c=[3,11,3,10,1,9,2,8,7,4,10,5]
Aeq=[1,1,1,1,0,0,0,0,0,0,0,0;
0,0,0,0,1,1,1,1,0,0,0,0;
0,0,0,0,0,0,0,0,1,1,1,1;
1,0,0,0,1,0,0,0,1,0,0,0;
0,1,0,0,0,1,0,0,0,1,0,0;
0,0,1,0,0,0,1,0,0,0,1,0;
0,0,0,1,0,0,0,1,0,0,0,1]
beq=[7;4;9;3;6;5;6]
lb=[0;0;0;0;0;0;0;0;0;0;0;0]
ub=[Inf;Inf;Inf;Inf;Inf;Inf;Inf;Inf;Inf;Inf;Inf;Inf]
[x,fval]=linprog(c,[],[],Aeq,beq,lb,ub)
2、某厂按合同规定须于当年每个季度末分别提供10,15,25,20台同一格的柴 油机。已知该厂各季度的生产能力及生产每台柴油机的成本如下表所示。又如果生产出来的柴油机当季不交货的,每台每积压一个季度需储存、维护等费用0.15万元。要求在完成合同的情况下,做出该厂全年生产(包括储存、维护)费用最小的决策。
季度
生产能力/
单位成本/万元
1
25
10.8
2
35
11.1
3
30
11.0
4
10
11.3

解:设xij为第i季度生产的用于第j季度交货的柴油机数。
min Z=10.8x11+10.95x12+11.10x13+11.25x14+0x21+11.10x22+11.25x23+11.40x24+0x31+0x32+11.00x33+11.15x34+0x41+0x42+0x43+11.30x44
根据合同要求,需满足
x11 =10
x12+x22 =15
x13+x23+x33 =25
x14+x24+x34+x44 =20
x11+x12+x13+x14≦25
x22+x23+x24≦35
x33+x34≦30
x44≦10
M文件如下:
c=[10.8,10.95,11.10,11.25,0,11.10,11.25,11.40,0,0,11.00,11.15,0,0, 0,11.30]
A=[1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0;
0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0;
0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0;
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]
b=[25;35;30;10]
Aeq=[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;
0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0;
0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0;
0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1;]
beq=[10;15;25;20]
lb=[0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0]
ub=[Inf;Inf;Inf;Inf;Inf;Inf;Inf;Inf;Inf;Inf;Inf;Inf;Inf;Inf;Inf;Inf]

[x,fval,]=linprog(c,A,b,Aeq,beq,lb,ub)
请总结MATLAB解运输问题的思路,并说明上面两项实验内容的区别。
解:
运输问题主要有产销平衡和产销不平衡两种情况:
针对产销平衡问题,可利用MATLAB直接求解。
针对产销平衡问题,核心方法是将产销不平衡的转化为产销平衡的问 题,然后进行求解。
对于>问题:可虚拟一个销地,让多余的产量均运往此销地,则其销售量=“-,同时令该虚拟销地的运价等于0
对于>问题:可虚拟一个产地,让不足的销售量均由此产地提供,则其销售量=“-,同时令该虚拟产地的运价等于0
上面两个实验,第一个为产销平衡问题,约束条件都为等式,而第二个为产销不平衡问题,销量约束条件为不等式。
4、实验中,你的易错点有哪些?应该如何避免?
答:我在试验中易错的问题是因为变量、约束条件太多,导致输入约束条件时容易出现遗漏变量或者输错变量的情况,所以每打完一条约束条件后应回车换行,然后对照变量,减少失误,减少对照时间。在结束时不能打分号。


我的更多文章

下载客户端阅读体验更佳

APP专享