一种基于Kuhn‑Munkres算法的收益率时间相关服务数据包的调度算法的制作方法

文档序号:11216723阅读:488来源:国知局
一种基于Kuhn‑Munkres算法的收益率时间相关服务数据包的调度算法的制造方法与工艺

本发明属于无线通信技术领域,设计了高速铁路运行中,基于蜂窝信息站集成网络的无线网络环境下,一种基于kuhn-munkres算法的收益率时间相关服务数据包的调度算法。



背景技术:

本文应用一种基于蜂窝信息站集成的三层网络架构,即内容服务器,信息站(路边通信单元)和车辆站,系统中的网络数据服务方式为按需服务方式。这种网络架构和服务方式现在已经广泛应用于服务高速列车乘客的网络需求和v2x车联网系统通信中。在该系统中,蜂窝网络基站通过稳定的有线网络连接与内容服务器相连,提供较低速的网络信号覆盖;信息站部署在轨道旁,能够提供小范围较大数据传输速率的网络接入。信息站和蜂窝网络集成的网络系统,能够综合蜂窝网络和信息站各自的优点。

当车载设备(用户)按照需求请求数据服务时,数据报文将通过路边信息站与车载设备或终端(手机,电脑等)之间的无线信道将数据调度和分配给用户。高速铁路乘客(网络用户)通过蜂窝网络链路请求按需服务数据,服务数据从主干网络传递到信息站,然后再传输给车辆站。最后,车辆站(部署在高速列车上)负责分配调度数据包给车厢内部用户的终端设备。信息站通过稳定的有线网络链路连接到主干网络核心服务器,车辆站到用户终端设备的连接可以由wi-fi等高速无线局域网技术负责实现。服务数据传递到用户设备后,服务的确认信息由车辆站经由信息站最终由蜂窝集成网络进行传输。

为了满足车辆在高速行驶过程中基站与车辆通信的需求,克服多普勒效应等对网络通信的影响,有学者提出一种专门用于基站与车载设备通信的mac帧结构。这种结构下,每个时间区间被分为时间间隔相等的用于信息传播的时隙,时间间隔小于信道相干时间(channelcoherencetime),划分的每个时隙的信道增益是固定的,但是由于信号衰减等原因,时隙的容量会因不同的情况而有所差异。考虑时隙中信道增益等信道信息,每个时隙可以发送的数据包数量上限可以确定。

考虑按需数据调度的质量和用户良好的网络体验,高质量、低延迟、低丢包率等要求是在线调度数据包时要追求的目标。同时,在按需请求数据服务下,用户愿意为不同的服务付出的代价也是不同,另外由于用户之间的差异,不同用户愿意为请求服务支付的价格也不相同。在高速铁路环境下,由于信道状态不太稳定,以及种种因素,尤其是多普勒效应的限制,数据由信息站到车辆站的调度是整个网络传输的瓶颈,因此,怎样合理高效利用信道,合理调度服务数据,使得调度的服务数据获得最大价值,让服务运营商或提供者获得最大收益是很重要的目标。本发明所解决的目标问题就是如此。

1.系统模型

本文所述问题中的时隙模型如下,高速铁路沿线信息站总数为h,假设每个信息站覆盖范围不重叠。表示车辆进入和离开信息站h,h=1,2,…,h覆盖范围的时刻。如上述背景技术所述,时间在每个时间间隔内被划分为相等时长为tf的时隙,则第h信息站覆盖的时间可以分为时隙,则用于数据传输的时隙总数为其中时隙n内数据包传输容量为cn,n=1,2,…,n。

按需请求的数据模型如下,用户服务请求集合为s,对于s中的每个服务s∈s,使用一个四元组(gs,qs,ds,ws(n),ls(n))来定义,其中:

(1)s在传输过程中将被编码为长度固定的数据包,每个服务需要被调度的数据包最大数量为qs;

(2)服务的到达时间为时隙gs,可以被调度的最晚时间为时隙ds;

(3)如果该服务请求的一个数据包在其生命周期[gs,ds]之间的时隙n内被调度,将获得收益ws(n);

(4)每个请求s在时隙n内可以被调度数据包的数量上限为ls(n)。

2.目标问题

基于上述时隙模型和请求模型,该按需数据调度问题被转化为整数最优规划问题。每个服务数据待调度的数据包只有在该请求服务的生命周期之内被调度才会产生效益,即令xns表示请求s在时隙n内发送的数据包的数量,则一种调度方案可以表示为向量所以,目标函数可以表示为:

