技术标签: 大规模多目标进化优化算法 人工智能
Liu R , Liu J , Li Y , et al. A random dynamic grouping based weight optimization framework for large-scale multi-objective optimization problems[J]. Swarm and Evolutionary Computation, 2020, 55:100684.
针对大规模问题,提出了一种具有随机动态分组的加权优化框架。
权重优化框架采用了一个问题转换方案,在该方案中选择权重来代替决策变量,以降低搜索空间的维数。采用随机动态分组,自适应地确定每个分组的大小。采用多目标多搜索策略粒子群优化算法(MMOPSO)对原始变量和权重变量进行优化。
所提出的算法,它使用一个带有随机动态分组的加权优化框架,并使用 MMOPSO 作为优化器,称为 WOF-MMOPSO-RDG。在算法1中,我们给出了WOF-MMOPSO-RDG的主要步骤,并予以说明:
这些方法本质上是通过同时改变很大一部分决策变量来降低问题的维数,它们的变化程度是相同的,这是通过所谓的变换函数来实现的。转换函数可以将每个权重值分配给一组决策变量。权重向量的数量与组的数量相同,然后通过单独的优化步骤更新它们。
n 维的决策变量 ( x 1 , . . . , x n ) \left( x_1,...,x_n \right) (x1,...,xn) 被分离成 r r r 个分组,一个新的权重变量被分配到每个组,称为 w j , j = 1 , . . . , r w_j, j=1,...,r wj,j=1,...,r。决策变量 x i x_i xi 的值和相应的权重变量的值 w j w_j wj 通过一个转换函数而得到,被用来评估优化问题,而不是原始决策变量 x i x_i xi。因此,新的权重变量 w = ( w 1 , . . , w r ) w=(w_1,..,w_r) w=(w1,..,wr) 可以被用来优化独立问题。
伪码见算法2:
WOF 在框架中应用已有的元启发式算法,通过将 n n n 个变量简化为 r r r 个变量,算法可以在更小的空间内进行更高效的搜索。因为不能保证最优解中包含一个小的搜索空间,优化权重 w w w 替代优化原有的决策变量。对于剩余的函数评估,将对原始决策变量进行优化,得到更多样化的解集,如算法1第8步所示。
为了将 n n n 维决策变量分成 r r r 组,我们需要使用分组策略,通常将这些相互作用强的变量放在同一组中(在不可分的优化问题中)。这里简要说明文中使用的不同分组方法。尽管前三种方法非常简单且不使用目标函数的任何信息,但差分分组(DG)包含了一种基于问题分析的智能机制。我们将使用 DG 方法进行比较,尽管它是为单目标优化而开发的。
这四种分组机制在每次迭代中需要不同的计算成本。在整个过程中,线性分组不会发生变化,所以每次迭代都不需要重新计算。DG是在优化开始前预先计算的,所以不需要重新计算,这和线性分组是一样的。
然而,当问题需要转换时,随机分组和有序分组每次都需要更新。前者是对 r r r
文章浏览阅读2k次。1 MLlib概述1.1 MLlib 介绍◆ 是基于Spark core的机器学习库,具有Spark的优点◆ 底层计算经过优化,比常规编码效率往往要高◆ 实现了多种机器学习算法,可以进行模型训练及预测1.2 Spark MLlib实现的算法◆ 逻辑回归 朴素贝叶斯 线性回归 SVM 决策树 LDA 矩阵分解1.3 Spark MLlib官方介绍1.3.1 搜索官方文档1.3..._mlib基于spark core
文章浏览阅读401次。题目: 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。思路: 分析二叉树的下一个节点,一共有以下情况: 1.二叉树为空,则返回空; 2.节点右孩子存在,则设置一个指针从该节点的右孩子出发,一直沿着指向左子结点的指针找到的叶子节点即为下一个节点; 3.节点不是根节点。如果该节点是其父节点的左孩子,则返
文章浏览阅读1.3k次。做题心得_python在函数内,将数字num转换为其相反顺序的数字列表。
文章浏览阅读57次。ava.io下面有两个抽象类:InputStream和ReaderInputStream是表示字节输入流的所有类的超类Reader是用于读取字符流的抽象类InputStream提供的是字节流的读取,而非文本读取,这是和Reader类的根本区别。即用Reader读取出来的是char数组或者String,使用InputStream读取出来的是byte数组。弄清了两个超类的根本区别,再来看他们底下..._java bufferreader inputstream
文章浏览阅读450次。1、安装相关依赖包cmake、boost和bzip2,其中后两个需要root权限2、安装kenlmwget http://kheafield.com/code/kenlm.tar.gztar -zxvf kenlm.tar.gzcd kenlmmkdir buildcd buildcmake …make注:到make这一步时报错,需要修改C++编译器。在CMakeLists.txt头部添加以下命令:SET(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} _kenlm依赖有哪些
文章浏览阅读2.8k次。公司要求要有自己的私有热更新服务器,本人表示不擅长后台,只好去网上找相关的文章,与技术博客:本文简历在已经成功运行 微软 codepush热更新,并且了解codepush 相关指令的基础上。 参考文章-iOS参考文章-android简介code-push-server是一个开源项目,基于 nodejs + mysql 搭建自己的热更新服务器环境macOS Sierr_react native 热更新 私有
文章浏览阅读1.5w次。/*** 更新list内的元素。* @param objlist* @param oldObj 旧对象* @param newObj 要更新的对象* @return*/public List updateElement(List objlist,Object oldObj,Object newObj){int position=objlist.indexOf(old_list更新元素
文章浏览阅读71次。修改配置文件httpd.conf,并去掉#Include conf/extra/httpd-vhosts.conf前面的#修改apache/conf/extra/httpd-vhosts.conf<VirtualHost*:80>DocumentRoot"D:/wamp/www"ServerNamelocalhost<D..._wamp 2.2 虚拟映射
文章浏览阅读179次。ESLint 简介 官网http://eslint.org/ 在团队协作中,为避免低级 Bug、产出风格统一的代码,会预先制定编码规范。使用 Lint 工具和代码风格检测工具,则可以辅助编码规范执行,有效控制代码质量。 在以前的项目中,我们选择 JSHint 和 JSCS 结合使用,W..._webstorm 开启js-lint
文章浏览阅读663次。I am trying to run sklearn.decomposition.TruncatedSVD() on 2 different computers and understand the performance differences.computer 1 (Windows 7, physical computer)OS Name Microsoft Windows 7 Profess..._python 并行linux比windows慢
文章浏览阅读1.3k次。作者:许伟东 文章来源:本站原创 点击数: 98 更新时间:2005-9-22寻路算法在游戏中大量应用,在PC游戏里,更是随处可见。就比如星际争霸,红警这些超爽游戏中,用鼠标随便点一个地方,部队就会绕过一些障碍,并以最短的路径到达目的地。那么在手机游戏中怎样达到这种效果呢?这正是本文要讨论的问题。这篇文章将首先讨论应该怎样实现,而不会给出具体代码。当然,在稍后的文章里,我
文章浏览阅读153次。王粟雨【摘要】现如今,社会经济、科学技术的发现越来越快,计算机技术也越来越普遍的被应用于生活的各个方面。人们的生活越来越依赖于计算机带来的便利,由此可见计算机技术已经成为了人们生活中必不可少的一部分。中职教育是专门进行职业技能教育的学校,开设的计算机专业,以提升学生初步应用计算机的水平,现阶段,应用计算机已成为新入职员工必须掌握的技能。本文主要论述了计算机专业在中职学校的教学现状,针对相关问题提出..._中职教育 博客