资源描述
《数学模型》上机实验报告
2014-2015学年第二学期
专 业:信息与计算科学
班 级:信计122
姓 名:司后君
学 号:2012
上机实验1--证券投资(P130-1)
一、问题(1)
1、决策变量:投资a,b,c,d,e,的资金分别为x1,x2,x3,x4,x5
2、目标函数:设获利最大值为z,z=0.043*x1+0.027*x2+0.025*x3+0.022*x4+0.045*x5
3、 约束条件:(2*x1+2*x2+x3+x4+5*x5)/(x1+x2+x3+x4+x5)<=1.4
(9*x1+15*x2+4*x3+3*x2+2*x5)/(x1+x2+x3+x4+x5)<=5
X2+x3+x4>=400
X1+x2+x3+x4+x5<=1000
4、 Lindo/Lingo程序:
model:
max=0.043*x1+0.027*x2+0.025*x3+0.022*x4+0.045*x5;
(2*x1+2*x2+x3+x4+5*x5)/(x1+x2+x3+x4+x5)<=1.4;
(9*x1+15*x2+4*x3+3*x2+2*x5)/(x1+x2+x3+x4+x5)<=5;
X2+x3+x4>=400;
X1+x2+x3+x4+x5<=1000;
end
5、程序运行结果: Local optimal solution found.
Objective value: 31.45000
Infeasibilities: 0.000000
Extended solver steps: 5
Total solver iterations: 26
Variable Value Reduced Cost
X1 400.0000 0.000000
X2 0.000000 0.2275000E-01
X3 350.0000 0.000000
X4 250.0000 0.000000
X5 0.000000 0.3550000E-01
Row Slack or Surplus Dual Price
1 31.45000 1.000000
2 0.000000 14.25000
3 0.000000 0.7500000
4 200.0000 0.000000
5 0.000000 0.3145000E-01
6、结果说明:由运行结果可知目标函数值为31.4万元,x1投资400万元,x3投资350万元,x4投资250万元。
二、 问题(2)
由影子价格分析可知,若资金增加100万元,可多获利3.14万元,大于利息2.75万元,所以应该投资,将条件1000改为1100,得到x1投资440万元,x2 385万元,x4 275万元, Local optimal solution found.
Objective value: 34.59500
Infeasibilities: 0.000000
Extended solver steps: 5
Total solver iterations: 26
Variable Value Reduced Cost
X1 440.0000 0.000000
X2 0.000000 0.2275000E-01
X3 385.0000 0.000000
X4 275.0000 0.000000
X5 0.000000 0.3550000E-01
Row Slack or Surplus Dual Price
1 34.59500 1.000000
2 0.000000 15.67500
3 0.000000 0.8250000
4 260.0000 0.000000
5 0.000000 0.3145000E-01
三、问题(3)
Ranges in which the basis is unchanged:
Objective Coefficient Ranges
Current Allowable Allowable
Variable Coefficient Increase Decrease
X1 NONLINEAR 0.0 0.0
X2 NONLINEAR 0.2000000E-02 INFINITY
X3 NONLINEAR 0.0 0.0
X4 NONLINEAR 0.0 0.0
X5 NONLINEAR 0.2000000E-02 INFINITY
Righthand Side Ranges
Row Current Allowable Allowable
RHS Increase Decrease
2 NONLINEAR 0.0 0.0
3 NONLINEAR 0.0 0.0
4 400.0000 0.0 0.0
5 1000.000 0.0 0.0
由敏感性分析,投资应该改变。
上机实验2--销售代理点如何选址(P131-2)
1、 问题分析:
2、 有题目可知,销售点得位置,目的获得最大的学生数量, 并且若其中一个区作为销售点,否则无法达到学生数量最多的目标,条件是最多两个销售点,一个区只能与相邻的区共用一个销售点。综合考虑,可以用x1-x7表示七个区,Xij表示i与j之间有一个销售点服务,Xij为0-1变量。
。
3、 决策变量:设34,29,42,21,56,18,71分别为1-7个区,Xij表示i与j之间有一个销售点服务。
4、 目标函数:
z=63*x12+76*x13+71*x23+50*x24+85*x25++63*x34+77*x45+39*x46+92*x47+74*x56+89*x67;
4、约束条件:x12+x13+x23+x24+x25+x34+x45+x46+x47+x56+x67<=2;
x12+x12<=1;
x12+x23+x24+x25<=1;
x13+x23+x34<=1;
x24+x34+x45+x46+x47<=1;
x25+x45+x56<=1;
x46+x56+x67<=1;
x47+x67<=1;
5、Lindo/Lingo程序:model:
max=63*x12+76*x13+71*x23+50*x24+85*x25++63*x34+77*x45+39*x46+92*x47+74*x56+89*x67;
x12+x13+x23+x24+x25+x34+x45+x46+x47+x56+x67<=2;
x12+x12<=1;
x12+x23+x24+x25<=1;
x13+x23+x34<=1;
x24+x34+x45+x46+x47<=1;
x25+x45+x56<=1;
x46+x56+x67<=1;
x47+x67<=1;
end
6、程序运行结果: Global optimal solution found.
Objective value: 177.0000
Infeasibilities: 0.000000
Total solver iterations: 3
Variable Value Reduced Cost
X12 0.000000 22.00000
X13 0.000000 9.000000
X23 0.000000 14.00000
X24 0.000000 38.00000
X25 1.000000 0.000000
X34 0.000000 25.00000
X45 0.000000 11.00000
X46 0.000000 49.00000
X47 1.000000 0.000000
X56 0.000000 11.00000
X67 0.000000 0.000000
Row Slack or Surplus Dual Price
1 177.0000 1.000000
2 0.000000 85.00000
3 1.000000 0.000000
4 0.000000 0.000000
5 1.000000 0.000000
6 0.000000 3.000000
7 0.000000 0.000000
8 1.000000 0.000000
9 0.000000 4.000000
7、结果说明:最优解为177人,在第二区与第五区有一个销售点来服务,在第四区与第七区建一个销售点来服务。
上机实验3--储蓄所服务员数量问题(P131-3)
一、问题(1)
1、问题分析:假设有全时服务员xi与半时服务员yi,只要保证每时段的两种服务员数量满足需求即可。
2、决策变量:在12点到2点之间的休息的全时间服务员分别设为x1,x2,另外其他的时段所雇用的半时的服务员分别设为y1-y7,则所用费用表示为100*x1+100*x2+40*y1+40*y2+40*y3+40*y4+40*y5;
3、目标函数:min z=100*x1+100*x2+40*y1+40*y2+40*y3+40*y4+40*y5;
x1+x2+y1>=4;
x1+x2+y1+y2>=3;
x1+x2+y1+y2+y3>=4;
x2+y1+y2+y3+y4>=6;
x1+y2+y3+y4+y5>=5;
x1+x2+Y3+y4+y5>=6;
x1+x2+y4+y5>=8;
x1+x2+y5>=8;
Y1+y2+y3+y4+y5<=3;
4、约束条件:min z=100x1+100x2+40Y1+40y2+40Y3+40Y4+40Y5
5、Lindo/Lingo程序: model:
min=100*x1+100*x2+40*y1+40*y2+40*y3+40*y4+40*y5;
x1+x2+y1>=4;
x1+x2+y1+y2>=3;
x1+x2+y1+y2+y3>=4;
x2+y1+y2+y3+y4>=6;
x1+y2+y3+y4+y5>=5;
x1+x2+Y3+y4+y5>=6;
x1+x2+y4+y5>=8;
x1+x2+y5>=8;
Y1+y2+y3+y4+y5<=3;
@gin(x1);@gin(x2);;@gin(y1);@gin(y2);@gin(y3);@gin(y4);@gin(y5);
end
6、程序运行结果: Global optimal solution found.
Objective value: 820.0000
Objective bound: 820.0000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 46
Variable Value Reduced Cost
X1 3.000000 100.0000
X2 4.000000 100.0000
Y1 0.000000 40.00000
Y2 2.000000 40.00000
Y3 0.000000 40.00000
Y4 0.000000 40.00000
Y5 1.000000 40.00000
X3 0.000000 0.000000
X4 0.000000 0.000000
X5 0.000000 0.000000
Row Slack or Surplus Dual Price
1 820.0000 -1.000000
2 3.000000 0.000000
3 6.000000 0.000000
4 5.000000 0.000000
5 0.000000 0.000000
6 1.000000 0.000000
7 2.000000 0.000000
8 0.000000 0.000000
9 0.000000 0.000000
10 0.000000 0.000000
7、结果说明:有结果可知最少的花费为820元,12点到一点休息的全时服务员3名,一点到两点休息的4名,10-11点开始工作的半时2名,1-2点开始工作的半时一名。
二、问题(2)
1、问题分析:如果全是全时间的服务员,考虑休息时间和每时段的最大需求量,容易看出x1为6名,x2为5名
2、决策变量:设在12-1工作得x1,在1-2工作的x2,
3、目标函数:minz=100x1+100x2
4、约束条件:x1>=6,x2>=5
5、Lindo/Lingo程序: model:
min=100*x1+100*x2;
x1>=6;
x2>=5;
end
6、程序运行结果: Global optimal solution found.
Objective value: 1100.000
Infeasibilities: 0.000000
Total solver iterations: 0
Variable Value Reduced Cost
X1 6.000000 0.000000
X2 5.000000 0.000000
Row Slack or Surplus Dual Price
1 1100.000 -1.000000
2 0.000000 -100.0000
3 0.000000 -100.0000
7、结果说明:增加的费用为1100-820=280元。
三、问题(3)
1、问题分析:如果全时间的服务员没有限制,只需将一问的限制条件去掉即可
2、决策变量:
3、目标函数:
4、约束条件:
5、Lindo/Lingo程序:
6、程序运行结果: Global optimal solution found.
Objective value: 560.0000
Objective bound: 560.0000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 2
Variable Value Reduced Cost
X1 0.000000 100.0000
X2 0.000000 100.0000
Y1 6.000000 40.00000
Y2 0.000000 40.00000
Y3 0.000000 40.00000
Y4 0.000000 40.00000
Y5 8.000000 40.00000
X3 0.000000 0.000000
X4 0.000000 0.000000
X5 0.000000 0.000000
Row Slack or Surplus Dual Price
1 560.0000 -1.000000
2 2.000000 0.000000
3 3.000000 0.000000
4 2.000000 0.000000
5 0.000000 0.000000
6 3.000000 0.000000
7 2.000000 0.000000
8 0.000000 0.000000
9 0.000000 0.000000
7、结果说明:不雇佣全时服务员,9-10时段雇佣6名短时服务员,1-2时段雇佣8名,共省下820-560=260元。
上机实验4--传染病模型(P136)
一、图1 SI模型的i-t曲线
1、MATLAB程序:function y=sir(t,x)
a=1;b=0.3;
y=[x(1)*(1-x(1))]';
ts=0:50;
x0=[0.02];
[t,x]=ode45('sir',ts,x0);[t,x]
plot(t,x(:,1)),grid,
2、图像:
二、图2 SI模型的di/dt-i曲线
1、MATLAB程序:function y=sir(i,p,q)
y=p.*i.*(1-i)
p=0.3;q=0.5;i=0:0.01:1;
y=sir(i,p)
plot(i,y)
2、图像:
三、图3 SIS模型的di/dt-i曲线
1、MATLAB程序:function y=sir(i,p,q)
y=-p.*i.*(i-(1-1./q))
p=0.3;q=2;i=0:0.01:1;
y=sir(i,p,q)
plot(i,y)
2、图像:
四、图4 SIS模型的i-t曲线
1、MATLAB程序:lambda=0.01;
sigma=0.2;
[t,i]=ode45(@crb,[0,100],0.9,[],lambda,sigma);
plot(t,i)
legend('\sigma<1')
2、图像:
五、图5 SIS模型的di/dt-i曲线
1、MATLAB程序:function y=sir(i,p,q)
y=-p.*i.*(i-(1-1./q))
p=0.3;q=2;i=0:0.01:1;
y=sir(i,p,q)
plot(i,y)
2、图像:
六、图6 SIS模型的i-t曲线
1、MATLAB程序:lambda=0.01;
sigma=0.2;
[t,i]=ode45(@crb,[0,100],0.9,[],lambda,sigma);
plot(t,i)
legend('\sigma<1')
2、图像:
六、图7 i(t)-s(t)图形
1、MATLAB程序:function y=ill(t,x)
a=1;b=0.3;
y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)]';
ts=0:50;
x0=[0.02,0.98];
[t,x]=ode45('ill',ts,x0);[t,x]
plot(t,x(:,1),t,x(:,2)),grid,pause
2、图像:
六、图8 i-s图形(相轨线)
1、MATLAB程序:function y=ill(t,x)
a=1;b=0.3;
y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)]';
ts=0:50;
x0=[0.02,0.98];
[t,x]=ode45('ill',ts,x0);[t,x]
plot(x(:,2),x(:,1)),grid,
2、图像:
上机实验5--如何预报人口增长(P163)
一、图3a 指数增长模型拟合图形(1790-1900年)
1、MATLAB程序: ezplot('4.188*exp(0.2743*t)',[1:1:12])
hold on
scatter([1:1:12],[4.2,5.5,7.2,9.5,12.5,16.5,21.7,28.6,37.6,49.5,65.1,85.6],'+')
hold off
2、图像:
二、图3b 指数增长模型拟合图形(1790-2000年)
1、MATLAB程序: ezplot('3.9*exp(0.2022*t)',[0:5:25])
hold on
scatter([1:1:22],[6.0,7.4,9.1,11.1,13.6,16.6,20.3,24.9,30.5,37.3,45.7,55.9,68.4,83.7,102.5,125.5,153.6,188.0,230.1,281.7,344.8,422.1],'+')
hold off
2、图像:
三、图1 Logistic模型dx/dt-x曲线
1、MATLAB程序: x=0:0.01:1;
>> y=0.2.*x.*(1-x./1);
>> plot(x,y)
>>
2、图像:
四、图2 Logistic模型x-t曲线
1、MATLAB程序:x=1:8;
y=[3,13,80,195,332,895,1038,1143];
c0=[500,732.6,1.487];
fun=inline('c(1)./(1+c(2).*exp(-c(3).*x))','c','x');
b=nlinfit(x,y,fun,c0);
t=0:.01:8;
plot(t,fun(b,t))
2、图像:
五、图4 阻滞增长模型拟合图形
1、MATLAB程序:function y1=shiyan(beta,t)
y1=beta(1)./(1+((beta(1)./3.9)-1).*exp(-beta(2)*t));
t=0:1:20;
x=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0 92.0 106.5 123.2 131.
展开阅读全文