开课学院、实验室:理学院数学实验室实验时间:2014年9月24日课程名称数学建模数学实验实验项目名称人口模型及求解实验项目类型验证演示综合设计其他指导教师张定海成绩实验目的[1]学习两类种群增长模型;[2]掌握两种模型的优缺点;[3]学会使用MATLAB对模型参数进行求解;基础实验一、实验内容1.美国人口数量的建模分析2.中国人口的增长模型3.使用MATLAB对模型进行求解二、实验过程(一般应包括实验原理或问题分析,算法设计、程序、计算、图表等,实验结果及分析)基础实验1.求解下述线性规划问题min321645xxxs.t.20321xxx42x4x2x332130x2x321321x0,x0,x0用matlab编程如下:c=[-5;-4;-6]A=[1-11;324;320]b=[20;42;30]xL=zeros(3,1)[xfmin]=LINPROG(c,A,b,[],[],xL)Bond1=x(1);Bond2=x(2);Bond3=x(3);Returnexpectation=-fmin结果为:x=0.000015.00003.0000fmin=-78.0000Returnexpectation=78.0000应用实验2.人口预报问题人口问题是当前世界上人们最关心的问题之一,认识人口数量的变化规律,作出较准确的预报,是有效控制人口增长的前提,下面介绍两个最基本的人口模型,并利用表1-1给出的近200年的中国人口统计数据,对模型做出检验,最后用它预报2010年、2020年的中国人口。指数增长模型(马尔萨斯人口模型)作出假设:人口增长率r是常数(或单位时间内人口的增长量与当时的人口成正比)建立模型:记时刻0t时人口数为0x,时刻t的人口为)(tx,由于量大,)(tx用MATLAB编程:命令:t=[0:21];x=[3.95.37.29.612.917.123.231.438.650.262.976.092.0106.5123.2131.7150.7179.3204.0226.5251.4281.4];y=log(x);p=polyfit(t,y,1)f=polyval(p,t)ff=exp(f)plot(t,x,'o',t,ff,'--')axis([0220300])离散化解法命令:clc;clearall;x=zeros(1,20)dt=1;x(1)=3.9;r=0.304;fort=1:(length(x)-1)x(t+dt)=r*x(t)*dt+x(t);endplot(1:length(x),x)clc;clearall;x=zeros(1,20)dt=1;x(1)=3.9;r=0.304;fort=1:(length(x)-1)x(t+dt)=r*x(t)*dt+x(t);endfigure(1)plot(1:length(x),x)t=1:20x=x(1)*exp(r*t)figure(2)plot(t,x,'r-')结果如下:x=80003000fmin=-640.0000Fmax=640.0000所以唐师面包的日产量8000个/日,宋赐面包的日产量,5000个/日时,利润最大为640-400/3=506.67元。3.航空公司的机舱设计及机票销售在五个城市A、B、C、D、E之间,有唯一一家航空公司提供四个航班服务,这四个航班的“出发地—目的地”分别为AC、BC、CD、CE,可搭载旅客的最大数量分别为100人、115人、120人、110人,机票的价格分头等舱和经济舱两类。经过市场调查,公司销售部得到了每天旅客的相关信息,见下表。该公司应该在每条航线上分别分配多少张头等舱和经济舱的机票?出发地-目的地头等舱经济舱需求(人)价格(元)需求(人)价格(元)A311905290AD(经C转机)2224441193AE(经C转机)1026160199BC2517033110BD(经C转机)2026031150BE(经C转机)828041165CD341405980CE1318615103分析:题中以“顾客的起点、终点”将顾客分成5类,现将飞机航线也做相应的分类:AC、AD、AE、CD、CE、BC、CD、CE,依次编号为相应的头等舱需求记为ai,价格记为pi;相应的经济舱需求记为bi价格记qi;相应的头等舱机票数记为xi,经济舱机票数记为yi。建模:所以目标函数为:s.t.航班AC上的销售机票总数为3个航线AC、AD、AE的销售机票数之和,不准超过班机容量100,故有航班BC上的销售机票总数为3个航线BC、BD、BE的销售机票数之和,不准超过班机容量115,故有在另外两个航班CD、CE上,有同样的容量限制,故有每条航线上有需求量的限制,故有所以s.t.目标函数为:用matlab编程:c=[-190;-244;-261;-140;-186;-170;-260;-280;-90;-193;-199;-80;-103;-110;-150;-165]A=[1110000011100000;0000011100000111;0101001001010010;0010100100101001]b=[100;115;120;110]xL=zeros(16,1)xU=[31;22;10;34;13;25;20;8;52;41;60;59;15;33;31;41][x,fmin]=LINPROG(c,A,b,[],[],xL,xU)fmax=-fmin运行结果如下:x=31.000022.000010.000034.000013.000025.000020.0008.00000.00002.000035.000042.000015.000033.00000.000029.0000fmin=-5.3407e+004fmax=5.3407e+004方案如下:AC、AD、AE、CD、CE、BC、CD、CE上经济舱票数分别为:312210341325208;AC、AD、AE、CD、CE、BC、CD、CE上豪华舱票数分别为:0235421533029;最大收入为53407元。)8,7,6,5,4,3,2,1(ii51maxiiiiiyqxpz100321321yyyxxx115876876yyyxxx;110,120853853742742yyyxxxyyyxxx8,7,6,5,4,3,2,1,0,0ibyaxiiii100321321yyyxxx115876876yyyxxx110120853853742742yyyxxxyyyxxx51maxiiiiiyqxpz4.运输问题从Toronto和Detroit两市分别有两批货物途径Chicago和Buffalo最终到达NewYork、Phila.和St.louis市.之间的路线表述如图所示,其中Toronto和Detroit分别有600和500的货物需要运出,NewYork、Phila.和St.louis的货物需求分别是450、350和300.每一段上的运输单价如表1和表2。问:如何进行运输安排使整个的运输费用最少?试建立问题的数学模型并求出最优解。表1第一段的运输单价ToFromChicagoBuffaloSupplyTorontoDetroit$4$5$7$7600500表2第二段的运输单价ToFromNewYorkPhila.St.louisChicagoBuffaloDemand$3$1450$2$3350$2$4300建立模型:Xij为i地到j地运输的货物量(0xij)。s.t.:x13+x14=600x23+x24=500-x13-x23+x35+x36+x37=0-x14-x24+x45+x46+x47=0x35+x45=450x36+x46=350x37+x47=300目标函数:Min=4x13+7x14+7x23+5x24+3x35+2x36+x37+x45+3x46+4x47用matlab编程如下:c=[4;7;7;5;3;2;1;1;3;4]Toronto1Detroit2Chicago3Buffalo4NewYork5Phila.6St.louis7SourceTransshipmentPointDestinationxL=zeros(10,1)Aeq=[1100000000;0011000000;-1-100111000;00-1-1000111;0000100100;0000010010;0000001001]seq=[600;500;0;0;450;350;300][x,fmin]=LINPROG(c,[],[],Aeq,seq,xL)结果如下:x=600.00000.00000.0000500.00000.0000300.0000300.000450.000050.00000.0000fmin=6400运输方案如下:Toronto的600全运到Chicago,Detroit的500全运到Buffalo,Chicago600中的300运到Phila,剩下的运到St.louis,Buffalo中的450运到NewYork,剩下的运到Phila。运费最少为6400.5.投资策略某部门现有资金10万元,五年内有以下投资项目可供选择:项目A:从第一年到第四年每年初投资,次年末收回本金且获利15%;项目B:第三年初投资,第五年末收回本金且获利25%,最大投资额为4万元;项目C:第二年初投资,第五年末收回本金且获利40%,最大投资额为3万元;项目D:每年初投资,年末收回本金且获利6%;问如何确定投资策略使第五年末本息总额达最大?分析:先考虑只能投资一次的项目C,项目A连续投资两次,其利润为32.25%,项目D连续投资4次其利润为26.25%,明显项目C的利润要高,所以第二年首先选择项目C的3万元。再考虑只能投资一次的项目B,可以由项目A和项目D组合而成,而其利润为21.90%,所以第三年首先投资4万元到项目B。再考虑项目A和项目D,两年为限时,项目A的收益高于项目D。所以第二年至少要30000元的资金回笼,30000/(1+0.06)=28301.8868元第三年要至少有40000元资金回笼,40000/(1+1.15)=34782.6087元1.第一年初投资28301.8868元在项目D上,其余全部投资在项目A上,第一年末资金回笼为30000元。2.第二年初,30000元全部投资在项目C上,第二年末收益为(100000-28301.8868)×1.15=82452.8302。3.第三年初投资40000元在项目B上,剩余42452.8302元全部投资在项目A上。4.第四年末收益为42452.8302×(1+0.15)=48820.7547元5.第五年初投资4890.7547元在项目D上,第五年年末收益为48820.7547×(1+0.06)=51750.0000,30000×1.40=42000,40000×1.25=50000,共计143750.0000元。建模:设Xij为第i年向项目j的投资。将以上列出的目标函数和约束条件写在一起,并加上对的非负要求,就得到该问题的优化模型:maxA=1.15X41+1.40X23+1.25X32+1.06X54s.t.X11+X14=10-1.06X14+X21+X23+X24=0-1.15X11-1.06X24+X31+X32+X34=0-1.15X21-1.06X34+X41+X44=0-1.15X31-1.06X44+X54=0X324X2330Xij在matlab下用相关函数实现为:c=[0;0;0;-1.4;0;0;-1.25;0;-1.15;0;-1.06]a=[110000000000-1.06111000000;-1.15000-1.06111000;00-1.150000-1.06110;00000-1.15000-1.061;00010