基于MATLAB的多变量优化问题.docx

上传人:scccc 文档编号:13730386 上传时间:2022-01-22 格式:DOCX 页数:8 大小:175.83KB
返回 下载 相关 举报
基于MATLAB的多变量优化问题.docx_第1页
第1页 / 共8页
基于MATLAB的多变量优化问题.docx_第2页
第2页 / 共8页
基于MATLAB的多变量优化问题.docx_第3页
第3页 / 共8页
基于MATLAB的多变量优化问题.docx_第4页
第4页 / 共8页
基于MATLAB的多变量优化问题.docx_第5页
第5页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于MATLAB的多变量优化问题.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的多变量优化问题.docx(8页珍藏版)》请在三一文库上搜索。

1、基于 MATLAB 的多变量优化问题小组成员:刘浩 李莲喜 骆开荣 刘晓康学号: S1402W011、7 S1402W014、3 S1402M0005、S1402W0246MATL AB 在 多 变 量 优 化 问 题 的 应 用【摘要 】实际生活中我们有许多地方需要用到数学中的一些最值运算, 而有些问 题我们无法进行计算, 因此就有了优化设计理论这门学科, 优化理论是一门实践 性很强的学科, 广泛应用于生产管理、 军事指挥和科学试验等各种领域, 为了更 好的学习这门课程,为我们所用, MATLAB 优化工具箱提供了对各种优化问题 的一个完整的解决方案, 可用于解决工程中的最优化问题, 包括非

2、线性方程求解、 极小值问题、最小二乘问题等。一、问题的提出MATLAB 具有强大的科学计算与视化功能、简单易用、开放式的可扩展环 境,编写简单,编程效率高,易学易懂,将 MATLAB 应用到解决最优化问题的 模块中学习, 利用客观、视图、计算等功能对最优化问题模块做出最简洁有效的 解答。二、在多变量优化问题的应用1.问题一:运用 MATLAB 软件编写多变量优化问题求解22min : f ( x) x1 4x2 2 1S.P.: x 01,5采用的算法:牛顿法程序框图:精选目标函数图形:MATLAB 程序:clear x=-10:0.5:10; y=x;X,Y=meshgrid(x,y);Z=

3、(X-4).2+(Y+2).2+1; surf(X,Y,Z) syms t s;f=(t-4)2+(s+2)2+1; x,mf=minNT(f,-1 5,t s)function x,minf=minNT(f,x0,var,eps) format long;if nargin=3eps=1.0e-6;end tol=1;x0=transpose(x0);while tolepsgradf =-jacobian(f,var); jacf=jacobian(gradf,var); v=Funval(gradf,var,x0); tol=norm(v); pv=Funval(jacf,var,x0)

4、; p=-inv(pv)*transpose(v); x1=x0+p;x0=x1;end x=x1; minf=Funval(f,var,x); format short;function fv = Funval(f,varvec,varval) var = findsym(f);varc = findsym(varvec);s1 = length(var);s2 = length(varc);m =floor(s1-1)/3+1);varv = zeros(1,m);if s1= s2 for i=0: (s1-1)/3)k = findstr(varc,var(3*i+1); index

5、= (k-1)/3;varv(i+1) = varval(index+1); endfv = subs(f,var,varv); elsefv = subs(f,varvec,varval); end运行结果: x*=4, -2 f (x*)=12.问题二:运用 MATLAB 软件编写多变量优化问题求解3 2 2min : f(x) x1x1 4x2 2 1S.P.: x01,5采用的算法:修正牛顿法目标函数图形:MATLAB 程序:clcclear x0=-1 5;x,val,k=revisenm( fun,gfun,Hess,x0)x=-10:0.5:10; % 生成函数图形 y=x;X,

6、Y=meshgrid(x,y);Z=X.3+(X-4).2+(Y+2).2+1; surf(X,Y,Z)function f=fun(x) f=x(1)3+(x(1)-4)2+(x(2)+2)2+1;function g=gfun(x) g=3*(x(1)2)+2*(x(1)-4),2*(x(2)+2);function He=Hess(x) n=length(x);He=zeros(n,n);He=6*x(1)+2, 0;0, 2 ;function x,val,k=revisenm(fun,gfun,Hess,x0) n=length(x0); maxk=150;rho=0.55;sigm

7、a=0.4; tau=0.0;k=0; epsilon=1e-5;while(kmaxk)gk=feval(gfun,x0); % 计算梯度muk=norm(gk)(1+tau);Gk=feval(Hess,x0); % 计算 Hesse阵Ak=Gk+muk*eye(n);dk=-Akgk; %解方程组 Gk*dk=-gk, 计算搜索方向if (norm(gk)epsilon), break; end %检验终止准则m=0; mk=0;while(m20) %用Armijo 搜索求步长if (feval(fun,x0+rhom*dk)feval(fun,x0)+sigma*rhom*gk*dk

8、) mk=m; break;endm=m+1;endx0=x0+rhomk*dk;k=k+1;endx=x0;val=feval(fun,x);运行结果: x*=1.3333, -2f (x*)=10.4815三、结论MATLAB 的应用范围非常广,除了在优化问题中的应用之外,它还包括信 号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生 物学等众多应用领域。扩展了 MATLAB 环境。以解决这些应用领域内特定类型 的问题。可以看出通过以上两个例子,对优化问题做出了合理的解决四、心得经过几周的优化理论与设计课程的学习,发现忘记了一些基本的优化知识, 而后对这方面的知识进行加深, 优化算法在今后的学习和论文撰写中将会常常用 到。本门课程学习到了一些常用算法、 EXCEL 优化以及 MATLAB 优化等,通过 小组成员的讨论和分工合作,完成了两份大作业,总之,本次课程收获很多,意 义颇深,同时感谢徐老师和张老师细心教导,对您的感激千言万语也无法表达, 对您的祝福百十万年也不会改变 - 老师,祝您万事如意!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1