- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、问题提出
某公司有 6 个建筑工地要开工,每个工地的位置(用平面坐标系(a,b)表示,距离单位:km)及水泥日用量 d(吨)由下表给出。目前有两个料场位于A(5,1),B(2,7),日储量各有 20 吨。
试制定每天的供应计划,即从 A,B 两料场分别向各工地运送多少水泥, 可使运输费用(总的吨千米数)最小,并求出吨千米数。
( 注:先画图,在坐标上标出各工地位置(用蓝色*标示)和料场位置(用红色o 标示))
目前公司准备建立两个新的料场,日储量各为20 吨,为使运输费用最省,问新的料场应建在何处,并算出两料场分别向工地运输多少吨水泥和费用。
(注:初始值取 x0=[3 5 4 7 1 0 0 0 0 0 5 11 5 4 7 7]’)
二、问题分析
对于问题(1),确定用 A,B 两料场分别向各工地运送水泥,使运输费用
(总的吨千米数)最小,即要知道两点间线段最小,料场到工地的路线是直的, 而要满足六个工地的需求,又要考虑到A、B 两个料场的供应量,即在各工地用量必须满足和各料场运送量不超过日储量的条件下,使总的吨千米数最小,这 是线性问题。。
对于问题(2),需要重新改建六个新的料场,使得在在各工地用量必须满足和各料场运送量不超过日储量的条件下,使总的吨千米数最小,则需要确定新的料场的具体位置,这是非线性问题。
三、模型假设
1、假设料场和建筑工地之间都可以由直线到达;
2、运输费用由“吨千米数”来衡量;
3、两料场的日存储量够向各建筑工地供应;
4、运输途中不发生意外,从料场运出的水泥总量不会超过各个料场的日存储量。四、模型建立
(显示模型函数的构造过程)
记工地的位置为(a , b ) ,水泥日用量为d ,i=1,…,6;料场位置为(x , y ) ,
i i i j j
日储量为e
j
,j=1,2;料场 j 向工地i 的运送量为 X 。
ij
目标函数为: 约束条件为:
当用临时料场时决策变量为: X
ij
当不用临时料场时决策变量为: X
ij
, x , y
j j
使用临时料场的情形:
使用两个临时料场 A(5,1),B(2,7).求从料场 j 向工地i 的运送量 X . 在
ij
各工地用量必须满足和各料场运送量不超过日储量的条件下,使总的吨千米数最小,这是线性规划问题。线性规划模型为:
其 中 aa(i, j) ? (x j
? a )2 ? ( y
i j
? b )2
i
,i=1,2,…,6,j=1,2,为常数
设 X11=X1, X21= X 2,, X31= X 3, X41= X 4, X51= X 5,, X61= X 6 X12= X 7, X22= X 8,, X32= X 9, X42= X 10, X52= X 11,, X62= X 12
改建两个新料场的情形:
改建两个新料场,要同时确定料场的位置(xj,yj)和运送量 X ,在同样条
ij
件下使总吨千米数最小.这是非线性规划问题.非线性规划模型为: 设 X11=X1, X21= X 2, X31= X 3, X41= X 4, X51= X 5,, X61= X 6
X12= X 7, X22= X 8, X32= X 9, X42= X 10, X52= X 11, X62= X 12
x1=X13, y1=X14, x2=X15, y2=X16
五、模型求解
(显示模型的求解方法、步骤及运算程序、结果) 建立 chengxu.m 程序:
x=[1.25 8.75 0.5 5.75 3 7.25];
y=[1.25 0.75 4.75 5 6.5 7.75]; x0=[5,2];
y0=[1,7];
plot(x,y,*b); hold on; plot(x0,y0,or);
text(1.25,1.25,1¤μ?1);
text(8.75,0.75,1¤μ?2);
text(0.5,4.75,1¤μ?3)
text(5.75,5,1¤μ?4);
text(3,6.5,1¤μ?5);
text(7.25,7.25,1¤μ?6)
text(5,1,á?3?A);
text(2,7,á?3?B);
使用临时料场的情形:
编写程序liaochang1.m如下:
clear
a=[1.25 8.75 0.5 5.75 3 7.25];
b=[1.25 0.75 4.75 5 6.5 7.75];
d=[3 5 4 7 6 11];
x=[5 2];
y=[1 7];
e=[20 20];
for i=1:6 for j=1:2
aa(i,j)=sqrt((x(j)-a(i))^2+(y(j)-b(i))^2);
end end
CC=[aa(:,1); aa(:,2)]
A=[1 1 1 1
1
1
0
0
0
0
原创力文档


文档评论(0)