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

期货赫兹量化-种群优化算法:进化策略,(μ,λ)-ES 和 (μ+λ)-ES

进化策略(Evolution Strategies, ES)是一种启发式算法,旨在模仿自然选择的过程来解决复杂的优化问题,尤其在没有显式解、或搜索空间巨大的情况下表现良好。基于自然界的进化原理,进化策略通过突变、选择等遗传算子迭代生成解,并最终寻求全局最优解。

进化策略通常基于两个核心机制:突变和选择。突变是对当前解进行随机扰动,而选择则用于保留适应度更高的个体。本文详细介绍了 (μ,λ)-ES 和 (μ+λ)-ES 两种主要的进化策略变体。

主要变体

  1. (1+1)-ES:

    • 这是最简单的变体,适用于小规模问题。
    • 每次只创建一个后代,与当前解进行比较,保留最优者。
    • 由于仅依赖一个突变解,因此在高维问题上表现不佳。
  2. (μ,λ)-ES:

    • 该变体每次生成 λ 个后代,并从中选择最优的 μ 个后代作为下一代的亲本。
    • 亲本会在每一代被完全替换,促进了对解空间的全面探索。
    • 该方法有助于避免过早收敛,适用于更复杂的问题。
  3. (μ+λ)-ES:

    • 类似于 (μ,λ)-ES,但亲本和后代共同参与竞争。
    • 该方法允许最佳的亲本保留到下一代,保持多样性,同时进一步探索局部和全局解。

优化方法

进化策略可以通过引入重组进一步优化。重组允许多个亲本的遗传信息结合到同一个后代中,从而提升群体的多样性和适应性。这使得进化策略能够更有效地搜索解空间,找到比单一突变更优的解。

在典型的 (μ,λ)-ES 算法中,每一代群体会完全替换为新的后代,而 (μ+λ)-ES 则允许亲本和后代之间的竞争。由于 (μ+λ)-ES 结合了亲本和后代的优势,其收敛性通常优于 (μ,λ)-ES。

伪代码示例

(μ,λ)-ES:

 

text

复制代码

1. 初始化一个随机个体的群体。 2. 重复直到满足停止条件: 2.1 对每个亲本使用突变操作生成 λ 个后代。 2.2 选择 λ 个后代中的最佳 μ 个组成新的亲本群体。 3. 返回最优解。

(μ+λ)-ES:

 

text

复制代码

1. 初始化一个随机个体的群体。 2. 重复直到满足停止条件: 2.1 对每个亲本使用突变操作生成 λ 个后代。 2.2 将亲本与后代合并,选择最优的 μ 个个体作为新的亲本群体。 3. 返回最优解。

通过对 (μ,λ)-ES 添加重组,可以在每一代生成的后代中加入更多的多样性,这将进一步提高算法的搜索效率。在复杂多维问题上,重组可以避免算法陷入局部最优解,从而有助于找到全局最优解。

总结

进化策略算法通过模拟自然选择和进化过程,利用遗传算子如突变和重组来生成优化解。它们尤其适用于复杂的多维优化问题。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Mysql-数据库课程设计图书管理系统
  • HTML5中canvas绘图基础详解
  • strlen函数模拟实现(嵌套函数调用)
  • Elasticsearch倒排索引
  • 资料分析系统课-刘文超老师
  • ImportError: cannot import name ‘DglNodePropPredDataset‘ from ‘ogb.nodepropp
  • 超时重试与风险学习
  • Linux 删除虚拟环境命令
  • 【前端】CSS控制style样式失效
  • 1 模拟——67. 二进制求和
  • mac m2 安装 nvm
  • Java操作Elasticsearch的实用指南
  • 记录工作中学习进度
  • 大零售时代:开源 AI 智能名片、2+1 链动与 O2O 商城小程序引领融合新趋势
  • 【NLP自然语言处理】文本的数据分析------迅速掌握常用的文本数据分析方法~
  • 【css3】浏览器内核及其兼容性
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 【剑指offer】让抽象问题具体化
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • css系列之关于字体的事
  • Cumulo 的 ClojureScript 模块已经成型
  • flutter的key在widget list的作用以及必要性
  • golang中接口赋值与方法集
  • JS专题之继承
  • rc-form之最单纯情况
  • SpiderData 2019年2月23日 DApp数据排行榜
  • STAR法则
  • Twitter赢在开放,三年创造奇迹
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 给github项目添加CI badge
  • 看域名解析域名安全对SEO的影响
  • 前端面试之闭包
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 消息队列系列二(IOT中消息队列的应用)
  • 智能合约Solidity教程-事件和日志(一)
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • 国内开源镜像站点
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • # 职场生活之道:善于团结
  • #include<初见C语言之指针(5)>
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • (06)金属布线——为半导体注入生命的连接
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (day6) 319. 灯泡开关
  • (HAL库版)freeRTOS移植STMF103
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (蓝桥杯每日一题)love
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (循环依赖问题)学习spring的第九天
  • (转)Scala的“=”符号简介