基于人工免疫和蚁群算法结合的船舶航线智能生成方法技术

技术编号:4067695 阅读:303 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供的是一种基于人工免疫和蚁群算法结合的船舶航线智能生成方法。前半部分通过对障碍物进行凸壳提取及多边形合,并对航行环境进行描述,接着按照一定的规则随机产生初始路径群,并对初始路径群进行预处理,最后对路径群进行匹配选择。后半部分则利用获得的较优可行解,生成信息素初始分布,然后利用蚁群算法进行最优路径的搜索。本发明专利技术的方法中前期采用基于亲和度的选择更新,从而有效地防止了“早熟”的问题,将搜索过程引向全局最优。后期利用蚁群算法的并行计算及正反馈的特点,提高了算法效率。

【技术实现步骤摘要】

本专利技术涉及的是一种设计船舶航路线的方法。
技术介绍
设计计划航线是航海中的一项重要工作,需要考虑海区环境、水文气象、海盗威胁 等影响,以经济、隐蔽、安全等性能为指标,争取达到综合最优。早期的航线设计需要人工进 行绘图,而人的思维往往受时间、环境影响,会考虑不周或前后不一,影响航线设计的科学 性。随着电子海图技术和计算机决策技术的应用,航线智能设计已经成为可能。目前有多种方法应用于航线智能设计,如Dijkstra算法、神经网络算法、遗传算 法、蚁群算法等,其中Dijkstra算法遍历计算的节点很多,效率低;神经网络算法需要考虑 的因素多,对硬件要求高;遗传算法用于航路规划比较费时,不适合用来进行实时规划。下 面着重讨论蚁群算法用于航线自动生成的相关问题。意大利学者M. Dorigo等人于1991年提出了一种新型的模拟进化算法一蚂蚁系 统(AntSyStem,AS),它是一种新兴的启发式搜索算法。蚁群算法来源于对自然界蚂蚁寻找 从蚁巢到食物源的最短路径行为的研究,它通过许多蚂蚁共同完成寻求最优解的任务。蚂 蚁个体在候选解的空间中独立地搜索解,并在所寻得的解上留下一定量的信息素,个体之 间通过这些信息素进行信息传递和相互协作,从而完成复杂任务。蚁群算法具有很强的鲁 棒性。航线智能设计是根据起航点与目的地之间的海区环境、安全条件,寻求一条最安 全、经济的航线,与蚁群算法的条件和目标基本一致。电子海图提供了海区的水深、岸线、碍 航物、禁航区、威胁区等信息,为蚁群算法的信息素生成提供了素材。也使航线的智能设计 具有可行性。虽然传统的蚁群算法具有很强的全局寻优解的能力,但缺点就是其搜索时间 长,也容易出现停滞、早熟现象,特别是问题规模较大时容易出现陷入局部最优的现象,因 此会制约航线的智能设计。人工免疫算法(Atificial Immune Algorithm,ΑΙΑ)是一种随机优化方法,它模拟 生物免疫系统,用亲和力来描述抗体与抗原之间的匹配程度,用排斥力来描述两个抗体之 间的相似程度,依据抗体与抗原之间的亲和力以及抗体与抗体之间的排斥力来选择抗体。 在用AIA求解优化问题时,一个抗体用一个字符串表示,满足约束条件的最优解即是抗原, 候选解即是抗体。抗体与抗原之间的亲和力反映了候选解与最优解的接近程度,也即反映 候选解对目标函数和约束条件的满足程度;抗体与抗体之间的排斥力反映了不同候选解之 间的异同,也即反映了抗体的多样性。保持抗体的多样性可以防止算法陷入局部最优解。人工免疫算法立足于已有的蚂蚁算法,吸取了其中有益的思想,并在进化的过程 中把随机搜索和确定性的变化结合在一起,减少了随机因素对算法本身的影响,能较好地 克服不成熟收敛。通过蚂蚁算法与人工免疫算法的相结合,使蚂蚁不再仅仅依靠信息素的 引导进行新的搜索,而是在与免疫的结合基础上进行的。人工免疫和蚁群算法的结合曾被应用于旅行商问题,胡纯德等在《基于人工免疫算法和蚁群算法求解旅行商问题》中前过程利用人工免疫生成信息素分布,后过程利用蚁 群算法求优化解,汲取两种算法优点,获得了好的结果。然而在船舶航线智能设计中,两种 算法的结合还没有得到应用。
技术实现思路
本专利技术的目的在于提供一种能够找到最优路径,速度快的基于人工免疫和蚁群算 法结合的船舶航线智能生成方法。本专利技术的目的是这样实现的步骤1、描述环境并生成初始种群(1. 1)确定种群规模M,个体节点数范围;(1. 2)随机生成M个个体,每个个体由随机生成的一系列中间节点组成;步骤2、选择抗原,确定抗体的编码方式(2. 1)将问题的目标函数和约束条件,作为AIA的抗原;(2. 2) AIA的抗体采用实数编码;步骤3、抗体选择(3. 1)对初始抗体进行预处理;(3. 2)计算抗体与抗原之间的亲和力,所有抗体与最佳抗体之间的排斥力;(3. 3)构造人工免疫算子,产生新抗体,计算新抗体的亲和力和排斥力,若抗体中 有与抗原相匹配的抗体,则获得较优的可行解;否则转(3.4);(3. 4)按照“优胜劣汰”的自然选择机制,在新产生的抗体群中选择出若干个与抗 原匹配较好的抗体构成新的抗体群,转(3.3);步骤4、蚁群搜索(4. 1)初始化参数τ。、τ A、m、ρ、α、β、Q,根据步骤3获得的较优可行解,生成信息素初始分布,将蚂蚁置于始发点;m是蚁群中蚂蚁的数量,、是信息素常数,、是通过 AIA计算得到的信息素值,P是信息素挥发系数,α、β分别表示蚂蚁在运动过程中所积累 的信息素和启发信息在路径选择中所起的不同作用,Q是一常数,表示信息素强度;(4. 2)计算每只蚂蚁的选择概率,根据选择概率,蚂蚁将移动到下一节点;(4. 3)所有蚂蚁都到达终点后,对各个路径进行信息素更新;(4. 4)进行循环,直到满足算法停止条件,输出最优解。本专利技术针对应用基本蚁群算法进行航线设计可能出现的搜索时间长和陷入局部 停滞等缺陷,设计了一种基于人工免疫和蚁群算法结合的船舶航线智能设计方法。本专利技术 的方法区别于现有方法的显著特征在于通过亲和度、排斥度计算,将与抗原匹配较好的抗 体保留,淘汰匹配较差的抗体,得到较优的抗体,得到较优的可行路径;然后利用蚁群算法, 根据较优可行路径生成信息素分布,接着蚁群在已生成信息素初始分布的路径群中进行寻 优,最终找到最优路径。本专利技术的有益效果主要体现在本专利技术利用人工免疫和蚁群算法的结合对传统的 航线设计方法进行改进。把需要解决的问题看作抗原,通过免疫算法产生抗体(初始路径 群),并应用于具体问题的求解。通过亲和度、排斥度计算,将与抗原匹配较好的抗体保留, 淘汰匹配较差的抗体,经过多次迭代,最终得到较优的抗体,也就得到了对具体问题来说较4优的蚁群算法的路径。根据较优可行解生成信息素分布,接着蚁群在已生成信息素初始分 布的路径群中进行寻优,最终找到最优路径。算法中前期采用基于亲和度的选择更新,从而 有效地防止了“早熟”的问题,将搜索过程引向全局最优。后期利用蚁群算法的并行计算及 正反馈的特点,提高了算法效率。附图说明图1为本专利技术所述航线设计流程图;图2为本专利技术所述人工免疫算法抗体选择流程图;图3为本专利技术所述蚂蚁搜索流程图。具体实施例方式下面结合附图举例对本专利技术做更详细地描述本专利技术的方法的具体实施包括环境建模、抗体选择、蚁群搜索等内容。下面将按照 航线设计流程图1详述本专利技术的具体实施方式。该实施方式主要包含以下几个内容步骤1、环境建模(1. 1)障碍物预处理由于舰船航行的障碍物多是岛屿暗礁等,而这些障碍物可以通过岛屿简化、合并 的方法简化成多边形的表达形式,因此本专利技术将环境中的障碍物都以多边形形式进行表 达。多边形围成的区域为障碍物,路径不能通过,其他区域为可行域,路径可以通过。(1. 2) 一个个体代表了一条从起点到终点的路径,该路径由一系列的线段组成。个 体可以看作是一个节点的序列。第一个节点为第一条线段的起点,接着是组成路径的一系 列线段的交点,最后一个节点是终点即船舶需要到达的目的地。如果一个节点不在任何一 个障碍物内,则该节点是可行的;如果一条线段不与任何一个障碍物相交,则该线段是可行 的。一条路径是可行的,当且仅当组成该路径的所有节点和线段都是可行的。每个节点可 用一个平面坐标(X,y)来表示,个体Ρ本文档来自技高网
...

