遗传算法ga如何导出​每代的最佳适应度和平​均适应度函数值?

44 vues (au cours des 30 derniers jours)
Time N
Time N le 23 Juin 2022
Modifié(e) : yang feng le 25 Mar 2024
用的2021a版本,help给的函数样例为[x,fval,exitflag,output,population,scores] = ga(___)
输出参数没有每代的过程变量。
每代的最佳适应度和平均适应度函数值会给出一张图,但我想知道确切的值。

Réponses (1)

yang feng
yang feng le 25 Mar 2024
Modifié(e) : yang feng le 25 Mar 2024
打开ga函数,从后往前找,大概400行左右,根据你的优化问题类型找到对应的求解函数,比如我之前用线性规划的时候就打开galincon这个函数,在galincon的第95行代码:state.Best(generation) = fval;后边添加以下两行代码:
output.fitever(generation) = fval;%######
output.bestpopulationever(generation,:) = state.Population(best,:);%#######
这样在调用ga函数的时候输出变量output这个结构体里就保存了历史最优适应度fitever和历史最优种群bestpopulationever。
更具体的可以参考以下两个链接:

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!