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

📄 popanneal4.m

📁 遗传退火进化算法 可用于1个约束条件的优化
💻 M
字号:
function [Population,Score] = PopAnneal(options,GenomeLength,FitnessFcn,state,thisScore,thisPopulation)R=1;L=300;%T0=1000;alpha=0.8;%t = T0 * alpha^(state.Generation);nParents = size(thisPopulation,1);nAnneal = nParents;[Score,k] = sort(thisScore);Population  = thisPopulation(k,:);t = 10000;shrink=0.95;stepSize = max(sqrt(eps),shrink^(state.Generation));if isfield(options,'LinearConstr')    % Extract information about constraints    linCon = options.LinearConstr;    type = linCon.type;    % Sub-problem type is constrained?    if ~strcmpi(type,'unconstrained')        A = linCon.A;        LB = linCon.L;        UB = linCon.U;        Lbnd = LB((end-GenomeLength)+1:end);        Ubnd = UB((end-GenomeLength)+1:end);    else % Or unconstrained sub-problem        Lbnd = -(1e+20)*ones(GenomeLength,1);        Ubnd = (1e+20)*ones(GenomeLength,1);    endelse % Unconstrained 'main' problems;    type = 'unconstrained';    Lbnd = -(1e+20)*ones(GenomeLength,1);    Ubnd = (1e+20)*ones(GenomeLength,1);endBound = [Lbnd';Ubnd'];PopAnneal = [];ScoreAnneal = [];for i = 1:nAnneal    x = Population(i,:);    fx = Score(i);    [X2,fX2] = Anneal(x,fx,FitnessFcn,Bound,stepSize,A,LB,UB,R,L,t*stepSize^2);    PopAnneal = [PopAnneal;X2];    ScoreAnneal = [ScoreAnneal;fX2];endPopulation = [PopAnneal;Population];Score = [ScoreAnneal;Score];[Score,k] = sort(Score);Population  = Population(k,:);Population = Population(1:nParents,:);Score = Score(1:nParents,:);

⌨️ 快捷键说明

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