论文学习——基于枢轴点预测和多样性策略混合的动态多目标优化

本文主要是介绍论文学习——基于枢轴点预测和多样性策略混合的动态多目标优化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文题目:A dynamic multi-objective optimization based on a hybrid of pivot points prediction and diversity strategies

基于枢轴点预测和多样性策略混合的动态多目标优化(Jinhua Zheng a,b,d, Fei Zhou a,b,∗, Juan Zou a,b, Shengxiang Yang a,e, Yaru Hu a,c)Swarm and Evolutionary Computation 78 (2023) 101284

刚开始学习多目标优化算法,不作商业用途,如果有不正确的地方请指正!

个人总结:

挺简单明了又高效的算法

三个部分双重预测+多种群:

预测一:在目标空间根据找到每个目标轴的极值点作为参考点然后找到枢轴线不断扩充点,在环境变化时,根据前时刻的情况对下一个时刻的枢轴点进行预测

预测二:根据种群前两个时刻的中心点进行预测,在监测到环境变化不相似时,中心点的移动长度乘一个随机数L.(好像文章中没有讲到怎么判断环境变化是否相似)

多种群:根据前面时刻的种群确定每个决策变量的最大值最小值在进行随机产生解,相比直接产生随机解增加了一点点收敛性(如果ps值的的变化趋势时变大的情况这个策略可靠吗?).

随机选取了种群中5 %的个体作为检测器来检测环境变化。如果目标值之间存在不匹配,则将其视为环境改变了

Ppiv(枢轴点)和Prand(多种群产生的解的数量)的大小分别设置为0.3 N和0.7 N。

引言

目前存在的问题

基于多样性方法的劣势:        

        在处理复杂的环境变化时,这些策略并不能提供良好的性能,尤其是不规则变化的PF或PS

基于内存方法的劣势:

        对于非周期性问题,基于内存的策略可能会显示出较差的结果。

基于预测方法的劣势:

        在基于预测的策略中设置不合适的预测方法或者模型会影响总体的收敛和分布,此外在处理快速变化的环境,其性能可能会随着优化的进行而迅速下降。

基于多种群方法:

        前些日子复现的PBDMO就是多种群方法

本文提出的想法

提出了一种基于双重预测多样性策略混合的动态多目标优化策略.

  • 通过动态选择机制选择的一些个体(枢轴点)用于模拟PF或PS。然后,自回归模型预测环境变化后的枢轴点,以达到跟踪变化的PF或PS的目的
  • 将环境变化分为相似和不同的变化。当变化相似时,非支配个体结合非支配个体集合中心点的运动趋势,预测环境变化后的非支配个体。否则,在利用非支配个体集合中心点的运动趋势对非支配个体进行预测的同时,对预测结果进行前后推导,推导新的最优解。
  • 在相对准确的可行区域内随机生成搜索个体,在一定程度上提升了随机搜索个体的质量,可以保持种群的多样性

背景及相关工作

这里介绍了基础和DMOEA框架,在静态时使用RM-MEDA算法进行优化

提出框架与实施

提出了一种新的基于枢轴点预测的预测策略。在该预测策略中,如果检测到一个环境变化,那么对其做出响应的种群将由三个子种群组成。

A.Pivot point and predicting the pivot point set(枢轴点和预测合集)

首先初始化一个大小为N的种群,并建立一个存储池Q用于存储历史信息.然后在目标空间中通过动态选择机制迭代地选择枢轴点,并将枢轴点放入存储池Q中。下图展示了在一开始的三个时刻选择枢轴点的过程:

  • (找到极值点)设第j个坐标轴上的极值点为xj,令xj为以Y = ( Y1 , Y2 , ... , Yn)T为坐标轴方向,最小化聚集函数g ( x | Y )的解。这里,n表示决策空间的维数。极值点的数学表达式如式( 3 )所示:式中:x∈Ω;Y为坐标轴的权向量;J为第j维坐标轴。为了搜索第j个轴上的极值点,需要固定第j个维度上的方向,则第j个维度方向上的权重向量为wj = 1,其他方向上的权重向量为wn = 10e-6 。如图2所示,x1和x2是(标记为绿色的点)的极值点,x1和x2被放入Q中.此时,Q中有两个个体x1和x2 .

  • (建立枢纽)建立枢轴的前提是找到种群中与存储池Q中所有个体距离之和最大的个体,并以原点建立枢轴,用公式表达种群中个体xd与存储池Q中所有个体的距离之和.如图2所示,在第一次选择枢轴点的过程中,x3是种群中距离存储池Q中个体最远的个体。将x3与原点连接起来,形成一条称为支点的参考线。 

  • (找到枢轴点)计算目标空间中的个体与枢轴L的距离,为保证所选枢轴个体的收敛性,距离枢轴最近的个体即为本次选择过程中的枢轴点。设个体P的坐标为( xk , yk)。个体P到支点L的距离的数学表达式如式( 6 )所示:
  • 重复上述过程直到找到足够多的支点.

