遗传算法优化二次离散系统

##遗传算法实现二次离散系统优化
这里写图片描述

1.编写适应度函数如下:

function y = fitness(u)
[rows,cols] = size(u);
x = 100*ones(rows,cols+1);
sum = 0;
for k=1:1:cols
    x(k+1) = x(k) + u(k);
end
for k=2:1:cols
    sum = sum + x(k)^2 + u(k)^2;
end
y = sum + x(cols+1)^2;

2.使用matlab Optimization Tool工具箱选择ga(遗传算法求解器)
这里写图片描述
3.导入自己的之前编写的fitness函数,同时输入待优化的变量数目和上下界,如图所示
这里写图片描述
4.点击开始训练,同时可以在options中设置自己的一些参数,和观察优化过程中适应度值的变化曲线。
这里写图片描述
这里写图片描述
5.训练完成后,可以把训练的优化的结果导入matlab工作空间中,此时可以观察到最后的结果集,如图所示
选择导出到workspace空间:
这里写图片描述
选择导出的结果集,这里全部导出:
这里写图片描述
可以看到此时matlab workspace空间中存在的变量,可以点进去看看,里面存放了很多训练最后的结果和GA的参数设置:
这里写图片描述
此时,可以调用变量进行绘制:
这里写图片描述
这里写图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章