数学建模 运输调度
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运输调度优化
摘要
本文针对运输最少成本问题,建立产销运输优化模型,利用lingo 优化软件工具,合理进行运输。
问题一:属于产销平衡运输问题,即∑∑=n
j i b a 1
m
1
,可得:最少运费为6910
问题二:属于产销不平衡运输问题,应满足∑∑≠j
j i b a 1
i
1
,23
1
2b x i =∑,可得:
关键词:产销运输 LINGO 优化模型
一、问题重述
已知某运输问题的产销平衡表与单位运价表如下表所示
(1)求最优调拨方案;
(2)如产地的产量变为130,又B地区需要的115单位必须满足,试重新确定最优调拨方案。
二、问题分析
2.1问题一
对于表一中销量总和与产量总和相等,可确定为产销平衡运输问题,考虑现实问题,对客观实际因素没给出,因给于假设。
2.2问题二
对于所给数据可知销量总和不等于产量总和,因此确定为产销运输不平衡问题,由此为了满足B地区的需求,要给于一定限制。
三、符号说明
A某场地
1 、
i
a某场地的产量
2 、
i
B某销地
3、
j
b某销地的销售量
4、
i
a从第i产地向第j个销地运输每单位物资的运价
5、
ij
x从第i个产地向第j个销地运输量
6、
ij
四、模型假设
1、各地产地产量均能如期产出相应产量,销地也能销出如期的货物量。
2、某产地与某销地单位运价保持不变,且与货物数量无关。
五、模型建立与求解
5、1有m 个产地和n 个销地。产地Ai 的产量为)21(m i a i ,,
=;销地Bj 的销量 )n 21(,,
=j b j 。从第i 个产地向第j 个销地运输每单位物资的运价为j i a ,从第i 个产地向第j 个销地运输量ij x 。可得运费最少为:
∑∑===3
15
1min i j ij
ij x a )1(
对两种情况进行讨论,∑∑=n
j i b a 1
m 1
,即运输问题的总产量等于其总销量,这
样的运输问题称为产销平衡的运输问题。∑∑≠j
j i b a 1
i 1
即运输问题的总产量不等
于总销量,这样的运输问题称为产销不平衡的运输问题。
针对问题一,我们进行产销平衡运输问题讨论,由此可得:
∑∑=n
j
i b
a 1
m 1
)(2
Lingo 是使建立和求解线性、非线性和整数最佳化模型更快更简单更
有效率的综合工具。因此我们用lingo 软件进行优化求解得:最少运费为
针对于,问题二我们采用产销不平衡处理,即满足:
∑∑≠j
j
i b
a 1
i 1
)(3
2
3
1
2
b x
i =∑)4(
式(4)就是满足销地B 区满足115单位要求。
六、模型检验
从lingo 软件优化结果可得:问题一、问题二可得:
各销量表(二)和表(三)
表(二)
表(三) 综上,可知lingo 软件优化符合问题约束条件。
七模型的评价与推广
7、1模型评价
我们利用产销关系建立的运输优化模型,以追求总运价最少为目的,利用lingo优化软件求解。高效,准确求得理想结果运输模型。但是假设条件是理想化的,因此忽略对客观因素的考虑。
7、2 LINGO推广
现实社会中的,最小生成树问题,分配问题,岗位调度问题,等都可利用lingo优化软件进行求解,为实际问题提供科学依据。
参考文献
[1].赵东方,数学模型与计算,科学出版社,2007-2-1
[2]启源谢金星叶俊,数学模型(第三版),北京:高等教育出版社。
[3] 张伯生、范俊晖、田书格《运筹学》,科学出版社,2008年1月第一版
Lingo程序:
问题一、
model:
sets:
changdi/1,2,3/:cl;
xiaodi/1..5/:xl;
link(changdi,xiaodi):jg,sl; endsets
min=@sum(link:jg*sl);
@for(changdi(i):
@sum(xiaodi(j):sl(i,j))=cl(i)); @for(xiaodi(j):
@sum(changdi(i):sl(i,j))=xl(j)); data:
jg=10 15 20 2 40
20 40 15 30 30
30 35 40 55 25 ;
cl=50 100 150;
xl=25 115 60 30 70 ; enddata
end
问题二、sets:
changdi/1,2,3/:cl;
xiaodi/1..5/:xl;
link(changdi,xiaodi):jg,sl; endsets
min=@sum(link:jg*sl);
@for(changdi(i):
@sum(xiaodi(j):sl(i,j))=cl(i)); @sum(changdi(i):sl(i,2))=115;
@for(xiaodi(j):
@sum(changdi(i):sl(i,j))<=xl(j)); data:
jg=10 15 20 2 40
20 40 15 30 30
30 35 40 55 25 ;
cl=50 100 130;
xl=25 115 60 30 70 ; enddata
end