- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
智能控制算法.
南京理工大学
Nanjing University of Science and Technology
************
智能控制技术技术
课程论文
**********
专业:控制理论与控制工程
学号: 112101161
姓名: 王 磊 杰
2012年1月18日
遗传算法简介及其应用
引言
遗传算法作为一种通用、高效的优化算法, 已应用到工程计算的各个领域。该文首先简要阐述了遗传算法的基本原理和其操作步骤。同时为了验证其全局的寻优能力,采用MATLAB语言编制程序实现遗传算法对数值优化和旅行商问题的求解,需要说明的是这两类间题的程序编制和求解分别依赖于不同的已有遗传算法工具箱。为了便于说明遗传算法的优越性,分别将对数值优化和旅行商问题的计算结果与用局域搜索法和模拟退火得出的优化结果进行比较。比较结果表明, 对于数值优化问题,遗传算法比局域搜索法具有更佳的寻优能力; 对于旅行商问题的求解也能得到满意的结果。
遗传算法的基本原理及方法
遗传算法(GA)是基于“适者生存”的一种高度并行、随机和自适应的优化算法,它将问题的求解表示成“染色体” 的适者生存过程, 通过“ 染色体” 群的一代代不断进化, 包括复制、交叉和变异等操作, 最终收敛到最适应环境”的个体,从而求得问题的最优解或满意解。其中选择、交叉和变异是遗传算法的三个主要操作算子。具体操作步骤图如下:
l) 在一定编码方案下, 随机产生一个初始种群;
2 ) 用相应的解码方法将编码后的个体转换成问题空间的决策变量, 并求个体的适应值;
3) 按照个体适应值的大小,从种群中选出适应值较大的一些个体构成交配池;
4)由交叉和变异这两个遗传算子对交配池中的个体进行操作, 并形成新一代的种群;
5)反复执行步骤2 )一4 ) ,直至满足收敛判据为止。其流程图如图1所示。
图1.遗传算法流程图
为了更好地理解遗传算法的运算过程,下面用手工计算来简单地模拟遗传算法的各个主要执行步骤。
例:求下述二元函数的最大值:
max f(x1,x2) = x12+ x22
x1=1,2,3,4,5,6,7
x2=1,2,3,4,5,6,7
(1)个体编码
遗传算法的运算对象是表示个体的符号串,所以必须把变量x1,x2编码为一种符号串。本题中,用无符号二进制整数来表示。
因x1, x2为0-7之间的整数,所以分别用3位无符号二进制整数来表示,将它们连接在一起所组成的6位无符号二进制数就形成了个体的基因型,表示一个可行解。
例如,基因型 X=101110所对应的表现型是:x=[5,6]。
个体的表现型x和基因型X之间可通过编码和解码程序相互转换。
(2)初始群体的产生
遗传算法是对群体进行的进化操作,需要给其淮备一些表示起始搜索点的初始群体数据。
本例中,群体规模的大小取为4,即群体由4个个体组成,每个个体可通过随机方法产生。
如:011101,101011,011100,111001
(3)适应度汁算
遗传算法中以个体适应度的大小来评定各个个体的优劣程度,从而决定其遗传机会的大小。
本例中,目标函数总取非负值,并且是以求函数最大值为优化目标,故可直接利用目标函数值作为个体的适应度。
(4)选择运算
选择运算(或称为复制运算)把当前群体中适应度较高的个体按某种规则或模型遗传到下一代群体中。一般要求适应度较高的个体将有更多的机会遗传到下一代群体中。
本例中,我们采用与适应度成正比的概率来确定各个个体复制到下一代群体中的数量。其具体操作过程是:
? 先计算出群体中所有个体的适应度的总和 ( i=1.2,…,M );
? 其次计算出每个个体的相对适应度的大小 fi / ,它即为每个个体被遗传到下一代群体中的概率,
? 每个概率值组成一个区域,全部概率值之和为1;
? 最后再产生一个0到1之间的随机数,依据该随机数出现在上述哪一个概率区域内来确定各个个体被选中的次数。
GA是一种通用的优化算法, 其编码技术和遗传操作比较简单, 优化不受限制性条件的约束, 其搜索过程是从问题解的一个集合开始的, 而不是从单个个体开始的, 具有隐含并行搜索特性, 也就大大减小了陷人局部极小值的可能。
正是由于其具有以上突出的优点, 遗传算法几乎渗透到从工程到社会科学的各个领域。为了验证遗传算法的全局寻优能力, 本文将运用基于MATLAB编制的遗传算法来求解数值优化和旅行商问题。
遗传算法的发展方向
遗传算法自身的优化
自从遗传算法在各种问题中得到广泛的应用以来,遗传算法的优化问题就成了人们研专家学者们从各个方面,在各种细节 究的焦点。 上采用各种方法试图来改进遗传算法。从编码 方法, 控制种群,
文档评论(0)