热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

多目标优化系列(五)IBEA

Indicator-BasedSelectioninMultiobjectiveSearch中文名:基于指标的多目标选择由于这篇文章描述较为简单,所以我

Indicator-Based Selection in Multiobjective Search
中文名:基于指标的多目标选择

由于这篇文章描述较为简单,所以我们直接展开正题。

正文


思想

这里写图片描述

对于上图的问题,我们怎么判断A集合和B集合(如果最小为最优)的优劣性。该文运用了下图中的指标

这里写图片描述
首先该指标代表的前两幅图,而右边的两幅图则又是另一种指标。
我们对该指标描述一下,从上图中第一幅图看,假设A点即X1,B点即X2,对与垂直方向,

f(A)f(B)>0
对于水平方向:

f&#xff08;A&#xff09;f&#xff08;B&#xff09;<0
因为

ϵ >&#61;fi(x1)-fi(x2),for i in {1&#xff0c;&#xff0c;&#xff0c;n}&#xff0c;这是代表

ϵ 对每一个fi(x)均需满足&#xff0c; ,所以

ϵ 应大于最大正差距&#xff0c;即垂直方向上的值&#xff08;该值是大于0 的&#xff09;。又因为我们要最小化该值&#xff0c;所以

I 应取最大的正差距,即该图中A与B的水平方向上的差值。

我们分析一下该指标,当A->B,即I&#xff08;A&#xff0c;B&#xff09;&#xff08;可理解为A移向B&#xff09;存在某一维度与优化方向相同时&#xff0c;该即为

I正值&#xff0c;否则为负值&#xff08;代表A只支配B&#xff09;&#xff0c;

算法

这里写图片描述
这里写图片描述

为了方便起见&#xff0c;我先把原始算法在这里展示一下&#xff0c;然后用中文翻译&#xff1a;

  • 约定&#xff1a;α表示种群大小&#xff0c;N表示最大迭代次数&#xff0c;

  • step1: 产生初始种群P&#xff0c;种群大小为α&#xff0c;当前迭代此时m&#61;0

  • step2: 适应度计算&#xff0c;根据一下公式计算P里个体的使用度&#xff0c;例如x1&#xff08;k为比例缩放因子&#xff0c;参数&#xff09;
    这里写图片描述

  • step3: 对每一代P&#xff0c;执行如下运算&#xff08;缩减&#xff09;&#xff0c;直到种群大小为α

    1. 选择适应度最小的解
    2. 从种群中去掉该解
    3. 更新剩余解的适应度值
      这里写图片描述
  • step4: 终止条件判断

  • step5: p’ 为p 的复制&#xff0c;

  • step6: 用交叉变异作用在p’上&#xff0c;p&#61;p’&#43;p&#xff0c;m&#61;m&#43;1&#xff0c;转step2。

[1]基于加法ε~&#43;指标的多目标优化方法研究&#xff08;知网&#xff09;


