您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 重庆大学-数学实验-5非线性规划
开课学院、实验室:数学与统计DS1422实验时间:2012年课程名称数学实验实验项目名称世界本复杂,如何做的更好——非线性规划实验项目类型验证演示综合设计其他指导教师肖剑成绩一、实验目的及意义[1]学习非线性规划模型的标准形式和建模方法;[2]掌握建立非线性规划模型的基本要素和求解方法;[3]熟悉MATLAB软件求解非线性规划模型的基本命令;[4]通过范例学习,了解建立非线性规划模型的全过程,与线性规划比较其难点何在。通过该实验的学习,使学生掌握最优化技术,认识面对什么样的实际问题,提出假设和建立优化模型,并且使学生学会使用MATLAB软件进行非线性规划模型求解的基本命令,并进行灵敏度分析。解决现实生活中的最优化问题是本科生学习阶段中一门重要的课程,因此,本实验对学生的学习尤为重要。二、实验内容1.建立非线性规划模型的基本要素和步骤;2.熟悉使用MATLAB命令对非线性规划模型进行计算与灵敏度分析;3.学会计算无约束优化问题和有约束优化问题的技巧。三、实验步骤1.开启MATLAB软件平台,开启MATLAB编辑窗口;2.根据问题,建立非线性规划模型,并编写求解规划模型的M文件;3.保存文件并运行;4.观察运行结果(数值或图形),并不断地改变参数设置观察运行结果;5.根据观察到的结果和体会,写出实验报告。四、实验要求与任务根据实验内容和步骤,完成以下实验,要求写出实验报告(实验目的→问题→数学模型→算法与编程→计算结果→分析、检验和结论)基础实验1求解无约束优化1)画出该曲面图形,直观地判断该函数的最优解;2)使用fminunc命令求解,能否求到全局最优解?2212120.20.5()0.5(cos(2)cos(2))12min(,)2022.713..55,1,2xxxxifxxeestxi2.求解非线性规划,试判定你所求到的解是否是最优?应用实验3.组合投资问题设有8种投资选择:5支股票,2种债券,黄金.投资者收集到这些投资项目的年收益率的历史数据(见表6.1),投资者应如何分配他的投资资金,即需要确定这8种投资的最佳投资分配比例.表6.18种投资项目的年收益率历史数据项目年份债券1债券2股票1股票2股票3股票4股票5黄金19731.0750.9420.8520.8150.6981.0230.8511.67719741.0841.0200.7350.7160.6621.0020.7681.72219751.0611.0561.3711.3851.3181.1231.3540.76019761.0521.1751.2361.2661.2801.1561.0250.96019771.0551.0020.9260.9741.0931.0301.1811.20019781.0770.9821.0641.0931.1461.0121.3261.29519791.1090.9781.1841.2561.3071.0231.0482.21219801.1270.9471.3231.3371.3671.0311.2261.29619811.1561.0030.9490.9630.9901.0730.9770.68819821.1171.4651.2151.1871.2131.3110.9811.08419831.0920.9851.2241.2351.2171.0801.2370.87219841.1031.1591.0611.0300.9031.1501.0740.82519851.0801.3661.3161.3261.3331.2131.5621.00619861.0631.3091.1861.1611.0861.1561.6941.21619871.0610.9251.0521.0230.9591.0231.2461.24419881.0711.0861.1651.1791.1651.0761.2830.86119891.0871.2121.3161.2921.2041.1421.1050.97719901.0801.0540.9680.9380.8301.0830.7660.92219911.0571.1931.3041.3421.5941.1611.1210.95819921.0361.0791.0761.0901.1741.0760.8780.92619931.0311.2171.1001.1131.1621.1101.3261.14619941.0450.8891.0120.9990.9680.9651.0780.990421237212221371230.201max10..67500.419010036,05,0125xxxzstxxxxxxx五、实验过程及结果1求解无约束优化1)画出该曲面图形,直观地判断该函数的最优解;2)使用fminunc命令求解,能否求到全局最优解?编写程序:x1=-5:0.08:5;x2=-5:0.08:5;[M,N]=meshgrid(x1,x2);Z=-20*exp(-0.2*sqrt(0.5*(M.^2+N.^2)))-exp(0.5*(cos(2*pi*M)+cos(2*pi*N)))+22.731;mesh(M,N,Z);运行结果:functionf=yan(x)f=-20*exp(-0.2*sqrt(0.5*(x(1)^2+x(2)^2)))-exp(0.5*(cos(2*pi*x(1))+cos(2*pi*x(2))))+22.731输出结果:[x,fval]=fminunc('zhu',[-11])f=3.63812212120.20.5()0.5(cos(2)cos(2))12min(,)2022.713..55,1,2xxxxifxxeestxiWarning:Gradientmustbeprovidedfortrust-regionmethod;usingline-searchmethodinstead.Infminuncat243f=3.6381f=3.6381f=0.0127f=0.0127f=0.0127f=4.9038f=4.9038f=4.9038f=0.7759f=0.7759f=0.7759f=0.0540f=0.0540f=0.0540f=0.0168f=0.0168f=0.0162f=0.0132f=0.0132f=0.0132f=0.0128f=0.0128f=0.0128f=0.0127f=0.0128f=0.0127f=0.0127f=0.0127f=0.0127f=0.0127f=0.0127f=0.0127f=0.0127f=0.0127f=0.0127f=0.0127f=0.0127f=0.0127Linesearchcannotfindanacceptablepointalongthecurrentsearchdirection.x=00fval=0.0127分析:画出该曲面图形,可以判断该函数的最优解;使用fminunc命令求解,不能求到全局最优解2.求解非线性规划,试判定你所求到的解是否是最优?M程序:functionf=yan(x)f=(-0.201*x(1)^4*x(2)*x(3)^2)/10^7function[g,h]=hh(x)g=[x(1)^2*x(2)-675;x(1)^2*x(3)^2/10^7-0.419];h=[];x0=[1,1,1]';L=[0;0;0];U=[36;5;125];[x,fhh]=fmincon('zhu',x0,[],[],[],[],L,U,'hh');fyan=-fhhx1=x(1),x2=x(2),x3=x(3)运行结果:fyan=2.0100e-008x1=1x2=1x3=1应用实验3.组合投资问题设有8种投资选择:5支股票,2种债券,黄金.投资者收集到这些投资项目的年收益率的历史数据(见表6.1),投资者应如何分配他的投资资金,即需要确定这8种投资的最佳投资分配比例一、问题分析设投资的期限是一年,不妨设投资总数为1个单位,用于第i项投资的资金比例为xi,X=(x1,x2,…,xn)称为投资组合向量.显然有x1+x2+…+xn=1,xi0预计第j种投资的平均收益率为:421237212221371230.201max10..67500.419010036,05,0125xxxzstxxxxxxx1()/TjjkkrrT其中:rjk代表第j种投资在第k年的收益率.收益的波动程度,可用样本方差(历史方差)来度量,为:投资组合X=(x1,x2,…,xn)在第k年的收益率为:投资组合X=(x1,x2,…,xn)的平均收益率为:投资组合X=(x1,x2,…,xn)的风险为:二、数学模型的建立与求解(一般应包括模型、求解步骤或思路,程序放在后面的附录中)双目标:最大化利润,最小化风险s.t.x1+x2+…+x8=1,xi0,i=1,2,…,8化为单目标,对收益和风险加权平均(01)调用程序:R=xlsread('tz.xlsx');0=ρ=1[shouyi,fengxian]=tzzh(R)plot(shouyi,fengxian,'r'),holdon,plot(shouyi,fengxian,'k*'),holdoff,grid三、实验结果及分析21(())/TjjkjkqrrT81()kjjkjRXxr811111()()TTkjjkkkjRXRXxrTT211()[()()]TkkQXRXRXT882111111[]TTjjkjjkkjkjxrxrTT28111TjjkjkjxrrT()max()RXQX12max(1)()(),..101,2,,niRXQXstxxxxin由上图可以看出,随着年收益率的增加,年投资总风险也逐渐成指数增加,这符合实际情况。四、附录(程序等)M文件:function[shouyi,fengxian]=tzzh(R)junzhi=zeros(1,8);fori=1:8junzhi(i)=mean(R(:,i));endA1=[];b1=[];A2=ones(1,8);b2=1;v1=zeros(1,8);h=zeros(8,8);fori=1:8forj=1:8xfz=cov(R(:,i),R(:,j));h(i,j)=xfz(1,2);p(i,j)=h(i,j);ifi==jh(i,j)=2*h(i,j);endendendfort=1:11n=(t-1)/10;c=(n-1)*junzhi;H=n*h;[x,fv,ef]=quadprog(H,c,A1,b1,A2,b2,v1)Shouyi(t)=sum(x'.*junzhi)Fengxian(t)=sum(sum(x*x'.*p))endend总结与体会通过该实验的学习,对matlab有了更深的了解,能借助MATLAB软件的绘图功能,对函数的特性进行探讨,联想,猜想,发现进而证实其中的规律。同时,我发现matlab是一个非常强大的学习软件,我们应当好好的学习和利用它,将理论知识与实践相结合,从而增加自身的知识储备和个人能力的提高。本次实验,前两道题比较基础,能够很好的掌握,但最后一题对我来说还是比较难!在做题的过程中,我发现我对matlab掌握的还不熟,还得需要不断地学习!教师签名年月日
本文标题:重庆大学-数学实验-5非线性规划
链接地址:https://www.777doc.com/doc-4777388 .html