遗传规划

2024-06-24

遗传规划(共10篇)

遗传规划 篇1

0 引言

植物的分类识别是一项基础性的工作, 在农业生产及林业统计中的应用十分广泛。传统的分类识别主要依靠工作人员手工操作, 不仅识别效率低, 而且对工作人员的专业素质要求较高, 造成了巨大的人力资源浪费。如何寻求一种有效的、能够实现植物的自动分类识别的方法, 成了这一领域研究的热点问题。目前, 国内外在植物自动分类识别方面的研究有了一些成果, 但是都没有形成完善的体系, 分类识别的准确性有待提高。

遗传规划诞生以来, 遗传规划与图像有关的研究工作已取得了丰硕成果, 其中包括图像处理、图像分类及目标检测等方面应用研究。遗传规划提出了一种全新的结构描述方法, 其实质是用广义的层次化计算机程序描述问题。这种广义的计算机程序能根据环境状况动态改变其结构和大小, 具有良好的自学习和自适应性。遗传规划分类器的进化和分类速度非常快, 实时性能好, 分类识别需要领域知识很少, 便于推广使用。本文应用遗传规划对植物叶片进行识别分类, 取得了较好的效果。

1 遗传规划概述

遗传规划是从遗传算法中派生和发展起来的一种搜索寻优技术, 由J.R.Koza于1989年首次提出。它仿效生物界中进化和遗传的过程, 从一组随机生成的初始可行解开始, 通过复制、交叉和变异等遗传操作, 逐步迭代而逼近问题的最优解。遗传规划从遗传算法发展而来, 但是表现形式有很大区别[1]。遗传规划中所使用的个体是长度和大小可变的程序树, 这种动态树状表示方式自然灵活, 更接近人类解决问题的自然方式, 在很大程度上克服了遗传算法的局限性, 是一种不依赖于具体问题领域特定知识的机器自动学习的方法。

1.1 遗传规划的程序表达

1.1.1 遗传规划函数集 (Function set)

1) 算术运算符“+, -, ×, /”, 这里的“/”是保护除, 即当除数为0 时, 其商定义为0。

2) 三角函数及其它函数, 如sin, cos, exp, log 等。

3) 逻辑运算符为AND, OR, NOT, XOR。

4) 其他:甚至可以是复杂的程序结构、傅里叶变换等。一般非常复杂的程序 (如循环结构) 不放在函数集中, 避免造成程序过程进化太复杂和适应度计算不便[1]。

1.1.2 终止集 (terminal set)

终止集由要解决的问题相关特征值组成, 有时也根据具体情况加入常量值。一般常量用随机函数随机产生, 还可以加入其他与问题领域有关的常量。

1.2 遗传规划的进化过程

1) 确定各控制参数。主要包括:确定函数集和终止符集;确定适应度函数;确定各个遗传操作的概率 (如复制概率、交叉概率等) ;确定终止准则。

2) 随机产生初始群体, 本文中函数集为 (+, -, *, /) 。

3) 确定每个个体的适应度, 如果满足停止准则, 则停止, 否则转到第4步。

4) 对群体中个体施加遗传操作, 以便产生下一代群体。一是复制, 即将现有个体复制到新的群体中;二是交叉, 即交换两个个体的相应随机选定的部分;三是变异, 即改变个体的随机选定的部分;四是转回第3步[2]。

2 方法设计

方法设计如图1所示。

2.1 图像样本采集和预处理

为了便于研究, 本文收集若干植物叶片图片作为实验样本。通过c++编写程序对样本进行了去噪和灰度化等处理, 得到了比较清晰的灰度图像。

2.2 图像分割与特征值提取

为了提取有效的图像特征值, 一般要对图像进行分割处理。分割方法有很多种, 如矩形环域划分、六矩形区域划分、同心环域划分和三角形区域划分等。根据叶片形状的特性, 本文采用等宽同心环的方法进行分割[3,4]。使用像素统计法提取图像特征, 分别统计划分区域的像素亮度标准差和像素亮度平均值。每种窗口划分方法都是6个区域划分, 每个识别的图像提取12个图像特征值。公式为

式中 n—区域内总的像素个数;

f (x) —像素点的亮度值。

2.3 遗传规划的参数设置

2.3.1 叶节点的选择

个体树的叶结点由输入变量与常量构成。本文算法是:选取从图像样本中提取的特征, 把每个特征值作为一个叶结点, 并用这些点和临时随机常数P表示终端集, 即

2.3.2 数集的选择

通常函数集可以由运算函数、三角函数、布尔运算符和条件运算符等构成。经过研究发现:使用算术运算符 (+, -, *, /) 不仅能很好地进行图像的识别和分类, 而且可以提高程序进化的效率。因此, 本文选择算术运算符“+, -, *, /”作为函数集。

2.3.3 适应度函数的定义

适应度函数是对个体相对于要解决问题的优劣程度的评价。根据适应度的大小决定个体是繁殖还是消亡, 因此适应度是驱动遗传规划的动力。从生物学角度讲, 适应度相当于“优胜劣汰, 适者生存”的原则, 在程序进化过程中具有重要意义[5]。

为了提高分类识别精度和控制种群规模, 本文选用带有反馈因子的识别误差形式, 即

式中q (x) —反馈因子, 根据正确率的变化而变化;

x —分类的正确率;

s —个体的规模。

2.3.4 算法控制参数的确定

算法控制参数包括种群的大小、遗传操作 (如交叉、复制、变异) 的概率。应用遗传规划必须先提供一个初始的种群, 该种群的选择对遗传规划的进化速度有一定的影响[6]。

2.3.5 终止条件选择

分类系统在识别分类时, 若满足下列条件之一, 则分类器停止进化:

1) 种群 (population) 中程序 (program) 的最好适应度达到了预先设定的标准, 即进化得到的问题解决方案符合要求;

2) 系统进化的代数达到了预设的最大代数, 意味着条件1) 没有达到分类识别的效果。

3 实验结果与总结

应用上述方法挑选160组试验样本作为训练集, 对分类器进行训练。另选240组试验样本验证集进行分类识别, 程序进化代数为62, 正确识别组数为231组, 识别正确率为96.25%, 基本达到了预期目标。

本文提出了一种基于遗传规划进行植物的分类识别方法, 通过对植物的最直观、最易收集的叶片部分进行研究, 利用简单的像素统计方法提取叶片图像特征值, 达到了较高的识别准确率。但也存在着一些不足:由于在遗传规划的进化程序中, 初始种群是由电脑随机产生, 同时产生了大量冗余, 最终影响了分类器的识别效率, 希望在以后的研究中加以改进。

参考文献

[1]云庆夏, 黄光球, 王战权.遗传算法和遗传规划[M].北京:冶金工业出版社, 1997:58-85.

[2]李敏强, 寇纪淞, 林丹, 等.遗传算法的基本理论与应用[M].北京:科学出版社2002:317-347.

[3]Milan Sonka, Vaclav Hlavac, Roger Boyle.图像处理、分析与机器视觉[M].艾海舟, 武勃, 译.北京:人民邮电出版社, 2003:385-412.

[4]Linda G.Shapiro George C.Stockman.计算机视觉[M].赵清杰, 钱芳, 蔡利栋, 译.北京:机械工业出版社, 2005:62-79.

[5]Langdon W B, Poli R.Foundation of genetic programming[M].[S.l.]:Springer-verlag, 2002.

[6]Koza J R.Automatic greation of human-competitive pro-grams and controllers by means of genetic programming[J].Genetic Programming and Evolvable Machines, 2000 (1) :121-164.

遗传规划 篇2

