evopy
v0.3
进化策略变得简单!
使用Evopy轻松优化Python中的浮子载体。
您需要使用的Evopy就是Python 3!运行此命令以从PYPI中获取Evopy:
pip install evopy
然后,您可以这样导入EvoPy :
from evopy import EvoPy 假设我们想找到抛物线的最佳,而无需使用微积分的精确方法!使用Evopy,这就像编写以下两行一样容易:
evopy = EvoPy ( lambda x : pow ( x , 2 ), 1 )
best_coordinates = evopy . run ()这里的主要成分是健身函数(lambda)。这也可以是正常的功能参考,只需确保它接受浮子或一系列浮子并输出单个浮子即可。另一种成分是第一行末尾的1 :这是您在健身功能中期望的输入的维度。 best_coordinates将包含一个带有单个元素的数组,这是算法在默认数字中可以找到的最佳x值。
如果上一个示例对您来说太简单了,我们还可以查看一个更复杂,二维功能(例如rastrigin函数)的最佳功能。我们不必在以前的代码片段中修改太多即可使此操作:
evopy = EvoPy (
lambda X : 5 + sum ([( x ** 2 - 5 * np . cos ( 2 * np . pi * x )) for x in X ]),
2 ,
generations = 1000 ,
population_size = 100
)
best_coordinates = evopy . run ()与第一个示例相比,我们将适应性函数互换为更复杂的功能,将维度设置为2 ,并给出算法比默认值更高的生成和个体计数来找到最佳的时间。
有关Evopy功能的更多详细信息,请查看文档!
克隆这个存储库,并从克隆目录中获取所有依赖项:
pip install -r requirements.dev.txt
运行所有测试:
nosetests
要检查您的代码样式,请运行:
pylint evopy
要测量您的代码覆盖范围,请运行:
nosetests --with-coverage --cover-package=evopy --cover-html --cover-branches --cover-erase