基于改进非支配排序遗传算法的空间对象索引与查询方法与流程

文档序号:20186822发布日期:2020-03-27 19:11阅读:257来源:国知局
基于改进非支配排序遗传算法的空间对象索引与查询方法与流程

本发明属于空间数据索引查询领域,具体涉及基于改进非支配排序遗传算法的空间对象索引与查询方法。



背景技术:

在地理信息系统应用领域,空间节点数量以及相关文本描述数据成指数级别增加,导致了地理空间目标的文本空间对象查询难度增大。空间索引树(r树)作为一类平衡的多路查找树,具有自动平衡、空间利用率高、便于序列化存储等优点,广泛应用于大型的地理信息系统、基于位置服务系统以及空间数据库中。倒排文本空间索引(inverted-filer-tree,ir)树是r树的扩展,是在空间索引中加入文本对象信息索引后的综合索引树,能够极大的提高带有大量文本信息的空间对象的查询效率,使得用户能够快速查询到距离自己最近的、满足自己特定文本语义关联需求的空间对象或物理设备。但是海量倒排文本空间对象的mbr(minimumboundingrectangle,mbr)覆盖与重叠、文本关联重叠会严重影响倒排文本空间索引树的查询性能。传统的倒排文本空间索引树构建方法一般没有考虑到空间节点分裂的优化聚合,导致索引效率及其低下。有少数人从节点覆盖和重叠两个目标出发进行加权优化,没有对综合对节点交叉覆盖、节点距离与词汇相似度等综合指标进行全方位优化,因此索引效率也较为低下。现有方法的缺陷在于:1)对索引聚类的复杂度、mbr交叉覆盖率、节点类别的中心距离、mbr总周长以及节点之间的语义关系等缺乏综合考虑,难以同时达到最优;2)计算复杂度较高,难以采用传统的优化算法在多项式时间内求得最优解。



技术实现要素:

有鉴于此,本发明的目的在于提供基于改进非支配排序遗传算法的空间对象索引与查询方法,所述方法引入改进后的非支配排序遗传算法(non-dominatedsortedgeneticalgorithm)nsga-iii对技术问题的模型进行求解,能够解决所述问题求解过程中,涉及的目标函数众多,约束复杂,对结果的计算要求实时性强,且性能指标高的问题。

基于上述目的,基于改进非支配排序遗传算法的空间对象索引与查询方法,包括以下步骤:

步骤1,获取空间待分割对象属性数据;

步骤2,建立倒排文本空间对象索引聚类的多目标优化模型,模型表示如下

其中f(x)为所述模型的目标函数,h表示子目标函数的个数,gi(x)表示不等式约束条件,m表示不等式约束的个数,hj(x)表示不等式约束条件,n表示等数约束条件的个数;

步骤3,采用改进的非支配排序遗传算法nsga-iii对所述的多目标优化模型进行求解,计算出空间待分割对象的聚类方案;

步骤4,根据所述的聚类方案构建倒排文本空间索引树;

步骤5,根据查询请求对所述的倒排文本空间索引树进行搜索,获得查询结果;

所述的空间待分割对象的集合表示为o={o1,o2,...,ok},k为空间对象的数量,解空间决策向量x∈ω,x=(<o1,o2,...,ou>,<ou+1,ou+2,...,ok>),第i个空间对象的信息表示为oi={loc,doc},其中,loc代表该对象所处的空间位置信息,loc=(xi,yi),(xi,yi)代表该对象所处空间位置,doc=(t1,t2,...,tn),(t1,t2,...,tn)表示该对象所包含的关键字;

所述空间待分割对象属性数据包括空间对象集合,以及每一个空间对象的空间位置信息和文本描述信息;所述的多目标优化模型的目标函数f(x)中子目标函数包括,mbr重叠区域最小化、mbr区域总面积最小化、平均最大距离最小化、文本相似度最小化;约束条件包括服务的子节点数量的平衡约束。

具体地,mbr重叠区域f1(x)的计算公式为:

f1(x)=overlap(x)=overlap({dx(o)})

=overlap({<o1,o2,...,ou>,<ou+1,ou+2,...,ok>})