自回归预测模型对环境变化后的枢轴点进行预测,将枢轴点作为代表个体对PF或PS进行有效跟踪。支点的选取过程如算法1所示:

B.Predicting the non-dominant individual set(预测非支配个体集合)

环境变化时相似时

所有非支配点都会利用集合中心点的演化趋势进行演化。此时,t + 1时刻预测非支配个体的数学表达式如式( 7 )所示: 

Dcnonk t表示非支配个体集合中心点在时间步t的移动趋势

环境变化不相似时

利用非支配个体的当前位置和非支配个体集合中心点的移动趋势来预测非支配个体的下一个时间步。同时,推导出预测的非支配个体。推导操作是基于预测结果进行的;预测结果随机向前和向后移动λ次Dcnonk t。推导预测结果的操作如图3所示。针对这种不相似变化的预测策略的数学表达式如下:

 

伪代码如下:

 C.Generation mechanism of random search solutions to maintain population diversity(维持种群多样性的随机搜索生成机制)

假设随机搜索个体在决策空间中随机产生。在这种情况下,一些随机搜索个体可能会远离真实的PF,这种随机搜索个体的性能可能会影响种群的收敛性。如果能够明确随机搜索个体的生成区域,则可以在一定程度上降低该问题发生的概率。在前期工作的基础上,我们决定在通过预测得到的前两个子种群中选择最大值和最小值点来确定随机搜索个体的生成区域并运行.

在前两个子种群中,最大点( max )和最小点( min )分别是指决策空间中所有维度目标值最大和最小的个体

个体由随机生成 

伪代码如图所示

D.算法整体

伪代码

 

这篇关于论文学习——基于枢轴点预测和多样性策略混合的动态多目标优化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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

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

springboot如何通过http动态操作xxl-job任务

《springboot如何通过http动态操作xxl-job任务》:本文主要介绍springboot如何通过http动态操作xxl-job任务的问题,具有很好的参考价值,希望对大家有所帮助,如有错... 目录springboot通过http动态操作xxl-job任务一、maven依赖二、配置文件三、xxl-

SpringBoot中4种数据水平分片策略

《SpringBoot中4种数据水平分片策略》数据水平分片作为一种水平扩展策略,通过将数据分散到多个物理节点上,有效解决了存储容量和性能瓶颈问题,下面小编就来和大家分享4种数据分片策略吧... 目录一、前言二、哈希分片2.1 原理2.2 SpringBoot实现2.3 优缺点分析2.4 适用场景三、范围分片

Redis过期删除机制与内存淘汰策略的解析指南

《Redis过期删除机制与内存淘汰策略的解析指南》在使用Redis构建缓存系统时,很多开发者只设置了EXPIRE但却忽略了背后Redis的过期删除机制与内存淘汰策略,下面小编就来和大家详细介绍一下... 目录1、简述2、Redis http://www.chinasem.cn的过期删除策略(Key Expir

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Java调用C#动态库的三种方法详解

《Java调用C#动态库的三种方法详解》在这个多语言编程的时代,Java和C#就像两位才华横溢的舞者,各自在不同的舞台上展现着独特的魅力,然而,当它们携手合作时,又会碰撞出怎样绚丽的火花呢?今天,我们... 目录方法1:C++/CLI搭建桥梁——Java ↔ C# 的“翻译官”步骤1:创建C#类库(.NET

MyBatis编写嵌套子查询的动态SQL实践详解

《MyBatis编写嵌套子查询的动态SQL实践详解》在Java生态中,MyBatis作为一款优秀的ORM框架,广泛应用于数据库操作,本文将深入探讨如何在MyBatis中编写嵌套子查询的动态SQL,并结... 目录一、Myhttp://www.chinasem.cnBATis动态SQL的核心优势1. 灵活性与可

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Mybatis嵌套子查询动态SQL编写实践

《Mybatis嵌套子查询动态SQL编写实践》:本文主要介绍Mybatis嵌套子查询动态SQL编写方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、实体类1、主类2、子类二、Mapper三、XML四、详解总结前言MyBATis的xml文件编写动态SQL

利用Python实现时间序列动量策略

《利用Python实现时间序列动量策略》时间序列动量策略作为量化交易领域中最为持久且被深入研究的策略类型之一,其核心理念相对简明:对于显示上升趋势的资产建立多头头寸,对于呈现下降趋势的资产建立空头头寸... 目录引言传统策略面临的风险管理挑战波动率调整机制:实现风险标准化策略实施的技术细节波动率调整的战略价