当前位置: 首页 > news >正文

网站查询器福永网站建设公司哪家好

网站查询器,福永网站建设公司哪家好,凡科网官网登录入口,公司英文网站粒子群算法概念 粒子群算法 (particle swarm optimization,PSO) 由 Kennedy 和 Eberhart 在 1995 年提出,该算法模拟鸟群觅食的方法进行寻找最优解。基本思想:人们发现,鸟群觅食的方向由两个因素决定。第一个是自己当初飞过离食物…

粒子群算法概念

粒子群算法 (particle swarm optimization,PSO) 由 Kennedy 和 Eberhart 在 1995 年提出,该算法模拟鸟群觅食的方法进行寻找最优解。基本思想:人们发现,鸟群觅食的方向由两个因素决定。第一个是自己当初飞过离食物最近的位置,第二个因素是鸟群中离食物最近的鸟的位置。根据这个两个因素不断的改变自己的位置。最终,整个鸟群都能寻找到食物。

相关知识

1.编码与适应度函数,2.粒子群算法原理,3.粒子群算法流程,4.使用 python 实现粒子群算法。

编码与适应度函数

在粒子群算法中也需要进行编码,不过相对于遗传算法粒子群算法编码非常简单。例如,函数

f(x_1,x_2)=x_1^2+x_2^2

可直接将函数解(x_1,x_2)作为编码。而函数的值f(x_1,x_2)即可作为适应度,若求解函数最小值则适应度越小越好,若求解函数最大值则适应度越大越好。

粒子群算法原理

粒子群函数是根据鸟群寻找食物实现的优化算法,每一只鸟被称为粒子,即函数的一个解。我们已经知道,每一只鸟寻找食物是根据离食物最近的鸟的位置,与自己曾经离食物最近的位置来决定改变自己现在的位置。根据这个原理,粒子群算法核心公式如下:

v=wv+c_1r_1(p-x)+c_2r_2(p_g-x)...(1)
x=v+x...(2)

其中,x=(x_1,x_2,...,x_n)为鸟群的位置,v=(v_1,v_2,...,v_n)

为鸟飞行的速度,即鸟群更新位置的因素。而公式2就是决定速度的因素:

p:个体最佳位置
pg:全局最佳位置
w:惯性权重因子,用来控制速度的更新
c1,c2:加速度常数,通常设为2
r1,r2:0到1之间的随机数

粒子群算法流程

随机初始粒子群位置与速度
计算粒子群适应度
根据公式更新粒子群位置与速度
重复2,3直到满足停止条件

使用python实现粒子群算法

实现粒子群算法。并求解函数 f(x) 在区间 [-10,10] 上的最小值:

f(x_1,x_2)=(x_1-4)^2+(x_2-5)^2

首先我们需要对粒子群位置与速度进行随机初始:

import numpy as np
#初始化粒子群位置
x = np.random.uniform(x_bound[0], x_bound[1],(pop_size, dim))
#初始化粒子群速度
v = np.random.rand(pop_size,dim)

其中,x_bound 为 x 取值范围。pop_size 为粒子群大小,即鸟的数量。dim 为搜索空间维度。

再根据 x 计算适应度:

#f(x1,x2)=(x1-4)**2+(x2-5)**2,函数值即适应度
def f(x):return np.sum(np.square(x-np.array([4,5])), axis=1)
#计算适应度
fitness = f(x)

同时计算出全局最优位置与个体最优适应度、全局最优适应度:

#全局最优位置
pg = x[np.argmin(fitness)]
#个体最优适应度
individual_best_fitness = fitness
#全局最优适应度
global_best_fitness = np.min(individual_best_fitness)

最后开始进化,不断更新粒子群位置:

#encoding=utf8
import numpy as np
pop_size =10#粒子群大小
n_iters = 1000#训练轮数
dim = 2#搜索空间维度
w = 0.6#惯性权重因子
c1 = 2#加速度常数,通常设为2
c2 = 2#加速度常数,通常设为2
x_bound = [-10,10]#函数定义域
def pso(f):'''f:目标函数pg:最优解坐标'''#初始化粒子群位置x = np.random.uniform(low=x_bound[0], high=x_bound[1], size=(pop_size, dim)) #初始化粒子群速度v = np.random.rand(pop_size,dim)#初始个体最佳位置p = x#计算适应度fitness = f(x)#全局最优位置pg = x[np.argmin(fitness)]#个体最优适应度individual_best_fitness = fitness#全局最优适应度global_best_fitness = np.min(individual_best_fitness)#开始进化for i in range(n_iters):#产生随机数r1,r2r1 = np.random.rand(pop_size,dim)r2 = np.random.rand(pop_size,dim)#计算粒子群速度v = w*v+c1*r1*(p-x)+c2*r2*(pg-x)#更新粒子群位置x = v + x#计算更新后的适应度fitness = f(x)#需更新个体update_id = np.greater(individual_best_fitness, fitness)#更新pp[update_id] = x[update_id]#更新个体最优适应度individual_best_fitness[update_id] = fitness[update_id]#更新全局最优位置与全局最优适应度if np.min(fitness) < global_best_fitness:pg = x[np.argmin(fitness)]global_best_fitness = np.min(fitness)    return pg

http://www.yayakq.cn/news/188545/

相关文章:

  • 怎么免费建设自己网站网站网页设计平台
  • 做旅游网站的开题报告在线生成网页工具
  • 如何做 网站的seo赣州黑页设计公司
  • 网站移动端权重怎么做红酒手机网站建设
  • 网站建设找睿智骄阳服装网站建设任务表
  • 南昌商城网站建设公司自建网站阿里云备案通过后怎么做
  • 刷赞网站推广空间免费可以免费打广告的网站
  • 人动物做电影网站装企erp管理系统
  • 网站开发查询电脑平面设计软件
  • 企业应该如何进行网站推广静态网站怎么做百度推广
  • wix建站是免费的吗wordpress主题页脚添加联系信息
  • 备案 个人网站淘宝返利网站怎么做
  • 盘锦市网站建设深圳坪山新闻头条
  • 做医疗科普的网站WordPress站点添加ssl证书
  • 全网网站建设推广WordPress不使用mysql
  • 在58同城做网站怎么样中信建设有限责任公司海外法务
  • p2p网站建设 上海帮网站做推广赚钱
  • 网站怎么做前台跟后台的接口整体vi设计公司
  • 基于搜索引擎的网站推广方式仿制网站侵权行为
  • 网站可以做软件检测吗网络营销的认识与理解
  • 中山小榄网站国家住房和城乡建设局网站首页
  • 网站建站平台开发服务服务采购公告没有公网ip建设网站
  • 网站模板下载简单的那种企业网络采购平台
  • 做歌手的网站深圳网站建设网页推广网站设计
  • 呼和浩特资产评估公司关键词优化公司排名榜
  • 太原做彩票网站公司今天重大新闻100字
  • 用discuz建设企业网站二手车网站制作贵吗
  • 设计网站中企动力优html怎么做成网站
  • c h5网站开发建设施工合同范本
  • 网站规划与建设书天津做网站哪个公司好