导读:基于模拟退火算法的中继器分布...
论文秘籍网
论文秘籍网
摘 要本文介绍了中继器的基本原理以及模拟退火算法的原理和求解方法,在MATLAB语言环境下实现了该算法,并且用于对某一指定区域中继器分布问题的求解。仿真结果表明该算法能够很好的解决类似的优化问题。关键词论文中继器;模拟退火算法;MATLAB
中图分类号TM文献标识码A文章编号1673-9671-(2011)051-0114-02
在当今的信息时代,中继器无疑在无线传播领域扮演着举足轻重的角色。然而,中继器自身仍然存在着一些局限,比如欲使两中继器相互通信,必须使它们位于对方的覆盖范围之内,这样才能实现更大范围的远距通信。鉴于此,在研究中继器的分布时就很有必要需找一种优化的分布方式,以期达到使用最少的中继器覆盖该地区所有用户的目的。
1中继器
中继器(Repeater)属于同频放大设备,是指在无线通信传输过程中起到信号增强的一种无线电发射中转设备。中继器的基本功能就是一个射频信号功率增强器。中继器在下行链路中,由施主天线现有的覆盖区域中拾取信号,通过带通滤波器对带通外的信号进行极好的隔离,将滤波的信号经功放放大后再次发射到待覆盖区域。在上行链接路径中,覆盖区域内的移动台手机的信号以同样的工作方式由上行放大链路处理后发射到相应基站,从而达到基地站与手机的信号传递。
但是中继器所服务的移动台(即用户)有一定的数量限制。一旦超过该额定数量,超过的用户将不能实现传输信号的放大,从而不能实现所有用户的远距通信。同时,中继器的额定功率还决定了中继器的覆盖范围,其他的中继器必须在某一中继器的覆盖范围内才能实现放大信号的传递,进而通过相邻中继器的信号传递实现远距通信。
2模拟退火算法
模拟退火算法(Simulate Anneal Algorithm)提出于本世纪80年代初,其思想源于固体退火过程:将固体加温至充分高,再让其徐徐冷却。加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。
2.1算法原理
模拟退火算法的基本思想是从一个给定解开始,从邻域中随机产生另一个解,接受Metropolis准则允许目标函数在有限范围内变坏,它由一个控制参数t决定,其作用类似于物理过程中的温度T,对于控制参数的每一取值,算法持续进行“产生——判断——接受或舍去”的迭代过程,对应着固体在某一恒定温度下的趋于热平衡的过程。当控制参数逐渐减小并趋于0时,系统越来越趋于平衡态,最后系统状态对应于优化问题的全局最优解,该过程也称为冷却过程。由于固体退火必须缓慢降温才能使固体在每一温度下都达到热平衡,最终趋于平衡状态,因此控制参数t必须经过缓慢衰减,才能确保模拟退火算法最终能够得到该优化问题的整体最优解。
2.2算法具体步骤
1)给定模型每一个参数变化范围,在这个范围内随机选择一个初始模型m0,并计算相应的目标函数值E(m0)。
2)对当前模型进行扰动产生一个新模型m,计算相应的目标函数值E(m),得到ΔE=E(m)-E(m0)。
3)若ΔE0,则新模型m按概率P=exp(-ΔE/T )进行接受,T为温度。当模型被接受时,置m0=m,E(m0)=E(m)。
4)在温度T下,重复一定次数的扰动和接受过程, 即重复步骤2)、3)。
5)缓慢降低温度T。
6)重复步骤2)、5),直至收敛条件满足为止。
算法的实质分两次循环,随机扰动产生新模型并计算目标函数值(或称能量)的变化,决定是否被接受。由于算法初始温度设计在高温条件,这使得E增大的模型可能被接受, 因而能舍去局部极小值,通过缓慢地降低温度,算法最终能收敛到全局最优点。
应当指出的是,模拟退火算法是一种处理全局最优解的启发式算法。特别是在计算机计算速度不断提高的条件下,具有不可低估的发展潜力和重要的研究价值。
3仿真过程
在此,本文以半径为64km的圆形区域、其间随机分布200位用户为例,说明模拟退火算法在中继器优化分布问题上的应用。同时由于中继器规格不同,其覆盖范围、额定功率都不尽相同。在此,仅以覆盖范围为20km、额定用户为10位的中继器为例予以分析说明。
3.1仿真思想
宏观上来说,本文的程序仿真思想借鉴了Dijkstra最短路径算法的核心。
首先,随机产生第一个中继器的位置,之后进行模拟退火算法找到最优解;由于要实现中继器之间的顺利通信,因此将第一个中继器的覆盖范围作为下一个中继器位置的产生范围,在此范围内再进行模拟退火算法,确定第二个中继器位置之后,再将前两个中继器覆盖范围视作一个整体以作为第三个中继器位置的产生范围,以此方法迭代下去……本文称此思想为“辐射式思想”,即,以之前确定位置的中继器的覆盖范围为源,在此基础上向外“辐射”,通过模拟退火算法的迭代找到最优解,进而得到在整个区域内使用最少中继器覆盖所有用户的目标。
3.2模拟退火算法流程
1)随机产生一个中继器位置(x1,y1),并记(xbest,ybest)=(x1,y1)并计算目标函数值