当前位置:文档之家› 度约束欧氏Steiner最小树问题及其求解

度约束欧氏Steiner最小树问题及其求解

上海理工大学学报

第30卷第5期J.UniversityofShanghaiforScienceandTechnologyV01.30No.52008

文章编号:1007—6735(2008)05—0443一06

度约束欧氏Steiner最小树问题及其求解

张瑾1,丁爱萍2,马良1

(1.上海理工大学管理学院,上海200093;2.黄河水利职业技术学院信息3-程系,开封475003)

摘要:在欧氏Steiner最小树的基础上,对每个正则点加上了度约束限制,提出了度约束欧氏Stein—er最小树问题,分析了该问题的特性,给出了该问题的模拟退火和蚂蚁算法求解过程,并使用Del—

phi语言编程,在WindowsXP平台上运行通过.通过大量算例的计算结果验证了该问题的实用性及算法的有效性.

关键词:度约束;欧氏Steiner最小树;算法

中图分类号:022文献标识码:A

Solvingthedegree-constrainedEuclideanSteiner

minimaltreeproblem

ZHAhl63inl,DIIXlGAi.p骨,MALian91

(1.FussinessSchool,UniversityofShanghaiforScienceandTechno幻gy,Shanghai200093,China;

2.DepartmentofInformationEngineering,YellowRiverConservancyTechnicalInstitute,Kaifeng475003,China)

Abstract:Thedegree-constrainedEuclideanSteinerminimaltreeproblemwasdiscussedbasedontheEuclideanSteinerminimaltreewitheachoriginalpointbeingaddedwithadegreeconstraint.Thepropertyoftheproblemwasanalyzedandtheimplementationprocessofsolvingtheproblembyusingthesimulatedannealingalgorithmandtheantalgorithmwaspresented.Bothalgorithmsarecodedin

DelphiandrunoiltheWindowsXPenvirnment.Seriesofnumericalexamplesweretestedandtheeffi—ciency

ofthesealgorithmswerevalidated.

Keywords:degree-constrained;EuclideanSteinerminimaltree;algorithm

最小生成树问题是运筹学、组合优化中的常见问题,即寻找一棵连接给定点并使树的总长度最短的生成树.理论上树中每个结点的度数可以不受限制,即在一个包含咒个结点的图的生成树中,每个结点的度数最大可以达到咒一1.而在实际应用中,结点间的连接往往会受到各种因素的影响,结点的度数不能随意取值.如在通信网络中,为防止结点故障引起的网络瘫痪而对网络结点的度数进行限制,或为了维持网络的传播速度及负载平衡而对结点的度数加以限制等.寻找总长最短且符合度约束限制

的一棵生成树是工程设计人员所追求的目标.而在组合优化中,7z个结点的一棵Steiner最小树要优于仅包含1"/个结点的最小生成树,鉴于此,本文提出度约束欧氏Steiner最小树问题,并寻找有效算法对其进行求解.

1数学模型

欧氏Steiner最小树(ESMT)是指对给定欧氏平面上的原点集P(也称正则点集),找出连接P的最短网络.该问题可引入辅助点集S(称s点集),使

收稿日期:2007—06—13

基金项目:国家自然科学基金资助项目(70471065,70871081);上海市重点学科建设资助项目(T0502);河南省科技厅资助项目(072400440310)

作者简介:张瑾(1974一),女,博士研究生.

上海理工大学学报2008年第30卷

得由正则点和s点构成的网络树总长最小[1,2].

Steiner最优树的树长与相应的仅由原点构成的最

小生成树的树长之比称为Steiner比,记为尺.已经

证明13],n>洳/2.如果对每个原点的度数加上一定

程度的限制则构成度约束欧氏Steiner最小树

DlmSMT)问题.

欧氏Steiner最小树具有如下重要性质(在此仅

列出与问题说明相关的部分):

性质1设ESMT的原点为,z个,则s点数小

于等于咒一2.

性质2ESMT上和5点关联的边有3条,且

这3条边中任意2条边的夹角为120。.

性质3假设由咒个原点所围成的区域为凸

包,则所有s点都包含在凸包内.

D(您SMT问题可描述为:

已知图G=(V,E),其中,V为顶点集,E为

边集.V=PUS,其中,集合P={1,2,…,7z一1,咒}

为原点集合中元素的索引集,集合S={咒+1,咒+

2,…,2竹一3,2”一2}为s点集合中元素的索引集.

定义(i,歹)为图G中的一条边,i,JEV且i<歹,E1

={(i,歹)IiEP,JESf,E2={(i,J)Ii∈S,歹∈

s},E=E1UE2,V中任意两点zf与zi间的距离

l置一xjl为这两个结点之间的欧氏距离.其数学模

型可表示为

minz=∑k一勺IY巧

(i,J)∈E

s.t.xi∈R2i=7z+1,玎+2,…,27z一3,2n一2(1)

∑y巧=1,iEP(2)

∑均+∑均+∑蛳=3iEPk<j,^∈S≈>』,E∈S

1VllVl

∑∑=lVI一1

f=1J=1歹∈S(3)

(4)

∑Y玎≤ITl一1,VTcV,T≠勿(5)i,J∈T

∑Y打≤bi,iEV(6)J=1

YiiE{0,l},(i,J)∈E(7)式中,bi为每个结点必须满足的度约束限制;Y打为变量.

约束条件(1)说明每个s点都应存在于二维的欧氏空间中.约束条件(2)限制了每个原点仅与一个J点相连,约束条件(3)限制每个s点的度为3,约束条件(4)和(5)保证所求得的为一棵生成树,约束条件(6)为原点必须满足的度约束限制,约束条件(7)

说明当边(i,歹)是最优Steiner树中的边时,y巧=1;否则,Y0=0.

2算法思想

求解度约束欧氏Steiner最优树问题的难点主要有两个方面:首先是确定s点的数目及位置,然后检查在添加s点后各个原点是否满足其度约束,如果不满足则需重新确定s点的数目和位置.因此,本文将从经典ESMT问题和度约束最小树问题的求解这两个角度来探讨DCESMT问题,并针对这两个问题都属于非确定性多项式(NP)难题的特性[4 ̄8],将启发式方法与智能优化算法相结合,寻找有效的求解算法.

由欧氏Steiner最优树问题的性质3可知,任意5点都被局限于由原点构成的凸包内,则s点的搜索范围即可确定.本文将其限制在由原点坐标围成的矩形区域Z内.假设在Z中已确定了m个s点及其位置,将咒个原点和优个s点构成一个完全图G7,然后为G7寻找一棵满足度约束限制的最小生成树.

2.1度约束最小树问题解决方案

Prim算法和Kruskal算法是两种传统的计算最小生成树的算法,其时间复杂度分别为0(咒2)和0(fEfl092Ef).前者与边数无关,因而适用于稠密图;而后者与顶点数无关,适用于稀疏图.由于本文是将新加s点与原点看成完全图来处理的,因此,将对Prim算法进行改造以使其适合于度约束最小生成树问题的求解.

假设G=(V,E)是连通图,u是顶点集合V的一个非空子集,求得的最小生成树为丁=(V,B).其中,V和E分别为图G的顶点集和边集,h为最小生成树的边集.Prim算法的过程为:从U={“o},珏={妒}开始.在所有(“,u)EE的边中(“∈U,uEV—U)找一条权值最小的边(“7,口7),并分别将u7和(“7,勘7)并人U和11E.重复上述过程至U=V为止.在此过程中,由于任意结点的度数都不受限制,边可以随意选取.因此,本文处理度约束最小树问题的策略是对边的选取这一操作过程加以限制,并在选取权值最小边的同时,考虑该边所邻接的两个顶点在度数增加1的情况下其总度数是否会超过该点的度约束限制,如果超过,则放弃该边,重新选择另一条次优边;不超过则保留该边,然后令该边所邻接顶点的度数值加1.重复上述过程至I丁EI=咒一1或找不到度约束最小树为止.

第5期张瑾,等:度约束欧氏Steiner最小树问题及其求解445

在上述寻找度约束最小树的过程中,如果起始点“。不同,将得到不同的计算结果,因此,可令起始点遍历整个顶点集合V,在计算所得的至多砚个结果中最小的一个就是所求的度约束最小生成树.本文将上述过程定义为函数MyPrim,M夕阳ITI完成为任意图寻找度约束最小生成树且返回树长的操作.

2.2s点搜索空间的预处理操作

现确定s点的数目及位置.假定首先已确定了;rft个s点及其位置,然后可以在每个点的邻域内进行搜索,如果搜索到更优的S点,则用新点替换旧5点.由于5点的搜索范围局限于区间z内,若能遍寻搜索空间z内的任意位置来确定s点,则能够得到最优解.然而,由于可行解集的庞大,该方案是不可行的.受高等数学积分计算思想的启发,可以对搜索空间Z进行细分.具体处理方案为:

a.由原点集合P中元素的横纵坐标值确定一个矩形区域Z;

b.按照一定的精度要求将Z等分为若干网格.如果网格细分倍数足够高的话,则原点和s点都可以置于网格的顶点上,简称格点.以行序为主,按列值由小到大递增的顺序对格点进行编号.为每个格点设置一个标记变量,当格点处放置有原点或S点时,则将标记置为1;否则,置为0;

c.用格点的行列值替代平面上相应点的坐标;平面上结点间的距离可以用绝对值距离代替;

d.任一格点的邻域定义为在其周围8个方向上的8个格点(矩形边缘的点除外).

当确定了最佳Steiner点的个数即其位置后,将Steiner点所在的格点编号存于整形数组BestSolu.tion中.然后分别采用模拟退火和蚂蚁算法求解E§啊。

2.3模拟退火算法

模拟退火(sA)算法来源于固体退火原理,即将固体加温至充分高,再让其慢慢冷却.加温时,固体内部粒子随温度的升高变为无序状,内能增大,而慢慢冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小.

模拟退火最早由Kirkpatrick等用于组合优化,它是基于MonteCarlo迭代求解的一种通用随机寻优算法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性,通过设定一个初始温度初态,伴随温度的不断下降,结合概率突跳特性在解空间中通过邻域函数迸行随机搜索,最终得到全局最优.

区别于传统的邻域搜索算法,SA以概率rain{1,exp(一A/t)}来接受新状态,其中,△为新旧状态的目标值差,t为温度.算法保留了向优良解概率1的趋化过程,而赋予差的状态一定的可控接受概率,同时这种概率随温度的不断下降而趋于零.由于这种概率性的劣向转移,使得算法具有跳出局部极小而实现全局最优的能力.

模拟退火算法求解DCESMT的伪代码为

Begin

Initialize(to);∥初始化退火温度;

Min--Tree-Length=MyPrim(G(7z));.

∥调用MyPrim,G为72个原点构成的图;

Fort=tntO终止温度dO

Begin

Repeat

在当前m个S点的情况下执行下述

操作;

∥O≤m<竹一2,即初始情况下为0

÷|令s氨

Case随机条件of

条件1:加入r个新S点;

m=优+r;∥r为0到7/,一

2一m之间的随机数

条件2:删除r个已有s点;

m=m—r;∥r为小于m

的随机数

条件3:逐一把每个s点移至其邻

域内的任一允许位置;

EndCase;

New—Tree—Length=MyPrim(G7(”

+m));

∥此处为G7由咒个原点和新增加的

∥m个s点构成的完全图

Difference2Min-Tree—Length—New-

Tree-Length;

Ifmin{1,exp(Difference/t)}>ran—

dom[O,1]

then接收新解;

Until当前温度下系统达到平衡;

t=t*0.9:

End

Fnd

上海理工大学学报2008年第30卷

2.4蚂蚁算法

蚂蚁算法(Ant算法)是近几年出现的一种仿生类算法,它模拟蚂蚁搜索食物过程中的行为特性,即蚂蚁在搜索食物时,能在其走过的路径上释放信息素(phone),使得一定范围内的其他蚂蚁能够察觉并影响其行为.路径上走过的蚂蚁越多则留下的信息素浓度越大,后来蚂蚁选择该路径的概率也就越高.同时,信息素会逐渐挥发,从而随着时间的推移,一些长期无蚂蚁通过的路径上的信息素将逐渐消失.最后将会形成一条寻找食物的最佳路线[9 ̄11J.对每个格点i,t为第i个格点的信息素,△t为单位蚂蚁在第i个格点上遗留下来的信息素增量,Q为单位蚂蚁遗留的信息素数量(本文中取为1).信息素的更新采用蚁密模型,即Ari=Ari+Q.|D为轨迹的持久度,且0≤|0≤1(本文中取为0.7).蚂蚁惫由点i选择移动到点歹的转移概率

一攉

P(k,i,歹)=磬

25碍彷

其中,%=1/w驴叫百为第i个格点与第_『个格点间的距离;a、口为非负数,此处取为1.

蚂蚁算法求解DCESMT的伪代码为

ForNr=0to指定最大循环次数do

Begin

对每个格点i,初始化ri及Ar;;

∥t为较小的正常数(此处为1),即每个格

∥点上信息素强度的初始值,Ari为0

Min-Tree-Length=MyPrim(G);

For:ira21to,z一2step1do

Begin

Forcount=0to指定循环次数d0

Begin

随机生成k个s点;

∥k只蚂蚁置于此k个格点处,

∥1≤忌≤孢一2

对当前蚂蚁所在位置更新Ar=△r+Q;

New—Tree—Length=MyPrimfG7

(扎+k));

Min-Tree—Length=minfMin-Tree~

Length,New-Tree-Length);

更新BestSolution;

Fori=0tok一1do

Begin

产生随机数Random;

IfRandom>P(k,i,J)then

在当前蚂蚁的邻域内移动;

Else

转移到另一蚂蚁J所在的邻

域内;

对当前蚂蚁所在位置更新Ar

=Ar+Q;

End

New-Tree-Length=MyPrim();

Min-Tree-Length=min(Min-Tree

—Length,New-Tree-Length);

更新BestSolution;

End

End

对每个格点i

Begin

ri

10“+Ari;

Ari=0;

End

End

上述算法均用Delphi10.0编程实现,并在Win—dowsXP系统下运行通过.

3数值试验

本文采用的数据取自国际上公布的SrEINLIB测试库.在不同原点个数及度约束取值的情况下进行了大量试验,部分数据如表1~6所示.

表1di=1时SA算法计算结果

Tab.1ResultsoftheSAalgorithmwhendi21

第5期张瑾,等:度约束欧氏Steiner最小树问题及其求解447

表2di=1时Ant算法计算结果

Tab.2ResultsoftheAntalgorithmwhendi21

表3di=2时sA算法计算结果

Tab.3ResultsoftheSAalgorithmwhendi22

表4dl=2时Ant算法计算结果

Tab.4ResultsoftheAntalgorithmwhendi=2

表5di=3时sA算法计算结果

Tab.5ResultsoftheSAalgorithmwhendl=3

类型

原点数n

58

度约束最小树长

DCESMT树长最优值DCESMT树长最差值DCESMT树长平均值1.728620

1.708250

1.728620

1.719548

0.770020

0.769850

0.770020

0.769986

2.116980

2.040080

2.116980

2.084040

2.237850

2.204530

2.237850

2.228640

型塑生主壁尘堡煎丝!:鱼丝i21Q:Z鱼!Q踅兰:Q圣Q垒2堡三:!坠兰Q!

表6也=3时Ant算法计算结果

Tab.6ResultsoftheAntalgorithmwhendi23

上海理工大学学报2008年第30卷

通过对数据进行分析可以发现,蚂蚁算法的性能优于模拟退火算法,在最好情况下,蚂蚁算法计算所得度约束Steiner最优树的总长仅为SA算法所得结果的80%,且对于某些数据,模拟退火算法无法找到比度约束最小树更好的度约束Steiner最小树,而蚂蚁算法却可以找到.但在计算速度方面,蚂蚁算法则比模拟退火算法慢,尤其是在原点个数较多的情况下,其计算时间可为模拟退火算法的几十倍.这也恰恰符合无免费午餐定理中的观点.智能启发式方法可以保证算法以一定的概率收敛到最优解,但在某些情况下可能会出现无法找到最优解的情况.在度约束比较紧的情况下(如di=1),传统的度约束最小树往往是不存在的,而利用度约束Stdner最优树思想,无论采用模拟退火还是蚂蚁算法,都可以找到满足原点的度约束限制的最小生成树.从而验证了度约束Stdner最小树优于传统度约束最小树.在度约束大于等于3的情况下,DCESMT问题则基本上等价于传统的ESMT问题.

4结束语

度约束最小树问题拥有广泛的应用背景,找到满足结点的度约束限制并使得树长最短是用户所追求的目标.本文提出的度约束欧氏Steiner最优树思想不仅可以实现上述目标,而且可以使最后结果优于传统的度约束最小树.如何使算法速度较快且性能较优是后续研究的方向和重点.

参考文献:

[1]GILBERTEN,POLLAKHO.Steinerrnimmaltre∞

[J].SIAMJApplMath,1968,16(1):i一29.

MACULANN,MICHELONP,XAVIERAE.TheeH—

dideanStdnerprobleminR”:Amathematicalprogram—

IIling

formdation[J].AnnalsofOperationsResearch,2000,96(11):209—220.

DUDZ.HWANGFK.Thestdnerratioconjectureof

Gilbert-Pollakistme[J].Algofithmica,1992,7(1):121

—135.

WINTERP.AnalgorithmoftheSteiner

problemintheEuclideanplane[J].Networks,1985,15(2):233—245.

GAJ乏EYM.GRAHAMRL.JOHNSONDS.Thecom—

plentyofcomputingstoner

minimun仃∞[J].SIAMJournalofAppliedMathematics,1977,32(4):835—

859.

GAREYM,JOHNSONDS。Therectilinearsteiner

problemisNP—complete[J].SIAMJournalOnApplied

Mathematics,1977,32(6):826—834.

NARULASC,HOCA.Degree-constrainedminimum

spanningaee[J].ComputersandOperationsResearch,

1980,7(4):239—249.

马良,蒋馥.度约束最小生成树的快速算法[J].运筹

与管理,1998,7(1):l一5.

DORIG0M,MANIEZZ0V,COL()RNIA.Antsys—

tern:OptimizationbyacolonyofcooperatingAgents

[J].IEEETransactionsonSystems,Man,andCyber—

nefics,PartB,1996,26(1):29—41.

马良,蒋馥.度限制最小树的蚂蚁算法[J].系统工程

学报,1999,14(3):211—214.

金慧敏,马良,王周缅.欧氏Stdner最小树的智能优

化算法[J].计算机工程,2006,32(10):201—203.]

¨

rL

rL

rL

rL

rL

rL

rL

rL

rL

rL

度约束欧氏Steiner最小树问题及其求解

作者:张瑾, 丁爱萍, 马良, ZHANG Jin, DING Ai-ping, MA Liang

作者单位:张瑾,马良,ZHANG Jin,MA Liang(上海理工大学管理学院,上海,200093), 丁爱萍,DING Ai-ping(黄河水利职业技术学院信息工程系,开封,475003)

刊名:

上海理工大学学报

英文刊名:JOURNAL OF UNIVERSITY OF SHANGHAI FOR SCIENCE AND TECHNOLOGY

年,卷(期):2008,30(5)

被引用次数:1次

参考文献(11条)

1.GILBERT E N.POLLAK H O Steiner minimal trees 1968(01)

2.MACULAN N.MICHELON P.XAVIERAE The eu-clidean steiner problem in R":A mathematical program-ming formulation 2000(11)

3.DUDZ.HWANG F K The steiner ratio conjecture of Gilbert-Pollakistrue 1992(01)

4.WINTER P An algorithm of the Steiner problem in the Euclidean plane 1985(02)

5.GAREY M.GRAHAM R L.JOHNSON D S The com-plexity of computing steiner minimun tree 1977(04)

6.GAREY M.JOHNSON D S The rectilinear steiner problem is NP-complete 1977(06)

7.NARULA S C.HO C A Degree-constrained minimum spanning tree 1980(04)

8.马良.蒋馥度约束最小生成树的快速算法 1998(01)

9.DORIGO M.MANIEZZO V.COLORNI A Ant sys-tem:Optimization by a colony of cooperating Agents 1996(01)

10.马良.蒋馥度限制最小树的蚂蚁算法[期刊论文]-系统工程学报 1999(03)

11.金慧敏.马良.王周缅欧氏Steiner最小树的智能优化算法[期刊论文]-计算机工程 2006(10)

引证文献(1条)

1.丁雪枫.马良.丁雪松基于模拟植物生长算法的构造通讯网络Steiner最优树方法[期刊论文]-上海理工大学学报2010(1)

本文链接:https://www.doczj.com/doc/401140913.html,/Periodical_shlgdxxb200805008.aspx

授权使用:复旦大学图书馆(fddxtsg),授权号:7a1c0428-3f74-4d68-a581-9de5017bfa27

下载时间:2010年9月2日

相关主题
文本预览
相关文档 最新文档