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种**的指数供参考)。假设你在2023年有一笔资金打算投资这三种**,希望年收益率达到1.15,试给出风险最小的投资方案。
表5-7 美国三种**1943~1954的收益率。
解:设投资a,b,c三种**的资金份额分别为。
程序: 1)用matlab计算协方差。
r1=xlsread(''1,'b2:b13');
r2=xlsread(''1,'c2:c13');
r3=xlsread(''1,'d2:d13');
r=[r1 r2 r3];
mean(r1)
mean(r2)
mean(r3)
cov(r)
xlswrite(''cov(r),'sheet2')
2)用lingo求最优方案。
sets:gupiao/1..3/:x,**gr;
links(gupiao,gupiao):cov;
endsets
data:**gr=@ole(''**g');
cov=@ole(''xie');
ole(''jieguo')=x;
enddata
min=@sum(links(i,j):x(i)*x(j)*cov(i,j));
for(gupiao(j):@sum(gupiao(i):x(i)***gr(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元。问怎样计划,才能使开发费用花费最少。
解:设开发用于城市建设的土地为亩,用于发展农业的土地为亩。最少花费
程序: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,组成接力队的方案是否应该调整?
表5-11 5名队员4种泳姿的百米平均成绩。
解:设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(''tt');
ole(''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-12 生产计划安排。
成品油甲和乙的销售价与加工费之差分别为5和5.6(单位:千元/吨),**a,b的采购费分别是采购量x(单位:
吨)的分段函数f(x),g(x)(单位:千元),该企业的现有资金限额为7200(千元),生产成品油乙的最大能力为2000吨,假设成品油能全部销售出去,试在充分利用现有资金和现有库存条件下,合理安排采购和生产计划,使企业的收益最大。
解:设成品油甲中**a和**b的含量分别是、,成品油乙中**a和**b的含量分别是、,收益最大。
程序:max=5*(x11+x21)+5.6*(x12+x22)-f-g;
x11+x21<=500+x1;
x12+x22<=800+x2;
x11/(x11+x21)>=0.5;
x12/(x12+x22)>=0.6;
x12+x22<=2000;
x1<=1650;
x2<=1200;
f+g<=7200;
f=@if(x1#le#500,4*x1,@if(x1#le#1000,500+3*x1,1500+2*x1));
g=@if(x1#le#400,3.2*x1,@if(x1#le#800,240+2.6*x1,880+1.8*x1));
结果:即:使企业收益最大,采购和生产计划为成品油甲中**a的含量约为467.
85吨,**b的含量约为32.15吨;成品油乙中**a的含量约为1781.51吨,**b的含量约为218.
49吨。生产收益为13700千元。
数学建模实验一
分析过程。v 共贷款20万元。v 分240个月还清。v 每月利率0.6 v 每月还款额相同,设为x。v 总还款额为z。v 每个月还款后剩余贷款为sn。v sn sn 1 1 0.6 x。v s240 0。v z 240 x。编程 fortran program loan integer n,m,i,...
数学建模实验一
实验01 建立数学模型 4学时 第1章建立数学模型 教材中给出原始数据,结合模型,得到结果。但如何求得结果这一过程没有给出,实际上要用matlab软件编写程序来求得,这应该交给实验课来完成。考虑到上学期同学们刚学习matlab语言,编程能力不强,所以有关的程序给出来供同学们进行验证。要求同学们要读懂...
数学建模实验
实用数学建模与软件应用实验报告。学院名称 理学院专业年级 信计142班姓名 高梓涵学号 2014014515 课程 实用数学建模与软件应用报告日期 2016.11.9 问题重述 设某团体有n个单位,每个单位有人数a,总席位为s 现有席位p个待分配。问 各单位分配多少个席位是公平的?这就是席位公平分配...