网站首页 > 技术文章 正文
作者:郑铿城,经济学博士,数学建模指导教练
遗传算法(Genetic Algorithms)是基于生物进化理论的原理发展起来的一种广为应用的、高效的随机搜索与优化的方法。其主要特点是群体搜索策略和群体中个体之间的信息交换,搜索不依赖于梯度信息。它是20世纪70年代初期由美国密执根(Michigan)大学的霍兰(Holland)教授发展起来的。迄今为止,遗传算法是进化算法中最广为人知的算法。
遗传算法主要在复杂优化问题求解和工业工程领域应用,取得了一些令人信服的成果,所以引起了很多人的关注。遗传算法成功的应用包括:作业调度与排序、可靠性设计、车辆路径选择与调度、成组技术、设备布置与分配、交通问题,等等。
1.遗传算法具有以下几方面的特点。
遗传算法的处理对象不是参数本身,而是对参数集进行了编码的个体。此操作使得遗传算法可以直接对结构对象进行操作。
许多传统搜索算法都是单点搜索算法,容易陷入局部的最优解。遗传算法同时处理群体中的多个个体,即对搜索空间中的多个解进行评估,减少了陷入局部最优解的风险,同时算法本身易于实现并行化。
遗传算法基本上不用搜索空间的知识或其他辅助信息,而仅用适应度函数值来评估个体,在此基础上进行遗传操作。适应度函数不仅不受连续可微的限制,而且其定义域可以任意设定。这一特点使得遗传算法的应用范围大大扩展了。
遗传算法不是采用确定性规则,而是采用概率的变迁规则来指导搜索的方向。具有自组织、自适应和自学习性。遗传算法利用进化过程获得的信息自行组织搜索,适应度大的个体具有较高的生存概率,并能获得更适应环境的基因结构。
2.遗传算法中的基本概念
群体(population):又称种群、染色体群,是个体(individual)的集合,代表问题的解空间子集。
串(string)及串空间:串是个体的表达形式,对应着遗传学中的染色体,对应实际问题的一个解。
群体规模(population size):染色体群中个体的数目称为群体的大小或群体规模。
基因(gene):是指染色体的一个片段,可以是一个数值、一组数或一串字符。
交换(crossover):指在一定条件下两条染色体上的一个或几个基因相互交换位置。
交换概率:判断是否满足交换条件的一个小于1的阈值。
变异(mutation):指在一定条件下随机改变一条染色体上的一个或几个基因值。
变异概率:判断是否满足变异条件的一个小于1的阈值。
后代:染色体经过交换或变异后形成的新的个体。
适应度(fittness):用来度量种群中个体优劣(符合条件的程度)的指标值,它通常表现为数值形式。
选择(selection):根据染色体对应的适应值和问题的要求,筛选种群中的染色体,染色体的适应度越高,保存下来的概率越大,反之则越小,甚至被淘汰。
3.遗传算法终止规则
给定一个最大的遗传代数MAXGEN,算法迭代在达到MAXGEN时停止。当进化中两代最优个体小于要求的偏差x时,算法终止。所有个体或者指定比例以上个体趋同,此时停止计算。
以上就是关于数学建模算法中,遗传算法的一些基本知识点!
猜你喜欢
- 2024-10-09 遗传算法优化模糊规则和隶属度函数方法及代码实现(一)
- 2024-10-09 基因表达式编程GEP— 第二部分 遗传算法示例与GEP设计思想
- 2024-10-09 遗传算法优化Prony电力系统谐波检测的研究
- 2024-10-09 遗传算法(Python) 遗传算法Python如何计划两个累加的函数
- 2024-10-09 遗传算法的二次分配问题 遗传算法求解过程
- 2024-10-09 优化|遗传算法和深度强化学习的结合会是新的方向吗?
- 2024-10-09 遗传算法:组合优化算法,按照进化论的方式启发搜索寻优解
- 2024-10-09 浅谈遗传算法中适应性函数的设计思路
- 2024-10-09 npj: 新材料发现—机器学习加速遗传算法
- 2024-10-09 「前沿技术」利用遗传算法优化机翼形状
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)