qgate1.asv

来自「量子遗传算法对标准函数的优化」· ASV 代码 · 共 46 行

ASV
46
字号
function ret=Qgate1(individuals,best,sizepop,lenchrom)
% 根据<Quantum-Inspired Evolutionary Algorithm for a Class of Combinaorial Optimiation>编写
%  quantum gate ( another )


global maxgen gen

for i=1:sizepop
    for j=1:sum(lenchrom)
        A=individuals.chrom(2*i-1,j);    % α
        B=individuals.chrom(2*i,j);      % β
        x=individuals.binary(i,j);
        b=best.binary(j);
        deltae=0;                % 旋转角的大小
        s=0;                     % s为旋转角的符号,即旋转方向
        if (x==0&b==1&(individuals.fitness(i)<=best.fitness))
            deltae=0.01*pi;
            if A*B>0   
                s=1;
            elseif A*B<0
                s=-1;
            elseif A==0
                s=0;
            elseif B==0
                s=sign(randn);
            end
        elseif (x==1&b==0&(individuals.fitness(i)<=best.fitness))
            deltae=0.01*pi;
            if A*B>0   
                s=-1;
            elseif A*B<0
                s=1;
            elseif A==0
                s=sign(randn);
            elseif B==0
                s=0;
            end
        end
        e=s*deltae;
        u=[cos(e) -sin(e);sin(e) cos(e)];
        y=u*[A B]';
        chrom(2*i-1,j)=y(1);
        chrom(2*i,j)=y(2);
    end
end
ret=chrom;

⌨️ 快捷键说明

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