约束条件为

其中,条件(1a)表示数据包只能在服务的生命周期内才能被调度和分配,超出生命周期的数据包无效,且被调度数据包的数量只能为整数;(1b)表示在每个时隙内调度的数据包数量不能超过该时隙能发送的数据包容量;(1c)则表示每个服务被调度数据包的数量不能超过该服务需要调度最大数据包数量;(1d)表示每个请求在一个时隙内分配的数据包的数量不能超过上限。

上述问题由于约束条件(1a),该整数规划问题是一个np困难问题,在多项式时间内不能找到最优解。考虑上述时隙的特殊结构,采取一种基于每个时隙可发送数据包容量的“虚拟微时隙”的映射,可以将这个问题转化为相对容易求解的0-1最优规划问题。

根据时隙n的容量cn,该时隙被划分成的cn微时隙,微时隙容量是1,即最多仅一个数据包可以在微时隙被调度传输。通过这种映射关系,n时隙共产生微帧。经过映射后,请求s的请求时间gs和截止时间ds分别转化为:请求s的生命周期内时隙的个数为k,k=ds-gs+1,对于请求s的生命周期内每个时隙k,bsk为其映射后的第一个微时隙,esk为映射后的最后一个微时隙。

以m表示微时隙的序号,xms表示微时隙m内服务数据s传输数据包的数量。由于微时隙只能传输一个数据包,所以xms∈{0,1}。

故上述整数最优规划问题被等效规约为下列0-1规划问题,目标函数为:

约束条件为

其约束条件含义和(1a)(1b)(1c)相似,唯一的区别在于(2a),即每个微时隙最多只能发送一个数据包。

3.基于加权二分图的最大权匹配算法:kuhn-munkres算法。

二分图可以表示为g(x,y,e),它的顶点可以分类两个集合x和y,所有的边关联在两个顶点中,恰好一个属于集合x,另一个属于集合y,且带有权值w(x,y)。

匈牙利算法是基于hall定理中充分性证明的思想,它是二分图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法。

kuhn-munkres算法的具体步骤如下:

1)初始化可行顶标的值;

2)用匈牙利算法寻找完备匹配;

3)若未找到完备匹配则修改可行顶标的值;

4)重复2)3)直到找到相等子图的完备匹配为止。



技术实现要素:

本发明为了解决按需请求数据调度问题,达到效用最大化,提出了一种基于kuhn-munkres算法的收益率时间相关服务数据包的调度算法。

具体技术方案如下:

在线环境下,假设当前时隙为n,信道一次建立包括nc时隙,即nc时隙的信息(信道容量)已知,当前时隙已经到达的待调度的请求服务集合为s*

本文所采用的技术方案是按照以下步骤进行:

步骤一,建立服务请求模型,按照请求模型将问题转化为上述调度问题;

将服务请求表示为一个五元组:

(gs,qs,ds,ws(n),ls(n))(3)

其中,每个服务需要被调度的数据包数量为qs,其到达时间为gs,截止时间为ds,如果该服务的请求在时隙n∈[gs,ds]内被调度,那么该请求的每一个数据包将会获得收益ws(n),每个请求s在时隙n内可以被调度数据包的数量上限为ls(n);

步骤二,将在线调度问题转化为加权二分图,并使用邻接矩阵存储;

将待调度请求数据的待分配数据包作为二分图g(x,y,e)的一个顶点集合x,已知信息时隙经过微时隙映射后产生的微时隙作为顶点集合y;现有的一个简单的转化规则是,当请求数据s中的任意待调度数据包在一个微时隙m内调度,满足gs≤m≤ds,则在该数据包和微时隙之间存在一条边,这样的转化规则不能满足限制条件(2d),对转化规则做出改进,当时隙n满足gs≤n≤ds,该请求s的每个数据包与时隙n内的ls(n)个微时隙相连,即请求s的每个数据包与时隙n有且仅有ls(n)条边,且保证该请求s的所有数据包在每个时隙n内连接的微时隙是相同的;该边的权值为该数据包在该微时隙m中分配能够获得收益值ws(m)。

在数据结构的层面就将“每个请求在时隙内调度的数据包的数量不能超过某个上限”这个限制条件满足。

改进的转化完成以后,因此将在二分图层面上满足约束条件(2d),将转化后的加权二分图用邻接矩阵存储表示。

