من برنامه را به زبان مطلب نوشتم
close all
clear all
clc
%%initial setting
pm=.2;
n=8;        % N is number of queens
popsize=80; % size of population
pop=round(rand(popsize,n)*(n-1)+1);
for k=1

opsize
    x=pop(k,

;
    fitness(k)=comfitness(x,n);
    
    
end
[bestfitness ind]=min(fitness);
bestchromosome=pop(ind,

;
while (bestfitness<0)
    
%%crossover operation
index=1;
for k=1

opsize/2
    index1=round(rand*(popsize-1)+1);
    index2=round(rand*(popsize-1)+1);
    while(index1==index2)
        index2=round(rand*(popsize-1)+1);
    end
    x=pop(index1,

;
    y=pop(index2,

;
    [newpop(index,

 newpop(index+1,

]=onepoint(x , y , n);
    index=index+2;
    
end
%% mutaion operation
for k=1

opsize
    if(rand<pm)
pointindex=round(rand*(n-1)+1);
newpop(k,pointindex)=round(rand*(n-1)+1);
    end
end
%% compute fitness
for k=1

opsize
    x=newpop(k,

;
    newfitness(k)=comfitness(x,n);
end
[val ind]=min(fitness);
bestchromosome=pop(ind,

;
[val ind]=max(newfitness);
newpop(ind,

=bestchromosome;
pop=newpop;
fitness=newfitness;
[bestfitness ind]=min(fitness);
end
[bestfitness ind]=min(fitness);
bestchromosome=pop(ind,

;
فقط یک فانکشن واسش بنویسید
اگه خواستید خبر کنیید تا فانکشن را هم واستون بنویسم