组合优化问题求解方法GA-交叉算子的总结

2024-05-04 00:38

本文主要是介绍组合优化问题求解方法GA-交叉算子的总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

组合优化问题求解方法GA-交叉算子的总结

离散的组合优化问题:通过数学方法的研究去寻找离散事件的最优编排分组、次序或者筛选等。这些问题的描述都非常简单,并且具有很强的工程性,但最优化的求解很困难。

 

组合优化问题具有一个共同的特点,就是爆炸式增长的候选集(组合爆炸),例如对于旅行商问题而言,其候选集的数量为(N-1)!,其中N为城市的数目。对于这种NP-hard问题,如果采用穷举遍历,那么消耗的时间是指数级增长的,因此解决大规模的TSP采用穷举遍历是不现实的。

 

为了解决组合优化的问题,通常有两大类算法。一类是确定性的算法:比如穷举算法,这类算法由于消耗时间过长以及极大的存储空间要求,已经被现有的性能较优的启发式算法替代。

 

第二类是近似算法,这类算法通常能找到足够好的近似解,不保证能找到最优解。包括:模拟退火算法、遗传算法、粒子群算法、蚁群算法、禁忌搜索算法等。

近年来,很多学者对这些启发式算法做了大量的改进,有些提出了两种算法的混合算法,使得其性能得到很大的提高。有大量的论文和实验证明遗传算法的拥有较有的求解性能。这里先对遗传算法做一些总结。

 

遗传算法的性能由初始解的产生、杂交算法和变异算子决定。其中杂交算子和变异算子起着决定性的作用。

 

1999年,P. LARRANAGA et.al【1】 等人对现有的杂交算子做了全面的总结和实验,他们选取了8种杂交算子(APCXEROX1OX2PMXPOSVR)6种变异算子(DMEMISMIVMSIMSM),产生了48种组合,分别使用这48种组合解决相同的TSP问题,并比较结果。得出结论:(交叉算子中,OX优于PMXPMX优于CX2】)杂交算子按从优到劣排列为:EROX1POSOX2;变异算子按从优到劣排列为:

这篇关于组合优化问题求解方法GA-交叉算子的总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

HDFS—存储优化(纠删码)

纠删码原理 HDFS 默认情况下,一个文件有3个副本,这样提高了数据的可靠性,但也带来了2倍的冗余开销。 Hadoop3.x 引入了纠删码,采用计算的方式,可以节省约50%左右的存储空间。 此种方式节约了空间,但是会增加 cpu 的计算。 纠删码策略是给具体一个路径设置。所有往此路径下存储的文件,都会执行此策略。 默认只开启对 RS-6-3-1024k

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

hdu4869(逆元+求组合数)

//输入n,m,n表示翻牌的次数,m表示牌的数目,求经过n次操作后共有几种状态#include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<queue>#include<set>#include<map>#include<stdio.h>#include<stdlib.h>#includ

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

浅谈主机加固,六种有效的主机加固方法

在数字化时代,数据的价值不言而喻,但随之而来的安全威胁也日益严峻。从勒索病毒到内部泄露,企业的数据安全面临着前所未有的挑战。为了应对这些挑战,一种全新的主机加固解决方案应运而生。 MCK主机加固解决方案,采用先进的安全容器中间件技术,构建起一套内核级的纵深立体防护体系。这一体系突破了传统安全防护的局限,即使在管理员权限被恶意利用的情况下,也能确保服务器的安全稳定运行。 普适主机加固措施: