基于MATLAB的多变量优化问题_第1页
基于MATLAB的多变量优化问题_第2页
基于MATLAB的多变量优化问题_第3页
基于MATLAB的多变量优化问题_第4页
基于MATLAB的多变量优化问题_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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 tol>epsgradf =-jacobian(f,var); jacf=jacobian(gradf,var); v=Funval(gradf,var,x0); tol=norm(v); pv=Funval(jacf,var

4、,x0); 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); in

5、dex = (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

6、,'x0)x=-10:0.5:10; % 生成函数图形 y=x;X,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,Hes

7、s,x0) n=length(x0); maxk=150;rho=0.55;sigma=0.4; tau=0.0;k=0; epsilon=1e-5;while(k<maxk)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(m<20) %用Armijo 搜索求步长i

8、f (feval(fun,x0+rhom*dk)<feval(fun,x0)+sigma*rhom*gk'*dk) 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 环境。以解决这些应用领域内特定类型 的问题。可以看出通过以上两个例子,对优化问题做出了合理的解决四、心得经过几周的优化理论与设计课程的学习,发现忘记了一些基本的优化知识, 而后对这方面的知识进行加深, 优化算法在今后的学习和论文撰写中将会常常用 到。本门课程学习到了一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论