-1
find minimum of math function with genetic algorithm in matlabMATLAB에서 유전자 알고리즘과 수학 함수의 최소값을 찾아, 내가 MATLAB는 GA에 대한 도구 상자를 알고하지만 난) programmically을 achive하려면이 파일-main.m에 필요한 어떤 수정
?
global population;
global fitness;
global popsize;
format bank;
popsize=50;
report=zeros(popsize,2);
selected=ones(1,50);
fitness=zeros(1,50);
population = randi([0 1], 50, 10);
for j=1:popsize
calFitness();
for i=1:popsize
selected(1,i)=(rol_wheel(fitness));
end;
population =recombin(population,selected);
report(j,:)=[min(fitness),mean(fitness)];
end
calFitness
function [] = calFitness()
%UNTITLED2 Summary of this function goes here
% Detailed explanation goes here
global population;
global fitness;
global popsize;
%population=population.*2;
for i=1:popsize
x=bin2dec(num2str(population(i,:)))/2;
fitness(1,i)= abs(x*sin(sqrt(abs(x))));
%disp(fitness);
end
%disp();
rol_wheel 나는이 파일 기능의 최소를 찾으려면
function pop = recombin(popu,selected)
global popsize;
pop=zeros(50,10);
for i=1:popsize/2
rc=randi([1,10]);
for j=1:10
pop(i,1:rc-1)=popu(selected(i),1:rc-1);
pop(i,rc:end)=popu(selected(i+25),rc:end);
pop(i+25,1:rc-1)=popu(selected(i+25),1:rc-1);
pop(i+25,rc:end)=popu(selected(i),rc:end);
%keyboard
end
end
end
% ---------------------------------------------------------
% Roulette Wheel Selection Algorithm. A set of weights
% represents the probability of selection of each
% individual in a group of choices. It returns the index
% of the chosen individual.
% Usage example:
% fortune_wheel ([1 5 3 15 8 1])
% most probable result is 4 (weights 15)
% ---------------------------------------------------------
function choice = rol_wheel(weights)
accumulation = cumsum(weights);
p = rand() * accumulation(end);
chosen_index = -1;
for index = 1 : length(accumulation)
if (accumulation(index) > p)
chosen_index = index;
break;
end
end
%keyboard
choice = chosen_index;
recombin. 지금 어떤 수정이 필요합니까?
이 수정에는 @Zhilevan – pratieks
이 필요했습니다.이 수정에는 @ Dennis Jaheruddin이 필요합니다.이 post.http : //stackoverflow.com/questions/13255606/find-minimum-of-math-function-with-genetic-algorithmin -matlab – pratieks