本发明属于通信领域和系统控制领域,具体涉及一种基于复杂通信网络的路由节点选取方法,通过贪婪算法优化通信网络模型,选取路由节点实现整个通信网络的控制成本最小。
背景技术:
复杂通信网络是由数量巨大的节点以及节点间错综复杂的通信连接而组成。现实生活中,一些复杂的系统都可以建模成复杂通信网络来分析,如常见的社交网络,电力网络,航空网络,生物网络等。分析复杂通信网络的模型不仅仅是为了控制整个通信网络,更是需要考虑如何选取路由节点实现整个通信网络的控制成本最小。
目前对复杂通信网络的研究聚焦在网络的可控上,但是在整个网络可控情况下,网络节点间通信的传输需要额外控制信号的输入,产生控制成本。当额外控制源数量一定情况下,如何选取网络节点中的一些节点作为路由节点连接外部控制源去控制整个通信网络,使得整个网络的控制成本最小,是一个极具现实应用价值的问题。比如社交网络中,一些舆论的传播是在部分人影响下逐步扩大的,如果是一些重要的人去传播,舆论会很快的扩散开,反之舆论可能消沉掉。同时在广告效应中,想用最小的成本实现效益最大化,可通过选取一些重要且有不同影响力的个人代言;即在一定的控制成本下,选取最少数量的重要人物进行代言,如此可降低人力成本并消弭冗余工作量。因此,聚焦在可控的复杂通信网络模型上,选取一些路由节点来实现控制成本最小;或者在成本一定情况下,选取最小路由节点数量,皆可实现高效经济的复杂通信网络维护管理。
技术实现要素:
本发明的目的在于提供一种基于复杂通信网络的路由节点选取方法,该方法针对复杂通信网络在通信过程中控制成本过高的问题,基于路由节点选取策略的数学模型,提出一种贪婪算法来迭代选取通信网络中具体的路由节点,并进一步优化使得整个通信网络控制成本保持在较低的水平。
本发明采用如下技术方案来实现的:
一种基于复杂通信网络的路由节点选取方法,包括以下步骤:
步骤1,获取得到整个通信网络的有向拓扑连接,并利用最大匹配算法获取使得整个网络可控的最少数量的nl个控制源,并定位它们在通信网络中的位置;
步骤2,根据通信网络中每个节点的动态特性,建立整个复杂通信网络的动力学方程;
步骤3,对动力学方程,以控制输入矩阵b为未知矩阵,选取m个路由节点作为外部控制源,得到整个通信网络的控制成本数学模型;
步骤4,根据动力学方程和控制成本数学模型,确定控制输入矩阵b的约束条件;
步骤5,简化控制成本模型,在最小数量的nl个控制源约束下,利用贪婪算法逐步完成m个路由节点的选取;
步骤6,利用交换算法进一步寻求控制成本数学模型的更优解,优化对m个路由节点的选取,交换算法遍历网络中所有节点后,得到最终的路由节点选择。
本发明进一步的改进在于,步骤1中利用最大匹配算法获取并定位控制整个有向通信网络的最小数量的nl个控制源,即控制源的数量必须大于等于nl以确保网络可控。
本发明进一步的改进在于,步骤2中,网络中每个节点的动态特性根据节点具体的物理特性来赋予,据此建立整个复杂通信网络的动力学方程。
本发明进一步的改进在于,设定每个通信网络节点是线性动态的或线性化的非线性动态,整个通信网络的数学模型描述为
本发明进一步的改进在于,步骤3中,得到最优控制输入信号u(t)且已知其为未知控制输入矩阵b的函数,以控制输入信号均方积分为控制成本,选取m个路由节点作为外部控制源,构建整个网络的控制成本的数学模型。
本发明进一步的改进在于,利用最优控制理论中控制率设计方法,构建整个网络的控制成本数学模型为
本发明进一步的改进在于,步骤4中确定控制输入矩阵
本发明进一步的改进在于,步骤5中简化整个通信网络的控制成本模型,在整个通信网络可控前提下,评估每个节点作为路由节点时对通信网络控制成本的影响,利用贪婪算法在最小数量的nl个控制源约束下逐步完成m个路由节点的选取。
本发明进一步的改进在于,令λb=bbt,b为矩阵λb主对角线的矢量,li(t)为e-at第i列元素,进一步简化控制成本模型为
利用贪婪算法选取m个路由节点的具体操作为:
首先通过贪婪算法迭代选取一个路由节点使性能最优即控制成本最小,具体过程为,对于i=1,2,...,n,通过计算
选取第一个路由节点v1,使得控制成本e(b)最小;如果有两个或者更多的节点使得控制成本值同等小,那么选取其中一个节点作为路由节点;在选择s个路由节点v1,…,vs后,针对
选择第vs+1个路由节点使得控制成本e(b)s+1最小,持续以上过程直到完成对m个路由节点的选取。
本发明进一步的改进在于,步骤6中利用交换算法进一步优化对m个路由节点进行选取的方式为,除去使得整个通信网络可控的nl个节点,将(m-nl)个路由节点中的某一个节点与(n-m)个非路由节点中的某一个节点进行交换,并检查交换后控制成本变化情况;如果所有(n-m)n次交换没有使控制成本减小,则算法终止;如果控制成本减小,那么更新一组路由节点,然后再次进行(n-m)n次交换以选择新的路由节点;直至遍历网络中的所有节点,得到最终的路由节点选择。
与现有技术相比,本发明具有如下的有益效果:由于复杂通信网络中节点间传输信息需要额外的控制输入信号,会产生大量控制成本,当额外的控制源数量一定且整个通信网络可控时,控制源连接不同的路由节点会产生不同的控制成本。本发明针对任意有向的复杂通信网络,选取并定位最少数量的控制源以确保整个通信网络可控,并在此约束上选取一些关键的节点做为路由节点,使控制整个通信网络时的控制成本最小。
附图说明
图1为本发明中网络拓扑结构示意图;
图2为本发明中拓扑匹配算法示意简图;其中图2(a)-(c)分别为三种简单网络拓扑;
图3为本发明中路由节点选取算法过程流程图;
图4为本发明中交换算法实现过程流程图。
具体实施方式
下面结合附图对本发明做进一步的详细说明。
本发明提供的一种基于复杂通信网络的路由节点选取方法,包括以下步骤:
步骤1,获取得到整个通信网络的有向拓扑连接,并利用最大匹配算法获取使得整个网络可控的最少数量的nl个控制源,并定位它们在通信网络中的位置。
当整个网络不可控时,其控制成本是无穷大的,只有当其在可控的前提下,考虑整个网络的控制成本才具备意义。利用最大匹配算法获取使得整个网络可控的最少数量的nl个控制源,即控制源的数量必须大于等于nl以确保网络可控,在此约束下完成对m个路由节点的选取。
以图1为例,针对这样一个有向通信网络的拓扑图,目的是挖掘这个通信网络中的路由节点,使得整个通信网络的控制成本最小。在通信网络拓扑中,节点的有向边集没有共同的头部和尾部,则认为节点被匹配;节点的尾部有边缘匹配,则认为节点未被匹配;如果所有节点都被匹配,那么称之为完美匹配。根据最大匹配算法,如果该路径是完美匹配,那么至少需要一个控制源可以控制该路径;如果不是完美匹配,最小控制源数量为未被匹配节点数目。图2展示了通信网络中节点匹配规则,其中白色节点为未被匹配节点,灰色节点为被匹配节点,对于圆环网络,所有节点为完美匹配。图1的有向通信网络拓扑可以先分解成很多图2这样的简单网络拓扑,再根据最大匹配算法即可获得并定位控制整个网络的最小数量的nl个控制源。
本步骤的目的是利用最大匹配算法获取并定位最小数量的nl个控制源,确保整个网络是可控的,为后续路由节点的选取提供基础保障。当整个通信网络不可控时,其控制成本是无穷大的,只有当其在可控的前提下,考虑整个网络的控制成本才具备意义。路由节点是在最小数量的nl个控制源约束下选取的,以降低整个通信网络的控制成本。
步骤2,根据网络中每个节点的动态特性,建立整个复杂通信网络的动力学方程。
设每个通信网络节点是线性动态的或线性化的非线性动态的,整个网络的动态模型可描述为
本步骤主要是建立整个通信网络的动态模型,为后续步骤的最优控制器设计及整个网络的控制成本数学模型提供支持。
步骤3,对动力学方程,以控制输入矩阵b为未知矩阵,选取m个路由节点作为外部控制源,得到整个通信网络的控制成本数学模型。
根据步骤2通信网络动态模型的描述,构建整个网络控制成本的数学模型为
步骤4,根据动力学方程和控制成本数学模型,确定控制输入矩阵b的约束条件。
需要注意,控制成本依赖于控制输入矩阵b,而控制输入矩阵则取决于哪些节点和控制源相连。范数约束和标准正交是两种最常见的约束条件,两者在信号处理领域常常反映对信号能量的度量及要求。因为b是n×m维输入矩阵(m是外界控制源的个数),当其元素bij非零时表示第m个控制源对第i个节点有输入信号,bij等于零则表示没有相应输入信号。因此,对于确定连接额外控制源的路由节点数目m,需要满足||b||0=m,bim∈{0,1},||.||0表示矩阵的l0范数;如果额外的控制源m连接节点i,则bim=1,否则bim=0;并且有rank(b)=m以确保每个控制源连接不同的路由节点。
步骤5,简化所述控制成本模型,在最小数量的nl个控制源约束下,利用贪婪算法逐步完成m个路由节点的选取。
将所述步骤3所简化的控制成本模型进一步分解,具体令λb=bbt,b为矩阵λb主对角线的矢量,li(t)为e-at第i列元素,则成本模型等价为
以图3为例,路由节点选取过程的具体操作如下:
步骤1已经获取并定位最少数量的nl个控制源(最小路由节点数量)确保整个网络可控,在此约束下,利用贪婪算法迭代选取一个节点做为路由节点使得控制成本最小。具体为,对于i=1,2,...,n,通过计算
选取第一个路由节点v1,使得控制成本e(b)最小。如果有两个或者更多的节点使得控制成本值同等小,那么选取其中一个节点作为路由节点。
在选择s个路由节点v1,...,vs后,针对
选择第vs+1个路由节点使得控制成本e(b)s+1最小,持续以上过程直到完成对m个路由节点的选取。
步骤6,利用交换算法进一步寻求所述控制成本数学模型的更优解,优化对m个路由节点的选取,交换算法遍历网络中所有节点后,可得最终的路由节点选择。
对于步骤5所获取的m个路由节点,实施图4所示的交换算法,具体操作为:针对步骤5选取的m个路由节点,去除使得整个网络可控的nl个节点,将(m-nl)个路由节点中的某一个节点与非路由节点(n-m)中的某一个节点进行交换,并检查交换后控制成本变化情况。如果所有(n-m)n次交换没有使控制成本减小,则算法终止;如果控制成本减小,那么更新一组路由节点,然后再次进行(n-m)n次交换选取新的路由节点,交换算法遍历网络中所有节点后,得到最终的路由节点。