⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 anneal5.m

📁 遗传退火进化算法 可用于1个约束条件的优化
💻 M
字号:
function [X2,fX2] = Anneal5(x,fx,FitnessFcn,B,stepSize,A,LB,UB,R,L,t)GenomeLength = length(x);Lbnd = B(1,:);Ubnd = B(2,:);span = max([sqrt(eps)*x;min([x-Lbnd;Ubnd-x])]);X2=[];fX2=[];r = 0; l = 0;while r<R && l<L    ra = 2*rand(1,GenomeLength)-1;    dx = sign(ra) .* t .* ((1+1/t).^abs(ra)-1);    x2 = x  + span .* dx;    y2 = (A*x2')';    if all(LB'<y2 & y2<UB');        l = l+1;        fx2 = feval(FitnessFcn,x2);        delta_f = fx2 - fx;        if delta_f < 0            r = r+1;            x = x2;            fx = fx2;            span = min([x-Lbnd;Ubnd-x]);            X2 = [X2;x2];            fX2 = [fX2;fx2];        elseif exp(-delta_f/t) > rand            r = r+1;            x = x2;            fx = fx2;            span = min([x-Lbnd;Ubnd-x]);            X2 = [X2;x2];            fX2 = [fX2;fx2];        end    endend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -