• 沒有找到結果。

基于遗传算法的大规模流量工程问题求解

N/A
N/A
Protected

Academic year: 2022

Share "基于遗传算法的大规模流量工程问题求解"

Copied!
3
0
0

加載中.... (立即查看全文)

全文

(1)

收稿日期:!""! # $! # !%;修订日期:!""& # "! # !%

作者简介:周涛($’(& # ),男,四川成都人,主要研究方向:)* 难解问题及其近似算法、软计算理论及应用、复杂系统分析、量子混沌;

傅忠谦($’+’ # ),男,江苏南京人,副教授,主要研究方向:智能信息处理、遗传算法、模糊控制、接口技术、智能硬件设计; 周佩玲($’,& # ),女,

湖南长沙人,教授,主要研究方向:神经网络、遗传算法、智能信息处理、软计算集成、混沌时序分析、复杂系统理论 - 文章编号:$""$ # ’"($(!""&)"% # "",& # "&

基于遗传算法的大规模流量工程问题求解

周 涛,傅忠谦,周佩玲,张建荣,张德学

(中国科学技术大学 电子科学技术系,安徽 合肥 !&""!%)

摘 要:研究了大规模网络中的流量工程问题,其实质是在复杂约束条件下的多业务多目标网络 流问题。提出了一种经过优化的遗传算法,该算法引入预处理机制,采用启发式变异操作并且采用爆 破处理。仿真实验证明,该算法是快速有效的。

关键词:流量工程;遗传算法;爆破处理;启发式变异 中图分类号:.*&’&- "/ 文献标识码:0

!"#$%&’ ( )(*’+ !,(#+ -*(..%, /&’%&++*%&’ 0*"1#+2 3(4+5 "& 6+&+7%, 8#’"*%792

1234 .56 7 84 196:;<=>5: 7 1234 *?><@>:; 7 120)A B>5:<C6:; 7 120)A D?<EF?

!"#$%&’(#)’ *+ ,-#.’&*)/. 0./#).# %)1 2#.3)*-*456 7)/8#&9/’5 *+ 0./#).# %)1 2#.3)*-*45 *+ :3/)%6 ;#/+#/ <)3=/ !&""!% 6 :3/)%>

8147*(,7: G: H9>I J5J?C 7 5 @5C;? IK5@? HC5LL>K ?:;>:??C>:; JC6M@?N O9>K9 >I )*<95CP >I JC?I?:H?P- 0 ;?:?H>K 5@;6C>H9N >I P?I>;:?P H6 I6@Q? H9? JC6M@?N- *C?HC?5HN?:H N?H96PI7 9?FC>IH>K NFH5H>6: 6J?C5H>6:I 5:P ?EJ@6P? HC?5HN?:H 5C? H5R?: H6 >NJC6Q? >HI J?CL6CN5:K?- S>NF@5H>6:I 95Q? Q?C>L>?P H95H H9>I 5@;6C>H9N >I ?LL>K>?:H 5:P ?LL?KH>Q?-

;+< ="*54: HC5LL>K ?:;>:??C>:;T ;?:?H>K 5@;6C>H9NT ?EJ@6P? HC?5HN?:H T 9?FC>IH>K NFH5H>6: 6J?C5H>6:I

$ 引言

流量工程(.C5LL>K U:;>:??C>:;,.U)是一种能将业务流映射 到实际物理通路上,同时又可以自动优化网络资源以实现特 定应用程序服务性能要求的,具有宏观调节和微观控制能力 的网络工程技术[$]。业务流映射到实际物理通路时,如果缺 乏有效调度,就可能在局部严重拥塞而在其它地方缺乏利用。

.U 正是针对这种情况,对全网资源进行调节,维护网络负载 平衡,从而提高网络的使用效率。

.U 的实质,是在复杂约束条件下的多业务多目标网络流 问题,这是一个 )*<95CP 问题,在数学上没有有效求取最优解 的办法。对于类似的优化问题,主要有以下几种算法:

$)常规的数学优化技术,例如拉格朗日松弛法、梯度寻 优技术等等[!]。但这些方法往往依赖于目标函数的梯度信 息,对其连续性与可微性要求苛刻,而且对于多峰问题,极易 陷入局部最优解。

!)枚举法,其基本思想是在离散化的有限搜索空间中比 较每一点的目标函数值,求出最优解。但当网络与业务规模 较大时,枚举法会因为计算量的迅速增加而无法实现。

&)启发式搜索,这是枚举法的改进,往往有很强的剪枝 手段,但仍因计算量太大而不适用于大规模流量工程问题。

因此,我们采用全局优化性能出色且不依赖于目标函数 解析性质的遗传算法来求解该问题,同时引入预处理策略、惩 罚机制、启发式变异与爆破处理进一步对算法本身进行优化。

! 流量工程的数学模型

在实际工程问题中,必须考虑诸多物理设备上的细节,例 如复用方式,保护子网结构与恢复方法,抖动与漂移规范,延 时约束等等[&]。这里,我们尽可能屏蔽物理设备的影响,抽象 出精简的数学模型,以便进一步的分析。

传输业务流的网络可以看作是一个允许存在平行边的有 向图 D(U,V),在链路集 , 上定义映射:

!:,!"?,":,!"?

对任意链路 # # ,,!( #)称作该链路的容量,即该链路能 够通过的最大流量;"( #)称作该链路的费用特性,表示单位 流量的数据流从该链路起点传至终点所需的花费。

在网络上传输的业务组 @ 由若干组播业务组成,每个业 务可 由 一 个 顶 点 和 一 个 顶 点 集 共 同 描 述:A( 9,2)。其 中 9 # B,表示业务流出发的源点;2 $ B,表示业务流要传送到 的汇点集,显然 2 % &,且 9 ’ 2。当 C 2 C D $ 时,组播业务退 化为点到点业务,当 2 D B W {9}时,即为广播业务。

如前所述,实际的组 播 算 法 中 往 往 要 考 虑 很 多 约 束 条 件[,],但这并非本文研究的重点,因此不妨将除流量约束外的 种种约束一并记为# 。

在业务组 @ 上还定义了一个映射$:@!"?。对任意业 务 A # @,$( A)表示该业务的流量。

设 @ D {A$,A!,…,A)},2, 问题即是对所有的 A($ ( //

( )),确定组播树[+]2&( A/)作为该业务的组播路由,满足:

$)延时、抖动、保密、保护等约束全体# ;

!)流量约束:

(2)

!

!

" # !

!

$" %&( ’")!( $)( "( ’")##( $(),! # ( # )

其中:* # {$!,$",…,$)}

!( $)#( !, $ # $(

#,$ $ $

{

(

并且使目标函数:+( %&( ’!),…,%&( ’!))取最大值。

目标函数的确定要综合考虑网络费用、资源占用和负载 平衡等多个因素,不同的具体工程对此有不同的要求,其具体 实例将在算法设计中给出。

$ 算法设计

$ % ! 算法的基本流程

本算法是以标准遗传算法[&]为框架进行优化处理后的结 果,其基本流程如图 ! 所示。

图 ! 算法的基本流程

$ % " 预处理策略

预处理的思想是在运行遗传算法之前,预先地确定每条 业务满足约束集$ 的组播树的全体并存储起来备用,实际网 络中,由于考虑保护结构与保密要求,因此满足约束的组播树 的数目并不多,其基本思想是可提前剪枝的宏搜索。

对任意业务 ’"" , ,其对应的组播树全体记为:

%&( ’! "),%&( ’" "),…,%&-( ’" ")

每棵组播树都可以用一个边集表示。若 -" # # ,则系统 可以直接返回无解信息并中止程序。

$ % $ 编码方案与初始群体生成

每个个体用长为 ! 的正整数串表示:. # /!/"… /!,其中

/"表示第 " 条业务选择的路由号,显然要求:! # /"# -"。由于

每个路由号对应的路由(组播树)已在预处理中确定,所以编 码表达了解的完备信息。

根据问题规模的不同,群体规模 ’ 一般在 !## 到 !### 之 间,初始群体完全随机生成。

$ % ( 目标函数的确定与适应度定标

这是一个多目标的规划问题,目标函数必须综合考虑网 络资源占用、网络费用和网络负载平衡三个方面。

设 个 体 . # /!/"… /! 已 确 定,记: 0( () #

!

!

" # !

!

$" %&/"( ’")

!( $)%"( ’( ")表示通过链路 $(的总流量。

个体 ) 占用的网络资源可用函数 +!刻划:

+( .)#! ! )

!

)

( # !

0( ()

#( $()

表示每条链路通过的流量占链路容量比例的平均值。

网络费用可用函数 +"刻划:

+( .)#" ! )

!

)

( # !%( $()% 0( ()

!

)

( # !%( $()%#( $()

容易发现,+( .)只是 +! ( .)中所有%($" ()全等的特殊情 况,但在实际问题中,一方面要考虑因物理设备的不同而造成 传送时不同的花费,另一方面在负载接近饱和时往往会选择 较昂贵的路由而放弃便宜但拥塞的链路,因此 +!与 +"应当同 时考虑。

网络负载平衡用均方差函数 +$刻划:

+( .)#$

! )

!

)

" # !( 0( ()1&0)"

!# (# )*+,( 0( ()1&0)" ,其中:&0 # !

)

!

)

" # !

0( ()。

显然地,+( .)"[#,!]。并且当 ) 满足流量约束时,必$ 有:+( .)"[#,!],+! ( .)"[#,!]。"

确定目标函数 + 时要综合考虑 +!,+"和 +$,在这里我们采 用极大熵方法[-],令:

+( .)# ! -./(

!

$

" # !

$-&"+( .)"

目标函数 + 中的参数由具体工程问题指定。

计算适应度时采用乘幂定标法,即令个体 ) 的适应度 为:

+"2!$33( .)# ( !

(

+( .

)

4

其中幂指参数 4 的值一般在 #%0 到 "%# 之间。

$ % 0 选择、交叉和变异

选择操作采用期望值方法[1],交叉操作采用最简单的一 点交叉法,即在个体中随机设定一个交叉点,实行交叉时,该 点前或后两个个体的部分结构互换,并生成两个新个体。

变异的基本思想是对个体串上每一个位置依变异概率 -)进行变异操作,对于被选中进行变异的位置,系统在其对 应的路由表中随机选一个路由号代替原路由号。

考虑到在遗传算法进行前期,基因分布较广,群体多样性 较好,变异概率可以稍低,但在算法进行后期,少数适应度很 高的个体会被选择生成,而大多数个体则遭淘汰,群体多样性 锐减,容易引起未成熟收敛现象,因此需要较高的变异概率以 保持群体多样性,故在本算法中,-)是启发设定的。

若设 +"2!$33*+,表示当前世代最优个体适应度,+"2!$33 表 示当前世代平均适应度,则本算法中取:

-) # # 5 ##0% +"2!$33 +"2!$33

(

*+,

)

"

仿真实验也表明,使用启发式变异操作的算法性能优于 传统的固定变异概率的算法。

最后,在进行时代更新时,采用最佳个体保留法。

$ % & 爆破处理

爆破处理是当出现未成熟收敛或产生明显征兆时的一种 应急措施,它在保留最佳个体的前提下,随机选择当前群体中 0#2 的个体,用相同数目完全随机生成的个体替代,以保持群 体多样性,并藉此挣脱未成熟收敛。当满足下列条件时实施 爆破处理:

(

(

(3)

!)连续十代最佳个体保持不变;

")这十代中,最后一代的平均适应度相对第一代平均适 应度的增长不及最佳适应度与第一代平均适应度间差值的

#$ 。

仿真实验表明,采用爆破处理的算法性能优于传统算法。

% & ’ 惩罚机制

设当前群体最优个体适应度为 !"#$%&&()*,最差个体适应 度为 !"#$%&&(+,,若某个体适应度原为 !"#$%&& ,但不满足流量约 束,则令:!"#$%&&! ’ !"#$%&&(+," !"#$%&&

!"#$%&&()*

,作为该个体惩罚后 的适应度,以保证不可行解的适应度总是不大于可行解。

% & - 收敛性分析与停止条件

由定理 "& ’ 可知,本算法以概率 ! 收敛到全局最优解。

必须指出,由于收敛速度的原因,在网络规模很大时求出全局 最优解是不现实的,因此往往通过限定遗传代数而得到一个

较好的次优解。当遗传代数达到上限时,程序将自动终止。

. 仿真结果

下面,通过一组仿真实验来比较算法性能。用于比较的

算法除了有区别的遗传算法外,还包括贪心法和启发式深度 搜索[!/]。其中,贪心法速度极快,但不保证得到可行解,且解 的优度不好。搜索保证最优解,但往往因计算量太大而无法 在可以忍受的时间内实现。

表 ! 给出用于仿真实验的网络与业务的规模和特征,表

" 给出了实验结果。仿真实验是在 0. 机上执行的。仿真实 验的结果表明,遗传算法相比其它算法有明显的优势,而采用 了启发式搜索与爆破处理的遗传算法又比不采用这些方法的 传统算法性更好。

表 ! 仿真实验数据特征列表

数据编号 网络节点数 链路数 业务组业务数 最优解适应度

! !/ ." 1 1 & %".

" !- ’/ !/ !! & ./’

% #. !-1 %/ 未求出

. -/ "2" %/ 未求出

# !’’ 1/- !// 未求出

表 " 仿真实验结果

算法 最佳个体适应度 3 运行时间 4 单位 5 秒 6

数据 ! 数据 " 数据 % 数据 . 数据 #

贪心法 # & 2’" 3 7 / & /! 2 & ’"% 3 7 / & /! ’ & %%" 3 7 / & /! 非可行解 ’ & %1/ 3 7 / & /!

启发式搜索 1 & %". 3 / & !’ !! & ./’ 3 .#/- & .. 时间 时间 时间

标准 89 1 & %". 3 / & /. !! & %12 3 / & !! !/ & /!1 3 / & #! !. & %2- 3 " & -" 2 & %%/ 3 !/ & ’’

启发变异 89 1 & %". 3 / & /. !! & %2! 3 / & !! !/ & ’"" 3 / & #" !. & %2" 3 " & -.! !/ & !’- 3 !/ & -/

爆破处理 89 1 & %". 3 / & /. !! & ./’ 3 / & !% !/ & 1.# 3 / & #2 !# & /%% 3 % & /" !/ & ""# 3 !! & "!

两者皆有 89 1 & %". 3 / & /. !! & ./’ 3 / & !% !/ & 2## 3 / & #2 !# & /"1 3 % & /%!! !! & /’! 3 !! & "%

这里前三个数据的群体规模是 "//,后两个是 #//,遗传 代数上限都是 !///。标注星号!处启发变异结果反而不如固 定变异概率法,但总体看来,采用启发变异在性能上是更优 的。标注双星号!!处,两种方法皆采用的结果反而不如仅采 用爆破处理的结果,但仍可以明显看出其整体性能较优。

# 结束语

本文给出了流量工程问题的数学模型,并选用全局优化 能力出众的遗传算法进行求解,同时对遗传算法本身进行了 优化,优化后的算法主要有以下特点:

!)引入预处理机制,预先确定了搜索空间,提供了编码 和应用遗传算法的可能性;

")采用启发式变异操作,在运行初期群体能够以较快的 速度优化,在后期又能够有效地避免未成熟收敛;

%)采用爆破处理,在算法进行过程中监测群 体 成 长 情 况,在出现未成熟收敛或相应征兆时能够采用紧急措施规避,

并保持群体多样性,从而大大提高了算法全局优化的能力。

但算法本身还有很多值得进一步研究的地方,例如如何 有效地将 89 与其它算法如模拟退火算法(:9),爬山法(;<)

等混合寻优,以提高原算法的寻优能力;如何对这类非二进制 编码的遗传算法进行有效的数学分析等等。

参考文献

=!> 石晶林 ? 等 & 因特网络流量工程概述 = @> & 中国数据通信 ? "//!?

4 "6 5 2 A !1 &

= "> 8)B+CD E? FGH(), I & 9 CJCKG( LMN NMHK+,O ),P Q)R)Q+KJ )CC+O,(G,K +, QM(RHKGN QM((H,+Q)K+M, ,GKSMNTC = @> & IUUU VN),C <M((H, ? !2-2 ? %’

4 .6 5 %1/ A %11 &

= %> 韦乐平 & 光同步数字传送网 = W> & 北京 5 人民邮电出版社 ?!22-&

=.> 石 坚 ? 等 & 一种基于延时及带宽受限的启发式组播路由算法

= @> & 电子学报 ? "//! ? "24-6 5 !!!% A !!!1 &

=#> X)(),)KD), : & WHYK+Q)CK KNGG OG,GN)K+M, +, ,GKSMNTC S+KD )CJ((GKN+Q Y+,TC = @> & IUUU @MHN,)Y M, :GYGQKGP 9NG)C +, <M((H,+Q)K+M,C? !22’ ?

!# 4 % 6 5 %’% A %-! &

=1> ;MYY),P @;& 9P)RK)K+M, +, F)KHNG ),P 9NK+L+Q+)Y :JCKG( = W > & WIV 0NGCC? !22" &

=’> 王雪华 ? 等 & 多目标规划的极大熵方法 = @ > & 计算数学 ? !221?

4 %6 5 %/# A %/- &

=-> 8MYPZGNO [U& 8G,GK+Q 9YOMN+KD(C +, :G)NQD ? \RK+(+])K+M, ^ W)QD+,G _G)N,+,O= W> & 9PP+CM, ‘GCYGJ 0HZY+CD+,O? !2-2 &

=2> 陈国良 ? 等 & 遗传算法及其应用 = W> & 北京 5 人民邮电出版社 ?

"//! &

= !/> <MN(G, V;? _G+CGNCM, <U? X+BGC X_& 算法导论 4英文版 6 = W> & 北京5 高等教育出版社?"//"&

#

.

參考文獻

相關文件

赵孟頫小楷书《汲黯 传》(图23)。他在落款 时写道:“延佑七年九月 十三日吴兴赵孟頫手抄此 传于松雪斋,此刻有唐人

通常把这种过去时期的,具有滞后作用的变量 叫做 滞后变量(Lagged Variable) ,含有滞后变量

REITs 起源于上世纪 60 年代的美国,目前全球 REITs 市场规模近 2 万亿美元,其中美

4.2 Copy the selected individuals, then apply genetic operators (crossover and mutation) to them to produce new individuals.. 4.3 Select other individuals at random and

各个几何命题是否“真实”的问题就归结为公理是否“真实”的问题。可是人们

衡量一个地区或一个国家水资源的丰歉 程度的指标:

• 这幅由美国航空航天 局提供的影像中,南 极上空的臭氧层空洞 就像一个巨大的蓝色 水滴。美国航空航天 局的科学家2000年9 月8日宣布,南极上

一般说来, 对于一个区间上单调的函数的 图形都存在一个需要判别弧段位于相应的弦线