遗传算法学习--多目标优化中的遗传算法

转:https://www.cnblogs.com/lomper/p/3831428.html

在工程运用中,经常是多准则和对目标的进行择优设计。解决含多目标和多约束的优化问题称为:多目标优化问题。经常,这些目标之间都是相互冲突的。如投资中的本金最少,收益最好,风险最小~~

多目标优化问题的一般数学模型可描述为:

Pareto最优解(Pareto Optimal Solution)

使用遗传算法进行求解Pareto最优解:

  • 权重系数变换法:

  • 并列选择法:

基本思想:

将种群全体按子目标函数的数目等分为子群体,对每一个子群体分配一个目标函数,进行择优选择,各自选择出适应度高的个体组成一个新的子群体,然后将所有这些子群体合并成一个完整的群体,在这个群体里进行交叉变异操作,生成下一代完整群体,如此循环,最终生成Pareto最优解。如下图:

  • 排列选择法:

基于Pareto最优个体的前提上,对群体中的各个个体进行排序,依据排序进行选择,从而使拍在前面的Pareto最优个体将有更大的可能性进入下一代群体中。

  • 共享函数法:

利用小生境遗传算法的技术。算法对相同个体或类似个体是数目加一限制,以便能够产生出种类较多的不同的最优解。

对于一个个体X,在它的附近还存在有多少种、多大程度相似的个体,是可以度量的,这种度量值称为小生境数。计算方法:

s(d)为共享函数,它是个体之间距离d的单调递减函数。d(X,Y)为个体X,Y之间的海明距离

在计算出小生境数后,可以是小生境数较小的个体能够有更多的机会被选中,遗传到下一代群体中,即相似程度较小的个体能够有更多的机会被遗传到下一代群体中。

解决了多目标最优化问题中,使解能够尽可能的分散在整个Pareto最优解集合内,而不是集中在其Pareto最优解集合内的某一个较小的区域上的问题。

  • 混合法:
  1. 并列选择过程:按所求多目标优化问题的子目标函数的个数,将整个群体均分为一些子群体,各个子目标函数在相应的子群体中产生其下一代子群体。
  2. 保留Pareto最优个体过程:对于子群体中的Pareto最优个体,不让其参与个体的交叉和变异运算,而是直接保留到下一代子群体中。
  3. 共享函数处理过程:若所得到的Pareto最优个体的数量已经超过规定的群体规模,则使用共享函数来对它们进行挑选,以形成规定规模的新一代群体。
时间: 2024-11-01 01:58:17

遗传算法学习--多目标优化中的遗传算法的相关文章

(转) 深度学习在目标跟踪中的应用

深度学习在目标跟踪中的应用 原创 2016-09-05 徐霞清 深度学习大讲堂 点击上方“深度学习大讲堂”可订阅哦!深度学习大讲堂是高质量原创内容的平台,邀请学术界.工业界一线专家撰稿,致力于推送人工智能与深度学习最新技术.产品和活动信息! 开始本文之前,我们首先看上方给出的3张图片,它们分别是同一个视频的第1,40,80帧.在第1帧给出一个跑步者的边框(bounding-box)之后,后续的第40帧,80帧,bounding-box依然准确圈出了同一个跑步者.以上展示的其实就是目标跟踪(vis

R语言中的遗传算法详细解析

前言 人类总是在生活中摸索规律,把规律总结为经验,再把经验传给后人,让后人发现更多的规规律,每一次知识的传递都是一次进化的过程,最终会形成了人类的智慧.自然界规律,让人类适者生存地活了下来,聪明的科学家又把生物进化的规律,总结成遗传算法,扩展到了更广的领域中. 本文将带你走进遗传算法的世界. 目录 遗传算法介绍 遗传算法原理 遗传算法R语言实现 1. 遗传算法介绍 遗传算法是一种解决最优化的搜索算法,是进化算法的一种.进化算法最初借鉴了达尔文的进化论和孟德尔的遗传学说,从生物进化的一些现象发展起

遗传算法在自动组卷中的应用

遗传算法 遗传算法(Genetic Algorithm)是一种模拟自然界的进化规律-优胜劣汰演化来的随机搜索算法,其在解决多种约束条件下的最优解这类问题上具有优秀的表现. 1. 基本概念 在遗传算法中有几个基本的概念:基因.个体.种群和进化.基因是个体的表现,不同个体的基因序列不同:个体是指单个的生命,个体是组成种群的基础:而进化的基本单位是种群,一个种群里面有多个个体:进化是指一个种群进过优胜劣汰的自然选择后,产生一个新的种群的过程,理论上进化会产生更优秀的种群. 2. 算法流程 一个传统的遗

学习笔记之卸载远程目标进程中的DLL模块(转)

学习笔记之卸载远程目标进程中的DLL模块 (2007-07-23 23:51:02) 转载▼ 学习笔记之卸载远程目标进程中的DLL模块2007/7/231.首先得把DLL模块中的线程结束使用CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD,0);创建系统线程的快照然后用Thread32First()和Thread32Next()遍历系统中所有线程.将遍历到的线程保存到THREADENTRY32结构,然后判断结构中的th32OwnerProcessID成员是否与

MyBatis学习总结(三)——优化MyBatis配置文件中的配置(转载)

孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(三)--优化MyBatis配置文件中的配置 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org

【转】MyBatis学习总结(三)——优化MyBatis配置文件中的配置

[转]MyBatis学习总结(三)——优化MyBatis配置文件中的配置 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//E

红外目标图像中阈值分割方法的比较与研究

红外目标图像中阈值分割方法的比较与研究   摘要:本文主要以红外图像目标检测技术为背景,在图像阈值分割中以最大熵准则及遗传算法为基础,研究了一维最大熵值法(KSW法)及基于遗传算法的KSW熵法单阈值.双阈值等三种不同的阈值分割方法,并通过实验仿真验证了它们的性能及差异.实验结果表明:基于遗传算法的KSW熵法的双阈值分割方法,可以用于红外型目标检测系统中,并取得良好效果,为了验证其是否具有普适性,在其它科学领域如:沿海码头等方向也做了相应的仿真实验,结果较为满意. 关键词:红外目标检测:阈值分割:

深度度量学习在视觉分析中的应用

视觉模式的相似性度量是视觉计算中的一个基础问题,设计一个有效的相似性度量准则对于提高视觉分析系统的性能极为关键.度量学习旨在利用训练数据学习出有效的距离度量,进而有效地描述样本之间的相似度.传统的度量学习算法大多数都是学习出一个线性的马氏距离,因而不能有效地描述样本的非线性结构.本报告介绍本研究组近年所提出一种新的深度度量学习方法及其在视觉分析中的应用.通过构造一个深度神经网络,在网络的顶层设计任务相关的目标函数优化网络的参数,从而更好地学习出鉴别度量空间.所提出的方法在包含人脸识别.行人识别.

如何学习Linux性能优化?

如何学习Linux性能优化? 你是否也曾跟我一样,看了很多书.学了很多 Linux 性能工具,但在面对 Linux 性能问题时,还是束手无策?实际上,性能分析和优化始终是大多数软件工程师的一个痛点.但是,面对难题,我们真的就无解了吗? 固然,性能问题的复杂性增加了学习难度,但这并不能成为我们进阶路上的"拦路虎".在我看来,大多数人对性能问题"投降",原因可能只有两个. 一个是你没找到有效的方法学原理,一听到"系统"."底层"这