数学建模实验一
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LINGO软件入门与数学规划建模练习
学校:北京信息科技大学班级:信计1101 姓名:王雅卿学号:2011012505
实验目的:1、掌握Lingo软件求解简单数学规划模型的一般编程方法;
2、掌握引入集合及其属性的方法,编程求解一些规模较大的数学规划模型。
实验内容:1、使用Lingo软件求解简单的线性规划模型、整数规划模型及非线性规划模型等;
2、建立各类实际问题的数学规划模型,并运用Lingo软件编程求解所建立的模
型,从而掌握通过建立数学规划模型解决一些实际问题的一般方法。
实验题目:
1、投资组合问题
美国某三种股票(A,B,C)12年(1943~1954)的投资收益率R i(i=1,2,3)(收益率=(本金+收益)/本金)如表5-7所示(表5-7中还列出各年度500种股票的指数供参考)。假设你在1955年有一笔资金打算投资这三种股票,希望年收益率达到1.15,试给出风险最小的投资方案。
解:设投资A,B,C三种股票的资金份额分别为x1,x2,x3。
程序:
(1)用Matlab计算协方差
R1=xlsread('Book1.xls',1,'B2:B13');
R2=xlsread('Book1.xls',1,'C2:C13');
R3=xlsread('Book1.xls',1,'D2:D13');
R=[R1 R2 R3];
mean(R1)
mean(R2)
mean(R3)
cov(R)
xlswrite('Book1.xls',cov(R),'sheet2')
(2)用Lingo求最优方案
sets:
gupiao/1..3/:x,avgR;
links(gupiao,gupiao):cov;
endsets
data:
avgR=@ole('Book1.xls','avg');
cov=@ole('Book1.xls','xie');
@ole('Book1.xls','jieguo')=x;
enddata
min=@sum(links(i,j):x(i)*x(j)*cov(i,j));
@for(gupiao(j):@sum(gupiao(i):x(i)*avgR(i))>=1.15);
@for(gupiao(i):x(i)>=0);
@for(gupiao(i):x(i)<=1);
@for(gupiao(j):@sum(gupiao(i):x(i))=1);
结果:
(1)协方差
(2)资金份额
即:投资A,B,C三种股票的资金份额分别为0.530253,0.35637,,0.113377
2、设土地开发有两个目的,一是用于发展农业,二是用于发展城市。有三个部门提出了各自的要求:(1)城市建设部门要求至少开发4000亩土地用于城市建设;(2)农业部门要求至少开发5000亩土地用于发展农业;(3)土地开发部门要求至少开发10000亩土地。已知城市用地每亩开发费用是400元,农业用地每亩开发费用是300元。问怎样计划,才能使开发费用花费最少。
解:设开发用于城市建设的土地为x1亩,用于发展农业的土地为x2亩。最少花费
min z=400x1+300x2。
程序:
min=400*x1+300*x2;
x1>=4000;
x2>=5000;
x1+x2>=10000;
结果:
即:开发用于城市建设的土地为4000亩,用于发展农业的土地为6000亩,最小费用为
3400000元。
3、(混合泳接力队的选拔问题)某班准备从5名游泳队员中选择4人组成接力队,参加学校的4x100m混合泳接力比赛。5名队员4种泳姿的百平米均成绩如表,问应该如何选拔队员组成接力队?
如果最近队员的丁的蛙泳成绩有较大退步,只有1′15″2;而队员戊经过艰苦训练自由泳成绩有所进步,达到57″5,组成接力队的方案是否应该调整?
解:设x(i,j)为第i种泳姿,第j个人,x(i,j)=1为第i种泳姿选第j个人,x(i,j)=0为第i种泳姿不选第j个人。从excel表格中读数据,并将结果写到excel表格中。
(1)程序:
model:
sets:
yongzi/a1..a4/;
duiyuan/b1..b5/;
links(yongzi,duiyuan):T,x;
endsets
data:
T=@ole('Book2.xlsx','tt');
@ole('Book2.xlsx','xx')=x;
enddata
min=@sum(links:T*x);
@for(yongzi(i):@sum(duiyuan(j):x(i,j))=1);
@for(duiyuan(j):@sum(yongzi(i):x(i,j))<=1);
end
结果:
即:接力队选乙,丙,丁,甲分别参加蝶泳,仰泳,蛙泳,自由泳。
(2)将丁的蛙泳成绩改为75.2秒,戊的自由泳成绩改为57.5秒。
结果:
即:接力队选乙,丙,丁,戊分别参加蝶泳,仰泳,蛙泳,自由泳。
4、(生产计划安排问题)某企业用A ,B 两种原油混合加工成甲,乙两种成品油销售数据见表5-12,表中百分比是成品油中原油A 的最低含量。
成品油甲和乙的销售价与加工费之差分别为5和5.6(单位:千元/吨),原油A ,B 的采购费分别是采购量x (单位:吨)的分段函数f(x),g(x)(单位:千元),该企业的现有资金限额为7200(千元),生产成品油乙的最大能力为2000吨,假设成品油能全部销售出去,试在充分利用现有资金和现有库存条件下,合理安排采购和生产计划,使企业的收益最大。
f (x )={4x, 0 500+3x, 500 g (x )={3.2x, 0 240+2.6x, 400