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

网页投放广告怎么收费成都网站建设方案优化

网页投放广告怎么收费,成都网站建设方案优化,驻马店标准网站建设,重庆建站模板厂家天牛须算法(Beetle Antennae Search, BAS)详解与Python实现 文章目录 天牛须算法(Beetle Antennae Search, BAS)详解与Python实现1. 引言2. 算法原理2.1 基本思想2.2 数学模型 3. Python实现4.实测效果测试1. Michalewicz函数的最小化测试2. Goldstein-Price函数的约束最小化 5…

天牛须算法(Beetle Antennae Search, BAS)详解与Python实现

文章目录

  • 天牛须算法(Beetle Antennae Search, BAS)详解与Python实现
    • 1. 引言
    • 2. 算法原理
      • 2.1 基本思想
      • 2.2 数学模型
    • 3. Python实现
    • 4.实测效果
      • 测试1. Michalewicz函数的最小化
      • 测试2. Goldstein-Price函数的约束最小化
    • 5. 算法特点
      • 5.1 优点
      • 5.2 缺点
    • 6. 改进方向
    • 7. 应用场景
    • 8. 总结
    • 参考资料

1. 引言

在众多的智能优化算法中,天牛须算法(Beetle Antennae Search, BAS)是一种相对较新的启发式算法,由中国学者于2017年提出。与常见的群体智能算法不同的是,本算法中只涉及一个个体。该算法模拟了天牛通过触角探索环境寻找食物的行为,具有实现简单、参数少、收敛速度快等特点,在函数优化、参数调整、路径规划等领域展现出良好的应用前景。

2. 算法原理

天牛须算法的灵感来源于自然界中天牛利用一对触角感知周围环境的行为。在搜索过程中,算法模拟天牛通过左右触角探测气味强度,并朝着气味更强的方向移动,从而找到目标(食物源)。
天牛须算法原理示意图

2.1 基本思想

  1. 随机方向探测:天牛随机选择一个方向进行探测
  2. 双触角感知:在选定方向的两侧各伸出一个“触角”进行探测
  3. 方向判断:比较两侧触角探测到的“气味”(目标函数值)
  4. 位置更新:向气味更浓(函数值更优)的方向移动

2.2 数学模型

