《数学建模实验》
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数学建模》上机作业
信科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 ------+++++++++++++++++-=
整理后得:
900
24255.28275.2831255.25295.27295.31121110987121110987-------+++++=x x x x x x y y y y y y z
由于仓库的容量为1500件,每个月的库存量大于0,小于1500,所以有如下约束条件
1500
30001500
30001500
30001500
30001500300015003000111210119108978710119108978791089787897877877≤-+-+-+-+-++≤≤-+-+-+-++≤≤-+-+-++≤≤-+-++≤≤-++≤≤+≤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,012003001200
3001200
300120030012003001200300121112101191089787111210119108978710119108978791089787897877877 =≥≥--+-+-+-+-+≤-+-+-+-+-+≤-≤-+-+-+-+≤-≤-+-+-+≤-≤-+-+≤-≤-+≤-≤≤-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 ST
i 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.02
23.02
3
.02
1)2098012600(5)2098012600(0012.0)2098012600(x x p x p p x p w
p 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])