1、 本科毕业论文(设计)模板本科毕业论文(设计)论文题目:非线性规划问题的建模与 Matlab求解实现的案例分析 学生姓名: 许富豪 学 号: 1204180137 专 业: 信息与计算科学 班 级: 计科 1201 指导教师: 王培勋 完成日期: 2015 年 6 月 25 日非线性规划问题的建模与 Matlab 求解实现的案例分析内容摘要非线性规划问题通常极其抽象,并且求解计算极其复杂,本文举个别非线性规划问题案例,通过对抽象的非线性规划问题先建立数学模型,再利用 Matlab 软件高效快捷的实现非线性规划问题的求解,最后分析利用 Matlab 软件得出的案例结果。关键词:非线性规划 建立数
2、学模型 Matlab 目 录 (三号黑体居中)空一行空一行一、 1(一) 11. 12. 4(二) 7(三)12二、16(一)16(二)241.242.303.31(三)33三、36(一)38(二)43四、45参考文献48附录50(标题顺序号、内容及其开始页码均为四号宋体,一级标题为黑体四号)1序 言非线性规划问题通常难以用人力计算,所以我们一般利用 Matlab 软件代替人去计算抽象的非线性规划问题,解决了耗费时间、耗费精力的问题,快速准确的得出计算结果。因此,善于利用Matlab 实现非线性规划问题的求解非常重要,而求解非线性规划问题之前必须先对问题进行建立数学模型,才能准确的理解题意并快
3、速的运用 Matlab 求解。一、非现性规划的基本概念(一)定义如果目标函数或约束条件中至少有一个是非线性函数,则最优化问题就叫做非线性规划问题,简记为 NP。(二)一般形式 min(),nfxE,=012.jijhstgl), , )其中: 称为模型(NP)的决策变量, 称为目标函数, 和1,2n=()Tx f(=1,.)ihm称为约束函数 ; 称为等式约束; 称为不等式(,.)jgl(01,.)ihx()0jgxjl约束。(三)其他情况求目标函数的最大值,或约束条件小于等于零两种情况,都可通过取其相反数化为上述一般形式。二、非线性规划问题的案例(一) 经营方式安排问题案例某公司经营两种设备
4、,第一种设备每件售价 30 元,第二种设备每件售价 450 元,根据统计售出第一件第一种设备所需的营业时间平均为 0.5 小时,第二种设备是(2+0.25 )小时,其中2x是第二种设备的售出数量,已知该公司在这段时间内的总营业时间为 800 小时,试确定使营业2x额最大的营业计划。2(二) 资金最优使用方案案例设有 400 万元资金,要求在 4 年内使用完,若在一年内使用资金 x 万元,则可获得效益万元(设效益不再投资) ,当年不用的资金可存入银行,年利率为 10%,试制定出这笔资金的x使用方案,以使 4 年的经济效益总和为最大。三、给案例建立数学模型数学模型(Mathematical Mod
5、el)是一种模拟,是用数学符号、数学式子、程序、图形等对实际课题本质属性的抽象而又简洁的刻划,它或能解释某些客观现象,或能预测未来的发展规律,或能为控制某一现象的发展提供某种意义下的最优策略或较好策略。数学模型一般并非现实问题的直接翻版,它的建立常常既需要人们对现实问题深入细微的观察和分析,又需要人们灵活巧妙地利用各种数学知识。这种应用知识从实际课题中抽象、提炼出数学模型的过程就称为数学建模。(一) 经营方式安排问题建模设该公司计划经营的一种设备为 X ,第二种设备 X 件,根据题意,建立如下的数学模型12112max()3045.5.)80,fxst(二) 资金最优使用方案建模针对现有资金
6、400 万元,对于不同的使用方案,4 年内所获得的效益的总和是不相同的。比如第一年就把 400 万元全部用完,这获得的效益总和为 =20.0 万元;若前三年均不用这笔40资金,而把它存入银行,则第四年时的本息和为 400 31.=532.4 万元,再把它全部用完,则效益总和为 23.07 万元,比第一种方案效益多 3 万多元,所以用最优化方法可以制定出一种最优的使用方案,以使 4 年的经济效益总和为最大。建立模型:设 X 表示第 i 年所使用资金数, T 表示 4 年的效益总和,则目标函数为:i 1234max+xx决策变量的约束条件:每一年所使用资金既不能为负数,也不能超过当年所拥有的资金数
7、,即第一年使用的资金数 ,满足1x0 1400第二年资金数 ,满足20 2x(400- )1.11(第一年未使用资金存入银行一年后的本利之和) ;3第三年资金数 ,满足3x0 3x(400- )1.1- 2x1.11第四年资金数 ,满足40 (400- 1)1.1- 21.1- 31.14这样,资金使用问题的数学模型为 1234max+Txx1234120. 83.52.,0stxx模型的求解:这是非线性规划模型的求解问题,可选用函数x.fval=fmincon(fun,x0,a,b,Aeq,beq,lb,ub)对问题进行求解。首先,用极小化的形式将目标函数改写为 1234minTxx其次,将
8、约束条件表示为如下形式 Ablxu其中各输入参数为, , 123,4TXx0,Tlb40,1,0Tb1.1,8.2532.A四、利用 Matlab 实现求解(一) 经营方式安排问题求解首先,编写 M 文件来定义目标函数,并将其保存为 wangmazi.mfunctionf=wangmazi(x)f=-30*x(1)-450*x(2);其次,由于约束条件是非线性不等式约束,因此,需要编写一个约束条件的 M 文件,将其保存为 wangmazi1.m4%wangmazi1.mfunctionc.cep=wangmazi1(x)c=0.5*x(1)+2*x(2)+0.25*x(2)*x(2)-800;
9、cep=;最后,编制主程序并存为 wangmazi_2.mclear alllb=0,0;x0=0,0;x,w=fmincon(wangmazi,x0,lb,wangmazi1)运行 wangmazi_2.m,即得到结果:x=1495.5 11,w=-49815,即该公司经营第一种设备 1496 件,经营第二种设备 11 件,即可使总营业额最大,为 49815元。(二) 资金最优使用方案求解首先编写目标函数的 M 文件,并将其保存为 zhangsan.mFunction y=zhangsan(x)y=-sqrt(x(1)-sqrt(x(2)-sqrt(x(3)-sqrt(x(4);其次编写主程
10、序并保存为文件 zhangsan1.mClear allA=1.1,1,0;1.21,1.1,1,0;1.331,1.21,1.1,1;b=440,484,532.4;Lb=0,0,0,0;ub=400,1000,1000,1000;x0=100,100,100,100;x,fval=fmincon(zhangsan,x0,A,b,lb,ub)结果输出:运行 zhangsan1.m,可获得如下的运行结果x=(84.2440 107.6353 128.9031 148.2391)5Fval= -43.0821也即如下表所列资金最优使用方案第一年 第二年 第三年 第四年现有资金/万元 400 347.4 263.8 148.2使用金额/万元 84.2 107.6 128.9 148.24 年效益总和最大值为 T=43.08 万元。五、总结经过这几个非线性规划问题的案例可以看出,Matlab 软件对建模过后的非线性规划问题能方便快捷的得出准确的结果,能大量节省我们的时间。但是对抽象的非线性规划问题建立数学模型也是非常重要,只有建立了正确的数学模型,才能利用 Matlab 软件得出正确的解。