天牛须算法的数学模型可以描述如下:

  1. 随机方向生成

    dir = random_unit_vector()  # 生成单位随机方向向量
    
  2. 左右触角位置

    x l e f t = x + d ⋅ d i r x_{left} = x + d \cdot dir xleft=x+ddir

    x r i g h t = x − d ⋅ d i r x_{right} = x - d \cdot dir xright=xddir

    其中, d d d是触角长度,会随着迭代逐渐减小。
    简化后的天牛模型

  3. 位置更新

    x n e w = { x + s t e p ⋅ d i r , if  f ( x l e f t ) < f ( x r i g h t ) x − s t e p ⋅ d i r , otherwise x_{new} = \begin{cases} x + step \cdot dir, & \text{if } f(x_{left}) < f(x_{right}) \\ x - step \cdot dir, & \text{otherwise} \end{cases} xnew={x+stepdir,xstepdir,if f(xleft)<f(xright)otherwise

    其中, s t e p step step是步长,也会随着迭代逐渐减小。
    步长可以设置为与触角长度成正比,其意义是“大天牛有大触角,小天牛有小触角”。
    可以在选择新位置时设置一定随机性。

3. Python实现

下面是天牛须算法的Python实现示例:

import numpy as np
import matplotlib.pyplot as pltclass BAS:def __init__(self, fitness_func, dim=2, max_iter=100, n_beetles=1, d0=1.0, d_decay=0.95, step0=1.0, step_decay=0.95):"""初始化天牛须搜索算法参数:fitness_func: 适应度函数(目标函数)dim: 问题维度max_iter: 最大迭代次数n_beetles: 天牛数量d0: 初始触角长度d_decay: 触角长度衰减率step0: 初始步长step_decay: 步长衰减率"""self.fitness_func = fitness_funcself.dim = dimself.max_iter = max_iterself.n_beetles = n_beetlesself.d0 = d0self.d_decay = d_decayself.step0 = step0self.step_decay = step_decay# 初始化天牛位置(在[-5,5]^dim空间内随机)self.beetles = np.random.uniform(-5, 5, (n_beetles, dim))self.best_position = Noneself.best_fitness = float('inf')self.fitness_history = []def normalize(self, v):"""将向量归一化为单位向量"""norm = np.linalg.norm(v)if norm == 0:return vreturn v / normdef optimize(self):"""执行优化过程"""d = self.d0  # 初始触角长度step = self.step0  # 初始步长for t in range(self.max_iter):for i in range(self.n_beetles):# 当前天牛位置x = self.beetles[i]# 生成随机方向(单位向量)direction = np.random.randn(self.dim)direction = self.normalize(direction)# 计算左右触角位置x_left = x + d * directionx_right = x - d * direction# 计算左右触角处的适应度f_left = self.fitness_func(x_left)f_right = self.fitness_func(x_right)# 更新位置if f_left < f_right:  # 假设是最小化问题self.beetles[i] = x + step * directionelse:self.beetles[i] = x - step * direction# 边界处理self.beetles[i] = np.clip(self.beetles[i], -5, 5)# 评估新位置fitness = self.fitness_func(self.beetles[i])# 更新全局最优if fitness < self.best_fitness:self.best_fitness = fitnessself.best_position = self.beetles[i].copy()# 记录当前最优适应度self.fitness_history.append(self.best_fitness)# 更新参数d *= self.d_decaystep *= self.step_decayreturn self.best_position, self.best_fitness# 测试函数:Sphere函数
def sphere(x):return np.sum(x**2)# 运行算法
bas = BAS(sphere, dim=10, max_iter=200)
best_pos, best_fit = bas.optimize()# 绘制收敛曲线
plt.figure(figsize=(10, 6))
plt.plot(bas.fitness_history)
plt.xlabel('迭代次数')
plt.ylabel('最优适应度值')
plt.title('天牛须算法收敛曲线')
plt.yscale('log')
plt.grid(True)
plt.show()print(f"最优解: {best_pos}")
print(f"最优值: {best_fit}")

4.实测效果

测试1. Michalewicz函数的最小化

Michalewicz函数的最小化

测试2. Goldstein-Price函数的约束最小化

Goldstein-Price函数的约束最小化

5. 算法特点

5.1 优点

  1. 实现简单:算法结构简单,易于理解和实现
  2. 参数少:相比粒子群、遗传算法等,参数更少
  3. 计算效率高:每次迭代只需少量函数评估
  4. 收敛速度快:在许多问题上表现出较快的收敛速度

5.2 缺点

  1. 易陷入局部最优:基础版本容易早熟收敛
  2. 参数敏感:算法性能对参数设置较为敏感
  3. 维度扩展性:在高维问题上效果可能不如其他成熟算法

6. 改进方向

为了克服基础天牛须算法的一些缺点,研究人员提出了多种改进方案:

  1. 自适应步长:根据搜索过程动态调整步长和触角长度,可表示为:

    d t = d 0 ⋅ δ t d_t = d_0 \cdot \delta^t dt=d0δt

    s t e p t = s t e p 0 ⋅ δ t step_t = step_0 \cdot \delta^t stept=step0δt

    其中, δ \delta δ是衰减系数, t t t是当前迭代次数。

  2. 多天牛协同:引入多个天牛并设计信息交互机制

  3. 混合算法:与其他优化算法(如PSO、DE等)结合

  4. 精英保留:引入精英保留策略避免最优解丢失

  5. 混沌映射:使用混沌映射增强搜索的多样性

7. 应用场景

天牛须算法已在多个领域得到应用:

  1. 参数优化:如神经网络、控制系统参数调优
  2. 路径规划:无人机、机器人路径规划
  3. 图像处理:图像分割、特征提取
  4. 调度优化:生产调度、资源分配
  5. 特征选择:机器学习中的特征选择

8. 总结

天牛须算法作为一种新兴的优化算法,凭借其简单高效的特点,在各类优化问题中展现出良好的应用前景。虽然还存在一些局限性,但通过不断的改进和与其他算法的结合,天牛须算法有望在更多领域发挥重要作用。

例如,我们可以用以下公式来表示天牛须算法的整体迭代过程:

X t + 1 = X t ± η t ⋅ d t ∣ ∣ d t ∣ ∣ ⋅ sign [ f ( X t + d t ) − f ( X t − d t ) ] X_{t+1} = X_t \pm \eta_t \cdot \frac{d_t}{||d_t||} \cdot \text{sign}[f(X_t + d_t) - f(X_t - d_t)] Xt+1=Xt±ηt∣∣dt∣∣dtsign[f(Xt+dt)f(Xtdt)]

其中, X t X_t Xt是当前位置, η t \eta_t ηt是步长, d t d_t dt是随机方向向量, f f f是目标函数, sign \text{sign} sign是符号函数。

参考资料

  1. Jiang X, Li S. BAS: Beetle Antennae Search Algorithm for Optimization Problems[J]. arXiv preprint arXiv:1710.10724, 2017.
  2. Wu Q, Shen X, Jin Y, et al. Intelligent beetle antennae search for UAV sensing and avoidance of obstacles[J]. Sensors, 2019, 19(8): 1758.
  3. Lin A, Sun W, Yu H, et al. BSAS: Beetle swarm antennae search algorithm for optimization problems[J]. IEEE Access, 2019, 7: 105467-105482.
  4. 天牛须搜索算法(BAS)

希望这篇文章能帮助您了解天牛须算法的基本原理、实现方法和应用场景。如有任何问题,欢迎在评论区留言讨论!

http://www.dtcms.com/wzjs/140890.html

相关文章:

  • 中电建铁路建设公司网站中国 日本 韩国
  • 手机网站图片自适应代码教育培训机构加盟
  • 销售平台网站建设方案自媒体运营
  • 做网站简单需要什么浙江企业seo推广
  • 平台网站怎么做餐饮营销方案
  • 网站 无限下拉菜单网络市场营销
  • wordpress 远程访问搜索引擎优化核心
  • 织梦cms可以做淘宝客网站么百度关键词价格怎么查询
  • 广州市政府网站集约化建设方案seo网站优化建议
  • 苏州营销型网站链爱交易平台
  • 上海免费网站建设模板推荐百度指数可以查询多长时间的
  • b s做的是网站吗网络推广站
  • 东莞新增疫情最新情况短视频seo优化
  • 自己的电脑做网站服务器网上推广方式
  • 建设网站的网站企业管理培训课程
  • 网站建设的重要性公关
  • 做网站建设的好处长沙seo优化排名
  • 做app一定要做网站吗seo网站推广教程
  • 香港 网站建设 可视化网站程序广东seo外包服务
  • 张掖市作风建设年活动网站seo系统是什么意思
  • 做网站推广的公司发展前景郑州seo排名第一
  • 可以自己做网站经营吗站长之家收录查询
  • 网络科技公司名称大全简单大气hyein seo官网
  • wordpress多重搜索百度seo优化分析
  • 网站建设客户案例公司网站建设北京
  • 国产做的视频网站外贸网络营销推广
  • 商业供应商服务系统无锡网站优化公司
  • 佛山做网站费用互联网广告优化
  • 常熟市住房建设局网站关键词密度
  • 做网站的开源代码已备案域名购买平台