在这个CUG智能优化课设中,学生通过Python编程语言实现了著名的多目标优化算法NSGA-Ⅱ(非支配排序遗传算法第二代),以此来解决CEC-2021(国际计算智能挑战赛)中的复杂优化问题。NSGA-Ⅱ是一种在遗传算法基础上发展起来的高效优化工具,尤其适用于解决多目标优化问题,这些问题通常涉及到多个相互冲突的目标函数,需要找到一组最优解,而非单一的全局最优解。 **NSGA-Ⅱ算法详解** NSGA-Ⅱ的核心思想是基于非支配排序和拥挤距离的概念来寻找帕累托前沿,这是多目标优化问题中的理想解集。算法通过随机生成初始种群,然后进行以下步骤: 1. **选择操作**:NSGA-Ⅱ采用“锦标赛选择”策略,通过比较个体间的适应度值来决定保留哪些个体。适应度值是根据个体在所有目标函数上的表现计算得出的。 2. **交叉操作**:通过“均匀交叉”或“部分匹配交叉”等策略,将两个父代个体的部分基因片段交换,生成新的子代。 3. **变异操作**:应用“位翻转变异”或“区间变异”等方法,对个体的某些基因进行随机改变,增加种群多样性。 4. **非支配排序**:对所有个体进行两两比较,根据是否被其他个体支配,分为不同层级的 fronts。第一层front的个体是最优的,后面的front依次次优。 5. **拥挤距离计算**:在相同层级的front中,为了保持种群多样性,引入拥挤距离指标,衡量个体在目标空间中的分布情况。 6. **精英保留策略**:确保最优解能够传递到下一代,避免优良解的丢失。 7. **新一代种群构建**:结合非支配排序结果和拥挤距离,采用快速解拥挤策略选择最优子代进入下一代种群。 8. **迭代与终止条件**:重复上述步骤,直到达到预设的迭代次数或满足其他停止条件。 **CEC-2021竞赛介绍** CEC(Competition on Evolutionary Computation)是由国际计算智能学会(IEEE Computational Intelligence Society)组织的年度挑战赛,旨在推动计算智能领域的研究和应用。CEC-2021可能包含多个复杂优化问题,如多目标优化、单目标优化、动态优化等,这些问题通常具有高维度、非线性、多模态和不连续的特性。参赛者需要设计和实现优化算法,对这些问题进行求解,评估算法的性能和效率。 通过这个课设,学生不仅能够深入理解NSGA-Ⅱ算法的原理和实现细节,还能通过实际问题的解决,提高解决复杂优化问题的能力。同时,这也为他们提供了参与高水平竞赛的机会,进一步提升其在计算智能领域的研究水平。
2025-05-19 15:35:46 969KB python
1
STM32F10x_CEC_Lib_V2.0.0是一个专为STM32F1 Consumer Electronics Control (CEC) 功能设计的库,适用于STM32微控制器系列,特别是STM32F10x系列。CEC是高清多媒体接口(HDMI)的一部分,用于在连接的设备之间实现低功耗、低成本的通信。这个库提供了在STM32F10x微控制器上实现CEC功能所需的驱动和示例代码。 CEC是基于I2C协议的简化版本,用于控制和协调多个通过HDMI连接的设备,如电视、蓝光播放器、游戏机等。它允许设备间共享控制信息,如电源状态、设备发现、命令传递等。STM32F10x_CEC_Lib_V2.0.0库包含了必要的API函数,使开发者能够轻松地集成CEC功能到他们的应用中。 该库的主要组成部分可能包括: 1. **驱动层**:这层包含了与STM32F10x硬件寄存器直接交互的函数,用于初始化CEC引脚、配置时钟和中断,以及发送和接收数据。 2. **协议栈**:协议栈实现了CEC通信协议的细节,包括仲裁、错误检测和重传机制,确保数据的可靠传输。 3. **应用接口**:这些API函数允许用户在应用层调用,例如注册回调函数以处理接收到的CEC消息,或者发送特定的CEC命令。 4. **示例代码**:库可能包含示例项目,演示如何在实际应用中使用这些API,帮助开发者快速理解和上手。 5. **文档**:完整的库应该附带详细的技术文档,解释库的使用方法、API功能以及配置选项,帮助开发者更好地理解并利用这个库。 6. **配置工具**:可能提供图形化配置工具,如STM32 CubeMX,帮助用户生成初始化代码,快速设置CEC的相关参数。 7. **STM32F10x**:STM32F10x系列是意法半导体(STMicroelectronics)推出的基于ARM Cortex-M3内核的微控制器,具有丰富的外设接口,包括USART(通用同步/异步收发传输器),可以支持CEC功能。 STM32 CEC库的V2.0.0版本可能包含了一些改进和修复,比如性能优化、兼容性增强或新的特性。开发人员在使用时应详细阅读更新日志,了解新版本的具体变化。 STM32F10x_CEC_Lib_V2.0.0为STM32F10x系列微控制器的CEC功能提供了全面的支持,使得开发基于HDMI CEC的应用变得更加简单和高效。通过这个库,开发者可以构建出能够与其他HDMI设备通信的智能系统,实现更丰富的用户体验。
2024-08-22 10:59:55 1.65MB stm32_usart
1
介绍 这是Python封装,其中使用了2005年IEEE进化计算大会大型全局优化特别会议的测试套件的C ++实现。 笔记 如果要使用此代码的任何部分,请引用以下出版物: Suganthan,N。Hansen,JJ Liang,K。Deb,Y.-P. Chen,A。Auger和S. Tiwari,“ CEC 2005实参优化特别会议的问题定义和评估标准”,技术报告,新加坡南洋理工大学,2005年5月,以及KanGAL报告#2005005,印度IIT坎普尔。 要求 GNU Make GNU G ++ Python 赛顿 测试环境 Debian GNU / Linux杰西/ sid GNU Make 3.81 g ++(Debian 4.7.3-4)4.7.3 Python 2.7和Python 3.2 numpy的1.8.1 cython 0.20.1 Travis-CI
2023-10-27 12:04:24 3.76MB C++
1
Matlab Hill代码ieee_cec_2014_nmmso 2014年IEEE进化计算大会代码库,其中包含Niching Migratory Multi-Swarm Optimizer和文献中的其他两个多模态优化器 所提供的实现方式与Jonathan E. Fieldsend发表在IEEE进化计算会议论文集,第2593-2600页,2014年的“奔跑的山丘:利用适当的迁移多群优化器进行多模态搜索”中使用的实现方式相同。 机构存储库: 依赖性:您将需要Ian Nabney的Netlab toobox(因为NMMSO使用其dist2函数来计算矩阵之间的平方距离)。 这可以从 请在Matlab的命令行中使用“帮助function_name”来获取函数用法的说明-请注意,“ _ iterative”版本将算法运行一代(并且可以将上一代终端的状态作为输入)。 这允许逐步进行用于行为分析的算法。 非迭代版本本质上包装了迭代版本。 我已经输入了代码注释,子程序(希望如此!)在命名上并不是太不透明。 任何查询,错误修复等,请给我发电子邮件。
2023-02-08 17:14:43 22KB 系统开源
1
中华学习机(CEC-I)的资料,这本书比较好用,是文字版的,有目录。
2022-12-30 18:27:02 5.04MB 中华学习机 CEC-I Apple II
1
CEC2014 benchmark function in matlab
2022-11-06 15:40:18 2.68MB CEC matlab matlabcec2014
1
本项目是基于上海大学语义智能实验室刘宗田教授、刘炜研究员及各硕士博士研究生所共同构建的中文突发事件语料库CEC-(Chinese Emergency Corpus),针对已标注的语料库中,采用LTP进行分词、词性标注、命名实体识别与依存句法分析等;对事件的要素进行规则挖掘,包括词性规则、命名实体规则、依存关系规则等。进而实现对突发事件类新闻报道的生语料进行自动化标注,添加对应的标签,并进行格式校验,存储为XML文件等。 开发环境(测试环境为Windows,不保证支持Unix/Linux环境) Licence:Apache Licence Version2 Version:1.0.0 项目编码设定:UTF-8 开发工具:Eclipse 4.4 luna 操作系统OS:Windows7 64bit JDK version:Oracle JDK 1.8+ 64bit 日志:log4j2.0 单元
2022-11-04 21:14:59 7.67MB Java
1
最新的进化算法的测试函数,可运行,供30个函数,以及包括一个标准pso代码
1
This software package is in connection with 2013 IEEE Congress on Evolutionary Computation
2022-10-29 16:14:35 116KB epsde cec_code evolutionary
1