推荐阅读
  • 投融资周报 | Circle 达成 4 亿美元融资协议,唯一艺术平台 A 轮融资超千万美元 ... [详细]
  • 在数据库事务处理中,InnoDB 存储引擎提供了多种隔离级别,其中 READ COMMITTED 和 REPEATABLE READ 是两个常用的选项。本文详细对比了这两种隔离级别的特点和差异,不仅从理论角度分析了它们对“脏读”和“幻读”的处理方式,还结合实际应用场景探讨了它们在并发控制和性能表现上的不同。特别关注了行锁机制在不同隔离级别下的行为,为开发者选择合适的隔离级别提供了参考。 ... [详细]
  • 深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用
    深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用 ... [详细]
  • HBase Java API 进阶:过滤器详解与应用实例
    本文详细探讨了HBase 1.2.6版本中Java API的高级应用,重点介绍了过滤器的使用方法和实际案例。首先,文章对几种常见的HBase过滤器进行了概述,包括列前缀过滤器(ColumnPrefixFilter)和时间戳过滤器(TimestampsFilter)。此外,还详细讲解了分页过滤器(PageFilter)的实现原理及其在大数据查询中的应用场景。通过具体的代码示例,读者可以更好地理解和掌握这些过滤器的使用技巧,从而提高数据处理的效率和灵活性。 ... [详细]
  • 本文深入解析了 FCEUX 源码,并详细介绍了两种制作 DEB 包的方法及其技术细节。首先,DEB 包通常由两部分组成:控制信息(位于 DEBIAN 目录)和安装内容(模拟目录)。通过解压现有的 DEB 包,可以查看其内部结构,进而理解其工作原理。具体操作包括将安装内容释放到指定目录中,以便进行进一步的修改和定制。此外,文章还探讨了如何修改现有的 DEB 包,以满足特定需求,提供了实用的步骤和技巧。 ... [详细]
  • 在 Python 中,列表(list)是一种内置的数据类型,属于有序且可变的集合,支持随时添加或删除元素。此外,Python 还提供了多种独特的数据结构,如字典(dict)、集合(set)和元组(tuple),每种数据结构都有其特定的应用场景和优势。了解这些数值类型和数据结构对于高效编程至关重要。 ... [详细]
  • 本文探讨了利用Python编程语言开发自动化脚本来实现文件的全量和增量备份方法。通过详细分析不同备份策略的特点,文章介绍了如何使用Python标准库中的os和shutil模块来高效地管理和执行备份任务。此外,还提供了示例代码和最佳实践,帮助读者快速掌握自动化备份技术,确保数据的安全性和完整性。 ... [详细]
  • 本文深入解析了Python在处理HTML过滤时的实现方法及其应用场景。通过具体实例,详细介绍了如何利用Python代码去除HTML字符串中的标签和其他无关信息,确保内容的纯净与安全。此外,文章还探讨了该技术在网页抓取、数据清洗等领域的实际应用,为开发者提供了宝贵的参考。 ... [详细]
  • 在Python中,是否可以通过使用Tkinter或ttk库创建一个具有自动换行功能的多行标签,并使其宽度能够随着父容器的变化而动态调整?例如,在调整NotePad窗口宽度时,实现类似记事本的自动换行效果。这种功能在设计需要显示长文本的对话框时非常有用,确保文本内容能够完整且美观地展示。 ... [详细]
  • 本文详细探讨了Zebra路由软件中的线程机制及其实际应用。通过对Zebra线程模型的深入分析,揭示了其在高效处理网络路由任务中的关键作用。文章还介绍了线程同步与通信机制,以及如何通过优化线程管理提升系统性能。此外,结合具体应用场景,展示了Zebra线程机制在复杂网络环境下的优势和灵活性。 ... [详细]
  • 如何高效启动大数据应用之旅?
    在前一篇文章中,我探讨了大数据的定义及其与数据挖掘的区别。本文将重点介绍如何高效启动大数据应用项目,涵盖关键步骤和最佳实践,帮助读者快速踏上大数据之旅。 ... [详细]
  • GDB 使用心得与技巧总结
    在使用 GDB 进行调试时,可以采用以下技巧提升效率:1. 通过设置 `set print pretty on` 来美化打印输出,使数据结构更加易读;2. 掌握常见数据结构的打印方法,如链表、树等;3. 利用 `info locals` 命令查看当前作用域内的所有局部变量;4. 在需要进行类型强制转换时,正确使用语法,例如 `p (Test::A *) pObj`。这些技巧能够显著提高调试的便捷性和准确性。 ... [详细]
  • 利用Java开发功能完备的电话簿应用程序,支持添加、查询与删除操作
    本研究基于Java语言开发了一款功能全面的电话簿应用程序,实现了与数据库的高效连接。该应用不仅支持添加、查询和删除联系人信息,还具备输出最大和最小ID号的功能,并能够对用户输入的ID号进行有效性验证,确保数据的准确性和完整性。详细实现方法可参阅相关文档。 ... [详细]
  • 本文详细探讨了Java集合框架的使用方法及其性能特点。首先,通过关系图展示了集合接口之间的层次结构,如`Collection`接口作为对象集合的基础,其下分为`List`、`Set`和`Queue`等子接口。其中,`List`接口支持按插入顺序保存元素且允许重复,而`Set`接口则确保元素唯一性。此外,文章还深入分析了不同集合类在实际应用中的性能表现,为开发者选择合适的集合类型提供了参考依据。 ... [详细]
  • 循环结构与零钱问题:多题型综合解析与应用
    循环结构与零钱问题:多题型综合解析与应用 ... [详细]
author-avatar
tingting
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有