可在Python中通过import geatpy as ea; 然后help(ea.模块名)查看各模块的用法。
如果在Ipython中调用这些模块进行绘图,可先在控制台中执行%matplotlib以便让图片在单独的窗口中显示。
模块名 | 功能 |
moeaplot | 多目标优化目标空间绘图函数(支持动画绘制) |
soeaplot | 单目标优化绘图函数(支持动画绘制) |
varplot | 决策变量绘图函数(支持动画绘制) |
trcplot | 进化记录器绘图函数 |
例如:
假设ObjV是一个3目标优化的最终结果(非支配解)的目标函数值矩阵,那么执行:
import geatpy as ea
ea.moeaplot(ObjV)
ea.moeaplot(ObjV)
可得:
【动画绘制】
在使用geatpy的进化算法框架进行进化优化时,可以设置算法模板对象的drawing属性值为2,来绘制进化过程的目标函数值变化动画。算法模板类会调用上面所述的绘图函数进行绘图,详见Algorithm.py。
注:假如是在spyder上运行进化算法程序,需要在IPychon控制台窗口中运行以下命令,否则动画不会显示出来:
%matplotlib
例一:单目标优化进化过程动画绘制
动画效果如下:
假如是多目标优化,且目标个数是2或3,那么绘制的动画将是帕累托前沿变化图。
例二:多目标优化帕累托前沿变化动画绘制
动画效果如下: