模糊自调整pso全局优化库
fst-pso的Python项目详细描述
模糊自调整pso是一种群体智能全局优化方法[1] 基于粒子群优化[2]。
针对实值多维多模态优化问题,设计了FST-PSO算法。
FST-PSO是PSO的无设置版本,它利用模糊逻辑动态地将功能参数分配给群中的每个粒子。具体而言,在每一代中,FST-PSO确定了认知因素、社会因素、惯性值、最小速度和最大速度的最优选择。FST-PSO还使用启发式来选择群大小,因此用户不能选择任何功能设置。
为了使用FST-PSO,程序员必须实现自定义适应度函数。此外,程序员必须指定问题的维数和每个维数的搜索空间边界。程序员可以可选地指定最大迭代次数。当满足停止准则时,FST-PSO将返回找到的最佳拟合解及其适应度值。
示例
fst-pso可以如下使用:
从fstpso导入fuzzypso
定义示例适应度(粒子):
return sum(map(lambda x: x**2, particle))
如果名称
dims = 10
FP = FuzzyPSO( )
FP.set_search_space( [[-10, 10]]*dims )
FP.set_fitness(example_fitness)
result = FP.solve_with_fstpso()
print “Best solution:”, result[0]
print “Whose fitness is:”, result[1]
更多信息
FST-PSO是由M.S.Nobile,D.Besozzi,G.Pasi,G.Mauri, R.Colombo(意大利米兰比科卡大学)和P.Cazzaniga(大学 意大利贝加莫)。源代码是M.S.Nobile写的。
FST-PSO需要两个包:miniful和numpy。
有关github的更多信息:<;https://github.com/aresio/fst-pso>;
[1]Nobile,Cazzaniga,Besozzi,Colombo,Mauri,Pasi,“模糊自调整粒子群算法: 一种全局优化的无设置算法,“群体进化” 计算,2017年(doi:10.1016/j.swevo.2017.09.001)
[2]Kennedy,Eberhart,粒子群优化,in:美国电气与电子工程师协会会议录 国际神经网络会议,1995年第4卷,第1942-1948页
<;http://www.sciencedirect.com/science/article/pii/S2210650216303534>;