《数学建模》上机作业信科05-3韩亚0511010305实验1 线性规划模型一、实验名称:线性规划模型—设备的最优配备问题。
二、实验目的:掌握线性规划模型的建模方法,并能用数值算法或MATLAB 库函数求解。
三、实验题目:某商店拟制定某种商品7—12月的进货、售货计划,已知商店仓库最大容量为1500件,6月底已存货300件,年底的库存以不少于300件为宜,以后每月初进货一次,假设各月份该商品买进、售出单价如下表。
四、实验要求:1、若每件每月的库存费用为0.5元,问各月进货、售货各为多少件,才能使净收益最多?建立数学模型。
2、利用相应的数值方法求解此问题的数学模型。
3、谈一谈你对这类线性规划问题的理解。
4、举一个简单的二维线性规划问题,并针对此问题将你所了解的线性规划的求解方法作出总结。
5、用软件lindo 或lingo 求解上述问题。
(选做题)6、编写单纯形算法的MATLAB 程序。
(选做题) 五、实验内容:解:设第i 个月进货xi 件,销售yi 件,则下半年总收益为销售收入减去进货费和仓库储存费之和,所以目标函数为:1211109871211109711109871211109875.232427252628252528262729)2345(5.0)2345)300(6(5.07x x x x x x y y y y y y y y y y y x x x x x x z y ------+++++++++++++++++-=整理后得:90024255.28275.2831255.25295.27295.31121110987121110987-------+++++=x x x x x x y y y y y y z由于仓库的容量为1500件,每个月的库存量大于0,小于1500,所以有如下约束条件150030001500300015003000150030001500300015003000111210119108978710119108978791089787897877877≤-+-+-+-+-++≤≤-+-+-+-++≤≤-+-+-++≤≤-+-++≤≤-++≤≤+≤y x y x y x y x y x x y x y x y x y x x y x y x y x x y x y x x y x x x又有年底库存量不少于300则:300300121112101191089787≥--+-+-+-+-++y y x y x y x y x y x x化为抽象的线性规划模型为:90024255.28275.2831255.25295.27295.31max 121110987121110987-------+++++=x x x x x x y y y y y y z ,;12,,8,7;0,0120030012003001200300120030012003001200300121112101191089787111210119108978710119108978791089787897877877 =≥≥--+-+-+-+-+≤-+-+-+-+-+≤-≤-+-+-+-+≤-≤-+-+-+≤-≤-+-+≤-≤-+≤-≤≤-i y x y y x y x y x y x y x x y x y x y x y x y x x y x y x y x y x x y x y x y x x y x y x x y x x x STi i线性规划目标函数的系数:f = [31; 28.5; 27; 28.5;25;24;-31.5;-29;-27.5;-29;-25.5;-25]; 约束方程的系数及右端项: A=[1,0,0,0,0,0,0,0,0,0,0,0 1,1,0,0,0,0,-1,0,0,0,0,0 1,1,1,0,0,0,-1,-1,0,0,0,0 1,1,1,1,0,0,-1,-1,-1,0,0,0 1,1,1,1,1,0,-1,-1,-1,-1,0,0 1,1,1,1,1,1,-1,-1,-1,-1,-1,0 -1,0,0,0,0,0,0,0,0,0,0,0 -1,-1,0,0,0,0,1,0,0,0,0,0 -1,-1,-1,0,0,0,1,1,0,0,0,0 -1,-1,-1,-1,0,0,1,1,1,0,0,0 -1,-1,-1,-1,-1,0,1,1,1,1,0,0 -1,-1,-1,-1,-1,-1,1,1,1,1,1,0 -1,-1,-1,-1,-1,-1,1,1,1,1,1,1];b=[1200;1200;1200;1200;1200;1200; 300; 300; 300; 300; 300; 300;0]; lb=zeros(12,1);[x,fval,exitflag,output,lambda] = linprog(f,A,b,[],[],lb);实验2 非线性规划模型一、实验名称:非线性规划模型。
二、实验目的:掌握非线性规划模型的建模方法,并能用数值算法或MATLAB 库函数求解。
三、实验题目:某厂生产一种产品,其需求量)(1kg x 可用下式来估算:3.0212098012600x p x +-=,其中p 为产品单价(元/kg ),2x 为广告费(元),产品的生产成本w (元)由下式确定:212150012.0x x x w ++=。
四、实验要求:1、问该厂生产的产品、产品的单价、和广告费应为多少,方能使该厂获得的利润最多?建立数学模型。
2、利用相应的数值方法求解此问题的数学模型。
3、谈一谈你对这类这类规划问题的理解。
4、将你所了解的非线性规划的求解方法作出总结。
五、实验内容:1、设在产品的单价为)kg /(元p ,广告费为元2x 的情况下,获得利润为p 则:23.0223.023.021)2098012600(5)2098012600(0012.0)2098012600(x x p x p p x p wp x p -+--+--+-=-=若求利润最大,就相当于求模型中的p 的最大值: 2、利用matlab 的无约束优化问题的 建立函数myfun function f = myfun(x)f=(12600-980*x(1)+20*x(2)^0.3)*(-1)*x(1)+0.0012*(12600-980*x(1)+20*x(2)^0.3)^2+5*(12600-980*x(1)+20*x(2)^0.3)+x(2); 用MATLAB 的库函数求解: fminsearch(@myfun,[100,300])ans = 11.955 30.3846myfun([11.0955 30.3846])ans =-7.0214e+003所以定价为11元,广告费为:30.3元,最大收益为7021.元 3、此类规划属于无约束条件的非线性规划模型,4、对于非线性问题的解法,如果是无约束条件的可以利用求导解法求出最优解,如果是有约束的并且是二维的可以利用图解法计算。
此外也可以利用数学软件计算,但是在计算过程中对初始值的要求比较苛刻。
实验3 一阶常微分方程模型一、实验名称:一阶常微分方程模型—人口模型与预测。
二、实验目的:掌握常微分方程模型的建模方法,并能用数值算法或MATLAB 库函数求解。
三、实验题目:下表列出了中国1982-1998年的人口统计数据,取1982年为起始年(0=t ),1016540=N 万人,200000=m N 万人。
四、实验要求:1、建立中国人口的指数增长模型,并用该模型进行预测,与实际人中数据进行比较。
2、建立中国人口的Logistic 模型,并用该模型进行预测,与实际人中数据进行比较。
3、在图1中标出中国人口的实际统计数据,并画出两种模型的预测曲线。
4、在图2中画出两种预测模型的误差比较图,并分别标出其误差(可以是平方误差)。
五、实验内容: 1、指数增长模型:建立中国人口的指数增长模型,并用该模型进行预测,与实际人中数据进行比较。
假设:在人口自然增长过程中,单位时间内人口的增长与人口总数成正比.记时刻t 的人口数量为N(t),考虑t 到t t ∆+时间内人口的增长量,根据Malthus 理论,有t t rN t N t t N ∆=-∆+)()()(,其中r 为比例系数,而增长量与t ∆成正比.在上式中令0→∆t ,有rN dtdN=, 从而有Malthus 人口模型⎪⎩⎪⎨⎧=>=,)(,0,00N t N r rN dt dN其中0N 为0t t =时的人口数. 容易求得此微分方程的解为.)()(00t t r e N t N -=用最小二乘法曲线拟合求出方程的系数 在控制窗口输入 x=1:17;y=[101654,103008,104357,105851,107507,109300,111026,112704,114333,115823,117171,118517,119850,121121,122389,123626,124810];输入曲线拟合命令cftool 进入Curve Fitting Tool 界面,出入控制命令cftool 进入curv fitting tool Xdata 选择x ,Ydata 选择y ;点击creat data set 再点击fitting 再type of setting 中选择Exponential 后,在下面窗口中选择y=a*exp(b*x);点OK 再回到Fitting 点击Apply 得到result得到拟合的结果为: General model Exp1: f(x) = a*exp(b*x)Coefficients (with 95% confidence bounds): a=1.022e+005(1.016e+005, 1.029e+005)b = 0.01303 (0.01243, 0.01363)Goodness of fit: SSE: 6.193e+006 R-square: 0.9932 Adjusted R-square: 0.9927 RMSE: 642.5 exp(0.01303) ans =1.0131所以中国的人口年增长率1.31%Logistic 模型建立中国人口的Logistic 模型,并用该模型进行预测,与实际人中数据进行比较。
假设引入常数max N (简记为m N ),用来表示自然资源和环境条件下能容许的最大人口数量.m N 亦称为环境的最大容量.将Malthus 模型中的假设条件“人口自然增长率为常数”修正为人口自然增长率为,0),)(1(>-r N t N r m从而有如下模型⎪⎩⎪⎨⎧=⎪⎪⎭⎫⎝⎛-=.)(,)(100N t N N t N r Ndt dN m 即⎪⎩⎪⎨⎧=⎪⎪⎭⎫ ⎝⎛-=.)(,)(100N t N N N t N r dt dN m 这个模型称为Logistic.其解为)(0011)(t t r m me N N N t N --⎪⎪⎭⎫ ⎝⎛-+=用最小二乘法曲线拟合求出方程的系数 在控制窗口输入 x=1:17;y=[101654,103008,104357,105851,107507,109300,111026,112704,114333,115823,117171,118517,119850,121121,122389,123626,124810];3.出入控制命令cftool进入curv fitting tool Xdata选择x,Ydata选择y;点击creat data set 再点击fitting 再type of setting 中选择Custom Equations点New Equation 选择Genreal Equations Equations函数选择y=a/(1+(a/b-1)*exp(-c*x)); 初始拟合值为:a=4.00e+05,b=1.00e+05,c=1.00e-02(这非常关键,如果错误拟合结果会同真是结果相差很大,很大)如图:点OK 再回到Fitting点击Apply得到resultGeneral model:f(x) =a/(1+(a/b-1)*exp(-c*x))Coefficients (with95% confidencebounds):a =1.563e+005(1.468e+005,1.658e+005)b = 1.012e+005 (1.008e+005, 1.015e+005)c = 0.04842 (0.04047, 0.05637)Goodness of fit:SSE: 8.004e+005R-square: 0.9991Adjusted R-square: 0.999RMSE: 239.1拟合的图像为:人口最大值为15.6亿,拟合的曲线同原数据差值为:239.1,并且有拟合图形可知,logistic 显然比指数拟合好的多实验4 高阶常微分方程模型一、实验名称:高阶常微分方程模型—饿狼追兔问题。