scikit-opt实现遗传算法

时间:2024-04-11 12:41:30

最近学了下遗传算法,然后用scikit-opt包实现了一下,玩了一玩,这个包继承了scikit learn的编写思路,使用起来很简单,而且是中国人写的,文档里有中文版和英文版。官方链接,不过似乎这个包写的时间还不长,使用的人也还不是特别多,包还不是十分完善,说明文档也没有十分完善,有些地方借助看一下源码,总的来说还是很不错的,简单易用。

1.遗传算法

遗传算法的思路讲解看这个就好,写的非常清楚,而且本身思路也很简单。
然后在看一下这里面的例子可以完全掌握遗传算法了。

2.包的用法和说明

包的使用没啥好说的,很简单,看下说明就可以了,主要是如何加入约束条件官方给的demo里没有,不过在另一个demo里有,看这里就可以了
最后我写了一个例子,可以看下,内容就是官方demo,然后加了个带约束情况。

3.如何用这个包实现矩阵运算

这边需要一提,这个包的function只能输入一维list,无法输入矩阵,那么目标函数以及约束条件需要用到矩阵运算怎么办,这边提供一个思路。直接上demo。思路就是先输入一维list,再转化为需要的array就行了。
scikit-opt实现遗传算法

4.其他

之前说了这个包还不是非常完善,看到网上有人推荐geatpy,说是和matlab有一拼,但是由于现在没有这方面的需求,之后再看一看吧。