=mbr(<o1,o2,...,ou>)∩mbr(<ou+1,ou+2,...,ok>)

所述的空间划分方法dx(o)是指,在决策向量x∈ω下,对于空间对象集合o={o1,o2,...,ok},其空间划分方法定义为:dx(o)={<o1,o2,...,ou>,<ou+1,ou+2,...,ok>};

mbr区域总面积f2(x)的计算公式为:

f2(x)=totals(x)=totals({dx(o)})=totals({<o1,o2,...,ou>,<ou+1,ou+2,...,ok>})

=mbr(<o1,o2,...,ou>)∪mbr(<ou+1,ou+2,...,ok>)-mbr(<o1,o2,...,ou>)∩mbr(<ou+1,ou+2,...,ok>)

平均最大距离f3(x)计算公式为:

其中dis(oi,oj)表示空间对象oi和oj之间的欧式距离;

文本相似度f4(x)的计算公式为:

其中,oi与oj之间的语义相似度距离用simdis(oi,oj)表示,文本相似度s(oi,oj)可以表示为:表示关键字tk在向量模型中的值,tf(t,o.doc)表示关键字t在文本描述o.doc当中出现的次数,tf(t,coll)表示关键字t在对象空间集合中出现的总次数,|coll|表示对象空间词数总量,λ为参数值,用于调节单个文本关键字在全文本中的比重;

对于解空间决策向量x∈ω,表示为:

所述的多目标优化模型表示如下:

具体地,所述的改进的非支配排序遗传算法中种群迭代的过程包括以下步骤:

步骤101,初始化种群集合,血统集合lineraget,然后对父代种群进行交叉变异,并将交叉变异后的血统保留下来存储到后代血统集合中zt;

步骤102,然后将父代与子代进行合并到jointpt+1中,按照nsga-iii中对解的支配顺序进行排序,并将排序结果作为血统代号存入到当前代数的血统集合lineraget+1中;

步骤103,选择前i个等级的支配解,直到前i+1个等级的解数量大于最大种群数量,从第i+1个等级的解中选择若干解,使得种群规模等于最大种群数量;

步骤104,首先计算理想点和极值点,然后形成参考点和参考向量,遍历那些具有最小最近解的参考向量,寻找离参考向量最近的解作为候选集放入到下一代种群中。

具体地,在步骤101中,对血统交叉过程进行计算,步骤如下:步骤10101,首先初始化结果列表ot,血统列表lineraget;步骤10102,然后遍历所有种群,取相邻两个体按照传统策略进行交叉;为了保证血统的列表数量不会随着进化代数的增加而出现指数爆炸的情况,引入了截断策略,通过事先约定好种群的血统列表数量maxlineagenum,当父代种群数量超过这一约定数量时,删除到距离自己较远maxlineagenum/2个祖先血统值,同时也保证血统的新鲜程度;步骤10103,让后将父代血统列表中的内容进行合并,通过概率来决定是否进行变异,然后存储到后代血统类别中。

具体地,在步骤104中,根据参考点去选择最优对象时,需要根据血统来排序选择,步骤如下:首先判断参考点rp的最近距离种群集合,如果该集合大于0,则存在两种情况,第一种是rp在qt中的最近距离种群集合为0,此时选择rp在fl中的最近距离种群;第二种是rp在qt中的最近距离种群集合大于0,则根据平均血统rank排序,选择历史血统更为优良的种群。

本发明实施例首次将基于多代血统参考距离的改进nsga-iii算法引入到了空间对象索引与查询方法问题中,使得该算法能够更加适用于空间对象索引问题求解,具体地,本发明在进化的机制中加入了血统的概念,使得在考虑种群之间的支配关系和拥挤度的同时,根据种群的血统对种群进行精英策略选择。同等情况下,选择那些血统纯正rank更高的种群作为迭代对象,使得求解效果更优,另外,基于参考点距离计算的基础上,增加了对候选集的血统计算,优先选择那些历史排序更高的解,从而使得收敛速度更快。

附图说明

图1为本发明实施例的空间对象索引与查询方法的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

ir树构建主要有两种方式,一种是自顶向下构建,一种是自底向上构建。如果采用自顶向下的构建方式,首先需要将所有空间节点按照多个目标综合聚类,然后将每种类别的所有空间对象形成一个mbr,作为根节点的一个子节点。若干个子类根据最优聚类结果分裂开来,形成倒排文本空间索引的各个子节点,然后依次向下进行分裂聚类操作,最终形成一棵完整的索引树。如果采用自底向上的构建方式,下层节点不停的插入到上层节点。当上层节点的子节点数量超过规定最大子节点数时,与自顶向下分裂聚类过程相似,都需要根据多个目标对节点进行最优化索引聚类。

本实施例以二维空间中的二叉倒排文本空间索引树节点的最优分裂聚类模型构建为例,即在二维平面中,每个节点的子节点数量不超过2个。

由此,如图1所示,本发明实施例的基于改进非支配排序遗传算法的空间对象索引与查询方法,包括以下步骤:

步骤1,获取空间待分割对象属性数据;

步骤2,建立倒排文本空间对象索引聚类的多目标优化模型,模型表示如下

其中f(x)为所述模型的目标函数,h表示子目标函数的个数,gi(x)表示不等式约束条件,m表示不等式约束的个数,hj(x)表示不等式约束条件,n表示等数约束条件的个数;

步骤3,采用改进的非支配排序遗传算法nsga-iii对所述的多目标优化模型进行求解,计算出空间待分割对象的聚类方案;

步骤4,根据所述的聚类方案构建倒排文本空间索引树;

步骤5,根据查询请求对所述的倒排文本空间索引树进行搜索,获得查询结果;

所述的空间待分割对象的集合表示为o={o1,o2,...,ok},k为空间对象的数量,解空间决策向量x∈ω,x=(<o1,o2,...,ou>,<ou+1,ou+2,...,ok>),第i个空间对象的信息表示为oi={loc,doc},其中,loc代表该对象所处的空间位置信息,loc=(xi,yi),(xi,yi)代表该对象所处空间位置,doc=(t1,t2,...,tn),(t1,t2,...,tn)表示该对象所包含的关键字;

所述空间待分割对象属性数据包括空间对象集合,以及每一个空间对象的空间位置信息和文本描述信息;所述的多目标优化模型的目标函数f(x)中子目标函数包括,mbr重叠区域最小化、mbr区域总面积最小化、平均最大距离最小化、文本相似度最小化;约束条件包括服务的子节点数量的平衡约束。

具体地,mbr重叠区域f1(x)的计算公式为:

f1(x)=overlap(x)=overlap({dx(o)})

=overlap({<o1,o2,...,ou>,<ou+1,ou+2,...,ok>})

=mbr(<o1,o2,...,ou>)∩mbr(<ou+1,ou+2,...,ok>)

所述的空间划分方法dx(o)是指,在决策向量x∈ω下,对于空间对象集合o={o1,o2,...,ok},其空间划分方法定义为:dx(o)={<o1,o2,...,ou>,<ou+1,ou+2,...,ok>};

mbr区域总面积f2(x)的计算公式为:

f2(x)=totals(x)=totals({dx(o)})=totals({<o1,o2,...,ou>,<ou+1,ou+2,...,ok>})

=mbr(<o1,o2,...,ou>)∪mbr(<ou+1,ou+2,...,ok>)-mbr(<o1,o2,...,ou>)∩mbr(<ou+1,ou+2,...,ok>)

平均最大距离f3(x)计算公式为:

其中dis(oi,oj)表示空间对象oi和oj之间的欧式距离;

文本相似度f4(x)的计算公式为:

其中,oi与oj之间的语义相似度距离用simdis(oi,oj)表示,文本相似度s(oi,oj)可以表示为:表示关键字tk在向量模型中的值,tf(t,o.doc)表示关键字t在文本描述o.doc当中出现的次数,tf(t,coll)表示关键字t在对象空间集合中出现的总次数,|coll|表示对象空间词数总量,λ为参数值,用于调节单个文本关键字在全文本中的比重;

对于解空间决策向量x∈ω,表示为:

所述的多目标优化模型表示如下:

具体地,所述的改进的非支配排序遗传算法中种群迭代的过程包括以下步骤:

步骤101,初始化种群集合,血统集合lineraget,然后对父代种群进行交叉变异,并将交叉变异后的血统保留下来存储到后代血统集合中zt;

步骤102,然后将父代与子代进行合并到jointpt+1中,按照nsga-iii中对解的支配顺序进行排序,并将排序结果作为血统代号存入到当前代数的血统集合lineraget+1中;

步骤103,选择前i个等级的支配解,直到前i+1个等级的解数量大于最大种群数量,从第i+1个等级的解中选择若干解,使得种群规模等于最大种群数量;

步骤104,首先计算理想点和极值点,然后形成参考点和参考向量,遍历那些具有最小最近解的参考向量,寻找离参考向量最近的解作为候选集放入到下一代种群中。

具体地,在步骤101中,对血统交叉过程进行计算,步骤如下:步骤10101,首先初始化结果列表ot,血统列表lineraget;步骤10102,然后遍历所有种群,取相邻两个体按照传统策略进行交叉;为了保证血统的列表数量不会随着进化代数的增加而出现指数爆炸的情况,引入了截断策略,通过事先约定好种群的血统列表数量maxlineagenum,当父代种群数量超过这一约定数量时,删除到距离自己较远maxlineagenum/2个祖先血统值,同时也保证血统的新鲜程度;步骤10103,让后将父代血统列表中的内容进行合并,通过概率来决定是否进行变异,然后存储到后代血统类别中。

具体地,在步骤104中,根据参考点去选择最优对象时,需要根据血统来排序选择,步骤如下:首先判断参考点rp的最近距离种群集合,如果该集合大于0,则存在两种情况,第一种是rp在qt中的最近距离种群集合为0,此时选择rp在fl中的最近距离种群;第二种是rp在qt中的最近距离种群集合大于0,则根据平均血统rank排序,选择历史血统更为优良的种群。

非支配排序遗传算法(non-dominatedsortedgeneticalgorithm,nsga)及其变种算法是目前多目标优化问题求解最为经典的算法之一。nsga是基于遗传算法的多目标优化算法,该方法基于pareto前沿来对多目标进行优化。nsga-ii算法,又称为带精英策略的非支配排序的遗传算法,该方法将种群进行了分层,按照后代之间的支配关系保留哪些具有绝对优势的精英解作为下一代交叉变异的父代。nsga-iii,又称为基于参考点非支配排序遗传算法,在nsga-ii计算框架的基础上,将精英保留策略进行进一步改进,在保持种群多样性的基础上,利用参考点策略提高了在非支配层中寻求多样精英解的计算效率。

本实施例基于改进非支配排序遗传算法的空间对象索引与查询方法,提出基于多代血统血统参考距离的多目标优化算法(mga-nsga-iii),该算法集成了nsga-iii的进化机制,在进化的机制中加入了血统的概念,使得在考虑种群之间的支配关系和拥挤度的同时,根据种群的血统对种群进行精英策略选择。同等情况下,选择那些血统纯正rank更高的种群作为迭代对象。

本实施例在传统的交叉变异策略基础上,增加了父代的血统交叉策略,通过对父代系统的非支配排序结果来确定该种群的血统,然后在交叉过程中将血统进行聚合遗传到下一代个体中。同时,为了保持血统的新鲜程度,采用对较远距离的祖先血统的丢失机制。

本实施例采取的种群选择策略采用在nsga-iii基于参考点距离计算的基础上,增加了对候选集的血统计算,优先选择那些历史排序更高的解,从而使得收敛速度更快。

由发明内容和实施例可知,本发明将基于多代血统参考距离的改进nsga-iii算法引入到了空间对象索引与查询方法问题中,使得该算法能够更加适用于空间对象索引问题求解,具体地,本发明在进化的机制中加入了血统的概念,使得在考虑种群之间的支配关系和拥挤度的同时,根据种群的血统对种群进行精英策略选择。同等情况下,选择那些血统纯正rank更高的种群作为迭代对象,使得求解效果更优,另外,基于参考点距离计算的基础上,增加了对候选集的血统计算,优先选择那些历史排序更高的解,从而使得收敛速度更快,由此本发明实施例方法在空间对象索引和查询中具有更好的性能。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1