2.圆钢原材料每根长5.5米,现需要a,b,c三种圆钢材料,长度分别为3.
1m,2.1m,1.2m,数量分别为100根,200根,400根,试安排下料方式,使所需圆钢原材料的总数最少。
解:可行的方案如下表所示:
约束条件为:
目标函数:
则列lingo程序如下:
min=x1+x2+x3+x4+x5;
x1+x2>=100;
x1+x3+2*x4>=200;
2*x2+2*x3+x4+4*x5>=400;
gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);
end运行结果如下:
结合lingo数据得出结论:方案一和三没有采用,方案二和四用去100跟原材料,方案五用去25跟原材料,一共用去225根原材料,即为最优。
3.住宅小区服务中心选址:某地新建一个生活住宅区,共有20栋住宅楼,小区内所有道路都是东西或南北走向,开发商拟在小区内修建一个服务中心,地址选在离所有楼房的总路程最小的地方。为保证建筑物之间有足够的空间,服务中心的位置与其他楼房位置之间的距离不能少于30米(已经考虑了所有建筑的占地面积),请你确定服务中心的位置。
设初始点x0=[20,20],设(ai,bi)(i=1,..20)为第i栋住宅楼的坐标:a=[29.
74 4.9 69.32 65.
0 98.3 55.27 40.
0 19.8 62.5 73.
3 37.58 0.98 41.
98 75.37 79.38 92.
0 84.47 36.77 62.
08 73.13],b=[19.39 90.
48 56,92 63.18 23.44 54.
88 93.16 33.5 65.
5 39.19 62.73 69.
9 39.72 41.37 65.
52 43.5 34.6 75.
2 12.32 86.7]。
约束条件:
目标函数:
解:列出lingo式子如下:
model:
sets:zl/1..20/:x,y,e;
endsets
data:x=29.74,4.
9,69.32,65.0,98.
3,55.27,40.0,19.
8,62.5,73.3,37.
58,0.98,41.98,75.
37,79.38,92.0,84.
47,36.77,62.08,73.
13;y=19.39,90.48,56.
92,63.18,23.44,54.
88,93.16,33.5,65.
5,39.19,62.73,69.
9,39.72,41.37,65.
52,43.5,34.6,75.
2,12.32,86.7;
e=20,20;
enddata
min=@sum(zl(i):(x(i)-px)^2)^(1/2)+(y(i)-py)^2)^(1/2)))
for(zl(i):(x(i)-px)^2+(y(i)-py)^2>=900);
end 运行结果如下:
得出结论为:当服务中心的坐标为[1.281228,9.897984]时,离所有的楼房的总路程最小。
对此题中还有不懂的部分:该题大部分程序是参考网络上的程序,但程序中都没有涉及到初始点x0=[20,20]的设定,我试过设定初始点的程序语句,但之后程序就会运行不了或者对结果无影响,并且感觉这个题目解出的坐标答案有些问题,之后会去查阅资料或者问同学将问题解决。
设要把一种产品从 2 个产地运到 3 个客户处, 发量、 收量及产地到客户的运输费单价如下表所示。
这是一个供求不平衡问题,产品缺少 1500 个单位,因此决定运输方案应按下列目标满足要求: 第一目标,客户 1 为重要部门,需求量必须全部满足; 第二目标,满足其他两个客户至少 75%的需求量; 第三目标,从产地 2 到客户 1 的运输量至少要有 1000 个单位; 第四目标,使运费尽量少; 请列出相应的目标规划模型,并用 lingo 程序求解。
解:第一目标的程序为:
min=dminus1+dplus1+dminus4+dplus4;
a1+a2+a3<=3000;
b1+b2+b3<=4000;
a1+b1+dminus1+dminus4-dplus1-dplus4=2000;
a2+b2+dminus2+dminus5-dplus2-dplus5=1500;
a3+b3+dminus3+dminus6-dplus3-dplus6=5000;
第二目标。min=dminus2+dminus5+dminus3+dminus6;
a1+a2+a3<=3000;
b1+b2+b3<=4000;
a2+b2+dminus2-dplus2+dminus5-dplus5>=1500*0.75;
a3+b3+dminus3-dplus3+dminus6-dplus6>=5000*0.75;
a1+b1+dminus1-dplus1+dminus4-dplus4=2000;
dminus1+dplus1+dminus4+dplus4=0;
第三目标。min=dminus4;
a1+a2+a3<=3000;
b1+b2+b3<=4000;
a2+b2+dminus2-dplus2+dminus5-dplus5>=1500*0.75;
a3+b3+dminus3-dplus3+dminus6-dplus6>=5000*0.75;
a1+b1+dminus1-dplus1+dminus4-dplus4=2000;
b1+dminus4-dplus4>=1000;
第四目标。min=10*a1+4*a2+12*a3+8*b1+10*b2+3*b3;
a1+a2+a3<=3000;
b1+b2+b3<=4000;
a1+b1+dm1-dp1+dm4-dp4=2000;
a2+b2+dm2-dp2+dm5-dp5>=1500*0.75;
a3+b3+dm3-dp3+dm6-dp6>=5000*0.75;
dm1+dp1+dm4+dp4=0;
dm2+dm5+dm3+dm6=0;
b1+dm4-dp4>=1000;
dm4=0;
由lingo数据可得:四个目标满足的条件是:
客户1:产地1:1000 + 产地2:1000
客户2:产地1:1125
客户3:产地1:750 + 产地2:3000
且:产地1输出=1000+1125+750=2875<3000 (满足)
产地2输出=1000+3000=4000<=4000 (满足)
第一目标:1000+1000=2000(满足)
第二目标:1125/1500*100%=75%(满足)
750+3000)/5000=75%(满足)
数学实验与数学建模实验二
2.圆钢原材料每根长5.5米,现需要a,b,c三种圆钢材料,长度分别为3.1m,2.1m,1.2m,数量分别为100根,200根,400根,试安排下料方式,使所需圆钢原材料的总数最少。解 可行的方案如下表所示 约束条件为 目标函数 则列lingo程序如下 min x1 x2 x3 x4 x5 x1 ...
数学建模与实验
1.1.3 初识matlab 例1 1 绘制正弦曲线和余弦曲线。x 0 0.5 360 pi 180 plot x,sin x x,cos x 例1 2 求方程 3x4 7x3 9x2 23 0的全部根。p 3,7,9,0,23建立多项式系数向量。x roots p求根。例1 3 求积分。quad ...
数学建模与数学实验
数学实验一。第一部分 作图。1 输入以下两条命令,观察其差异。plot tan x plot tan x plotrange 2 输入以下两条参数函数作图命令,观察其差异。parametricplot parametricplot aspectratio automatic 3 熟悉分段函数的定义方...