首页 > 其他分享 >论文研读_通过具有可扩展的小子种群的协方差矩阵适应性进化策略解决大规模多目标优化问题S3-CMA-ES(未完成)

论文研读_通过具有可扩展的小子种群的协方差矩阵适应性进化策略解决大规模多目标优化问题S3-CMA-ES(未完成)

时间:2023-09-25 21:57:01浏览次数:35  
标签:种群 S3 矩阵 CMA 多样性 协方差 ES

论文研读_通过具有可扩展的小子种群的协方差矩阵适应性进化策略解决大规模多目标优化问题

创新点

  • 随着目标或决策变量的数量增加,收敛性和多样性之间的冲突变得更为严重,因此在它们之间取得平衡变得越来越困难。此时S 3 -CMA-ES,它使用一系列子种群来近似LSMOPs的PFs,并强调不同子种群间的多样性,这对收敛性和多样性都有益。

公式

作为一个对称阵,协方差矩阵 C 有下列良好的性质:

  • C 始终是对角阵
  • C 始终是半正定矩阵
  • 所有的特征值都是非负实数
  • 所有特征值都是正交的
  • C 的特征向量可以组成 Rn 的一个标准正交基

  • 单个步骤相互抵消,因此演化路径较短 σ减小
  • 单个步骤不相关
  • 单个步骤指向相同的方向,因此进化路径很长 σ增加

算法

  • 算法一

    M × |GroupSet|的矩阵EP用于记录CMA-ES的参数(即,m (g) , σ (g) 和 C (g) )

    • 行15-25:使用CMA-ES对每个子群体中的每组与收敛相关的变量进行演化,直到所有子群体都收敛

      ​ 如果这个子群体中所有解决方案的最佳适应度的波动小于预设阈值∆,则定义该子群体已收

      ​ 敛。

      解决方案x的适应度Fit(x)是所有目标的总和,

      预设阈值∆等值已经给定

  • 算法二

  • 算法三

    设计了一种环境选择策略来在此循环中选择解

    在所提出的环境选择策略中,首先移除组合种群Q中的受支配解

    如果非支配解的数量小于N,则保留所有非支配解

    否则,选择m个极端解,记为{e 1 ,e 2 ,··· ,e m }(第17行),然后迭代选择Q中多样性最好的解,直到选定的解的数量达到N

    其中多样性是通过基于 L0.5 范数的距离来衡量的

欧几里得空间

参考文献:

https://blog.csdn.net/weixin_39478524/article/details/109368216![]

标签:种群,S3,矩阵,CMA,多样性,协方差,ES
From: https://www.cnblogs.com/CKM1377214/p/17728929.html

相关文章

  • cmake中配置了工具链,命令行工具可以找到,但是clion中找不到
    在CLion中找不到配置的交叉编译工具链可能是由于CLion使用了自己的环境变量和配置方式,而不直接继承系统的环境变量。这可能导致CLion无法找到你在CMakeLists.txt中指定的交叉编译器路径。为了让CLion正确识别你的交叉编译器,你可以尝试以下方法:在CLion中设置环境变量:打......
  • CMake项目,将CMakeList.txt中的变量传递到代码中。
    有些时候,代码中可能需要获取CMakeList中的变量。常见的就是路径之类的。在CMake项目中,有一个参数可以将变量传递到代码中:CMakeList.txt中:#1.声明定义变量set(CMAKE_VAR"CMAKEMESSAGE123123")#2.传递变量#使用target_compile_definitions#将CMAKE_VAR变量赋值给MY_VAR......
  • 【嵌入式开发】向开发板中烧写Linux系统-型号S3C6410
    原文:https://blog.51cto.com/u_14202100/5087350​作者​:​万境绝尘 转载请著名出处 终于拿到板子了,嵌入式开发正式开启. 板子型号:三星S3C6410基于ARM11,指令集基于arm6指令集;为毛不是CortextA9的板子; ​烧写内容​:​BootLoader​,​LinuxKernel​......
  • CMake
    目录CMakeBuildtheSmallestProjectOptimizetheCMakeLists.txtSettheProjectVersionConfiguretheheaderFileAddtheCompileTimestampSpecifytheC++StandardAddtheLibraryMaketheLibraryOptionalAddtheRequirementsfortheUseoftheLibraryOriginalLi......
  • 关于Linux虚拟机输入ifconfig命令没有ens33的解决办法
    首先我遇到的问题是这样的:平时能够正常启动,但是因为昨天在启用vm虚拟机的时候更换了一下网络节点,今天打开虚拟机,finalshell连接不上虚拟机了,输入ifconfig命令也没有ens33查阅相关资料后,发现了遇到这个问题的一个解决方法:1.输入systemctlstopNetworkManager//临时关闭网络2.......
  • cmake添加 版本到代码中
    CMakeLists.txt:add_definitions(-DSYSMONITER_VER="${VER}")c++代码:voiddisplayVersion(){#ifdefSYSMONITER_VERstd::cout<<SYSMONITER_VER<<std::endl;#endif}编译命令:cmake..-DVER=$(date"+%Y%m%d%H%M%S")这里的date用......
  • cmake命令
    CMake是一个跨平台的开源构建工具,用于管理C++项目的构建过程。注意CMake命令语法不区分大小写cmake_minimum_required:指定项目所需的CMake的最低版本。cmake_minimum_required(VERSION<version>)project:定义项目的名称、版本和描述信息。project(<project_name>VERSIO......
  • cmake之解析宏或者函数参数
    本文将介绍cmake如何解析函数或者宏对应的参数列表语法查询打开cmake手册,查询cmake_parse_arguments关键字即可,如下图语法cmake_parse_arguments(<prefix><options><one_value_keywords><multi_value_keywords><args>...)cmake_parse_argum......
  • OpenGL with GLFW GLAD and CMAKE
    0.前言首先,无论是在youtube还是网站上,许多OpenGL的环境配置都是在VSstudio里配置的,个人比较喜欢使用VScode,以及Cmake.下文给出了一个Cmake版本关于GLFWGLAD的编译环境。另外,感谢分享知识的人。具体的代码已放入github中,代码地址https://github.com/Alex-gift-hit/O......
  • 必看!S3File Sink Connector 使用文档
    S3File是一个用于管理AmazonS3(SimpleStorageService)的Python模块。当前,ApacheSeaTunnel已经支持S3FileSinkConnector,为了更好地使用这个Connector,有必要看一下这篇使用文档指南。描述将数据输出到AWSS3文件系统。提示:如果您使用的是Spark/Flink,在使用此连接......