基于拟人化策略带质量平衡约束的矩形布局方法技术领域
本发明涉及基于拟人化策略带质量平衡约束的矩形布局方法,属于航天器布局方
案设计研究技术领域。
背景技术
布局问题(或称为装填问题)研究的是将多个物体互不嵌入地放置在有限空间的
容器内,要求尽可能地提高容器的利用率,降低空间的浪费。该问题从布局区域的维数上来
看,分为二维和三维问题;从布局区域的种类来看,分为圆形、矩形或者任意的多边形区域
等;从待布置物体的形状上来看,分为圆形,矩形或者不规则形状等,从布局系统是否包含
性能(如惯性,平衡性,稳定性等)约束条件来看,又可分为不带性能约束问题和带性能约束
问题。本发明主要研究带质量平衡性能约束的二维矩形布局问题。矩形布局问题是一个经
典的NP难度问题,其在物流装箱、工业裁减切割、电路布局、航天器设备装载等领域有着广
泛的应用价值。带质量平衡性能约束的二维矩形布局问题除了像通常的矩形布局问题一
样,要求将有限多个矩形待布物互不重叠的放置于一个面积尽可能小的圆形容器内,以提
高容器的空间利用率之外,还要求布局后的系统满足质量平衡约束。该问题最早是由滕弘
飞,冯恩民等[Feng E M,Wang X L,Wang X M and Teng H F.An algorithm of global
optimization for solving layout problems.European Journal of Operational
Research,1999,114:430–436]于1999年提出,要求在一个带自旋的航天器的舱室(或称为
容器)的布局空间中,放置若干待布物(仪器、设备等)。假设各待布物均为长方体,且在航天
舱的垂直于舱的中心轴线的圆形隔板上进行布局,则航天舱待布物布局问题就转变为带性
能约束的二维矩形布局问题。该问题有两个主要约束要求: 1)待布物要互不重叠地放入容
器中;2)布局系统的静不平衡(非平衡)量满足要求。该问题的研究对卫星和宇宙飞船等航
天器搭载设备的成本和性能优化具有重要的意义。
近年来,国内外一些学者对带质量平衡性能约束的矩形布局问题进行了研究,并
提出了一些求解算法。冯恩民等[Feng E M,Wang X L,Wang X M and Teng H F.An
algorithm of global optimization for solving layout problems.European Journal
of Operational Research,1999,114:430–436]提出了在圆形容器中矩形布局的数学模
型,并应用图论和群论等数学知识给出了带性能约束矩形布局问题的一种全局优化算法。
Xu等[Xu Y C,Xiao R B,and Amos M.Particle swarm algorithm for weighted
rectangle placement.Proceedings of the 3rd International Conference on
Natural Computation,Haikou,China,2007,728-732]将一种利用梯度法获得合法初始布
局和较小包络半径的压缩算法以及粒子群算法相结合,提出了一种混合算法。徐义春等[徐
义春,董方敏,刘勇,肖人彬.带平衡约束矩形优化问题的遗传算法.模式识别与人工智能,
2010,23(6):794-801]将圆形容器内矩形布局的定位法与遗传算法相结合,提出了一种布
局顺序寻优算法。黄振东和肖人彬[黄振东,肖人彬.求解带平衡约束矩形布局问题的混合
算法.华中科技大学学报,2011,39(3):96-99,104]将带压缩策略的动态匹配算法与粒子群
算法相结合,提出一种混合布局算法。Zeng等[Zeng Y,Zhang J N.Glowworm swarm
optimization and heuristic algorithm for rectangle packing problem.2012 IEEE
International Conference on Information Science and Technology,Hubei,China,
2012:23-25]将萤火虫优化算法与分块放置的启发式策略应用于带性能约束的矩形布局问
题。Yoon等[Yoon K,Ahn S,Kang M.An improved best-first branch-and-bound
algorithm for constrained two-dimensional guillotine cutting
problems.International Journal of Production Research,2013,51(6):1680-1693]提
出一种最优解优先的分支定界算法。Li等[Li Z Q,Wang X F,Tan J Y,et al.A
quasiphysical and dynamic adjustment approach for packing the orthogonal
unequal rectangles in a circle with a mass balance:satellite payload
packing.Mathematical Problems in Engineering,2014,Volume 2014,ID:657170]提出
了一种有效的基于拟物和动态调整的布局方法。最近,刘景发等[刘景发,张振,薛羽,等.带
静不平衡约束的正交矩形布局问题的启发式退火算法.模式识别与人工智能,2015,28(7):
626-632]将梯度法与模拟退火算法相结合,提出了一种求解带质量平衡约束的正交矩形布
局问题的启发式模拟退火算法。通过上述介绍,可以发现该问题大多数是使用一种局部搜
索算法或者启发式策略与一种具有全局搜索能力的算法进行求解的,仅仅将局部算法与全
局算法相结合,而没有考虑到此问题的特殊性,如布局更新过程,待布物局部移动的过程等
等。这样虽然可以找到合法解,但往往效率比较低,找到的结果也不是很优秀。
发明内容
本发明的目的在于对一种基于Monte Carlo抽样的算法——吸引盘填充算法(BF)
[刘景发,李刚.求解带平衡性能约束的圆形填装问题的吸引盘填充算法.中国科学:信息科
学,2010,40(3):423-432]进行改进,并将基于拟人化的局部移动策略与改进的BF算法相结
合,为带质量平衡性能约束的矩形布局问题提出一种高效的布局算法。
技术方案
本发明为实现上述目的,采用如下技术方案:
本发明基于拟人化策略带质量平衡约束的矩形布局方法包含以下步骤:
(1)首先采用拟物策略将圆形容器以及所有矩形待布物均想象为光滑的弹性实
体,在布局系统中,引入挤压弹性势能U1(X),这里X为当前格局;同时为了使布局系统满足
质量平衡约束,通过引入静不平衡势能这里l为罚因子,J为静不平衡量,使用
罚函数法,将带质量平衡性能约束的矩形布局问题转化为无约束优化问题min U(X),这里U
(X)=U1(X)+U2(X)为整个布局系统的势能。
(2)将所有矩形待布物随机放置在圆形容器中,得到初始格局X。这样做的原因是
即使从任一初始格局出发,执行拟人化局部移动操作后,所有嵌入的矩形待布物将在弹性
力的作用下不断地进行运动,最终也能得到一个矩形待布物之间互不嵌入的合法格局。
(3)基于当前格局X,使用带拟人化局部移动策略的改进的吸引盘填充算法进行布
局的全局优化。吸引盘填充(BF)算法是一种将势能曲面变形与禁忌搜索思想相结合的全局
随机搜索算法,是一种改进的Monte-Carlo(MC)方法。在BF算法中,如果某一格局X被采样,
则其相应的势能U(X)将增加一个惩罚,用势能U′(X)=U(X)+λ×H(U(X),t)代替U(X),这里
的λ是罚因子,H(U(X),t)是关于势能U(X)和迭代步数t的直方图函数。该策略类似于禁忌搜
索,只不过在禁忌搜索中,被访问过的区域不可能立即再次被访问,而在BF算法中则可以,
只是其抽样权重相对于其他未被访问过的区域更低,这样有利于算法跳出局部极小点,从
而更好地进行全局搜索。BF算法使用一个直方图来记录每个能量区间被访问过的次数,并
以此为基础对算法搜索过的区域施加惩罚,控制算法的搜索方向。本发明针对BF算法的直
方图更新策略和格局更新机制进行了改进。
在原来的BF算法中,一旦有新格局Xnew产生,无论Xnew是否被接受,算法都 将更新
直方图函数H(U(Xnew),t)。然而,随着算法迭代的进行,局部极小点附近势能壁垒的直方图
函数值将会变得越来越大,算法将很难跳出局部极小点。为了克服这个问题,本发明提出了
一种新的直方图更新策略:如果新格局Xnew被接受,则更新Xnew的直方图函数值,即令H(U
(Xnew),t)=H(U(Xnew),t)+1;否则更新前一格局X的直方图函数值,即令H(U(X),t)=H(U
(X),t)+1。在这样的改进之后,算法将更容易跳出局部极小点,接受新格局。
在BF算法中,每次迭代都需要更新当前格局X。改进的BF算法通过选择相对挤压弹
性势能Pk最大的矩形待布物Rk进行重新放置来进行格局更新。这里,相对挤压弹性势能Pk被
定义为矩形待布物Rk自身所受到的其它矩形待布物和圆形容器施加于它的总的挤压弹性
势能Ek除以该矩形待布物的长度lk与宽度wk之和,即Pk=Ek/(lk+wk)。在原来的BF算法中,算
法仅仅是将选择的待布物的中心随机放置在圆形容器中的空白区域内来更新格局。为了提
高算法的格局更新效率,本发明针对矩形待布物的特点,提出了拟人化的占角放置策略,即
不再随机地放置矩形待布物Rk,而是选择将其放置在由其他矩形待布物构成的合法角上,
这样得到的格局更加紧凑。基本过程是,基于围棋布局中“金角,银边,草肚皮”的思想,找出
当前格局X中矩形待布物Rk的所有合法角C(X,Rk),记为C={C1,C2,...,CL},其中L为合法角
个数。将矩形待布物Rk依次放置在角Cj(j=1,2,...,L)上,对于每次得到的格局X',本发明
均对其进行局部搜索,得到新格局Xnew。为防止算法陷入僵局,本发明进一步采用禁忌策略,
即如果矩形待布物Rk的所有合法角C={C1,C2,...,CL}都被放置过,但产生的新格局Xnew均
没有被接受,那么就将矩形待布物Rk的中心随机放置在圆形容器中的空白区域内。如果放
置3次,新格局Xnew仍没有被接受,则将矩形待布物Rk禁忌,之后算法将选择其他矩形待布物
进行放置。
一旦更新当前格局X后,本发明均采用拟人化移动策略,并结合带回退和加速策略
的自适应步长梯度法[刘景发,李刚.求解带平衡性能约束的圆形填装问题的吸引盘填充算
法.中国科学:信息科学,2010,40(3):423-432]进行局部搜索。本发明使用拟人化策略,将
原来自适应步长梯度法中矩形待布物的移动方向由x和y方向简化为只包含x(或者y)一个
方向。在原来自适应步长梯度法中,如果新产生格局的能量大于前一格局的能量,算法会接
受新格局为当前格局,同时缩短步长继续搜索。本发明采用回退策略,将其改进为,如果新
产生格局的能量大于前一格局的能量,算法不再接受新格局为当前格局,而是回退到前一
格局,同时缩短步长,继续执行自适应步长梯度法。另外,针对原来自适应步长梯度法中搜
索速度慢且搜索步长随时间进行会越来越小的问题,本发明提出了加速策略,使步长可以
自适应的增加,以提高算法的搜索效率。
(4)采用二分法对圆形容器的半径进行设置。对于新半径的圆形容器,重新使用带
拟人化局部移动策略的改进的BF算法进行布局的全局优化。此过程重复执行直到满足二分
法的结束条件。
(5)输出最小圆形容器的半径和最优布局的图形。
实验结果
本发明采用国际上经常使用的8个带质量平衡性能约束的矩形装填算例作为算法
的测试实例。对于每一个算例,矩形待布物的个数n,以及每个算例中各个矩形待布物的长
li(mm),宽wi(mm)和质量mi(g)分别列于表1中。
表1算例描述
本发明布局算法采用Java语言编程实现,实验条件是Intel Core 2 Duo 2.94GHz
CPU,内存为2GB的笔记本电脑。
对于每一个算例,我们分别设置静不平衡量J前的惩罚因子l=10-3,10-3,10-6,10
-6,10-6,10-6,10-6,10-6。对于每个算例,独立运行本发明布局算法5次。在5次运行中,我们将
获得的最小圆形容器半径r0(mm)和运行时间Time(s)的平均值分别列于表2中,并与CA-
PSLS[Xu Y C,Xiao R B,and Amos M.Particle swarm algorithm for weighted
rectangle placement.Proceedings of the 3rd International Conference on
Natural Computation,Haikou,China,2007,728-732],GA[徐义春,董方敏,刘勇,肖人彬.
带平衡约束矩形布局优化问题的遗传算法.模式识别与人工智能,2010,23(6):497-801],
QPDAA[Li Z Q,Wang X F,Tan J Y,et al.A quasiphysical and dynamic adjustment
approach for packing the orthogonal unequal rectangles in a circle with a
mass balance:satellite payload packing.Mathematical Problems in Engineering,
2014,Volume 2014,ID:657170],以及HSA[刘景发,张振,薛羽,等.带静不平衡约束的正交
矩形布局问题的启发式退火算法.模式识别与人工智能,2015,28(7):626-632]进行比较。
从表2可以看出,在给出的8个算例中,本发明得到的圆形容器的半径比其他4种算法的结果
明显要优(用粗体显示)。尤其在矩形待布物个数为5,6,20,40,50,55,60这7个算例中,本发
明的效果更为明显,找到的容器半径比文献中的结果明显要好。对于算例1,本发明所得到
的最小容器半径比目前文献最好结果减少了(11.0824-10.9950)/11.0824×100%=
0.78%;对于算例2,本发明所得到的最小容器半径比目前文献最好结果减少了(13.9333-
13.8017)/13.9333×100%=0.94%;对于算例4,本发明所得到的最小容器半径比目前文
献最好结果减少了(21.6701-20.9603)/21.6701×100%=3.28%;对于算例5,本发明所得
到的最小容器半径比目前文献最好结果减少了(114.8825-111.8700)/114.8825 ×100%
=2.62%。算例6~8为文献中QPDAA算法单独计算的算例,本发明所得到的最小容器半径比
QPDAA算法获得的最好结果依次减少了3.2%,2.5%,3.0%。另外,本发明最优布局结果的
静不平衡量J(g·mm)依次为1.74*10-14,3.17*10-14,6.35*10-14,2.96*10-13,9.37*10-13,
2.50*10-12,6.76*10-12,1.66*10-12。所有布局的静不平衡量均小于10-11,其中前三个算例的
静不平衡量均小于10-13,这充分说明本发明算法所得最后的布局是符合质量平衡约束的。
对于各个算例的计算时间,由于进行实验的机器和编程语言不同,所以不便做详细的比较,
但是从表2中不难看出,本发明的运行时间至少与其他几种算法的运行时间是相当的。本发
明布局算法获得的规模最大的4个算例的最优布局如图6所示。
表2对于表1中8个算例,本发明布局算法与文献中其他几种布局算法找到的最小
容器半径r0(mm)与运行时间Time(s)比较
有益效果
本发明利用拟物思想将带质量平衡性能约束的矩形布局问题转化为无约束的优
化问题。以吸引盘填充算法(BF)为基础,使用拟人化的局部移动策略进行局部搜索,同时在
布局更新上使用了启发式选择策略和拟人化占角放置策略,得到一种新的布局算法。该发
明通过将全局搜索的改进的BF算法和拟人化局部移动策略相结合,优化了算法的整体效
率,有效地提高了布局的面积利用率。
附图说明
图1为航天舱旋转隔板上的矩形待布物布局示意图。(a)三维示意图;(b)二维示意
图;
图2为矩形待布物Ri和Rj之间的嵌入深度dij。嵌入深度dij被定义为能将矩形待布
物Ri和Rj变为不相交状态所需要在x或者y方向上移动的最短距离。(a)当两个矩形待布物相
离时,嵌入深度dij=0;(b)~(d)当两个矩形待布物Ri和Rj相交时,嵌入深度
(e)当矩形待布物Ri包含矩形待布物Rj时,嵌入深度
图3为矩形待布物Ri与圆形容器C0之间的嵌入深度di0。(a)当矩形待布物Ri在圆形
容器C0中时,嵌入深度di0=0;(b)当矩形待布物Ri与圆形容器C0相交时,嵌入深度
图4为矩形待布物Ri和Rj构成角∠aOb的示意图。(a)~(c)为Ri和Rj构成角∠aOb时
3种不同的方式;
图5为合法角和非法角。(a)矩形待布物Ri和Rj构成的一个角β是矩形待布物Rk的一
个合法角,(b)矩形待布物Ri和Rj构成的一个角β是矩形待布物Rk的一个非法角;
图6为本发明布局算法得到的规模最大的4个算例的最优布局结果图,其中(a)为
算例5的最优布局图,(b)为算例6的最优布局图,(c)为算例7的最优布局图,(d)为算例8的
最优布局图。
具体实施方式
下面将结合附图对基于拟人化策略带质量平衡约束的矩形布局方法作进一步的
详细描述。
具体步骤如下:
1)读入矩形待布物Ri的长li,宽wi和质量mi,i∈N={1,2,3,…,n},以及布局系统
允许的静态非平衡量δJ,其中n为矩形待布物的个数。设置圆形容器半径的上界
圆形容器半径的下界令圆形容器C0的半径
2)将带质量平衡性能约束的矩形布局问题转化为无约束优化问题。以航天舱的垂
直于舱的中心轴线的圆形隔板的中心为坐标原点建立笛卡尔坐标系(如图1所示),从而以
航天舱布局设计为背景的带质量平衡性能约束的矩形装填问题的形式化描述如下:
min r0 (1)
其中X=(x1,y1,α1,x2,y2,α2,...,xn,yn,αn)称为一个布局方案或格局,这里(xi,yi)
(i∈N)为矩形待布物Ri的中心坐标,αi(i∈N)为矩形待布物Ri的放置方位,在本发明中,令
αi=0或者π/2。αi=0表示矩形待布物Ri的长边与x轴平行,αi=π/2表示矩形待布物Ri的长边
与y轴平行。int(Ri)表示矩形待布物Ri的内部。假设所有矩形待布物为匀质,且质心与中心
重叠。(1)式表示要求装填n个矩形待布物的圆形容器C0的半径r0尽可能小,这里假设圆形容
器C0的圆心在航天舱圆形隔板的中心;(2)式表示矩形待布物Ri包含在圆形容器C0中;(3)式
表示两个矩形待布物Ri和Rj互相不重叠;(4)式表示布局后系统的静不平衡量小于给定的参
数值δJ。
基于拟物思想[Wang H Q,Huang W Q,Zhang Q A,et al.An improved algorithm
for the packing of unequal circles within a larger containing circle.European
Journal of Operational Research,2002,141(2):440-453],将所有矩形待布物以及圆形
容器壁均想象为光滑的弹性实体。由弹性力学可知:若两个不同待布物之间存在干涉(即互
相嵌入),那么它们之间的挤压弹性势能与它们之间互相嵌入深度的平方成正比。于是,整
个系统的挤压弹性势能为:
其中uij为矩形待布物Ri和Rj之间的挤压弹性势能,μ为一个物性系数,在本文中令
μ=1,dij为矩形待布物Ri和Rj之间的嵌入深度。
如果矩形待布物之间或者矩形待布物与圆形容器C0之间互相不嵌入(如图2和图3
中的(a)所示),那么它们之间的嵌入深度为0。否则,它们之间存在嵌入。嵌入深度的计算分
以下两种情况:
(i)当矩形待布物Ri和Rj相交(如图2中(b)~(d)所示)或矩形待布物Rj包含在矩形
待布物Ri内时(如图2中(e)所示),嵌入深度dij定义为能将矩形待布物Ri和Rj变为不相交状
态所需要在x或者y方向上移动的最短距离,即: 其中d1,d2,d3,d4分别表示
将Rj从上面、右面、下面和左面移出Ri所需要移动的最短距离;
(ii)当矩形待布物Ri与圆形容器C0之间存在嵌入时(如图3中(b)所示),那么嵌入
深度di0定义为能将矩形待布物Ri完全移入圆形容器中所需要移动的最短距离,即:
为了使布局系统满足质量平衡约束,引入一个静不平衡势能
其中l为惩罚系数,是一个很小的正数,为静不平衡量。
于是整个系统的势能可以表示为:
显然U(X)≥0。如果能得到一个格局X*,使得U(X*)=0,则X*显然满足约束条件
(2)-(4)。此时,X*就是一个可行的布局方案(即为一个可行解)。因此,如果我们可以使用一
种算法找到无约束优化问题min U(X)的最优布局,再使用二分法等有效方法确定圆形容器
半径r0,那么我们就能找到原始问题的最优解或近似最优解。
3)随机产生初始布局,也就是将n个矩形待布物,随机放入半径为r0的圆形容器
中。设矩形待布物中心点的坐标分别为(x1,y1),(x2,y2),…,(xn,yn),将X=(x1,y1,α1,x2,y2,
α2,...,xn,yn,αn)作为初始格局。令T=5K,λ=20,设置惩罚系数l。初始化直方图函数H(U
(X),t),计算U′(X)=U(X)+λ×H(U(X),t)。令迭代步数t=1,禁忌次数p=0。
4)对于当前格局X,使用改进的吸引盘填充算法(BF)进行布局的全局优化。本发明
中改进的BF算法基本操作为:格局更新,格局接受原则的设置,以及直方图更新操作。具体
操作方法为:
4.1)格局更新:主要包含选择操作,拟人化占角放置操作,拟人化局部移动操作和
禁忌操作。
4.1.1)选择操作:挑选出当前格局X=(x1,y1,α1,x2,y2,α2,...,xn,yn,αn)中相对挤
压弹性势能Pk=Ek/(lk+wk)最大的未被禁忌矩形待布物Rk, 这里表示第k个矩形
待布物Rk所受到其他n-1个矩形待布物和圆形容器C0施加于它的挤压弹性势能之和。
4.1.2)拟人化占角放置操作:基于围棋布局中“金角,银边,草肚皮”的思想,将挑
选的相对挤压弹性势能最大的矩形待布物Rk放置在合法角位置。主要包含计算当前格局X
中所有合法角的操作和占角放置操作。
4.1.2.1)计算当前格局X中所有合法角操作:计算出当前格局X中矩形待布物Rk的
所有合法角C(X,Rk),记为C={C1,C2,...,CL},其中L为合法角个数,令j=1,随机放置次数v
=0。
角的定义为:对于当前格局X中的任意两个矩形待布物Ri和Rj,如果Ri的一条边a
(或者这条边的延长线)与Rj的一条边b(或者这条边的延长线)垂直相交于点O,则以点O为
公共端点,a,b所在直线为分界线,得到4个区域,如果某个区域中有且仅有边a和b,则边a,b
和点O构成了矩形待布物Ri和Rj的一个角,记为∠aOb(如图4所示)。
合法角的定义:对于Ri和Rj所构成的角β,将矩形待布物Rk放置在角β上,如果存在
一种放置方式(横着放α=0,竖着放α=π/2)使Rk的一个内角与角β重叠,且Rk与Ri和Rj相邻
且不相交,则称角β为Rk的一个合法角(图5(a));否则,称角β为Rk的一个非法角(图5(b))。
4.1.2.2)占角放置操作:将Rk放置在合法角Cj上,得到格局X'。
4.1.3)拟人化局部移动操作:对于格局X',基于拟人化移动策略,并采用带回退和
加速策略的自适应步长梯度法[刘景发,李刚.求解带平衡性能约束的圆形填装问题的吸引
盘填充算法.中国科学:信息科学,2010,40(3):423-432]进行局部搜索,得到新格局Xnew。
拟人化移动策略:在现实生活一些拥挤的场合中,一个人后面和右面都有人挤着,
那么他可以在这两人的推挤下,向左前方向走一步,这样就不感觉拥挤了。但是他完全不必
这么大费周章,只需向左或者向前任意一个方向移动一步,也可以解决这个问题。显然,这
样的移动更加简单和高效。基于此拟人化策略,在本发明中,矩形待布物之间嵌入深度被表
示为能将矩形待布物Ri和Rj变为不相交状态所需要在x或者y方向移动的最短距离。于是,在
采用自适应步长梯度法进行局部移动的过程中,当某个矩形待布物受到其他任意矩形待布
物对它的挤压时,这个矩形待布物只会朝着x或者y一个方向进行移动。
回退策略:在采用自适应步长梯度法进行局部移动的过程中,如果新产生格局的
能量大于前一格局的能量,则不接受新格局为当前格局,此时回退到前一格局,继续执行自
适应步长梯度法。
加速策略:在梯度法中,如果连续3次迭代搜索到新格局的能量都是下降的,则将
步长h乘以一个加速因子u(u>1),这样能够提高梯度法的搜索速度。
4.1.4)根据格局接受原则4.2)判断Xnew是否被接受,之后使用直方图更新操作
4.3)进行直方图的更新。如果Xnew不被接受,则令j=j+1,转步骤4.1.5);否则,令当前格局X
=Xnew,转步骤4.1.1)。
4.1.5)如果j≤L,则转步骤4.1.2.2);否则,令v=v+1,转步骤4.1.6)。
4.1.6)禁忌操作:如果v≤3,则将挑选的矩形待布物Rk的中心随机放置在圆形容
器C0的空白区域内,放置方式为该矩形待布物的长边与x轴平行或垂直,将得到的格局记为
X',转步骤4.1.3);否则,将当前格局中相对挤压弹性势能最大的矩形待布物Rk禁忌,令p=
p+1,转步骤4.1.7)。
4.1.7)如果在当前格局中所有矩形待布物均被禁忌,即p=n,则重新随 机产生初
始布局。转步骤4.1)。
4.2)格局接受原则:如果新格局Xnew的能量U(Xnew)低于当前格局X的能量U(X),就
无条件地接受Xnew;否则,按照是否满足random(0,1)<exp{[U′(X)-U′(Xnew)]/λT}而决定是
否接受新格局Xnew,这里random(0,1)是(0,1)中任意随机数。
4.3)直方图更新操作:如果新格局Xnew被接受,则更新Xnew的直方图函数值,即令H
(U(Xnew),t)=H(U(Xnew),t)+1;否则,更新当前格局X的直方图函数值,即令H(U(X),t)=H(U
(X),t)+1。
4.4)重复步骤4.1)-4.4)直到下列条件之一成立时,改进的BF算法就结束。(1)算
法找到目标函数U(X)的全局最优解,即当U(X)≤10-20时,则令(2)当算法迭代步数t>
106时,令r=r0。如果上述条件(1)和(2)不成立,则释放所有被禁忌的矩形待布物,令t=t+
1,p=0,转步骤4.1)。
5)如果则输出圆形容器半径r0和最终格局的图形;否则令
转步骤4)。
上述步骤4)中的具体实施步骤如下:
(1)挑选出当前格局X中相对挤压弹性势能Pk最大的未被禁忌的矩形待布物Rk。
(2)找出当前格局X中矩形待布物Rk的所有合法角C(X,Rk),记为C={C1,C2,...,
CL},其中L为合法角个数,令j=1,v=0。
(3)将Rk放置在角Cj上,得到格局X'。
(4)对于格局X',基于拟人化移动策略,采用带回退和加速策略的自适应步长梯度
法进行局部搜索,得到新格局Xnew。
(5)计算新格局的能量U(Xnew),令U′(Xnew)=U(Xnew)+λ×H(U(Xnew),t)。
(6)如果U(Xnew)<10-20,则成功找到可行解Xnew,令否则,如果U(Xnew)<U(X),
则接受Xnew,令当前格局X=Xnew,更新直方图函数H(U(Xnew),t),转(11);否则,转(7)。
(7)如果random(0,1)<exp{[U′(X)-U′(Xnew)]/λT},则接受Xnew,令当前格局X=
Xnew,更新直方图函数H(U(Xnew),t),转(11);否则不接受Xnew,当前格局仍为X,更新直方图函
数H(U(X),t),令j=j+1,转(8)。
(8)如果j≤L,则转(3);否则,令v=v+1,转(9)。
(9)如果v≤3,则将矩形待布物Rk随机放置在圆形容器中的空白区域内,得到格局
X',转(4);否则,将新格局Xnew中相对挤压弹性势能最大的矩形待布物Rk进行禁忌,令p=p+
1,转(10)。
(10)如果p=n,则重新随机产生初始布局。转(1)。
(11)如果t<106,则释放所有被禁忌的矩形待布物,令t=t+1,p=0,转(1);否则,
令r=r0。