纵观遗传算法的整个发展,它兴起于20世纪70年代,发展于20世纪80年代,成熟于20世纪90年代。遗传算法作为一种高效、实用、鲁棒性强的优化技术,其发展之迅速,已经引起国内外众多学者的高度重视。[4]
1.2 课题的提出及研究意义
在工作生活中,其实存在着大量优化问题,如生产任务分配,IP地址合理分配,图书馆书目检索等等,都可以转化成寻优问题来求解。但实值优化问题的非线性、不可微、多极值等特性使得传统的优化方法无法比较出个体间的优劣。而遗传算法能够做到这一点。
1.3 遗传算法的研究现状
2 遗传算法的基本概论
2.1 遗传算法的基本思想
对求函数最大值的优化问题,一般可描述为式2-1的数学模型(最小值问题同理):
(2-1)
式中f(X)———目标函数,X———决策变量, ,S———可行解的集合,是R的一个子集, ———基本n文向量空间[5]。
集合S是由所有满足约束条件的解组成的,当 时, X满足约束条件,我们就称X是优化问题的一个可行解。而当 且S内的所有X都满足 时,则称 是优化问题的最优解。
对这类求函数最大值的优化问题,常会存在很多的目标函数和约束条件,比如有的是线性的,有的是非线性的;有的是连续的,有的是离散的;有的是单峰值的,有的是多峰值的。但随着时间的推移,大量研究和实验呈现出的事实是当情况比较复杂的时候想要求出最优解是基本不可能的,因此人们便把目标放到求出近似最优解或满意解上。一般有三种求最优解或是近似最优解的方法,分别是:枚举法、启发式算法和搜索算法。
(1)枚举法。
为了得到最准确的最优解,从可行解集合内枚举出所有的可行解。对离散函数来说,为避免离散误差的产生导致无法求解出最优解,需先进行离散化处理。但当这个可行解集合比较大时,就需要枚举出大量的可行解,直接导致了求解效率的低下,甚至放到更好的设备上也可能无法求解。
(2)启发式算法。
为了找到一个最优解或近似最优解而寻求一种能让可行解产生的启发式规则。这种方法虽然高效,但要求找出每个需要求解的问题的启发式规则,每个问题都具有其独特的启发式规则,因而无法适用于其他问题。
(3)搜索算法。
寻求一种搜索算法,为了求得问题的最优解或近似最优解,这种算法在可行解算法的一个子集内开展搜索操作。虽然这种方法不能每次都求得最优解,但倘若运用一些启发知识,便能兼顾到求解效率和近似最优解的质量。
伴随着越来越多的复杂问题,传统方法已经显得有些捉襟见肘,找出一个能够用有限的代价来解决这些问题,且具备通用性的方法成为了一大难题。但遗传算法却让这以难题得到了解决,它提供了有效的途径和通用的框架,形成了一种全新的全局优化搜索算法。
遗传算法的基本思想是达尔文的进化论,是一种模仿生物的进化过程的随机只能优化算法。它运用简单的编码技术来表现各种复杂的结构,并通过对一组编码表示进行简单的遗传操作和优胜劣汰的自然选择来指导学习和确定搜索方向[4]。种群是遗传算法的操作对象,是由大量用编码表示的个体所组成的,这些个体就是问题的一个个解。从初始种群开始,选择使用基于适应度比例的策略在种群中选择个体,通过杂交和变异的方法产生下一代种群,仿若生命的进化一般周而复始地演化下去,直至达到期望的终止条件。 MATLAB遗传算法的性能仿真研究+文献综述(3):http://www.youerw.com/jisuanji/lunwen_16157.html