Advertisement

粒子群优化算法与实现(基于Python)

阅读量:

import numpy as np
import matplotlib.pyplot as plt

N = 10
dim = 2
iter_times = 100

def function(vec):
return vec[0]**2+vec[1]**2-5

def initSwarm(N,dim):
x = np.random.random((N,dim))
v = np.random.random((N,dim))
pbest = x
fitness = [function(vec) for vec in x]
gbest = pbest[np.argmin(fitness)]
best = fitness[np.argmin(fitness)]
return x,v,pbest,fitness,gbest,best

x,v,pbest,fitness,gbest,best = initSwarm(N,dim)

此算法用于指定迭代次数;初始化一个空的结果列表;依次遍历指定次数;在每个迭代过程中再次遍历所有个体;计算每个体的目标函数值并将其存储在变量k中;如果某个体的目标函数值小于其自身适应度则更新其适应度值并记录其历史最佳位置;最后从所有个体中找到具有最低适应度的最佳解作为全局最佳解并将该全局最佳解加入结果列表中

遍历范

全部评论 (0)

还没有任何评论哟~