粒子群优化算法-PSO

本文通过Python代码介绍了如何实现粒子群优化算法(PSO),用于寻找函数的最小值。初始化种群,计算适应度,更新个人最佳位置和全局最佳位置,并根据速度和位置更新规则迭代优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值