Python中Bees算法的研究工具包
pybees的Python项目详细描述
pybees:使用bees算法的Python优化工具箱
这是什么?在
pybees是一个用于函数优化的Python包。它使用了Pham等人提出的自然启发的bees algorithm,并建立在SciPy之上。pybees是在3条BSD许可下分发的。在
蜜蜂算法是一种基于群体的搜索算法,它模仿蜜蜂的觅食行为。基本算法适用于continuous和combinatorial优化问题,这在basic examples部分得到了演示。在
主要特点
- 在
用于优化连续函数的高级API(训练a multilayer perceptron)。在
在 - 在
用于优化离散函数(traveling salesperson problem)的高级API。在
在 - 在
内置单目标成本函数。在
在 - 在
plotly二维和三维绘图工具(连续和离散)。在
在 - 在
用于开发新思想的可扩展API。在
在
去哪里买
如果已经安装了所有依赖项,那么安装pybees最简单的方法就是使用pip
。在
pipinstallpybees
如何使用它
请访问examples文件夹以查看演示examples。其中包括。在
- Continuous function优化(levy,drop_wave和{a12})
- Combinatorial function优化(旅行售货员问题)
未来的例子包括
- 多层感知器
依赖关系
Pypees要求:
- 数量=1.17.4
- scipy>;=1.3.2
- 绘图(>;=4.4.1
- tqdm>;=4.40.2
- sklearn>;=0.22
- 熊猫>;=0.25.3
许可证
基本示例
连续函数优化
^{pr2}$此操作返回scipy.optimize.OptimizeResult
。fun
表示目标函数的值(最低点)。nit
表示进行的迭代次数。x
表示为目标函数找到的值的坐标。在
>>>sbc.optimize(pb.levy)fun:1.007063464503951e-06nit:100x:array([0.99905553,0.99967304])
结果也可以通过以下方法可视化
sbc.plot(global_min=(1,1))
组合优化(例如旅行推销员问题)
importpybeesaspbsbd=pb.SimpleBeesDiscrete(n_scout_bees=50,elite_site_params=(15,40),best_site_params=(15,30),coordinates=np.random.randint(10,size=[10,2]))
此操作返回scipy.optimize.OptimizeResult
结果。res.coordinates
表示{tour_distance
被最小化。因此,coordinates
表示序列,对应于所有坐标之间的最短路径(即旅行推销员问题)。fun
表示目标函数的值(最短距离)。nit
表示进行的迭代次数。x
表示传递给SimpleBeesDiscrete
的原始序列的排列,它给出了最短的距离。在
>>>sbd.optimize(pb.tour_distance)coordinates:array([[7.,8.],[4.,8.],[2.,6.],[0.,5.],[1.,0.],[3.,2.],[2.,4.],[3.,4.],[5.,4.],[7.,4.]])fun:27.228009718084742nit:100x:array([1.,9.,7.,5.,0.,3.,4.,6.,2.,8.])
结果也可以通过以下方法可视化
sbd.plot()
- 项目
标签: