多目标优化怎么偏向某个目标?通过参考点的方式可以解决

2023-10-20 17:36

本文主要是介绍多目标优化怎么偏向某个目标?通过参考点的方式可以解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

通过参考点的方式可以使算法偏向某个目标,其中这些参考点的某些性质符合你所需要偏向的这个目标, 例如决策者偏好的分子是活性较好的分子,那么优化后的分子也会是这个偏好


一、基于参照点集合的方法概述

近年来出现了一类基于参照点集的超多目标演化算法。这类方法使用一个参照点集合来评价解的优劣。因此,搜索的过程由选中的参照点集合来指导方向。 这类方法有两个关键点:

  1. (a)如何构造参照点集合?
  2. (b)如何使用参照点集合来比较解的优劣?

如表2.10所示,这类方法包含三种:

  1. Two Archive Algorithms(TAAs)【从历史解和当前种群中选择解来构建参照点集合】
  2. Many Objective NSGA-II (NSGA-III)、【使用一组虚拟的理想解作为搜索目标】
  3. Taxi-Cab Surface Evolutionary Algorithm(TC-SEA)【使用一组虚拟的理想解作为搜索目标】

TAA 从历史解和当前种群中选择解来构建参照点集合,而  NSGA-II 和TC-SEA, 则使用一组虚拟的理想解作为搜索目标。对于虚拟解来说, 我们只知道其在目标空间的位置,但是并不知道其决策变量的取值。

1) 基于真实参照点集合的算法

在l2,128]中,作者提出了一种新颖的两档案算法 two archive algorithm(TAA) 以及它的改进版(Two Arch2)。 该算法将非支配解分为两个档案保存:收敛性档案(Convergence Archive,CA)和多样性档案(Diversity Archive, DA)。收敛性档案可以被看成是在线更新的参照点集合,只包含那些曾经支配过别的解的非支配解。当收敛性档案和多样性档案的解的个数超过限制时,多样性档案中的解根据它和收敛性文档距离进行筛选,距离最近的会被迭代式的删除,直到满足数量要求。实验结果显示,在相当的多样性指标的基础上, TAA[2]和其最新的变种 (Two Arch2)在收敛性能上显著优于其他当前最优的超多目标演化算法。算法也被应用到现实问题上,如软件工程30]和传感器网络协议优化。

2)基于虚拟参照点集合的方法

与TAA 不同, NSGA-III  TC-SEA 使用目标空间里的虚拟点来构造参照点集合。但是,两个算法的选择机制略有不同。

为了降低NSGA-  在超多目标优化问题上的性能退化, NSGA-III 将原来的基于拥塞距离 (crowding distance) 的多样性保持机制,替换成了基于参照点集合的小生境保持策略[52]。在确定了超平面上的参照点之后,种群个体进行归一化。然后,根据到参照点和圆点连线的投影距离每个个体指定给距离最近的那个参照点。进行选择时,优先从关联的种群个体最多的参照点的关联解中进行选择并删除。这种机制使得各个搜索方向的搜索能力得到了平衡。实验结果显示, NSGA-III在最多10目标的测试问题上得到优异的性能1521.此外,作者还研究了  算法的自适应版本,得到了更好的种群分布。

Taxi-Cab Surface Evolutionary Algorithm(TC-SEA)|129]与 NSGA-III 相比主要有以下不同:首先, TC-SEA 使用了在线构造的参照点集合而NSGA-Ⅲ 使用的是预定义好的参照点集合。其次, TC-SEA 关联解和参照点是距离是出租车距离,而NSGA-Ⅲ 使用的是垂线段长度。最后,TC-SEA 利用了出租车距离的排名和数值作为两个排序标准,而NSGA-II 主要根据小生境的拥挤程度来进行选择。 TC-SEA 在DTLZ 测试集合上进行了实验验证

二、可以使用的参考点的方式有哪些: 

参考点在多目标优化的进化算法中,特别是在NSGA-III和RVEA等算法中,起着关键的作用。它们被用作引导算法搜索的方向或帮助算法决策解的分配。

选择参考点的目的是为了捕获Pareto前沿的多样性,即覆盖整个Pareto优化解的范围。下面是参考点选择的常见方法:

  1. 均匀分布的参考点:这是最常用的方法,特别是在NSGA-III中。对于两个目标的情况,参考点可能是在单位超球上均匀分布的点。对于多于两个目标的情况,参考点的选择稍微复杂一些,但目的是相同的:确保参考点覆盖整个目标空间。

  2. 基于历史信息的参考点:在某些算法中,可以使用先前迭代中得到的信息来调整或选择新的参考点。【使用历史中性质优质的分子作为参考点

  3. 基于决策者偏好的参考点:如果决策者对优化结果有明确的偏好,可以使用这些信息来定义参考点。例如,决策者可能更关心某个特定目标或希望某个目标在一个特定范围内。【将一些性质好的分子(例如活性)提前抽取出来,然后作为参考点指导模型

  4. 动态调整参考点:在优化过程中,根据当前解的分布或性质,动态地调整参考点位置。例如,如果某个区域的解过于拥挤,可以调整参考点以引导搜索到其他区域。

当选择或生成参考点时,重要的是确保参考点能够覆盖整个Pareto前沿或决策者关心的区域,并且在不同的目标之间保持均匀分布,以确保解的多样性。

这篇关于多目标优化怎么偏向某个目标?通过参考点的方式可以解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/248627

相关文章

C#读写文本文件的多种方式详解

《C#读写文本文件的多种方式详解》这篇文章主要为大家详细介绍了C#中各种常用的文件读写方式,包括文本文件,二进制文件、CSV文件、JSON文件等,有需要的小伙伴可以参考一下... 目录一、文本文件读写1. 使用 File 类的静态方法2. 使用 StreamReader 和 StreamWriter二、二进

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

java实现docker镜像上传到harbor仓库的方式

《java实现docker镜像上传到harbor仓库的方式》:本文主要介绍java实现docker镜像上传到harbor仓库的方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 前 言2. 编写工具类2.1 引入依赖包2.2 使用当前服务器的docker环境推送镜像2.2

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

XML重复查询一条Sql语句的解决方法

《XML重复查询一条Sql语句的解决方法》文章分析了XML重复查询与日志失效问题,指出因DTO缺少@Data注解导致日志无法格式化、空指针风险及参数穿透,进而引发性能灾难,解决方案为在Controll... 目录一、核心问题:从SQL重复执行到日志失效二、根因剖析:DTO断裂引发的级联故障三、解决方案:修复

IDEA Maven提示:未解析的依赖项的问题及解决

《IDEAMaven提示:未解析的依赖项的问题及解决》:本文主要介绍IDEAMaven提示:未解析的依赖项的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录IDEA Maven提示:未解析的依编程赖项例如总结IDEA Maven提示:未解析的依赖项例如