【技术保护点】
基于人工免疫和蚁群算法结合的船舶航线智能生成方法,其特征是:步骤1、描述环境并生成初始种群(1.1)确定种群规模M,个体节点数范围[min,max];(1.2)随机生成M个个体,每个个体由随机生成的一系列中间节点组成;步骤2、选择抗原,确定抗体的编码方式(2.1)将问题的目标函数和约束条件,作为AIA的抗原;(2.2)AIA的抗体采用实数编码;步骤3、抗体选择(3.1)对初始抗体进行预处理;(3.2)计算抗体与抗原之间的亲和力,所有抗体与最佳抗体之间的排斥力;(3.3)构造人工免疫算子,产生新抗体,计算新抗体的亲和力和排斥力,若抗体中有与抗原相匹配的抗体,则获得较优的可行解;否则转(3.4);(3.4)按照“优胜劣汰”的自然选择机制,在新产生的抗体群中选择出若干个与抗原匹配较好的抗体构成新的抗体群,转(3.3);步骤4、蚁群搜索(4.1)初始化参数τ↓[c]、τ↓[A]、m、ρ、α、β、Q,根据步骤3获得的较优可行解,生成信息素初始分布,将蚂蚁置于始发点;m是蚁群中蚂蚁的数量,τ↓[c]是信息素常数,τ↓[A]是通过AIA计算得到的信息素值,ρ是信息素挥发系数,α、β分别表示蚂蚁在运动过程中所积累的信息素和启发信息在路径选择中所起的不同作用,Q是一常数,表示信息素强度;(4.2)计算每只蚂蚁的选择概率,根据选择概率,蚂蚁将移动到下一节点;(4.3)所有蚂蚁都到达终点后,对各个路径进行信息素更新;(4.4)进行循环,直到满足算法停止条件,输出最优解。...

【技术特征摘要】

【专利技术属性】
技术研发人员:李刚朱青沈志峰张振兴高峰刘厂
申请(专利权)人:哈尔滨工程大学
类型:发明
国别省市:93[中国|哈尔滨]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1