1.网络编码环境下优化负载均衡的方法,其特征在于:该方法包括以下步骤:
(1)通过最大流最小割定理计算原始拓扑的最大流以及原始拓扑中源节点到每个目的节点的最大流,对原始拓扑进行分解,将原始拓扑中源节点到每个目的节点的最大流不小于原始拓扑的最大流作为约束条件,满足该约束条件的蜜源为合法个体,否则为非法个体。
(2)以适应度最小为目标建立网络负载均衡模型;
(3)根据人工蜂群算法计算分解后拓扑的适应度,所述人工蜂群算法包括:
a、初始化人工蜂群的参数,蜜蜂总数为2Np,其中采蜜蜂、观察蜂各Np;最大迭代次数为MAXiteration;蜜源停留最大限制搜索次数Limit;设迭代次数τ=0,记第i(i=1,…,Np)只采蜜蜂为观察蜂为
b、建立蜜源库,初始化规模为M的蜜源库,记为LM,此蜜源库具有M个蜜源且给每一个蜜源设置一个计数变量counti,i=1,…,M,初始值为0,首先以两点交叉方式产生M/2个蜜源,再以按位选择交叉方式产生剩余的M/2个蜜源,
所述两点交叉方式产生M/2个蜜源步骤如下:
1)设置全1二进制串个体A=(1,1,…,1);
2)随机产生一个二进制个体BR,设置产生1的概率,设置临时个体temp=A,将个体temp与个体BR执行两点交叉,交叉后产生的后代设为S1,S2;将S1和S2中的合法个体计算适应度,然后添加到LM中;
3)若蜜源库LM中蜜源个数小于M/2,则转到上一步;否则结束,
所述按位选择交叉方式产生剩余的M/2个蜜源步骤如下:
1)假设二进制串个体的长度为D,设置全1二进制串A=(a1,…,aD)=(1,1,…,1);
2)随机产生一个二进制个体BR=(r1,…,rD),设置产生1的概率,利用A和BR产生一个后代S=(s1,…,sD),其中:
Rand(2)为随机产生0或1。如果S是合法个体并计算其适应度,然后添加到LM中;
3)若LM中蜜源个数小于M;则转到上一步,否则结束,
初始化的标志变量SGi=0,i=1,…,Np。
c、采蜜蜂阶段,对每一只采蜜蜂的食物源进行领域搜索以随机产生一个新解,即新蜜源,若这个新解优于旧解则用新解替代旧解,且重新设置SGi=0;否则此食物源保留,且SGi=SGi+1;
d、观察蜂阶段,每一只观察蜂随机选择两只不同的采蜜蜂,跟随具有较优食物源的采蜜蜂,记此采蜜蜂为观察蜂对的食物源进行领域搜索以随机产生一个新解,即新蜜源,若这个新解优于旧解则用新解替代旧解,且重新设置的标志变量SGk=0;否则此食物源保留,且SGk=SGk+1;
e、侦查蜂阶段,若采蜜蜂的SGi>Limit,则采蜜蜂放弃当前食物源变为侦察蜂,此侦察蜂从蜜源库中随机选择三个互不相同的新蜜源,再从中选择count值最小的蜜源且count=count+1,侦察蜂变为采蜜蜂且SGi=0;
记录当前所有蜜蜂找到的最优值,即全局最优解Best,τ=τ+1;
若τ<MAXiteration,则转到采蜜蜂阶段;否则结束循环,输出当前最优解Best;
判断新解和旧解的优劣,首先检验此个体是否为合法个体,若个体为合法个体,计算其适应度;若个体为非法个体,其适应度设置为1。
2.如权利要求1所述的网络编码环境下优化负载均衡的方法,其特征在于:所述网络负载均衡模型的目标函数为:
Minimize:
Subject to:
设原始拓扑为G=(V,E),原始拓扑包括一个源节点s和d个目的节点,V和E分别表示节点集和链路集,tk为目的节点,节点数和链路数分别表示为|V|和|E|,其中ωi为链路的带宽利用率,Gs→T为基于网络编码的组播子图,为链路最大带宽,为当前消耗带宽,此外在Gs→T中的链路还需要消耗同样的带宽为源节点s到目的节点tk∈T={t1,…,td}的路径集,σ为Gs→T中源节点到每一个目的节点的边分离路径的数量,γ(s,tk)为s到tk∈T的可达带宽。
3.如权利要求1所述的网络编码环境下优化负载均衡的方法,其特征在于:分解原始拓扑时,将原始拓扑中的潜在编码节点分解为输入辅助节点集和输出辅助节点集,使得潜在编码节点的每一条输入边对应一个输入辅助节点,每一条输出边对应一个输出辅助节点,然后将输入辅助节点和输出辅助节点通过辅助链路两两连接。
4.如权利要求1所述的网络编码环境下优化负载均衡的方法,其特征在于:所述采蜜蜂和观察蜂对食物源Xi=(xi1,...,xiD)进行领域搜索,产生新蜜源Vi'=(vi1,...,v′iD),i=1,...,Np的公式为:
vid=xid+α(xid-xkd),d=1,...,D
其中:i=1,2,...,Np,k是1,...,Np中的任意一个数且k≠i,α和β为(0,1)之间的随机数。