- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
遗传算法约束非线性实现.pdf
第21卷第 1期 大 学 数 学 Vo1.21,№ .1
2005年 2月 CoLLEGE M ATHEMATICS Feb.2005
遗传算法求解约束非线性规划及 Matlab实现
倪金林
(合肥工业大学理学院 应用数学系,合肥 230009)
[摘 要]对于约束非线性规划 问题 ,传统的方法 :可行方 向法、惩罚函数法计算烦琐且精度不高.用新
兴的遗传算法来解决约束非线性规划 ,核心是惩罚函数的构造.以前的惩罚函数遗传算法有的精度较低 ,有
的过于复杂.本文在两个定义的基础上构造了新 的惩罚函数,并在新的惩罚函数的基础上.提 出了一种解决
约束非线性最优化问题的方法,通过两个例子应用 Matlab说明了这个算法的可行性.
[关键词]遗传算法;约束非线性规划 ;惩罚函数;交叉;变异
[中图分类号]0221.2 [文献标识码]A [文章编号]1672—1454(2005)O1—0091-05
1 引 言
约束非线性规划问题是运筹学中的一个重要分支,现实生活中许多实际问题都不能表达为容易解
决的线性模型,如地下水调整系统和地下水污染来源识别问题中就不可避免非线性规划问题.解决约束
非线性问题的方法也很多.一般方法,如可行方向法,惩罚函数法I】都计算复杂且精度不高.遗传算法是
一 个新兴的方法,1975年 Holland在他的著作 《AdaptationinNaturalandArtificalSystems》中首次提
出遗传算法,很快就用遗传算法来解决非线性最优问题.而用遗传算法解决非线性等式与不等式约束最
优化问题的核心问题是如何满足约束问题.如今用遗传算法解决非线性等式与不等式约束最优化有几
种满足约束的策略:拒绝策略、改进策略、算子策略和惩罚策略_l2].前三种策略不会产生不可行解,无法
考虑可行域外的解 ,对于约束严的问题不可行解在种群中占的比例很大,因此将搜索限制在可行域内就
很难找到可行解.惩罚策略不拒绝每代中的不可行解,其中一些个体可能提供关于最优解的更有用的信
息,通过对不可行解的惩罚来将约束问题转换为无约束问题,任何对约束的违反都要在 目标函数中添加
惩罚项.因此,允许在搜索空间里的不可行域中进行搜索能实现更快更好的最终解.惩罚函数就是在遗
传搜索中考虑不可行解的技术,给不可行解根据具体情况给予惩罚.如何设计一个好的惩罚函数就是关
键.设计惩罚函数没有一般的指导性原则.Homaifar,Qi和Lai方法构造的惩罚函数简单,但不够精确.
Joines和 Houck设计的惩罚函数对参数太敏感.本文在两个定义基础上构造一个新 的惩罚函数,并用
两个例子说明该方法是有效可行的.
2 遗传算法
遗传算法是一种从适者生存概念和 自然中抽象出来的基因运算 ,是基于 自然选择机制和 自然基因
的相对较新的联合搜索方法.基因算法与其他的最优化方法相比有4点不同:
1)遗传算法运算的是解集的编码,而不是解集本身.
[收稿 日期]2004—01—25
[基金项 目]安徽省重点教学研究项 目(2001011)
92 大 学 数 学 第21卷
2)遗传算法的搜索始于解的一种群,而不是单个解.
3)遗传算法用的是 目标函数本身,而不使用 目标函数和约束函数的导数.
4)遗传算法采用概率的,而不是确定的状态转移规则.
遗传算法第一次是由Holland提出,自从提出以后,由于遗传算法不同于传统 的最优化方法,有其
灵活性和易变性.在基本的遗传算法中,许多文学中的变异,选择,交叉,平行计算被改进发展来加速方
法的收敛和方法的有效性 ].遗传操作主要有三种 :
1)选择算子(Selection/reproduction):选择算子从群体中按某一概率成对选择个体,某个体 被
选择的概率 Pi与其适应度值成正比.最通常的实现方法是轮盘赌 (roulettewhee1)模型.
2.交叉算子(Crossover):交叉算子将被选中的两个个体的基因链按概率 Pc进行交叉 ,生成两个新
原创力文档


文档评论(0)