粒子群优化算法-PSO

import numpy as npimport matplotlib.pyplot as pltN = 10dim = 2iter_times = 100def function(vec):    return vec[0]**2+vec[1]**2-5def initSwarm(N,dim):    x = np.random.random((N,dim))    v ...
摘要由CSDN通过智能技术生成

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)

def searchBestParam(iter_times):
    result = []
    for time in range(iter_times):
        for index in range(N):
            k = function(x[index])
            if k < fitness[index]:
                fitness[index] = k
                pbest[index] = x[index]
        best = fitness[np.argmin(fitness)]
        gbest =

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值