www.gusucode.com > matlab编程遗传算法计算匹配电路源码程序 > code1/code/MATLAB源代码/mut_crossover_change_with_ObjV.m

    function [crossover_probability_out,mutation_probability_out] = mut_crossover_change_with_ObjV(gen,crossover_probability,mutation_probability,trace)
%UNTITLED 根据目标值的改变大小调整交叉率和变异率,目标值改变小弱交叉强变异,目标值改变大强交叉若变异
%   此处显示详细说明
      if gen>10
           if (trace((gen-10),1)-trace(gen,1))<=100           %弱交叉强变异,弱化优势型选择算子
                  crossover_probability_out=0.4;               
                  mutation_probability_out=0.2;
           else                                             %强交叉弱变异,强化优势型选择算子
                  crossover_probability_out=crossover_probability;
                  mutation_probability_out=mutation_probability;
           end
      else
                  crossover_probability_out=crossover_probability;
                  mutation_probability_out=mutation_probability;
      end

end