资源描述:
《智能控制算法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、南京理工大学NanjingUniversityofScienceandTechnology************智能控制技术技术课程论文**********专业:控制理论与控制工程学号:112101161姓名:王磊杰2012年1月18日遗传算法简介及其应用1.引言遗传算法作为一种通用、高效的优化算法,已应用到工程计算的各个领域。该文首先简要阐述了遗传算法的基本原理和其操作步骤。同时为了验证其全局的寻优能力,采用MATLAB语言编制程序实现遗传算法对数值优化和旅行商问题的求解,需要说明的是这两类间题的程序编制和求解分别依赖于不同的已有遗传算法工
2、具箱。为了便于说明遗传算法的优越性,分别将对数值优化和旅行商问题的计算结果与用局域搜索法和模拟退火得出的优化结果进行比较。比较结果表明,对于数值优化问题,遗传算法比局域搜索法具有更佳的寻优能力;对于旅行商问题的求解也能得到满意的结果。2.遗传算法的基本原理及方法遗传算法(GA)是基于“适者生存”的一种高度并行、随机和自适应的优化算法,它将问题的求解表示成“染色体”的适者生存过程,通过“染色体”群的一代代不断进化,包括复制、交叉和变异等操作,最终收敛到最适应环境”的个体,从而求得问题的最优解或满意解。其中选择、交叉和变异是遗传算法的三个主要操作算
3、子。具体操作步骤图如下:l)在一定编码方案下,随机产生一个初始种群;2)用相应的解码方法将编码后的个体转换成问题空间的决策变量,并求个体的适应值;3)按照个体适应值的大小,从种群中选出适应值较大的一些个体构成交配池;4)由交叉和变异这两个遗传算子对交配池中的个体进行操作,并形成新一代的种群;5)反复执行步骤2)一4),直至满足收敛判据为止。其流程图如图1所示。图1.遗传算法流程图为了更好地理解遗传算法的运算过程,下面用手工计算来简单地模拟遗传算法的各个主要执行步骤。例:求下述二元函数的最大值:maxf(x1,x2)=x12+x22x1=1,2,
4、3,4,5,6,7x2=1,2,3,4,5,6,7(1)个体编码遗传算法的运算对象是表示个体的符号串,所以必须把变量x1,x2编码为一种符号串。本题中,用无符号二进制整数来表示。因x1,x2为0-7之间的整数,所以分别用3位无符号二进制整数来表示,将它们连接在一起所组成的6位无符号二进制数就形成了个体的基因型,表示一个可行解。例如,基因型X=101110所对应的表现型是:x=[5,6]。个体的表现型x和基因型X之间可通过编码和解码程序相互转换。(2)初始群体的产生遗传算法是对群体进行的进化操作,需要给其淮备一些表示起始搜索点的初始群体数据。本例
5、中,群体规模的大小取为4,即群体由4个个体组成,每个个体可通过随机方法产生。如:011101,101011,011100,111001(3)适应度汁算遗传算法中以个体适应度的大小来评定各个个体的优劣程度,从而决定其遗传机会的大小。本例中,目标函数总取非负值,并且是以求函数最大值为优化目标,故可直接利用目标函数值作为个体的适应度。(4)选择运算选择运算(或称为复制运算)把当前群体中适应度较高的个体按某种规则或模型遗传到下一代群体中。一般要求适应度较高的个体将有更多的机会遗传到下一代群体中。本例中,我们采用与适应度成正比的概率来确定各个个体复制到下
6、一代群体中的数量。其具体操作过程是:•先计算出群体中所有个体的适应度的总和(i=1.2,…,M);•其次计算出每个个体的相对适应度的大小fi/,它即为每个个体被遗传到下一代群体中的概率,•每个概率值组成一个区域,全部概率值之和为1;•最后再产生一个0到1之间的随机数,依据该随机数出现在上述哪一个概率区域内来确定各个个体被选中的次数。GA是一种通用的优化算法,其编码技术和遗传操作比较简单,优化不受限制性条件的约束,其搜索过程是从问题解的一个集合开始的,而不是从单个个体开始的,具有隐含并行搜索特性,也就大大减小了陷人局部极小值的可能。正是由于其具有
7、以上突出的优点,遗传算法几乎渗透到从工程到社会科学的各个领域。为了验证遗传算法的全局寻优能力,本文将运用基于MATLAB编制的遗传算法来求解数值优化和旅行商问题。1.遗传算法的发展方向1.1遗传算法自身的优化自从遗传算法在各种问题中得到广泛的应用以来,遗传算法的优化问题就成了人们研专家学者们从各个方面,在各种细节究的焦点。上采用各种方法试图来改进遗传算法。从编码方法,控制种群,控制交叉,控制变异等来改进遗传算法。根据不同问题的需要来选择编码方案,是改进遗传算法最初的手段。随着编码方案的不断完善,现在从编码方案上来改进遗传算法的意义已经很小。目前
8、对遗传算法的优化主一是利用对种群的控制,在选取要有两大手段。种群的时候,在种群的规模,种群的多样性上下功夫。有的是利用加入种间竞争的手段。另一种是通过