步骤三,基于步骤二存储为邻接矩阵形式的加权二分图,利用kuhn-munkres算法求解,得到最优匹配。

本发明的有益效果为,针对提出的新问题(2),应用基于kuhn-munkres算法的在线调度算法,能够取得较好的效果,达到效益的近似最优化。由于目前针对上述新问题尚无专门的新算法出现,根据仿真实验结果分析,新提出的算法比之前解决类似问题的经典算法在提高总收益方面有明显的优势。

基于kuhn-munkres算法的在线调度算法至少能够达到离线最优算法的90%以上,且相比于传统贪心算法、指数容量算法和先进先出算法的优势较为明显:对于指数容量算法,大概有20-30%的性能领先,而相比于先进先出算法,其领先优势更加明显,大约有40%。相比于贪心算法,也是要优于贪心算法的。而且新提出的算法可以作为之后学者研究提出算法的标杆和对照。

附图说明

图1为kuhn-munkres算法流程图;

图2为本发明的算法流程图;

图3为仿真效果图;

图4为按照简单规则转化的二分图;

图5为修改转化策略后转化的二分图。

具体实施方式

下面对本发明的实施方式进行详细说明。

实施例1

3个时隙信息已知,每个时隙的信道容量均为5,2个待调度请求,其中:s1=(1,3,8,3,2),s2=(4,4,12,4,3)。认为ws(n)和ls(n)均为常数,且图中没有画出。s1需要有3个数据包待调度,s2有4个数据包待调度,于是按照简单转化规则转化后的二分图和修改规则后转化的二分图如附图4和附图5所示。

在线条件下,假设当前时隙为n,未来nc时隙的信息已知,即信道容量已知,对于请求数据s,qns表示其在时隙n到达时剩余的待调度数据包的数量。

步骤一,计算当前的已经到达的请求集合s*={s∈s|gs≤n≤ds,qns>0},并更新s*中元素的生命周期;

对于新到达的请求数据snew,其到达时间为截止时间为对于在n时隙之前就已到达的且满足qns>0的数据s,更新其截止时间为min{n+nc,ds},更新待调度的数据包数量qs=qns。

假设在时隙1到达的服务集合为s1,在时隙区间[1,nc]内的待调度服务集合(服务的生命周期内且待调度的数据包数量不为0)为s*,明显地,此时s*=s1;假设现在有新的请求snew到达时隙n(n≤nc),把时隙n“看作”新的时隙1,更新s*:新到达的请求snew加入s*,更新其到达时间对于原来s*中的请求,如果已经超出生命周期或者其数据包已经全部被调度,则从s*中删除,对于其他的请求,则更新它们的待调度数据包数量。

步骤二,将上述在线调度问题转化为加权二分图;

将目前待调度请求数据的待分配数据包作为二分图g(x,y,e)的一个顶点集合x,目前已知信息时隙经过微时隙映射后产生的微时隙作为顶点集合y;当请求数据s中的任意待调度数据包在一个微时隙m内调度,满足gs≤m≤ds,则在该数据包和微时隙之间存在一条边。这样的转化措施不能满足问题的限制条件,于是对转化规则做出改进,即必须满足对于时隙n(gs≤n≤ds),该请求数据s的每个数据包与时隙n的微时隙都有且只有ls(n)条边相连,且保证一个请求的所有数据包在每个时隙内连接的微时隙是相同的。该边的权值为该数据包在该微时隙m中分配能够获得收益值ws(m)。这样,在数据结构的层面就将“每个请求在时隙内调度的数据包的数量不能超过某个上限”这个限制条件满足。

转化后的加权二分图用邻接矩阵存储表示;然后,基于该二分图的邻接矩阵,使用kuhn-munkres算法求解。

步骤三,基于上述改进的加权二分图,利用kuhn-munkres算法求解。

上述问题转化为加权二分图,并存储为邻接矩阵的形式,利用kuhn-munkres算法,求解最优匹配,该最优匹配仅仅是原问题的一个近似最优解。

实施例2

在仿真实验中,设置有总时隙数量n:30~100,列车中无线用户产生的按需请求的到达速度(请求个数/时隙)服从平均速率为3的泊松分布,每个请求的生命周期为10个时隙,每个请求包含的待调度数据包数量服从[5,15]的随机分布,每个请求的每个数据包支付的价格服从[1,10]的随机分布,信道一次建立包含时隙的数目(nc)是10。仿真效果图如图3所示。

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