毕业论文基于matlab的模拟退火法说明书.docVIP

  • 12
  • 0
  • 约1.48万字
  • 约 20页
  • 2016-05-16 发布于浙江
  • 举报

毕业论文基于matlab的模拟退火法说明书.doc

基于matlab的模拟退火法 编写一个matlab的程序用模拟退火法求函数最优解 function [xo,fo] = Opt_Simu(f,x0,l,u,kmax,q,TolFun) % 模拟退火算法求函数 f(x)的最小值点, 且 l = x = u % f为待求函数,x0为初值点,l,u分别为搜索区间的上下限,kmax为最大迭代次数 % q为退火因子,TolFun为函数容许误差 %%%%算法第一步根据输入变量数,将某些量设为缺省值 if nargin 7 TolFun = 1e-8; end if nargin 6 q = 1; end if nargin 5 kmax = 100; end %%%%算法第二步,求解一些基本变量 N = length(x0); %自变量维数 x = x0; fx = feval(f,x); %函数在初始点x0处的函数值 xo = x; fo = fx; %%%%%算法第三步,进行迭代计算,找出近似全局最小点 for k =0:kmax Ti = (k/kmax)^q; mu = 10^(Ti*100); % 计算mu dx = Mu_Inv(2*rand(size(x))-1,mu).*(u - l);%步长dx x1 = x + dx; %下一个估计点 x1 = (x1

文档评论(0)

1亿VIP精品文档

相关文档