how can i save every generation's best position using ga
조회 수: 4 (최근 30일)
이전 댓글 표시
i'm using the ga function in matlab, i want to save every generation's best position
how can i do that.becanse i cannot find
[x,fval,exitflag,output,population,scores] = ga(fitnessfcn,nvars,...)
return such values
댓글 수: 1
Tsuwei Tan
2021년 4월 20일
options = optimoptions('ga',..'OutputFcns',@ga_save_each_gen);
I did a simple funciton ga_save_each_gen to do so.
function [state,options,optchanged]=ga_save_each_gen(options,state,flag)
Score_gen=state.Score;
Population_gen=state.Population;
Generation_gen=state.Generation;
optchanged=[];
save(['gen_' num2str(Generation_gen,'%.4d') '.mat'],'Score_gen','Population_gen','Generation_gen')
end
답변 (1개)
A Jenkins
2014년 3월 28일
Use gaoptimset to change the options. Display and PlotFcns will show some detail. You may also want to look at the OutputFcns option where you can write your own custom function to collect data.
A = [1 1; -1 2; 2 1];
b = [2; 2; 3];
lb = zeros(2,1);
ga_options=gaoptimset('Display','iter','PlotFcns',@gaplotbestf);
[x,fval,exitflag,output,population,scores] = ga(@lincontest6,...
2,A,b,[],[],lb,[],[],ga_options);
댓글 수: 3
참고 항목
카테고리
Help Center 및 File Exchange에서 Genetic Algorithm에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!