www.gusucode.com > GAVPai_Book_MathworksCntrlFileEx_May2019 > GAVPai_Book_MathworksCntrlFileEx_May2019/DE_mutation.m
%Differential evolution: mutation operator function trialvec_popln = DE_mutation(individual_popln, beta_val, popln_size) for i = 1 : popln_size % select target vector and two difference vectors randomly rand_indx = randperm(popln_size); for t=1:popln_size if (rand_indx(t)==i) elimx = t; end end rand_indx(elimx)=[]; trial_vector_indx = rand_indx(1); diffl_vec1_indx = rand_indx(2); diffl_vec2_indx= rand_indx(3); % obtain trial vectors for each of the parent vectors trialvec_popln(i,:) = individual_popln(trial_vector_indx,:) + beta_val*(individual_popln(diffl_vec1_indx,:)-individual_popln(diffl_vec2_indx,:)); end end