传统的`方法解答非线性规划问题存在着有进入局部最优、效率低、甚至根本得不出结果的局限性,而遗传算法中用不变的pc和pm来控制进化,很容易导致早熟,降低算法搜索效率.根据适应度自动对交叉概率pc和变异概率pm进行调整,提出一种新的遗传算法.通过对6个测试函数的仿真实验,结果表明本算法是非常有效的.

作 者:高娟 徐裕生 卫龙飞 GAO Juan XU Yu-sheng WEI Long-fei 作者单位:高娟,徐裕生,GAO Juan,XU Yu-sheng(西安建筑科技大学理学院,陕西西安,710055)

卫龙飞,WEI Long-fei(中国第一飞机设计研究院,陕西西安,710089)

遗传规划 篇3

摘要:采用改进遗传算子操作策略的遗传算法以解决起重机三维空间多目标吊装路径的规划问题.首先建立起重机作业场景和位姿空间的数学模型,将起重机的空间多自由度路径规划问题转化成平面路径点的求解问题.然后确定以吊装路径最短、安全性最好和运动形式变化最少为优化目标,通过添加记忆算子为插入算子和变异算子选取合适的方向和步长进行多目标优化操作.实验证明该算法能综合考虑多种因素,并能同时提供不同特点的路径供决策者选择.

关键词:多目标优化;遗传算法;记忆算子;空间多自由度路径规划

中图分类号:TH 213.1 文献标识码:A

虚拟场景中起重机无碰撞吊装路径规划属于环境信息已知的全局路径规划问题.全局路径规划方法根据已获知的环境信息,对环境进行建模,为起重机规划出一条满足约束条件和目标的吊装路径.目前,国内外的研究机构、学者对吊装路径规划做出了大量的研究成果,比如Morad[1]等人基于人工智能的方法开发出一款PathFinder系统,该系统在Walkthru环境中运用主动干涉检测盒启发式搜索方法来确定真实作业空间中的最优吊装路径.Reddy[2]等人采用了C空间的原理和启发式搜索算法对起重机的无碰撞吊装路径规划过程进行研究.

起重机空间无碰撞吊装路径规划本质上是一个多性能指标的NP完全问题,这其中需要满足多个优化参数,例如最短距离、最小时间和最低耗能等,很难为其求解单一的优化解.传统路径规划方法有可视图法、栅格法和A*等启发式算法[3-5].在解决空间多自由度的路径规划问题时,上述算法的搜索速度、精度和解空间不足.近年来,遗传算法在复杂多目标优化问题中的应用已成为研究的热点,然而,多数文献仅对平面路径规划问题进行优化[6-7],针对空间多自由度路径规划这一类多关节多约束多目标优化问题的研究较少.Kazuo Sugihara and John Smith[8]用遗传算法进行路径规划的研究具有一定的可行性和有效性,然而该文提出的路径空间栅格划分法不能解决规划速度与规划精度之间的矛盾:栅格密度小,则搜索精度差;若密度大,则数据计算量大,计算速度低.因此进化较多的搜索过程需要占据较大计算时间和存储空间.

本文将遗传算法应用于起重机多目标路径优化问题,通过分析作业场景模型和起重机位姿空间模型,将路径空间分割成多个路径平面,然后对路径平面进行栅格化处理,建立平面路径规划模型,最后应用遗传算法原理建立吊装物的路径点信息模型来确定起重机的多个吊装路径.该算法通过为场景模型添加包围盒属性来保证路径空间的搜索精度和路径的可行性,并添加新的记忆算子来提高计算效率和收敛速度,对于运用遗传算法求解空间多自由度的路径规划问题有一定的指导意义.

1路径规划模型的建立

1.1作业场景模型

全地面起重机臂架组合形式有主臂、主臂+辅助臂(副臂、塔臂或动臂)两种,吊装运动有回转、变幅和卷扬3种方式[9].根据起重机的吊装运动特点,将吊装场景划分成两个路径空间,为便于表述将其投影至XOY平面上(如图1所示).定义r,R分别为起重机最小和最大的工作半径,吊装幅度Fd∈[r, R],S和T分别为吊装物的起吊点和目标点,O为起重机回转中心,OS和OT分别为起始边和终止边,其中,Q1为自起始边沿逆时针(左转)方向指向终止边的扇形区域,角度范围为W1;Q2为自起始边沿顺时针方向(右转)指向终止边的扇形区域,角度范围为W2.

4结论

针对起重机空间多自由度的吊装路径规划问题,提出了一种基于多目标遗传算法的路径规划方法.该算法根据起重机吊装运动特点,设计了三维空间的路径点编码机制和适合于路径规划的具有启发作用的遗传算子,且综合考虑了起重机吊装路径的多个目标,能够同时提供不同特点的多条路径.最后通过实例验证,表明了该算法的有效性.

参考文献

[1]MORAD A A,CLEVELAND A B,BELIVEAU Y J,et al. Pathfinder: Albased path planning system[J]. Journal of Computing in Civil Engineering,1992,6(2):114-128.

[2]REDDY H R, VARGHESE K. Automated path planning for mobile crane lifts[J]. ComputerAided Civil and Infrastructure Engineering,2002,17(6):439-448.

[3]杨淮清,肖兴贵,姚栋. 一种基于可视图法的机器人全局路径规划算法[J]. 沈阳工业大学学报,2009,31(2):226-229.

[4]朱磊,樊继壮,赵杰,等. 基于栅格法的矿难搜索机器人全局路径规划与局部避障[J]. 中南大学学报:自然科学版,2011,42(11):3421-3428.

[5]贾庆轩,陈刚,孙汉旭,等. 基于A*算法的空间机械臂避障路径规划 [J]. 机械工程学报,2010,46(13):109-115.

[6]刘旭红,张国英,刘玉树,等. 基于多目标遗传算法的路径规划[J]. 北京理工大学学报,2005,25(7):613-616.

[7]申晓宁,郭毓,陈庆伟,等. 多目标遗传算法在机器人路径规划中的应用[J]. 南京理工大学学报,2006,30(6):659-663.

[8]KAZUO SUGIBARA, JOHN SMITH. Genetic algorithms for adaptive motion planning of an autonomous mobile robot[C]//Computational Intelligence in Robotics and Automation:1997 IEEE International Symposium, Monterey,USA,1997.

[9]杜海岩. 工程机械概论[M]. 成都:西南交通大学出版社,2004.

[10]张玉院. 移动式起重机无碰撞路径规划的设计与实现[D]. 大连:大连理工大学,2010.

[11]关志华. 面向多目标优化问题的遗传算法的理论及应用研究[D]. 天津:天津大学,2002.

摘要:采用改进遗传算子操作策略的遗传算法以解决起重机三维空间多目标吊装路径的规划问题.首先建立起重机作业场景和位姿空间的数学模型,将起重机的空间多自由度路径规划问题转化成平面路径点的求解问题.然后确定以吊装路径最短、安全性最好和运动形式变化最少为优化目标,通过添加记忆算子为插入算子和变异算子选取合适的方向和步长进行多目标优化操作.实验证明该算法能综合考虑多种因素,并能同时提供不同特点的路径供决策者选择.

关键词:多目标优化;遗传算法;记忆算子;空间多自由度路径规划

中图分类号:TH 213.1 文献标识码:A

虚拟场景中起重机无碰撞吊装路径规划属于环境信息已知的全局路径规划问题.全局路径规划方法根据已获知的环境信息,对环境进行建模,为起重机规划出一条满足约束条件和目标的吊装路径.目前,国内外的研究机构、学者对吊装路径规划做出了大量的研究成果,比如Morad[1]等人基于人工智能的方法开发出一款PathFinder系统,该系统在Walkthru环境中运用主动干涉检测盒启发式搜索方法来确定真实作业空间中的最优吊装路径.Reddy[2]等人采用了C空间的原理和启发式搜索算法对起重机的无碰撞吊装路径规划过程进行研究.

起重机空间无碰撞吊装路径规划本质上是一个多性能指标的NP完全问题,这其中需要满足多个优化参数,例如最短距离、最小时间和最低耗能等,很难为其求解单一的优化解.传统路径规划方法有可视图法、栅格法和A*等启发式算法[3-5].在解决空间多自由度的路径规划问题时,上述算法的搜索速度、精度和解空间不足.近年来,遗传算法在复杂多目标优化问题中的应用已成为研究的热点,然而,多数文献仅对平面路径规划问题进行优化[6-7],针对空间多自由度路径规划这一类多关节多约束多目标优化问题的研究较少.Kazuo Sugihara and John Smith[8]用遗传算法进行路径规划的研究具有一定的可行性和有效性,然而该文提出的路径空间栅格划分法不能解决规划速度与规划精度之间的矛盾:栅格密度小,则搜索精度差;若密度大,则数据计算量大,计算速度低.因此进化较多的搜索过程需要占据较大计算时间和存储空间.

本文将遗传算法应用于起重机多目标路径优化问题,通过分析作业场景模型和起重机位姿空间模型,将路径空间分割成多个路径平面,然后对路径平面进行栅格化处理,建立平面路径规划模型,最后应用遗传算法原理建立吊装物的路径点信息模型来确定起重机的多个吊装路径.该算法通过为场景模型添加包围盒属性来保证路径空间的搜索精度和路径的可行性,并添加新的记忆算子来提高计算效率和收敛速度,对于运用遗传算法求解空间多自由度的路径规划问题有一定的指导意义.

1路径规划模型的建立

1.1作业场景模型

全地面起重机臂架组合形式有主臂、主臂+辅助臂(副臂、塔臂或动臂)两种,吊装运动有回转、变幅和卷扬3种方式[9].根据起重机的吊装运动特点,将吊装场景划分成两个路径空间,为便于表述将其投影至XOY平面上(如图1所示).定义r,R分别为起重机最小和最大的工作半径,吊装幅度Fd∈[r, R],S和T分别为吊装物的起吊点和目标点,O为起重机回转中心,OS和OT分别为起始边和终止边,其中,Q1为自起始边沿逆时针(左转)方向指向终止边的扇形区域,角度范围为W1;Q2为自起始边沿顺时针方向(右转)指向终止边的扇形区域,角度范围为W2.

4结论

针对起重机空间多自由度的吊装路径规划问题,提出了一种基于多目标遗传算法的路径规划方法.该算法根据起重机吊装运动特点,设计了三维空间的路径点编码机制和适合于路径规划的具有启发作用的遗传算子,且综合考虑了起重机吊装路径的多个目标,能够同时提供不同特点的多条路径.最后通过实例验证,表明了该算法的有效性.

参考文献

[1]MORAD A A,CLEVELAND A B,BELIVEAU Y J,et al. Pathfinder: Albased path planning system[J]. Journal of Computing in Civil Engineering,1992,6(2):114-128.

[2]REDDY H R, VARGHESE K. Automated path planning for mobile crane lifts[J]. ComputerAided Civil and Infrastructure Engineering,2002,17(6):439-448.

[3]杨淮清,肖兴贵,姚栋. 一种基于可视图法的机器人全局路径规划算法[J]. 沈阳工业大学学报,2009,31(2):226-229.

[4]朱磊,樊继壮,赵杰,等. 基于栅格法的矿难搜索机器人全局路径规划与局部避障[J]. 中南大学学报:自然科学版,2011,42(11):3421-3428.

[5]贾庆轩,陈刚,孙汉旭,等. 基于A*算法的空间机械臂避障路径规划 [J]. 机械工程学报,2010,46(13):109-115.

[6]刘旭红,张国英,刘玉树,等. 基于多目标遗传算法的路径规划[J]. 北京理工大学学报,2005,25(7):613-616.

[7]申晓宁,郭毓,陈庆伟,等. 多目标遗传算法在机器人路径规划中的应用[J]. 南京理工大学学报,2006,30(6):659-663.

[8]KAZUO SUGIBARA, JOHN SMITH. Genetic algorithms for adaptive motion planning of an autonomous mobile robot[C]//Computational Intelligence in Robotics and Automation:1997 IEEE International Symposium, Monterey,USA,1997.

[9]杜海岩. 工程机械概论[M]. 成都:西南交通大学出版社,2004.

[10]张玉院. 移动式起重机无碰撞路径规划的设计与实现[D]. 大连:大连理工大学,2010.

[11]关志华. 面向多目标优化问题的遗传算法的理论及应用研究[D]. 天津:天津大学,2002.

摘要:采用改进遗传算子操作策略的遗传算法以解决起重机三维空间多目标吊装路径的规划问题.首先建立起重机作业场景和位姿空间的数学模型,将起重机的空间多自由度路径规划问题转化成平面路径点的求解问题.然后确定以吊装路径最短、安全性最好和运动形式变化最少为优化目标,通过添加记忆算子为插入算子和变异算子选取合适的方向和步长进行多目标优化操作.实验证明该算法能综合考虑多种因素,并能同时提供不同特点的路径供决策者选择.

关键词:多目标优化;遗传算法;记忆算子;空间多自由度路径规划

中图分类号:TH 213.1 文献标识码:A

虚拟场景中起重机无碰撞吊装路径规划属于环境信息已知的全局路径规划问题.全局路径规划方法根据已获知的环境信息,对环境进行建模,为起重机规划出一条满足约束条件和目标的吊装路径.目前,国内外的研究机构、学者对吊装路径规划做出了大量的研究成果,比如Morad[1]等人基于人工智能的方法开发出一款PathFinder系统,该系统在Walkthru环境中运用主动干涉检测盒启发式搜索方法来确定真实作业空间中的最优吊装路径.Reddy[2]等人采用了C空间的原理和启发式搜索算法对起重机的无碰撞吊装路径规划过程进行研究.

起重机空间无碰撞吊装路径规划本质上是一个多性能指标的NP完全问题,这其中需要满足多个优化参数,例如最短距离、最小时间和最低耗能等,很难为其求解单一的优化解.传统路径规划方法有可视图法、栅格法和A*等启发式算法[3-5].在解决空间多自由度的路径规划问题时,上述算法的搜索速度、精度和解空间不足.近年来,遗传算法在复杂多目标优化问题中的应用已成为研究的热点,然而,多数文献仅对平面路径规划问题进行优化[6-7],针对空间多自由度路径规划这一类多关节多约束多目标优化问题的研究较少.Kazuo Sugihara and John Smith[8]用遗传算法进行路径规划的研究具有一定的可行性和有效性,然而该文提出的路径空间栅格划分法不能解决规划速度与规划精度之间的矛盾:栅格密度小,则搜索精度差;若密度大,则数据计算量大,计算速度低.因此进化较多的搜索过程需要占据较大计算时间和存储空间.

本文将遗传算法应用于起重机多目标路径优化问题,通过分析作业场景模型和起重机位姿空间模型,将路径空间分割成多个路径平面,然后对路径平面进行栅格化处理,建立平面路径规划模型,最后应用遗传算法原理建立吊装物的路径点信息模型来确定起重机的多个吊装路径.该算法通过为场景模型添加包围盒属性来保证路径空间的搜索精度和路径的可行性,并添加新的记忆算子来提高计算效率和收敛速度,对于运用遗传算法求解空间多自由度的路径规划问题有一定的指导意义.

1路径规划模型的建立

1.1作业场景模型

全地面起重机臂架组合形式有主臂、主臂+辅助臂(副臂、塔臂或动臂)两种,吊装运动有回转、变幅和卷扬3种方式[9].根据起重机的吊装运动特点,将吊装场景划分成两个路径空间,为便于表述将其投影至XOY平面上(如图1所示).定义r,R分别为起重机最小和最大的工作半径,吊装幅度Fd∈[r, R],S和T分别为吊装物的起吊点和目标点,O为起重机回转中心,OS和OT分别为起始边和终止边,其中,Q1为自起始边沿逆时针(左转)方向指向终止边的扇形区域,角度范围为W1;Q2为自起始边沿顺时针方向(右转)指向终止边的扇形区域,角度范围为W2.

4结论

针对起重机空间多自由度的吊装路径规划问题,提出了一种基于多目标遗传算法的路径规划方法.该算法根据起重机吊装运动特点,设计了三维空间的路径点编码机制和适合于路径规划的具有启发作用的遗传算子,且综合考虑了起重机吊装路径的多个目标,能够同时提供不同特点的多条路径.最后通过实例验证,表明了该算法的有效性.

参考文献

[1]MORAD A A,CLEVELAND A B,BELIVEAU Y J,et al. Pathfinder: Albased path planning system[J]. Journal of Computing in Civil Engineering,1992,6(2):114-128.

[2]REDDY H R, VARGHESE K. Automated path planning for mobile crane lifts[J]. ComputerAided Civil and Infrastructure Engineering,2002,17(6):439-448.

[3]杨淮清,肖兴贵,姚栋. 一种基于可视图法的机器人全局路径规划算法[J]. 沈阳工业大学学报,2009,31(2):226-229.

[4]朱磊,樊继壮,赵杰,等. 基于栅格法的矿难搜索机器人全局路径规划与局部避障[J]. 中南大学学报:自然科学版,2011,42(11):3421-3428.

[5]贾庆轩,陈刚,孙汉旭,等. 基于A*算法的空间机械臂避障路径规划 [J]. 机械工程学报,2010,46(13):109-115.

[6]刘旭红,张国英,刘玉树,等. 基于多目标遗传算法的路径规划[J]. 北京理工大学学报,2005,25(7):613-616.

[7]申晓宁,郭毓,陈庆伟,等. 多目标遗传算法在机器人路径规划中的应用[J]. 南京理工大学学报,2006,30(6):659-663.

[8]KAZUO SUGIBARA, JOHN SMITH. Genetic algorithms for adaptive motion planning of an autonomous mobile robot[C]//Computational Intelligence in Robotics and Automation:1997 IEEE International Symposium, Monterey,USA,1997.

[9]杜海岩. 工程机械概论[M]. 成都:西南交通大学出版社,2004.

[10]张玉院. 移动式起重机无碰撞路径规划的设计与实现[D]. 大连:大连理工大学,2010.

遗传规划 篇4

机器人是一种高度灵活的自动化机器,它们实时地采集周围的环境信息,建立环境地图,并进行定位、自主避障和路径规划等。路径规划技术是使得机器人能够按照某一个指标搜索从起始状态到目标状态的最优或近似最优的无碰路径[1]。遗传算法是目前最常用的一种解决该问题的方法,它将可能的解编码成染色体,用达尔文的自然选择学说进行选择、交叉、变异等操作,经过若干代进化后,输出当前最优个体。

在经典遗传算法的基础上,对于个体的编码方案和遗传操作中的交叉等操作进行改进,特别针对路径规划问题的特点引入插入算法,以期将离散点完善成一条连续无碰的路径。

2 路径规划

机器人的路径规划主要涉及到如下几个问题:

(1)机器人如何利用传感器获取周围的障碍物信息和其他的相关信息来构建环境地图。

(2)机器人如何根据自己目前所处的位置,来决定自己下一步的行动策略。

2.1 构建基于栅格法的环境地图

将机器人运动的环境简化为二维空间。用栅格法将环境地图分成大小相等的格子,格数取决于环境和机器人本身的大小,要保证在机器人运动时不会因为机器人体积过大而碰到障碍物。分好格子后,按照从左到右、从下到上的顺序对其进行编号,使其分布在一个直角坐标系中。如图1所示,其中蓝色格子表示障碍物栅格。

2.2 基于遗传算法的路径规划思路描述

第一步是初始化种群,然后进行遗传基本操作:选择、交叉、变异和插入。经过若干次进化后,过程停止,输出得到的最优或较优个体。

2.2.1 种群初始化

在路径规划问题中,一个个体代表一条从起点到终点的路径。一定数量个体的集合就是种群。初始确定了起点和终点;首先随机生成离散点,将由离散点组成的个体变成一条连续的无碰路径;然后删去路径中的回路,使个体变成一条连续无碰且没有回路的路径;最后删去种群中相同的个体。

2.2.2 计算适应值

适应值用来衡量某个物种对于生存环境的适应程度。在路径规划问题中,就是度量一个个体是否优越。路径越长,有可能表示这条路径越来越被完善,通过所有相邻点的距离之和表示。因此选取适应值函数[2]为:

其中n代表个体路过的栅格个数,D表示个体中所有相邻点的距离之和。

2.2.3 选择操作

选择操作是指以一定的概率从种群中选择若干个体,它是一种基于适应度的优胜劣汰的过程。最常用的是轮盘赌算法,转动轮盘,获得每次轮盘停止时指针的位置,指针停在某一扇区,该扇区代表的个体即被选中[3]。适应值越高的个体被选中的几率越大。

2.2.4 交叉操作

交叉操作是指生物在繁殖下一代时两个染色体之间通过交叉重组。也就是以一定的概率,在两个染色体的某一相同位置处切断DNA,前后两串分别交叉组合形成两个新的染色体[4],并替换原父代个体。

2.2.5 变异操作

为避免造成近亲繁殖,可以在进化过程中加入有新遗传基因的个体,这种方法就是变异。根据自然界规律,变异的发生是小概率的。变异操作是将所有个体的每一位(除了第一位和最后一位)按照一定的概率p进行删除,代替父个体。

2.2.6 插入算法

在上述遗传算法的基本操作的基础上,引入插入算法的目的是将本来离散的路径点逐渐完善成一条连续的无障碍的路径。

对于个体中任意两相邻点,做如下操作:

(1)若A、B两点垂直或水平有一条边相邻,说明已连续,如图2所示。

(白色表示非障碍物点,蓝色表示该格子为障碍物)

(2)若A、B两点斜着相邻,即有一个点相连,如图3所示。

1)若其余两个点均不为障碍物,则A、B已连续。

2)若其余两个有一个为障碍物,则将另一点C加入个体,插入A与B之间,该两点已连续。

3)若其余两个均为障碍物,则表示这条路已被堵死,不再对其进行处理,抛弃这个个体。

(3)若A、B完全不相邻,采用中值法添加点,设要添加的点为C,如图4所示。

1)若N代表的格子不是障碍物,那么将C插入A与B之间。

2)若N代表的格子是障碍物,则找到与之最近的非障碍物格子C,将其插入A与B之间。

对于个体中每两个相邻的格子做如上操作,重复进行,直至该个体已经可以表示一条连续无碰撞的路径,成功;或者无法找到新的点,将该个体舍弃。

2.2.7 删除算法

经过插入算法能够将本来离散的一组路径点完善成一条连续的路径,但有可能产生回路,删除算法就是将路径中的回路删去,使其进化成一条连续无碰且无回路的路径。

2.2.8 结束条件

遗传算法是一种随机算法,虽然在宏观上有一定的方向性,仍然要人为设置一个明确的结束条件。这里用设定最大进化代数的方法,同时若种群内只剩一个个体,也强行终止。

3 仿真结果

本算法在VS2010上实现,交叉概率为60%,变异概率为1%。如下所示几个仿真实例,当环境地图的分辨率分别为8*8、20*20时,具体仿真结果如下:

(1)当分辨率为8*8时,设定初始种群规模为6,最大进化代数为100,进过三代进化得到的最优路径如图5所示。

(2)当分辨率为20*20时,设定初始种群规模为200,障碍物栅格174个,最大进化代数为100,得到的最优路径如图5所示。

4 结语

提出了基于改进遗传算法的路径规划方法,详细论述了构建环境地图和遗传操作,并引入插入算法将离散路径点完善成一条连续无碰的路径。最后分别在分辨率为8*8、20*20的栅格环境下进行了仿真。

参考文献

[1]李磊.移动机器人技术研究现状与未来[J].机器人,2002,24(5):475-480.

[2]孙自广,李春贵.基于遗传算法的机器人路径规划[J].自动化与仪表,2009,(6):5-7.

[3]刘天孚,程如意.基于遗传算法的移动机器人路径规划.计算机工程,2008,34(17):214-215.

遗传规划 篇5

分子遗传标记在鱼类遗传研究中的应用

分子遗传标记具有操作简便、结果可靠、不受干扰等优点.综述了分子遗传标记技术在鱼类遗传研究上的应用情况.

作 者:陈万光 张海艳  作者单位:洛阳师范学院生命科学系,河南,洛阳,471022 刊 名:安徽农业科学  ISTIC PKU英文刊名:JOURNAL OF ANHUI AGRICULTURAL SCIENCES 年,卷(期): 34(17) 分类号:Q75 关键词:分子遗传标记   鱼类   遗传  

遗传规划 篇6

随着游戏产业的快速发展, 对游戏质量的要求逐步上升, 玩家希望看到趣味性足、挑战性强的高质量游戏。为了提高游戏质量, 大量游戏引入了非玩家控制角色[1] (NPC) 与玩家进行交互, 以提高游戏的可玩性和真实性。因此, NPC的行为研究成为游戏设计者关心的重要因素。而在游戏中, NPC的行为除与玩家交互外, 主要就是自主寻路, 其所选路径的质量决定其自身的智能性和游戏的真实性。

对于游戏NPC智能路径规划的研究, 提出过许多方法, 主要有A*算法及其改进算法[2,3]、遗传算法[4]、蚁群算法[5]和神经网络方法[6]等。但在实际应用中, 游戏设计者普遍选择A*算法, 这是由其较高的正确率和较好的实时性决定的。但是, 随着游戏地图[7]的多样化, 仅仅用路径长短去评估路径质量是不够的, 游戏地图中通常还需要考虑路径的安全性、路径的耗费等多个方面。在此情况下, A*算法就变得不适用, 由此诞生了许多不同的方法。 其中, 孙纯哲提出了双蚁群交叉算法[8], 但该方法未考虑连续障碍物, 实时性差。此外, Xiao J, Z.Michalewicz[9]提出了线性加权的改进A*算法, 其只是将多个目标进行简单加权相加, 得到启发函数, 故该方法存在主观性和随意性。针对以上情况, 本文提出了一种多目标遗传算法的路径规划方法。

本文为游戏中的NPC寻路, 提出了一种多目标智能路径规划算法, 并将其与传统寻路算法进行对比, 突出其在游戏中智能自动寻路的优点。本文使用基于多目标的遗传算法优化路径, 同时引入帕累托最优解集[10]作为寻路结果, 在综合考虑多个寻路目标平衡的基础上, 获得满足条件的最优解集。最后, 从解集中, 筛选满足游戏情景的最优路径选择。

1多目标路径规划遗传算法

游戏中的非玩家控制角色需要智能路径规划算法, 为其提供最优行动路线, 让其看上去更具智能性。然而, 每种智能路径规划算法都存在局限性, 不存在一种智能路径规划算法适用所有游戏。然而, 目前的计算机游戏种类众多, 这导致游戏地图的多样性和复杂度较高, 直接在游戏地图上测试寻路算法难度较大, 而且测试结果不具有代表性。

综合以上原因, 打算使用笔者设计的多目标地图编辑器进行游戏地图模拟, 提供可操作的测试环境。首先, 给出待测试地图组成元素, 鉴于游戏场景的复杂性和多样性, 选择6种地形作为模拟测试地图组成元素, 其分别是道路、障碍物、树林、深水、浅水和炮台;其次, 由上面介绍的地形特性可看出, 角色寻路需要考虑3个目标, 以下给出对各目标的定义。

定义1:路径长度, 即游戏角色从起点到终点走过的栅格数。使用

表示所走过栅格总数。

定义2:路径安全, 即游戏角色从起点到终点所遭受攻击的程度, 使用

表示路径的安全性, 走到炮塔可攻击的区域, 角色受到一定程度的伤害。

定义3:路径耗费, 即游戏角色耗费的体力值, 使用

表示路径对角色产生的体力耗费程度。

2多目标路径规划遗传算法

遗传算法需要经过多代的进化, 逐渐逼近问题的最优解, 同样路径规划也一样, 需要不断通过遗传算子的作用, 产生逼近最优路径的行走序列, 其关键在于编码、适应函数的设计、遗传算子使用。

2.1编码

经过反复实验, 决定采用不定长编码方式, 使用一串二进制数表示行走序列, 在起点和终点确定的情形下, 在表示编码的二进制序列中取数, 连续取两位, 若为00, 则向上行走;若为01, 则向下行走;若为10, 朝右行走;若为11, 朝左行走。这里要注意, 若取数后, 下步走到的是障碍物地形, 则跳过概数, 继续进行取数;若到达终点, 则结束取数过程;若都达到取数终止条件, 还没有找到终点, 则直接结束。

2.2适应性函数

与一般的遗传算法不同, 这里的适值函数有3个, 需要引入帕累托最优解集, 保证每一代一半以上的个体都可组成帕累托最优解集。同时, 对3个目标进行评估, 依次将满足帕累托最优解集条件的连通解加入子代, 除此之外, 使用赌轮算法随机找上代中的部分个体加入子代。这样, 既保证启发式地提供进化方向, 又保证优化朝着期望的方向进行。

2.3遗传算子

在遗传算法的遗传算子选择中, 最常采用的是交叉算子和变异算子进行优化, 达到对个体的变异。

(1) 交叉算子。使用传统的双点交叉方式, 对选择的两个等长基因个体, 以一定的概率将个体相对应的后半部分断裂、交换, 以形成新的个体。这里需要注意, 可能会产生不连通的路径序列, 交叉概率不应太高。

(2) 变异算子。变异算子与一般的遗传变异算子相同, 以一定的概率将个体上的基因位反转。这里要注意, 变异的概率控制在一定的范围, 太高导致与父代差异太大, 太低导致差异性不够。

2.4多目标遗传算法流程

由于是多目标优化的问题, 需要根据各个目标的重要性分配不同的权系数, 以确定适应性函数。由于引入了帕累托最优解, 在求解过程中就需要建立单独的集合去存放个体的非支配解, 最后再从集合中选出最符合实际需要的解。具体的步骤如下:

第1步:种群初始化。设置每代种群大小为N=30, 每个个体含有数量为n=20的基因, 遗传代数为max= 100。

第2步:生成初始种群。这需要两种策略, 利用启发式思想, 生成一半确定终点的路径, 再随机生成另一半可能混乱的路径。

第3步:评估个体适应值。取出每个个体的基因序列, 依次计算其3个目标上的适值, 再依据权值比重对3个目标进行合并, 作为其真正的适值。注意, 这里需要将该代个体满足帕累托非支配解的个体取出, 作为从该代选出的集合。

第4步:挑选个体。利用赌轮算法挑选个体, 由于各个目标上的适值是越小越好, 则对适值取倒数, 将每个个体适值相加, 计算每个个体适值所占的比重, 随机0~1的数, 依次累加每个个体比重值, 超过该概率值则停止, 选择最后累加个体。

第5步:判断终止条件。若达到终止条件, 则退出执行, 在帕累托解集中选择最优解序列作为问题解。否则, 通过遗传算子执行交叉和变异操作, 得到新个体, 新个体组成新种群, 转第二步。

3实验结果

为了测试算法的有效性, 自发模拟游戏环境, 设计测试地图, 用该算法在地图上进行寻路实验。在忽略寻路快慢的前提下, 将本算法所寻路径和传统A* 算法进行对比, 对比结果模拟如图2所示。

对比实验结果可以看出, A* 算法寻路结果 (图2中下) 拥有较好的实时性, 但缺乏对所寻路径的总体把握, 适应性不足。而本文提出的算法 (图1中上) 弥补了该方面的不足, 在对地形未知的情形下, 通过遗传进化, 准确把握路径各个目标的情形, 不断向最优方案逼近, 得到全局最优寻路结果。

4结语

本文提出一种适合于游戏中非玩家控制角色寻路的智能路径规划算法, 考虑到游戏中复杂地形的状况, 寻路过程具有很好的适应性, 算法可以综合多目标的要求, 找出一条从起始点到终点的全局折中最优路径。正如实验结果所示, 算法通过对地图全局的把握和对多目标的考虑, 综合多方面影响游戏路径的因素, 找出了一条在多个目标之间达到平衡的最优路径。

本文的研究和尝试仅仅是模拟游戏环境, 后续还需要在真实的游戏环境下进行实验, 发掘算法的适应度。另外, 本文算法与传统游戏中寻路算法相比, 实时性稍显不足, 未来还需要继续改进, 加快算法的收敛速度, 使其在游戏中体现非玩家控制角色的智能性, 让游戏更真实。

参考文献

[1]SCHRUM J R, MIIKKULAINEN.Constructing complex NPC behavior via multi-objective neuroevolution[M].In Proceedings of the Fourth Artificial Intelligence and Interactive Digital Entertainment Conference (AIIDE) , 2008.

[2]XU X, K ZOU.An improved pathfinding algorithm in RTS games[M].Advanced Research on Computer Science and Information En-gineering, 2011.

[3]王红卫.基于平滑A*算法的移动机器人路径规划[J].同济大学学报:自然科学版, 2010, 38 (11) :1647-1650.

[4]孙树栋, 曲彦宾.遗传算法在机器人路径规划中的应用研究[J].西北工业大学学报, 1998, 16 (1) :79-83.

[5]靳凯文, 李春葆, 秦前清.基于蚁群算法的最短路径搜索方法研究[J].公路交通科技, 2006, 23 (3) :128-130.

[6]禹建丽, 孙增圻.一种快速神经网络路径规划算法[J].机器人, 2001, 23 (3) :201-205.

[7]STURTEVANT N R.Benchmarks for grid-based pathfinding[J].Computational Intelligence and AI in Games, IEEE Transactions on, 2012, 4 (2) :144-148.

[8]孙纯哲.凹形障碍全局路径规划的双蚁群完全交叉算法[J].农业机械学报, 2008, 39 (7) :149-153.

[9]XIAO J Z, MICHALEWICZ, L ZHANG.Evolutionary planner/navigator:operator performance and self-tuning[M].In Evolutionary Computation, 1996.

遗传规划 篇7

飞行器的路径规划问题本质上是一个多约束多目标的优化问题。求解这类问题导致寻求某个目标函数在特定区域上的最优解,传统的非线性规划类方法大多基于梯度计算[1,2,3,4],具有较高的计算效率,但由于其固有的局部优化性及不稳健性等缺陷,并不适合于全局优化问题的求解。遗传算法仿效生物的进化与遗传,根据生存竞争和优胜劣汰的法则,借助于遗传操作,使所求解的问题逐步逼近最优解。与其他方法相比,遗传算法用单一字符串的形式描述所研究的问题,只需利用适应度函数进行优化计算,而不需函数导数等辅助信息,特别适合于解决其他方法无法解决的复杂问题,因而成为人们关注的热点之一。

从微观的角度看,遗传算法是一种随机算法;从宏观的角度看,它又有一定的方向性,因此它比一般的随机搜索算法效率要高[5,6,7]。在经典遗传算法的基础上,许多学者对其进行多种改进,这些算法大都采用二进制编码,然而对于很多问题,例如神经网络的训练[8],由于涉及较多的设计变量,如果采用二进制编码,则码串会很长,编码和解码操作将占用较多时间,而且码串过长会使算法的搜索效率降低。另外,对于连续变量的优化问题,实数表示更加自然,并且计算精度不会受到编码方式的影响。因此,本文尝试在广义遗传算法的基础上引入实数编码,设计相应的遗传操作,并用来解决函数优化问题。

飞行器的路径规划由于其飞行包线和稳定性要求,其不能像地面机器人一样用直线段描述,它是由一些具有连续性的曲线光滑连接而成。B-样条曲线具有高阶导数连续性,因此用B-样条曲线描述飞行器路径具有极大的优势[9],可以满足这个要求。同时,B-样条曲线描述可以用极少的数据量(控制点的坐标)产生非常复杂的曲线。

1 进化算法研究

1.1 进化算法算子

简单的进化算法包括3个典型的操作算子:

(1) 选择(selection);

(2) 交叉(crossover);

(3) 变异(mutation)。

三种算子都分别作用于每一代种群中的所有个体,这样经过一定代数的进化就可以获得比较满意的效果了,具体详见文献[6]。

标准的遗传算法在飞行路径规划中具有一定的应用价值,但也受到很多制约,人们对其染色体编码方式、各个操作因子均进行了发展,但其基本思想仍旧不变,故又称其为进化算法。

经典的遗传算法采用二进制编码,这将使染色体编码长度过长,导致编码和解码都费时,另外采用二进制编码存在hamming悬崖,降低搜索效率。如果采用浮点数编码则可避免这种情况,另外浮点数编码使问题的描述更加接近实际情况。直接用搜索空间中的搜索变量作为染色体,有效克服了二进制编码的缺点。

1.2 进化算法用于路径规划的过程

进化算法的一个重要特性是能相对容易地应用于实际问题。进化算法应用于轨迹规划按下述几个步骤:

(1) 飞机轨迹的编码表示;

(2) 构造轨迹评估函数;

(3) 研究特定轨迹规划的进化算法操作算子;

(4) 进行测试,微调进化算子和参数。

轨迹规划在地面确定可行的飞行轨迹,在空中则应具有轨迹实时重规划的能力。轨迹规划就是确定UAV完成任务目标的顺序、路径,同时满足燃油、飞行性能、生存率等性能指标要求。

2 样条函数理论

样条理论最先由Shoenberg于1958年提出,主要用于数字分析、差值、函数拟合等场合,1991年Crouch[10]最先把它引入飞机轨迹规划中。近些年来,样条理论得到了极大的发展,并在更多领域内得到了广泛的应用。

2.1 样条函数定义

符号Ck=Ck[a,b]表示区间[a,b]上具有直到k次连续导数的函数的集合所形成的空间,其中k为正整数。符号C0表示连续函数空间,C-1表示具有第一类间断点的分段连续函数空间。

考察n次多项式pn(x),它在某个子区间[xi,xi+1]上,可以表示为:

pn(x)=a0+a1x++anxn(1)

由于多项式pn(x)可以用n+1个系数a0,a1,…,an惟一确定,所以n次多项式pn(x)又称为n+1阶多项式。此外pn(x)在子区间[xi,xi+1]上还可以表示为:

pn(x)=j=0nai,j(x-xi)j=ai,0+ai,1(x-xi)++ai,n(x-xi)n(2)

或者:

pn(x)=j=0nbi,j(x-xi+1)(3)

定义1 如果函数sn(x)满足下面条件:

(1) 函数sn(x)在每个子区间[xi,xi+1]上是n次多项式;

(2) 函数sn(x)在区间[a,b]上具有直到n-1的连续导数,即sn(x)∈Cn-1[a,b]。

则称sn(x)称为关于区间[a,b]上的分划Δ:a=x0<x1<…<xN+1=bn次样条函数。

xi(i=0,1,…,N+1)称为样条函数sn(x)的节点;其中xi(i=1,2,…,N)为内节点,x0,xN+1为边界节点或者端点。

符号sn(Δ)表示对于固定一个分划Δ满足定义1的样条函数的全体所组成的空间。

定义2 函数sn,k(x)称为关于分划Δ且亏数为kn次样条函数,如果sn,k(x)满足下面条件:

(1) 函数sn,k(x)是n次多项式,x∈[xi,xi+1](i=0,1,…,N);

(2) 函数sn,k(x)∈Cn-k[a,b]。

显然sn(x)≡sn,1(x),且样条函数sn,k(x)具有直到n-k次的连续导数,高于n-k次的导数在内节点xi上间断的。

一般规定样条函数右连续,即:

sn,k(xi)=sn,k(xi+0),i=1,2,,Ν(4)

符号sn,k(Δ)表示对于固定分划Δ满足定义2的全体样条函数组成的空间。样条函数空间与多项式空间Pn有下列逻辑关系:

Ρnsn(Δ)sn,2(Δ)sn,n+1(Δ)(5)

函数sn,v(x)称为关于分划Δ且亏数向量为ν=(v1,v2,…,vN)T的n次样条函数,如果sn,v(x)满足条件:

(1) 函数sn,k(x)是n次多项式,x∈[xi,xi+1](i=0,1,…,N);

(2) 函数sn,v(j)(x)在除了首端点外其他节点处连续,即sn,v(j)(xi-0)=sn,v(j)(xi+0),i=1,2,…,N;j=0,1,…,n-vi

在实轴上取节点序列:

<x-n<<x0<<xΝxΝ+n<(6)

在(t-x)n+中将x看作参数,关于t=xi,xi+1,…,xi+n+1作函数(t-x)n+的n+1阶差商[xi,xi+1,…,xi+n+1](t-x)n+,称此差商是以x为变量的B样条函数,并且称:

Bi,n+1(x)=(xi+n+1-xi)[xi,,xi+n+1](t-x)+n(7)

为第in次规范B样条函数。

根据上面介绍的差商概念可知:

Bi,n+1(x)=(xi+n+1-xi)k=ii+n+1(xk-x)+nwi(xk)(8)

其中:

wi,n+1(x)=k=ii+n+1(x-xk)

由上式易知,Bi,n+1(x)为分段n次多项式。

2.2 样条函数的迭代算法

根据上面的结论,B样条函数迭代算法构造如下:

首先,令N0,0(s)=1,然后计算下列公式:

{Ν0,k(s)=1-skΝ0,k-1(s)Νk,k(s)=skΝk-1,k-1(s)Νj,k(s)=k-j+skΝj-1,k-1(s)+1+j-skΝj,k-1(s),j=1,2,k-1(9)

最后定义B-样条基元素Bk(s):

Bk(s)={Νk-j,k(s-j)jsj+1j=0,1,k0s0,k+1s(10)

这样,B-样条函数表示为:

Sk(t)=i=1ΜciBk(t-i+1)(11)

ci为控制点坐标。由式(10)可以得到Bk(l) (0)=0,Bk(l)(k+1)=0,其中l=0,1,…,k-1,Bk(l)(·)表示l阶偏导数。

3 路径规划设计

3.1 适应度函数的确定

适应度函数可看作是由以下4项组合而成:

f=1/i=14aifi(12)

其中ai是权值;具体值根据经验来确定;fi分别代表路径长度、安全距离、飞行包线;f1代表通过边界条件的不合理的路径;f2代表目标点和初始点之间的距离;f3代表路径和障碍物之间的安全距离,f3=i=1nlinej=1nground1/(ri,j/rsafe)2;f4代表最小转弯半径,如图1所示:规划路径的角度Θ不能小于预定的最小值。Θ角和最小转弯半径满足关系式:Θ=2arccos(ΔΤV2R),其中,ΔT为采样周期;R为转弯半径;V为飞行速度。

由于规划的路径首先要具有可实现性,因此式(12)中的f1的权值最大。

3.2 障碍物规划研究

如图2所示为系统在实时威胁下的路径规划,为了简单说明问题,本文选择2维平面内规划算法。

如图2所示,当障碍物没在规划的两点之间时,两点的连线就是直接路径;当障碍物位于两点之间时,首先用一个坐标变换把威胁变换为一个以原点为中心单位圆。假设威胁可以描述为:

{x:(x-xc)R-1(x-xc)1}(13)

其中R为一正定矩阵;xc为中心坐标。坐标变换为:z=R-1/2(x-xc),就可以把威胁变换为z域内的一个单位圆,把z域看成是一个复平面,并做保形变换ω=1/z如图2右图,这样威胁区域的里面和外面做了相互映射。这样最优路径问题就转换为在单位圆内沿着单位圆两点之间的距离问题。然后通过逆映射可以转换为初始坐标系中的轨迹优化问题。

4 仿真实验

三维立体边界条件采用式(3)所描述的函数产生的3-D网格边界模拟一个有山谷的地形条件,目的是用来对算法进行验证。

z(x,y)=sin(y+a)+bsin(x)+ccos(dy2+x2)+ecos(y)+fsin(fy2+x2)+gcos(y)(14)

其中a,b,c,d,e,f,g,h,m,n是由经验确定的常数值。

仿真条件为初始点坐标为(0,0,0),终止点坐标分别为(10,10,2)和(5,10,2)。

图3、图4分别为2种情况下的路径规划图,其中图(a)和图(b)分别表示最短路径规划和躲开障碍物规划两种情况下的仿真结果。可以看出,在设定的3-D地形图上,本文的算法得到一条符合无人机转弯半径,并且光滑的可飞路径。

5 结 语

考虑到B-样条的高阶导数连续性和样条函数只用少量的控制点就可以产生整个样条曲线的特点,详细研究B-样条理论并将其用于飞行器路径规划中,用进化算法直接优化样条函数的控制点,进而形成B-样条飞行路径,既保证了路径的可飞性,又保证了规划过程的快速性和实时性。

参考文献

[1]Ioannis K Nikolos,Ki mon P Valavanis.Evolutionary Algo-rithm-based Offline/Online Path Planner for UAV Naviga-tion[J].IEEE Trans.on SMAC-Part B:Cybernetics,2003,33(6):898-912.

[2]吴晓涛,孙增圻.用遗传算法进行路径规划[J].清华大学学报,1995,35(5):14-19.

[3]马云红,周德云.无人机路径规划算法与仿真[J].火力与指挥控制,2007,32(6):33-36.

[4]鲁艺,周德云.无人机初始路径规划空间建模方法研究[J].系统仿真学报,2007,19(3):491-509.

[5]Crouch P,Jackson J.Dynamic Interpolation and Applicationto Flight Control[J].Guidance,Control and Dynamics,1991,14:814-822.

[6]贾秋玲,李广文,闫建国.基于遗传算法的多无人机协同逆推式路径规划[J].西北工业大学学报,2007,25(4):590-594.

[7]Bead R W,Ti mothy W M,Goodrich M A,et al.Coordinated-target Assignment and Intercept for Unmanned Air Vehicles[J].IEEE Transactions on Robotics and Automation,2002,18(6):911-922.

[8]Napolitano M R,Kincheloe M.On-line Learning Neural-net-work Controllers of Autopilot Systems[J].AIAAJournal ofGuidance,Control and Dynamics,1995,6(16):1 008-1 015.

[9]Judd K B,Mclain T W.Spline-based Path Planning for Un-manned Air Vehicles[A].Proceedings of Guidance,Naviga-tion and Control Conference[C].2001:1 182-1 190.

遗传规划 篇8

可自主行走的大型精密转台,作为移动机器人[1]的一种,是目前大型精密转台研制的方向和发展的趋势。为了提高大型精密转台的工作效率,在其行走控制中加入智能行为,对其行走路径进行规划,可缩短行走路径、节约工作时间。可自主行走大型精密转台的智能行为包括自行组织、自主运行、自主规划、准确定位等,融合了计算机技术、信息技术、通信技术、微电子技术和机器人技术等[2]。

可自主行走大型精密转台的路径规划问题是指大型精密转台按照某一性能指标搜索一条从起始位置到目标位置的最优或次优路径[3]。遗传算法是一种新兴的随机优化算法,具有搜索能力强、收敛速度快等优点。本文尝试使用遗传算法进行大型精密转台的全局路径规划。

1基本遗传算法描述

遗传算法[4,5]是一类借鉴生物界的进化规律演化而来的随机化搜索方法。其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。遗传算法的基本执行过程如图1所示。其中,Pc为交叉概率,Pm为变异概率。

2用于大型精密转台全局路径规划的遗传算法

2.1 大型精密转台全局路径规划问题描述

假设某大型精密转台在某场地执行一次作业,要求在M个位置进行作业,作业先后的次序无要求,求解一条路径使该大型精密转台的总体路径最短。为了使问题简化便于求解,本文假设两个作业位置之间没有障碍物,该大型精密转台能以直线移动的方式从任意作业位置到达另一任意作业位置。某大型精密转台路径规划实例(M=30)如图2所示。

2.2 遗传算法的表示和实现

使用遗传算法求解问题首先需要解决的问题有:如何将问题编码为遗传算法的染色体,计算个体的适应度值,确定选择操作、交叉操作、变异操作等[6]。

2.2.1 编码

编码时把各作业点作为染色体的基因,因此,M个作业点排列编码成染色体,其染色体编码(即作业点编号)可表示为:T1,T2,T3,…,TM。作业点的排列顺序由该染色体决定。如码串34685721表示由作业点3开始,依次经历作业点4,6,8,5,7,2,1,最后返回作业点3的一个路径,得到的解是一个闭环回路,因此可以将任意作业点设置成大型精密转台的投放地和回收地。

2.2.2 适应度值的计算

为了体现染色体的适应能力,引入了对问题中的每一个染色体都能进行度量的函数,叫适应度函数,它反映了染色体的优劣程度,是自然进化中优胜劣汰的依据。个体i的适应度值定义为函数:

F(i)=(1-((l(i)-lmin)/(lmax-lmin+0.000 1)))2。 (1)

其中:l(i)为染色体i所走过路径的长度;lmax、lmin分别为当前群体中最大和最短路径的长度。式(1)中分母里面加上0.000 1是为了防止在计算中分母为0。

2.2.3 选择操作

选择操作也叫复制操作,根据个体的适应度函数值所度量的优劣程度决定它在下一代是被淘汰还是被遗传。一般地说,选择将使适应度较大(优良)个体有较大的存在机会,而适应度较小(低劣)的个体继续存在的机会也较小。该方法中个体的选择概率和其适应度成比例。设群体大小为N,其中个体i的适应度值为F(i),则i的选择概率Psi为:

undefined。 (2)

Psi反映了个体的适应度在整个群体个体适应度总和中所占的比例,个体适应度越大,其被选择的概率就越高。

2.2.4 交叉操作

交叉运算是指对两个相互配对的染色体按某种方式相互交换其部分基因,从而形成两个新的个体。交叉运算产生的子代个体继承了父代的基本特征。

采用顺序编码法后,基于此设计交叉操作。如9个作业点的移动机器人路径规划问题的两个父路径如下(采取一点杂交,杂交点选4):

1 2 3 4 |5 6 7 8 9,9 8 7 6 | 5 4 3 2 1 。

则杂交后产生的两个后代为:

9 8 7 6 |5 6 7 8 9,1 2 3 4 | 5 4 3 2 1 。

本文交叉操作采用部分匹配交叉策略,其基本实现的步骤是:①随机选取两个交叉点;②将两交叉点中间的基因段互换;③将互换的基因段以外的部分与互换后基因段中元素冲突的位置用另一父代的相应位置代替,直到没有冲突。

2.2.5 变异操作

在遗传算法中,变异操作不是主要的操作,但强调的是杂交的功能。从遗传算法的观点来看,解的进化主要靠选择机制和杂交策略来完成,变异只是为选择、杂交过程中可能丢失的某些遗传基因进行修复和补充。常用的遗传算法变异操作主要有反转变异、插入变异、移位变异、互换变异和启发式变异等方法。本文选择较容易实现并且有良好效果的互换变异(随机选择两个位置,并将两个位置上的点相互交换)作为变异操作方法,如图3所示。

3实验结果

以某大型精密转台在某处的一次作业为例,假设该次作业共有30个作业点,寻找一个作业路径,使得该大型精密转台的全局路径最短。30个作业点的位置见表1,图4为一个随机产生的路径方案:(3,26,7,1,28,16,20,15,13,29,27,30,9,14,23,8,25,11,24,19,18,22,4,10,5,21,6,17,12,2)。从图4可以看出,这是一个闭环回路,在实际使用时可以选择任意作业点作为大型精密转台开始工作的地方,该方案的全局路径长度约为1 960 m。

使用遗传算法对该实际问题进行求解,遗传算法的主要参数设置为:群体规模100个,交叉概率0.9,变异概率0.1,最大迭代次数1 000代。经过运算得到一个方案:(2,11, 4,14, 7,20,30,26,27,29, 5,15, 3,25, 8,16,22, 6,17,10,23,28, 9,19,21,12,13,24, 1,18),如图5所示。该路径方案的全局路径长度约为595 m,比原方案减小了69.6%,体现了遗传算法的良好寻优效果。

4总结

大型精密转台路径规划问题是一个十分复杂同时又具有重大实际应用价值的问题,遗传算法是一种功能强大的求解问题方法,不仅搜索速度快而且适应能力强,将遗传算法应用于大型精密转台路径规划中,提高了大型精密转台的移动灵活度和定位精度,对于大型精密转台向高精度、自动化、智能化方向发展有着极为重要的意义。

参考文献

[1]刘华军,杨静宇,陆建,等.移动机器人运动轨迹研究综述[J].中国工程科学,2006,8(1):85-94.

[2]石鸿雁,孙昌志.非结构环境下移动机器人的运动轨迹[J].机器人,2004,26(1):27-31.

[3]张宏烈.移动机器人全局规划的研究[D].哈尔滨:哈尔滨工程大学,2002:26-48.

[4]Holland J.Adaptation in natural and artificial system[M].MA:MIT Press,1992.

[5]Michalewicz Z.Evolutionary computation:practical issues[J].IEEE transactions on system,man,and cybernetics,1995,24(1):30-39.

遗传规划 篇9

上述规划明确了未来五年畜禽遗传资源保护思路和主要任务, 主要畜禽包括猪、牛、羊和鸡、鸭、鹅等。到2015年, 全国畜禽规模养殖比重提高10至15个百分点。

尽管我国畜禽需求量大, 但业内人士表示, 我国的畜禽育种基础薄, 而畜禽育种周期长, 目前许多主要畜禽品种是国外品种。为了改变这一局面, 多个部委均在相关"十二五"规划中将畜禽育种列为发展重点, 并予以政策和资金支持。建立中央和地方稳定的财政投入机制, 形成以国家为主的畜禽遗传资源保护局面, 逐步建立健全国家和地方分级负责、重点突出的畜禽遗传资源保护体系。中央财政加大资金投入力度, 重点保护国家级畜禽保护品种;地方人民政府将畜禽遗传资源保护列入财政预算, 不断加大资金投入, 切实强化省级畜禽保护品种的保护。

遗传算法在非线性规划中的应用 篇10

1 遗传算法的原理

遗传算法第一步是进行编码,第二步是进行优化,优化的基本步骤为复制,交叉和变异。

1)编码:就是用一个串来表示待求解的变量。编码的方法根据具体问题而定,主要有二进制编码,浮点数编码,符号编码等。

2)复制:传统的复制过程是根据个体的适配值进行的,适配值大的个体将有更多的机会在下一代中繁殖后代。具体步骤如下:

(1)计算每个个体vi(i=1,…,popsize)(popsize为种群中个体的总数)的适配值f(vi)。

(2)计算种群总的适配值。。

(3)计算每个个体vi(i=1,…,popsize)的相对概率pi=f(vi)/F。

(4)计算每个个体vi(i=1,…,popsize)的累积概率。。

重复popsize次下列操作:

(1)产生一个[0,1]之间的随机数r。

(2)如果r≤q1,选择第一个个体vi;否则选择第i个个体vi(2≤i≤popsize),使qi-1

3)交叉:

交叉是遗传算法中的一个重要操作,遗传算法的性能在很大程度上取决于交叉算子的构造,利用交叉操作,一对父母个体通过交换和重组信息而产生一对新个体。具体步骤如下:

(1)对每个个体,产生一个[0,1]之间的随机数r。

(2)如果r小于交叉概率Pc,该个体被选中。

(3)将被选中个体进行随机配对,产生一个[1,gn-1]之间的随机数(gn为每个个体中基因的数目),将该随机数对应的基因进行交换。

4)变异:变异操作的作用是提供多样性,防止一些有用的遗传因子丢失,变异对种群中每个个体中的每个基因进行下列操作:

(1)产生一个[0,1]之间的随机数。

(2)如果r小于变异概率Pm,将该基因进行变异。

5)结束准则判断:规定最大进化代数,达到最大进化代数时停止进化,否则返回执行2步继续执行;

2 非线性规划问题

非线性规划问题的一般形式为:

其中为n维优化变量。由于等式约束可通过采用消元法、拉格郎日乘数法或罚函数法等引入目标函数中,所以这里仅研究具有不等式约束的非线性规划问题,即:

3 改进遗传算法的设计和求解

基本遗传算法主要有选择算子、交叉算子和变异算子构成,它已成功应用于许多领域,但是基本遗传算法容易产生封闭竞争,为了找到全局最优解的同时保证收敛速度,引入学习算子[4]。

根据遗传算法的基本原理,优秀的父代以较大的概率产生优秀的子代,如果在遗传算法的迭代过程中,加入学习算子,使得每一代中具有较小适应值的串向具有较大适应值的串共同遵循的模式学习以提高自身的性能,这样可提高算法的收敛速度。

定义1,在第t代的群体p(t)中,如果f(xi)>f0,则称xi为群体p(t)的优良串,其中f(xi)表示串xi的适应值,f0表示群体p(t)的平均适应值。

定义2,所有优良串遵循的模式称为优良模式。

在选择算子后,对产生的新一代种群寻找优良模式,令群体中的非优良串以概率pi向优良模式学习,学习过程如下:

假设xk为非优良串,kki对应于优良模式的确定位,令:

其中δk1为学习因子,为学习方向,它类似于梯度方向,yi为优良模式中对应于xk1的确定位,δk1可通过一维搜索来确定即:

经过上述学习过程后,串的适应值得到提高,将该学习过程定义为学习算子。

假设H表示优良模式,N表示群体的大小,p1为经学习算子后非优良串编为优良串的概率,m(H,t)为第t代群体中属于优良模式的串数,则学习算子的模式增长方程为:

m(H,t+1)=m(H,t)+(N-m(H,t))p1ps=Np1ps+m(H,t)(1-p1ps)k=N/m(H,t),则m(H,t+1)=m(H,t)(kp1ps+p1ps)

显然k≥1,则m(H,t)≥m(H,t)(1+c)t,从t=0开始,假设c=(k-1)p1ps为一常数,可以推得m(H,t)=m(H,t)(1+c)t,从上式可知,学习算子使得群体中的优良串按指数增长方式进入下一代,因而学习算子的引入满足模式定理。

4 应用举例

令种群规模N=30,选择概率ps=0.60,变异概率pm=0.50,交叉概率pr=0.20,代数M=150。

利用引入的学习算子改进遗传算法可求得以下结果:

应用惩罚函数法进行仿真得到的结果为:

显然,改进的遗传算法仅用很小的计算量便获得最优解。

5 结论

本文为非线性规划问题构造了遗传算法,从例子可看出,具有学习算子的遗传算法是一种具有很强适应性的优化方法。可以对多峰、扰动、不连续模型进行求解。分析和计算结果表明,用该遗传算法求解非线性规划问题是有效的。

摘要:非线性规划问题是运筹学中的重要分支之一,广泛应用于各个领域。为了解决非线性规划问题的全局优化问题,该文提出利用具有学习算子的遗传算法来进行求解。实例结果表明,该算法具有良好的求解效果。

关键词:非线性规划,遗传算法,学习算子

参考文献

[1]应玖茜,魏权龄.非线性规划及其理论[M].北京:中国人民大学出版社,1994.

[2]Holland J H.Adaptation in Natural and Artificial Systems[M].TheUniversity of Michigan Press,Ann Arbor MI,1975.

[3]刘宝碇,赵瑞清.随机规划与模糊规划[M].北京:清华大学出版社,1998.

上一篇:综合实践课的主题设计下一篇:化学复习点滴体会论文