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

news2024/11/9 1:44:21

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


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

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

  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.coloradmin.cn/o/1114348.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

还用axure?一款产品经理可直接用的前端无代码工具,像设计原型那样直接搭建复杂的前端应用!— UIOTOS

先抛出问题 axure既然能画高保真模型,为什么不技术上优化代码,直接用于前端? 关于不能用于前端,有知友说代码不精简,有些不能实现,但是这些技术上应该是可以优化和解决的。那么为什么不和Dreamweaver类似…

python基础知识笔记

参考视频和资料:2022新版黑马程序员python教程,8天python从入门到精通,学python看这套就够了_哔哩哔哩_bilibili 最后有知识的思维导图! Python入门学习 Day1 解释器:pycharm 一、Pycharm快捷键和基础 注释多行…

如何写代码实现VRP问题中车辆容量限制及时间窗要求(python)

问题研究背景 使用遗传模拟退火算法求解如下10个卸货点的VRPTW问题。为了使研究的问题更加有意义,本人将时间限理解为服务点一天的具体可以允许配送的时间。 如果不要求车辆从配送中心出发的时间是统一的并且为0时刻,那么就默认第一个配送节点是一定能赶…

Pandas与数据库交互详解

Pandas 是一个强大的数据分析库,可以与各种数据库进行交互,从而可以方便地从数据库中读取数据、分析数据,并将结果写回数据库中。以下是使用 Pandas 与数据库交互的一般步骤: 一 、数据库交互 安装必要的库:首先&…

性能测试jmeter命令行运行+html测试报告解读

windows下打开jmeter的运行窗口,可以看到提示不要用GUI模式进行负载测试,如果要用负载测试,用cli模式,因为GUI模式运行jmeter比较消耗性能。 命令行模式 windows下找到jemeter所在文件夹,打开cmd输入命令。 jmeter -n…

【分享】7-Zip压缩包的密码可以取消吗?

7-Zip压缩包设置了“密码保护”,后面又不想要了,可以取消吗? 首先,我们要分两种情况来看,是记得密码,但不想每次打开压缩包都要输入密码,所以想取消密码,还是把密码忘记了所以想取消…

TDengine小知识-数据文件命名规则

TDengine 时序数据库对数据文件有自己的命名规则,文件名中包含了vnodeID、时间范围、版本、文件类型等多种信息。了解数据文件命名规则,可以让运维工作更简单。 废话不多说,直接上图: v4:文件所属 Vgroup 组&#xf…

基于epoll封装非阻塞的reactor框架(附源码)

C++常用功能源码系列 文章目录 C++常用功能源码系列前言一、reactor架构二、client端reactor代码三、server端reactor代码四、单reactor架构可以实现百万并发总结前言 本文是C/C++常用功能代码封装专栏的导航贴。部分来源于实战项目中的部分功能提炼,希望能够达到你在自己的项…

【MATLAB第79期】基于MATLAB的数据抽样合集(sobol、LHS拉丁超立方抽样、Halton、正交/均匀设计、随机rand函数)

【MATLAB第79期】基于MATLAB的数据抽样合集(sobol、LHS拉丁超立方抽样、Halton、正交/均匀设计、随机rand函数) 一、传统函数 1.指定区间随机生成数据(小数) [a b]区间随机数生成: Aa(b-a)rand(m,n) m:待生成矩阵A…

C语言实现用递归方法求 () = ∑ (^2)

完整代码&#xff1a; // 用递归方法求 ??(??) ∑ (??^2) #include<stdio.h>int func(int n){if (n1){return 1;}else{return n*nfunc(n-1);} }int main() {int n;printf("请输入一个整数");scanf("%d",&n);printf("%d",func(…

【C++】-还在玩普通的类吗,这里面有好几种特殊的类的设计,快进来看看

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树&#x1f388; &#x1f389;作者宣言&#xff1a;认真写好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee✨ &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法&#x1f384; 如 果 你 …

【代码随想录】算法训练营 第八天 第四章 字符串 Part 1

344. 反转字符串 题目 思路 我的思路是&#xff0c;用双指针&#xff0c;一个指左&#xff0c;一个指右&#xff0c;循环互换即可。 代码随想录的更简单精妙&#xff0c;直接用一个for循环搞定&#xff0c;里面用swap来互换。 代码 我的解法 class Solution { public:voi…

【IEEE】1区TOP仅1个月见刊(附IEEE旗下SCI实时影响因子汇总)

IEEE出版的SCI期刊有近200本&#xff0c;本期我们主要关注IEEE旗下被SCIE收录期刊的实时IF2023&#xff0c;所有期刊按照字母顺序排列。为方便对比&#xff0c;我们还给出了IF2022&#xff08;即今年6月公布的最新影响因子&#xff09;&#xff0c;供大家参考。 备注&#xff…

达索智能制造解决方案,敏捷电芯制造如何赋能企业竞争力 | 百世慧®

敏捷电芯制造赋能企业竞争力 全球电池市场正在快速扩大&#xff0c;为制造商带来巨大商机。 锂电行业的智能制造如何应用&#xff1f; 电池制造业的市场趋势是什么&#xff1f; 电池制造商面临哪些挑战&#xff1f; 特别是电池电芯制造方面&#xff0c;如何克服挑战获得竞…

阿里巴巴店铺所有商品数据接口及店铺商品数据分析

获取阿里巴巴店铺所有商品数据的接口是阿里巴巴开放平台提供的接口&#xff0c;通过该接口可以获取店铺所有商品数据。 通过阿里巴巴开放平台接口获取店铺所有商品数据的方法如下&#xff1a; 在开放平台注册成为开发者并创建一个应用&#xff0c;获取到所需的 App Key 和 Ap…

【华为认证超全科普帖】

华为认证是由华为基于“平台生态”战略&#xff0c;围绕“云-管-端”协同的新ICT技术架构&#xff0c;打造的业界覆盖ICT领域蕞广的认证体系。在信息和通信技术行业具有较高的含金量。 华为认证分为3个等级: HCIA (初级)&#xff1a;华为认证ICT工程师 HCIP (中级)&#xff1…

Pyside6 QMessageBox

Pyside6 QMessageBox QMessageBox使用5种基本消息自定义消息框QMessageBox标准按钮程序界面程序主程序 QMessageBox是一种通用的弹出式对话框&#xff0c;用于显示提示消息&#xff0c;允许用户点击不同的消息框按钮做出不同的判断。Pyside6提供了QMessageBox的操作函数&#x…

如何把Elasticsearch中的数据导出为CSV格式的文件

前言| 本文结合用户实际需求用按照数据量从小到大的提供三种方式从ES中将数据导出成CSV形式。本文将重点介Kibana/Elasticsearch高效导出的插件、工具集&#xff0c;通过本文你可以了解如下信息&#xff1a; 1&#xff0c;从kibana导出数据到csv文件 2&#xff0c;logstash导…