软件学报  2018, Vol. 29 Issue (2): 283-298   PDF    
带静不平衡约束的矩形装填问题的启发式算法
刘景发1,2, 刘思妤1,2     
1. 江苏省网络监控工程中心(南京信息工程大学), 江苏 南京 210044;
2. 南京信息工程大学 计算机与软件学院, 江苏 南京 210044
摘要: 卫星舱布局问题不仅是一个复杂的耦合系统设计问题,也是一个特殊的优化问题,具有NP难度性.解决这类问题最大的挑战在于需要优化的目标函数具有大量被高能势垒分隔开的局部极小值点.Wang-Landau(WL)抽样算法是一种改进的蒙特卡罗方法,已被成功地运用于蛋白质结构预测等优化问题.以卫星舱布局优化问题为背景,将WL抽样算法引入矩形装填问题的求解.针对矩形装填物的特点,提出了启发式格局更新策略,以引导抽样算法在解空间中进行有效行走.为了加速搜索全局最优解,每次蒙特卡罗扫描生成新的布局时,就执行梯度法进行局部搜索.通过将局部搜索机制、启发式格局更新策略与WL抽样算法相结合,提出了一种用于解决带静不平衡约束的任意矩形装填问题的启发式布局算法.在布局优化过程中,通过在挤压弹性势能的基础上增加静不平衡量惩罚项并采用质心平移的方法,使布局系统的静不平衡量达到约束要求.为了改进算法的搜索效率,还提出了改进的有限圆族法,用于装填物之间的干涉性判断和干涉量计算.通过对文献中两组共10个有代表性的算例进行实算,计算结果表明,所提出的装填算法是一种求解带静不平衡性能约束的任意矩形装填问题的有效算法.
关键词: 静不平衡约束     Wang-Landau抽样算法     启发式策略     卫星舱布局    
Heuristic Algorithm for the Rectangular Packing Problem with Static Non-Equilibrium Constraint
LIU Jing-Fa1,2, LIU Si-Yu1,2     
1. Jiangsu Engineering Center of Network Monitoring(Nanjing University of Information Science and Technology), Nanjing 210044, China;
2. School of Computer and Software, Nanjing University of Information Science and Technology, Nanjing 210044, China
Foundation item: National Natural Science Foundation of China (61373016); Six Talent Peaks Project of Jiangsu Province (DZXX-041); National Social Science Foundation of China (16ZDA047)
Abstract: Layout design of satellite module is not only a complex coupling system design problem but also a special optimization problem. It is considered to be NP-hard. The most challenge of solving this problem is that the objective function to be optimized is characterized by a multitude of local minima separated by high-energy barriers. The Wang-Landau (WL) sampling method is an improved Monte Carlo method, which has been successfully applied to solve the protein structure prediction and other optimization problems. Taking satellite layout design as case study, this paper introduces the WL sampling method to solve the rectangular packing problem. In order to guide the WL sampling algorithm to random walk effectively in solution space, rectangular objects-oriented heuristic layout update strategies are proposed. To accelerate the search for the global optimal layout, the gradient method is executed for local search once the Monte-Carlo sweep produces a new layout. By incorporating the local search mechanism and heuristic layout update strategies into the WL sampling algorithm, a heuristic Wang-Landau sampling algorithm is constructed to solve the arbitrary rectangular packing problem with the static non-equilibrium constraint. By adding a static non-equilibrium penalty term on the basis of the extrusive elastic energy, and adopting the translation of the center of mass, the static non-equilibrium constraints of the whole system can be satisfied. Furthermore, to improve the efficiency of the algorithm significantly, an improved finite-circle method is presented to judge and calculate the overlapping depth among objects. The computational results of two sets of benchmarks consisting of ten representative instances from the literature show that the proposed packing algorithm is effective.
Key words: static non-equilibrium     Wang-Landau sampling algorithm     heuristic strategy     layout of satellite module    

装填问题研究的是给定一个待布局区域和若干待装填物体(以下简称装填物), 问如何将这些装填物合理地摆放在布局区域中, 以满足必要的约束条件(如干涉性约束、性能约束等).例如, 给定一些集装箱和有限多的物件, 装填问题研究的是如何将所有物件相互间没有嵌入地放入集装箱中, 并且要求使用的集装箱数量最少[1, 2].此问题和经典的背包问题、cutting stock问题及loading问题非常类似, 以至于很难精确地划分它们之间的界限, 如存在于裁衣、木料、钢材、玻璃和纸张等行业的cutting stock问题[3], 它和装填问题的最终目标都是在满足一定约束的前提下, 使得边角废料最小, 从而给企业带来最大的效益.除此之外, 装填问题还涉及现实生活中的许多其他方面和行业, 如大规模电路装填设计、房屋装修设计、工厂设备布局、航空航天设备装载[4-6]等.

装填问题从布局区域的维数来分, 可分为二维、三维和四维问题[7]等; 从布局区域的形状来分, 可分为圆形、矩形、三角形和任意的多边形区域等; 从装填物的种类来分, 可分为圆形、矩形、三角形和不规则形状物体; 对于矩形装填物, 从放置的方式来分, 可分为正交放置和任意放置; 从布局系统有无性能(如平衡性、惯性、稳定性等)约束来分, 又可分为不带性能约束的布局和带性能约束的布局.关于装填问题, 目前多数文献[8-11]是研究二维或三维矩形物体在矩形容器中的装填布局, 而且多为不带性能约束的装填问题.本文主要研究带平衡性能约束的任意矩形的装填问题.该问题是一类Non-Deterministic Polynomial(NP)难度问题[12], 且有着深刻的应用背景.在一个带自旋的返回式卫星舱内(如图 1(a)所示), 要求将一些事先给定的装填物(如仪器、设备等有效部件)分配到旋转的卫星舱内.假设各装填物均为长方体, 且在卫星舱的垂直于舱的中心轴线的圆形承载板上进行布局.当考虑问题的二维形式, 即长方体简化为矩形装填物时, 简化卫星舱布局问题就转变为带静不平衡性能约束的矩形装填问题[13], 如图 1(b)所示.

Fig. 1 Diagrammatic sketch of the layout of objects on the rotated supporting board within the simplified satellite module 图 1 简化卫星舱旋转承载板上装填物的布局示意图

对于带性能约束的矩形装填问题, 近年来一些学者进行了研究, 并提出了一些求解算法.1999年, 冯恩民等人[13]应用图论和群论等数学知识描述了装填问题的一些内在性质, 首次给出了带性能约束的矩形装填问题的一种全局优化算法.同年, 翟金刚等人[14]给出并证明了矩形图元装填优化不干涉性的判别定理, 并据此构造了求解矩形装填问题的不干涉遗传算法.2001年, 滕弘飞等人[15]对于矩形的动态不干涉判断问题, 应用不适合多边形(no-fit-polygon, 简称NFP)法, 提出了相对运动的矩形与矩形装填物之间的动态不干涉的判别条件, 并给出了其NFP顶点的简洁计算公式和相应的不干涉算法.2007年, Xu等人[16]首先采用压缩算法产生合法的初始格局, 然后应用粒子群算法进行装填优化.2010年, 徐义春等人[17]设计了一种布局定位的构造方法, 并将其与经过特别设计的遗传算法相结合, 提出了一种基于遗传算法的布局顺序寻优算法.2011年, 黄振东等人[18]将带压缩策略的动态匹配算法与粒子群优化算法相结合, 并将整个装填过程分为4个阶段, 相应地将圆形容器分为8个区域, 构造了一种混合算法.2012年, Zeng等人[19]采用启发式策略将圆形容器划分为4个部分, 然后根据最左最底填充策略去放置矩形布局物, 构造了一种启发式萤火虫优化算法.2012年, Liu等人[20]提出了一种结合占角和二分搜索策略的改进的禁忌搜索算法.2014年, Li等人[21]针对带质量平衡约束的正交矩形布局问题, 提出了一种基于拟物策略的动态调整布局方法.

Wang-Landau抽样算法[22]是一种基于频数直方图抽样的Monte Carlo算法.该算法通过面向搜索空间的随机抽样而得到一个近似平坦的频数直方图来确定布局系统的状态密度函数.本文将基于矩形的启发式格局更新策略、局部搜索机制、质心平移策略等启发式策略与Wang-Landau抽样算法相结合, 提出了一种用于解决带静不平衡约束的矩形装填问题的启发式布局算法.通过对文献中的两组共10个算例进行测试, 计算结果表明, 所提出的布局算法是一种有效算法.

1 问题描述与模型转化

本文主要研究以卫星舱装填为背景的带静不平衡约束的任意矩形装填问题.该问题要求在圆形容器(即卫星舱圆形承载板)上布置若干矩形装填物, 需要满足如下的约束要求.

(a)   装填物与装填物之间, 装填物与圆形容器之间互不干涉;

(b)   装填物尽量向圆形容器中心聚集;

(c)   装填后整个系统满足静不平衡约束.

问题具体描述如下:给定n个矩形装填物Ri(i=1, 2, ..., n), 其长度、宽度和质量分别为li, wimi, 要求将它们相互之间不干涉地任意放置于半径为R0的圆形容器C0中(如图 1(b)所示), 且在放置后整个装填系统满足静不平衡约束(即$J = \sqrt {{{\left( {\sum\limits_{i = 1}^n {{m_i}{x_i}} } \right)}^2} + {{\left( {\sum\limits_{i = 1}^n {{m_i}{y_i}} } \right)}^2}} \le \delta ( > 0)$)的条件下, 使得容器的半径R0尽可能地小.静不平衡约束, 即Jδ的物理意义是, 由圆形容器(即卫星舱的旋转承载板)内各矩形装填物的偏心质量所产生的静不平衡量J(或不平衡的离心力的大小)是在允许值范围内.J的值越小, 整个系统就越满足静平衡约束; 当J=0时, 整个系统处于静平衡.

以圆形容器C0的中心为坐标原点, 建立如图 2所示的笛卡尔坐标系.

Fig. 2 Layout of one rectangle placed arbitrarily 图 2 矩形任意放置示意图

用(xi, yi)表示矩形装填物Ri的中心坐标, 用θi表示矩形装填物Ri的长边所在直线与x轴正向所形成的夹角.用D(o, i)表示矩形装填物Ri的4个顶点A, B, C, D到坐标原点o(0, 0)的最大距离.令X=(x1, y1, θ1, x2, y2, θ2, …, xn, yn, θn)表示所有矩形装填物的位置及放置方式, 也就是表示一个格局.

借鉴拟物思想[23], 将圆形容器和所有矩形装填物均视为弹性物体.令uij(i < j, i, j=1, …, n)表示矩形装填物RiRj之间的挤压弹性势能, u0j(j=1, …, n)表示圆形容器C0与矩形装填物Rj之间的挤压弹性势能.dij(i, j=1, …, n, ij)表示矩形装填物RiRj之间的干涉量, d0j(j=1, 2, …, n)表示圆形容器C0与矩形装填物Rj之间的干涉量.显然, dij=dji, d0j=dj0.当矩形装填物RiRj(或矩形装填物Rj与圆形容器C0)之间相互嵌入时, ${u_{ij}} = \mu d_{ij}^2$(i < j, i, j=0, 1, …, n), 其中, μ是一个弹性系数, 本文不妨设μ=1.这样, 整个装填系统的挤压弹性势能可定义为

$ {U_1}(X) = \sum\limits_{i = 0}^{n-1} {\sum\limits_{j = i + 1}^n {{u_{ij}}} } = \sum\limits_{i = 0}^{n-1} {\sum\limits_{j = i + 1}^n {d_{ij}^2} } . $

为了使装填系统满足静不平衡约束, 引入一个静不平衡势能函数U2(X)作为惩罚项:

$ {U_2}(X) = l{J^2} = l\left[{{{\left( {\sum\limits_{i = 1}^n {{m_i}{x_i}} } \right)}^2} + {{\left( {\sum\limits_{i = 1}^n {{m_i}{y_i}} } \right)}^2}} \right], $

其中, l是惩罚系数, 根据经验, 一般取l∈[10-6, 10-4]之间的一个正数.这样, 整个系统的势能为

$ U(X) = {U_1}(X) + {U_2}(X) = \sum\limits_{i = 0}^{n- 1} {\sum\limits_{j = i + 1}^n {d_{ij}^2} } + l\left[{{{\left( {\sum\limits_{i = 1}^n {{m_i}{x_i}} } \right)}^2} + {{\left( {\sum\limits_{i = 1}^n {{m_i}{y_i}} } \right)}^2}} \right]. $

显然, 当U(X)=0时, 整个装填系统的挤压弹性势能和静不平衡量均等于0, 此时, 格局X同时满足原来带静不平衡约束的任意矩形装填问题的不干涉性约束和静不平衡约束.因此, 如果能够提出一种优化算法, 当运用该算法对minimize U(X)进行求解时, 若能找到一个格局X*, 使得U(X*)近似为0, 我们就能得到原来问题的一个可行解; 然后, 再用二分法或质心平移法等有效方法得到圆形容器的最小半径.

下面我们将讨论如何计算dij.

2 干涉性判断和干涉量计算

有限包络圆族法[24-26]是由西北工业大学张卫红等人针对多边形装填问题提出的一种自动化建模方法, 它的核心思想是将装填物统一划分为圆形装填物.这是由于圆形装填物之间几何关系相对简单, 通过圆心距离和圆的半径就可以判断两个圆形装填物之间是否干涉, 并能给出相应的干涉量.相对来说, 矩形装填物之间的干涉性判断就要复杂得多, 特别是对于任意的放置方式, 更是难以判断.因此, 如果能将矩形装填物转化为圆形装填物, 那么问题的难度将会大为降低.

有限包络圆族法通过二分法、三步划分法和带间隙的改进的三步划分法将矩形装填物划分为大小不同、数量有限的包络圆族.这种方式使得划分的圆族和原来的矩形装填物的轮廓基本相当, 能够接近于原来矩形装填物的尺寸.但是如果采用这个办法, 在实际的装填过程中, 无论是确定圆族中每个包络圆的半径, 还是圆心坐标都比较困难, 计算量也特别大, 所以不利于实际运用.鉴于此, 本文对矩形装填物提出了一种更加简单的划分方式, 虽然在外包络精度上不及原始有限包络圆族法, 但在实际运用上要简单得多, 便于实现, 实验结果表明, 该改进方法也非常有效.

改进的有限包络圆族法去除了原有的三步划分等繁琐步骤, 直接根据矩形装填物的边长和中心对其进行划分.为了便于理解, 我们首先将矩形装填物分为正方形和长方形, 然后分别针对正方形和长方形, 采用有限圆族进行划分, 具体步骤如下.

Step 1.  比较矩形装填物两相邻边长度, 若两边长度相等, 则为正方形, 转Step 2;否则为长方形, 转Step 3.

Step 2.  如图 3所示, 以正方形A的中心为圆心、边长的1/2为半径, 画一个内切圆c1.然后, 以正方形的一个角的角平分线上的一点为圆心、边长的1/4为半径, 画一个过此角的顶点及其相邻两条边的角圆c2.同理可以得到其他3个角的角圆c3, c4c5.这样, 得出的圆族将正方形A进行了近似划分.

Fig. 3 Process of dividing one square 图 3 正方形的划分过程

Step 3.  如图 4所示, 首先, 以长方形B的一个角的角平分线上的一点为圆心, 画一个过此角顶点和过其相邻短边的中点的角圆c1(如图 4(b)所示).同理可画出其他3个角的角圆c2, c3c4(如图 4(c)所示).然后, 以长方形两条长边c, d的对称轴上一点为圆心、长方形宽的1/2为半径, 画一个与短边a和两条长边c, d内切的圆c5(如图 4(d)所示).接着, 在这个圆的基础上, 画一个过圆c5的圆心并且与两条长边内切的圆c6(如图 4(e)所示).依此方法画圆ci(7≤ik), 即圆ci经过圆c(i-1)的圆心, 并与两条长边相切, 直至圆ck.若圆ck与短边b相交, 则放弃圆ck, 重新画与b和两条长边相切的圆ck.最后, 以圆ck、圆c(k-1)的圆心连线的中点为圆心, 画与两条长边相切的圆c(k+1).从而得到一系列圆c1, c2, …, c(k+1).显然, 圆族(c1, c2, …, c(k+1))将长方形B进行了近似划分.

Fig. 4 Process of dividing one rectangle 图 4 长方形的划分过程

例如, 在图 4(e)中, 由于圆c7与短边b相交, 所以放弃圆c7, 重新从边b开始, 画一个与边b和两条长边c, d内切的圆c7(如图 4(f)所示).然后, 以圆c7和圆c6圆心之间连线的中点为圆心、长方形宽的1/2为半径, 画一个圆c8(如图 4(g)所示).这样, 得到的圆族(c1, c2, …, c8)将长方形B进行了划分.

对于其他长方形可类似地得到相应的划分圆族.图 5列举了一个算例在采用改进的有限包络圆族法时的实际划分示意图.显然, 采用上述有限圆族划分方法对矩形装填物进行划分, 可得到原矩形装填物的近似轮廓.这样, 两矩形装填物的干涉性判断和干涉量计算即可通过圆族的干涉性判断和干涉量计算来得到.需要注意的是:在将矩形装填物划分为若干圆形后, 这些圆形将作为一个整体进行相应的运动(移动、转动等).

Fig. 5 Diagrammatic sketch of the improved finite-circle method 图 5 改进的有限包络圆族划分示意图

划分圆族后的矩形装填物的干涉性判断与干涉量的计算过程如下.

若矩形装填物RsRt划分后的圆族分别为M(M1, …, Mi, …, Mm)和N(N1, …, Nj, …, Nn), 这里, m, n分别代表所划分圆族中包含的圆形个数.判断矩形装填物RsRt之间是否干涉的伪代码如下.

for (i=1; im; i++)

  for (j=1; jn; j++){

  if (${r_{{M_i}}} + {r_{{N_j}}} > \sqrt {{{({x_{{M_i}}}-{x_{{N_j}}})}^2} + {{({y_{{M_i}}}-{y_{{N_j}}})}^2}} $); //此式表示两圆MiNj的半径${r_{{M_i}}}, {r_{{N_j}}}$之和大于其圆心距离

    return两矩形装填物RsRt之间存在干涉;

  }

return两矩形装填物RsRt之间不干涉.

若判断出矩形装填物RsRt之间存在干涉, 则它们之间的干涉量可通过如下伪代码求得.

dst=0; //这里, dst表示矩形装填物RsRt之间的干涉量

for (i=1; im; i++)

  for (j=1; jn; j++){

    ${d_{st}} = {d_{st}} + {r_{{M_i}}} + {r_{{N_j}}}-\sqrt {{{({x_{{M_i}}}-{x_{{N_j}}})}^2} + {{({y_{{M_i}}}-{y_{{N_j}}})}^2}} $

  }

return dst;

根据圆形装填物之间的干涉性判断方法, 将矩形装填物Rs划分圆族M中的每个圆Mi与矩形装填物Rt划分圆族N中的每个圆Nj分别进行判断, 若它们之间存在干涉, 则计算相应的干涉量, M中所有圆的干涉量之和就是矩形装填物RsRt之间的干涉量dst.采用类似方法可求得矩形装填物RtRs之间的干涉量dts, 显然, dst=dts.矩形装填物Rs与其他所有矩形装填物之间的干涉量之和为$\sum\limits_{i = 1, i \ne s}^n {{d_{si}}}, $这里, n为所有矩形装填物的个数.

判断矩形装填物Rs和圆形容器C0之间是否干涉的伪代码如下.

for (i=1; im; i++){

  if ($\sqrt {x_{{M_i}}^2 + y_{{M_i}}^2} > {R_0}-{r_{{M_i}}}$); //此式表示两圆心的距离大于圆形容器C0的半径R0与圆族中圆Mi的半径rMi的差

    return矩形装填物Rs和圆形容器C0干涉;

}

return矩形装填物Rs和圆形容器C0之间不存在干涉;

若判断出矩形装填物Rs与圆形容器C0之间存在干涉, 则它们之间的干涉量由下面的伪代码求得.

ds0=0; //这里, ds0表示矩形装填物Rs和圆形容器C0之间的干涉量

for (i=1; im; i++){

    ${d_{s0}} = {d_{s0}} + {r_{{M_i}}}-{R_0} + \sqrt {x_{{M_i}}^2 + y_{{M_i}}^2} $

}

return ds0;

显然, ds0=d0s, 且矩形装填物Rs的干涉量${D_s} = \sum\limits_{i = 0, i \ne s}^n {{d_{si}}} .$

3 任意矩形装填问题的启发式Wang-Landau抽样算法 3.1 Wang-Landau抽样算法

Wang-Landau(WL)抽样算法是由Wang和Landau[22]于2001年提出的一种蒙特卡罗(MC)方法.传统的MC算法只能在固定的温度下产生正则分布, 要想得到高质量的解, 必须在不同的温度下运行多次(如模拟退火算法), 非常耗时; 而WL抽样算法与温度无关, 它是通过一定的接受准则在整个能量空间随意行走而得到一个平坦的能量直方图, 从而确定系统的能量状态密度g(E), 这样就可以有效地减少计算时间.WL抽样算法的理论基础是, 能量E被访问的概率与其能量状态密度g(E)的倒数1/g(E)成正比.

在WL抽样算法的开始阶段, 所有可能的能量和状态密度函数g(E(X))都是未知的.状态密度函数在算法迭代过程中自适应地更新.如果一次MC随机行走找到了一个新的能量, 我们就将该能量标记为已访问过的能量, 并把它的状态密度和相应的直方图函数设置为1.因为本文中能量的值为正实数, 所以我们把所有可能的能量划分到有限的区间内.例如, 把[0, 5000)划分成5 000个独立的区间, 所有大于等于5 000的能量划分到一个单独的能量区间, 从而得到5 001个能量区间:[0, 1), [1, 2), …, [4999, 5000), [5000, 5000+).为简单起见, 把能量区间[⌊E(X)⌋, ⌈E(X)⌉)标记为[E(X)], 其中, ⌊E(X)⌋是E(X)的向下取整值, ⌈E(X)⌉是E(X)的向上取整值.例如, E(X)=4.523处于能量区间[4, 5)中, 记为[4.523].将WL抽样算法应用于本文任意矩形装填问题, 其基本过程如下.

首先, 随机产生一个初始格局X1, 然后通过启发式格局更新策略(见第3.2节)产生新的格局X2.格局X2被接受的概率为:$p({X_1} \to {X_2}) = \min (g(E({X_1}))/g(E({X_2})),1) = \min ({{\rm{e}}^{\ln g(E({X_1})) - \ln g(E({X_2}))}},1).$如果X2被接受, 那么将g(E(X2))乘以一个修正因子fi, 并将其直方图函数H(E(X2))加1, 即g(E(X2))=fi×g(E(X2)), H(E(X2))=H(E(X2))+1(i的初始值为0);如果X2没有被接受, 那么令g(E(X1))=fi×g(E(X1)), H(E(X1))=H(E(X1))+1.在本文中, 我们设置f0=e=2.7182.WL抽样算法的收敛速度是由直方图的平坦度控制的, 然而实际操作中, 想要获得一个绝对平坦的直方图是非常困难的.在WL抽样算法中, 所谓平坦的直方图是指所有H(E(X))的值不小于直方图的平均值〈H([E(X)])〉的k(0 < k < 1)倍, 其中, k是由系统的复杂度和期待的g(E(X))的准确度决定的.在本文中, 我们设置k=0.8, 并在每103次MC迭代后检查直方图是否近似平.如果直方图近似平坦, 则使用某单调递减函数(如${f_{i + 1}} = \sqrt {{f_i}} $)将修正因子fi缩小为一个更小的值, 然后将所有访问过的能量区间[E(X)]所对应的H([E(X)])清零, 然后开始下一次随机行走.当修正因子fi小于阈值ffinal时, 算法终止.此时, g(E(X))以某一精度收敛于其真实值.ffinalg(E(X))的控制参数, 并决定了WL抽样算法的MC迭代次数.如果ffinal过小, 那么模拟过程将花费很长的时间; 反之, 如果ffinal过大, g(E(X))就不能收敛于其真实值.在本文中, 我们设置ffinal=0.0001.另外, 由于在实际计算中g(E(X))的值会变得很大, 以至于超出双精度的数字所能表示的范围, 所以本文选择用包含有对数的公式来更新g(E(X)), 即令

lng(E(Xi))=lnfi+lng(E(Xi)), i=1或2.

3.2 启发式格局更新策略

在Wang-Landau抽样算法执行过程中, 需要不断产生新的格局, 本文根据矩形装填物的特点, 提出了如下启发式格局更新策略.

策略1.  挑选出当前格局X中相对挤压弹性势能Ei/Si最大的矩形装填物Ri, 并将其重新放置, 其中,

${E_i} = \sum\limits_{j = 0}^n {d_{ij}^2} $表示第i个矩形装填物受到的挤压弹性势能, Si为第i个矩形装填物的面积.

策略2.  在圆形容器内随机产生100个空位点(空位点表示该点位于圆形容器内, 但不在任何矩形装填物内), 将挑选出的矩形装填物Ri的中心“试放”在每一个空位点上, 这里, “试放”包括该矩形装填物的长边与x轴水平或垂直放置两种方式, 找出使Ri挤压弹性势能最小的空位点及相应的放置方式, 并正式将Ri的中心放在该空位点上, 产生一个新的格局X*.

策略3.  对于挑选的相对挤压弹性势能最大的矩形装填物Ri, 若通过策略2(即每次均从100×2个试放位置中挑出挤压弹性势能最小的方位)正式放置3次, 每次均没有得到可接受的格局, 则下次将不再挑选该矩形装填物, 而是从其他矩形装填物中任选一个进行重新放置.这种策略可以避免算法在执行的过程中反复挑选同一个矩形装填物而找不到合适的放置位置, 避免死循环.

3.3 局部搜索机制

当用启发式格局更新策略产生新的格局X*后, 为了得到X*附近势能更低的格局, 本文在X*基础上执行局部搜索算法——基于自适应步长的梯度法GM(X*)[27, 28], 以加速Wang-Landau抽样算法对全局最优格局的搜索.

3.4 质心平移

为了使装填后的系统满足约束条件, 且使静不平衡量尽可能地小, 我们将执行Wang-Landau抽样算法得到的合法格局X'(称满足E(X') < 10-10的格局X'为合法格局)进行质心平移, 并计算平移后新格局的外包络圆半径.具体步骤如下.

Step 1.  计算格局X'的质心o'(x0, y0), 其中,

$ {x_0} = \frac{{\sum\limits_{i = 1}^n {{m_i}{x_i}} }}{{\sum\limits_{i = 1}^n {{m_i}} }}, {y_0} = \frac{{\sum\limits_{i = 1}^n {{m_i}{y_i}} }}{{\sum\limits_{i = 1}^n {{m_i}} }} $

这里, xiyi分别表示矩形装填物Ri中心的横坐标和纵坐标, mi表示Ri的质量.

Step 2.  将新得到的格局的质心o'(x0, y0)平移至原始坐标系中心o(0, 0)上, 同时, 将所有矩形装填物看作一个整体进行相应的平移.

Step 3.  计算中心o到每个矩形装填物Ri的4个顶点的最大距离D(o, i), 令${R_{\max }} = \mathop {\max }\limits_{i \in \left\{ {1, 2, ..., n} \right\}} \{ D(o, i)\} .$这样, 新得到的格局的外包络圆半径即为Rmax.

3.5 启发式Wang-Landau抽样算法步骤描述

以Wang-Landau抽样算法作为全局搜索算法, 并结合上述的启发式策略和局部搜索机制, 即得到本文求解带静不平衡约束的任意矩形装填问题的布局算法——启发式Wang-Landau(hWL)抽样算法.算法具体步骤如下.

Step 1.  随机产生一个初始格局X1, 将格局中的所有矩形装填物采用改进的有限包络圆族法进行划分, 并计算相应的能量U(X1).令访问过的能量所在能量区间的集合S={[U(X1)]}, 令状态密度函数g(U(X1))=1, 直方图函数H([U(X1)])=1.令i=0, l=0, f0=e > 1, k=0.8, ε=10-10.

Step 2.  在当前格局X1中挑选Ei/Si最大的矩形装填物Ri, 这里, Ei为第i个矩形装填物受到的挤压弹性势能, Si为第i个矩形装填物的面积.备份当前格局X1.

Step 3.  采用启发式格局更新策略2将挑选出的矩形装填物Ri进行重新放置, 得到一个新的格局X*.

Step 4.  基于X*执行自适应步长梯度法, 得到格局X2, 计算U(X2), 令g(U(X2))=1, H([U(X2)])=1, l=l+1.

Step 5.  若U(X2) < ε, 即X2为合法格局, 则在格局X2基础上进行质心平移, 得到新的格局X3, 计算新格局的外包络圆半径Rmax, 保存X3及格局图形, 成功退出; 否则, 转Step 6.

Step 6.  如果[U(X2)]∉S, 则令S=S∪{[U(X2)]}.

Step 7.  判断新格局是否被接受, 接受概率为

$ p({X_1} \to {X_2}) = \min \left( {\frac{{g(U({X_1}))}}{{g(U({X_2}))}}, 1} \right) = \min \left( {{{\rm{e}}^{\ln g(U({X_1}))-g(U({X_2}))}}, 1} \right). $

如果random(0, 1) < $\min ({{\rm{e}}^{\ln g(U({X_1}))-g(U({X_2}))}}, 1), $则接受X2; 否则, 不接受X2.

Step 8.  更新状态密度函数g(U(X))和直方图函数H([U(X)]), 具体方法如下.

●  若X2被接受, 则令ln(g(U(X2)))=lnfi+ln(g(U(X2))), H([U(X2)])=H([U(X2)])+1;

●  否则, 令ln(g(U(X1)))=lnfi+ln(g(U(X1))), H([U(X1)])=H([U(X1)])+1.转Step 9;

Step 9.  如果l%1000=0, 则转Step 10;否则, 转Step 2.

Step 10.  如果H([U(X)])变得近似平, 即对能量区间集S中所有的[U(X)], 如果H([U(X)])≥kH([U(X)])〉, 这里, 〈H([U(X)])〉表示平均直方图, 即所有直方图频数的平均值, 则转Step 11;否则, 转Step 2.

Step 11.  令${f_{i + 1}} = \sqrt {{f_i}}, $i=i+1.

Step 12.  如果fi < 1.0001, 则失败停机; 否则, 对能量区间集S中所有[U(X)], 恢复H([U(X)])=0, 而g(U(X))值保留, 转Step 2.

4 实验结果与分析

为了检验启发式Wang-Landau抽样算法在解决带静不平衡约束的任意矩形装填问题上的性能, 我们在Myeclipse平台上, 采用Java语言编程实现该算法, 并在Core2, 2.94GHz CPU, 2GB RAM的PC机上运行.本文分别测试了两组算例:第1组包含8个算例, 装填物皆为矩形; 第2组包含2个算例, 装填物既有矩形也有圆形.这10个算例既包含小规模算例, 又包含大规模算例, 是测试带静不平衡性能约束的任意矩形装填问题的典型算例.

4.1 任意矩形装填物布局的结果与分析

表 1列举了第1组8个算例的矩形数以及各矩形装填物的长、宽和质量.

Table 1 Parameters of the first set of instances 表 1 第1组测试算例的参数

我们使用hWL算法对每个算例分别运行5次.将5次运行获得的平均圆形容器半径R0(mm)、平均静不平衡量J(g.mm)和平均运行时间T(s)分别列于表 2中, 并与文献中遗传算法(GA)[14]、粒子群(PSO)算法[29]、带压缩策略并结合局部搜索的粒子群(CA-PSLS)算法[29]、改进的遗传算法(IGA)[30]和模拟退火算法(SA)[29]的计算结果形成对比.

Table 2 Comparison of computational results by 6 algorithms for the first set of 8 instances 表 2 6种不同算法求解第1组8个算例的计算结果比较

表 2不难看出, 由于任意矩形装填问题(不同于正交矩形装填问题)的复杂性, 所以多年来的研究成果并不是很多.在已有的研究成果中, GA和IGA只计算了较小规模的算例.文献中, 研究者使用复杂的数学知识, 通过推导、证明, 然后判断两个矩形装填物之间是否干涉, 并构造了相应的不干涉判别算法.这种方法在装填物个数较小的情况下能够适用, 并且可以取得较好的解; 但当装填物的个数逐渐增多时, 由于计算的复杂性, 整个装填过程一般要花费大量的时间, 所以不适于大规模矩形装填物.PSO, CA-PSLS和SA采用矩形装填物内切圆或外包络圆的方式进行干涉性判断和干涉量计算, 当算例规模逐渐增大时, 从表 2可以看出, 装填后得到的整个圆形容器的半径非常大, 甚至有的比本文得到的结果大4倍多.本文采用的是改进的有限包络圆族的方式进行干涉性判断和干涉量计算, 并结合Wang-Landau抽样算法进行全局搜索.在小规模算例上, hWL算法所求得的外包络圆半径相对于GA和IGA优势并不是特别明显, 比如对于算例1和算例3, 并没有得到最优结果, 但是和最优结果相差不多.图 6是本文算法得到的算例1~算例3的一个典型最优装填图.

Fig. 6 Diagrams of the typical optimal layouts for Instance 1~Instance 3 图 6 算例1~算例3的一个典型最优装填示意图

随着问题规模的不断扩大, 本文算法的优势就逐渐体现出来.对于算例4, 本文算法得到的平均圆形容器半径比当今文献中的最好结果减小了(31.680-27.769)/31.680×100%=12.34%;对于算例5, 本文算法得到的平均圆形容器半径比当今文献中的最好结果减小了(174.586-153.013)/174.586x100%=12.35%.图 7是本文算法得到的算例4和算例5的一个典型最优装填图.

Fig. 7 Diagrams of the typical optimal layouts for Instance 4 and Instance 5 图 7 算例4和算例5的一个典型最优装填示意图

对于算例6~算例8, 本文所得到的平均圆形容器半径明显优于目前文献中的最优结果.以算例8为例, 本文算法得到的平均圆形容器半径比当今文献中的最好结果减小了(423.087-192.909)/423.087x100%=54.40%, 即减少了一半还多, 足以表明本文算法在解决大规模算例上的优势.图 8列举了算例6~算例8的一个典型最优装填图.在静不平衡量方面, 文献中部分算法没有明确给出计算结果, 本文得到的静不平衡量基本接近于0, 完全满足静不平衡约束的要求.

Fig. 8 Diagrams of the typical optimal layouts for Instance 6~Instance 8 图 8 算例6~算例8的一个典型最优装填示意图

4.2 任意矩形和圆形混合装填物布局的结果与分析

为了验证本文所提出的算法的有效性, 我们又进一步计算了包含矩形和圆形混合装填物的两个算例——算例9和算例10.算例9包含10个装填物, 该算例引自于文献[31], 其中, 装填物1~5为矩形, 装填物6~10为圆形(其中, 第10个圆不能移动).表 3详细列出了每个装填物的尺寸和质量.运用本文算法对算例9独立运行20次, 并将获得的最小圆形容器半径R0(mm)及其相对应的静不平衡量J(g.mm)、运行时间t(s)列于表 4中, 并与文献中遗传算法(GA)[31]、人机交互遗传算法(HCIGA)[31]和基于案例推理的遗传算法(CBR-GA)[31]给出的结果进行比较.从表 4可以看出, 本文方法在解决算例9上具有非常好的效果.对于最小圆形容器半径R0, 本文得到的结果比目前文献中的最好结果减小了(741.09-727.59)/741.09=1.8%.在静不平衡量J上, 本文得到的结果基本接近于0, 明显优于文献给出的结果.另外, 在表 4中, 我们也给出了本文hWL算法获得的平均静不平衡量(avg.)J(g.mm)和平均运行时间(avg.)t(s).表 5列出了本文算法得到的算例9的一个最优格局的数据.图 9是本文hWL算法得到的算例9的最优布局图.

Table 3 Dimensions and masses of the 10 mixed objects in Instance 9 表 3 算例9中10个混合装填物的尺寸和质量

Table 4 Comparison of the computational results by 4 algorithms for Instance 9 表 4 对于算例9的4种不同算法的计算结果比较

Table 5 Data of optimal layout by hWL algorithm for Instance 9 表 5 本文hWL算法得到的算例9的最优格局数据

Fig. 9 Diagrams of the typical optimal layout for Instance 9 图 9 算例9的一个典型最优布局图

算例10包含20个装填物, 该算例引自于文献[32], 其中, 装填物1~9为矩形; 装填物10~17为圆形; 装填物18~20也是矩形, 但是这3个矩形装填物不能移动.表 6详细列出了每个装填物的尺寸和质量.运用本文所提出的算法对算例10独立运行20次, 并将计算结果与文献中并行遗传算法(PGA)[32]、带免疫的粒子群算法(PSO-IA)[32]和基于免疫的人机交互粒子群算法(HCPSO-IO)[32]给出的结果进行比较.

Table 6 Dimensions and masses of the 20 mixed objects in Instance 10 表 6 算例10中20个混合装填物尺寸和质量

表 7可以看出, 本文方法在解决算例10上同样达到了较好的效果.对于最小圆形容器半径R0(mm), 本文得到的结果比目前文献中的最好结果减小了(1587.58-1577.94)/1587.58=0.6%.在静不平衡量J上, 无论是最优格局的静不平衡量J(kg.mm), 还是平均静不平衡量(avg.)J(kg.mm), 本文的优势都很明显.图 10给出了本文算法得到的算例10的最优布局图.表 8给出了算例10的最优格局数据.

Table 7 Comparison of the computational results by 4 algorithms for Instance 10 表 7 对于算例10的4种不同算法的计算结果比较

Fig. 10 Diagram of the typical optimal layout for Instance 10 图 10 算例10的一个典型最优布局图

Table 8 Data of optimal layout by hWL algorithm for Instance 10 表 8 本文hWL算法得到的算例10的最优格局数据

关于两组算例的计算时间, 考虑到执行各算法所使用的计算机的性能和实现算法的编程语言不同, 本文不做详细对比, 但从表 2表 4表 7不难看出, 对于两组共10个算例, hWL算法均能在较短时间内得到计算结果.

5 结论

对于带静不平衡性能约束的任意矩形装填问题, 本文通过改进有限包络圆族法, 提出了针对矩形装填物的一种新的划分方式.通过将任意矩形装填问题转化为圆形装填问题, 从而使得任意矩形装填物之间的干涉性判断和干涉量计算更加简单.通过将基于矩形的启发式格局更新策略、局部搜索机制、质心平移策略与Wang-Landau抽样算法相结合, 提了一种用于解决带静不平衡约束的任意矩形装填问题的启发式布局算法.通过对文献中的若干算例进行测试, 计算结果表明, 所提出的布局算法是一种有效算法.

参考文献
[1]
Zachariadis EE, Tarantilis CD, Kiranoudis CK. A guided tabu search for the vehicle routing problem with two-dimensional loading constraints. European Journal of Operational Research, 2009, 195(3): 729–743. [doi:10.1016/j.ejor.2007.05.058]
[2]
Dominguez O, Juan AA, Barrios B, Faulin J, Agustin A. Using biased randomization for solving the two-dimensional loading vehicle routing problem with heterogeneous fleet. Annals of Operations Research, 2016, 236(2): 383–404. [doi:10.1007/s10479-014-1551-4]
[3]
Ji J, Lu YP, Cha JZ, Cui YD, Wang JM. A deterministic algorithm for optimal two-segment cutting patterns of rectangular blanks. Chinese Journal of Computers, 2012, 35(1): 183–191(in Chinese with English abstract). [doi:10.3724/SP.J.1016.2012.00183]
[4]
You J, Tian Z, Hou XY. Genetic algorithm based optimization of counterweight distribution for reentry vehicle. Spacecraft Engineering, 2015, 24(1): 56–61(in Chinese with English abstract). http://mall.cnki.net/magazine/Article/HTGC201501013.htm
[5]
Lin QL, Liu HC, Wang DJ, Liu L. Integrating systematic layout planning with fuzzy constraint theory to design and optimize the facility layout for operating theatre in hospitals. Journal of Intelligent Manufacturing, 2015, 26(1): 87–95. [doi:10.1007/s10845-013-0764-8]
[6]
Song Z, Zhang Z, Chen X. The decision model of 3-dimensional wind farm layout design. Renewable Energy, 2016, 85: 248–258. [doi:10.1016/j.renene.2015.06.036]
[7]
Li W, Huang WQ, Jiang DC, Liu XL. A heuristic algorithm for cube packing with time schedule. Science China:Information Sciences, 2010, 40(1): 1–12(in Chinese with English abstract). [doi:10.1007/s11432-010-0022-z]
[8]
Zhang DD, Peng Y, Zhang LL. A multi-layer heuristic search algorithm for three dimensional container loading problem. Chinese Journal of Computers, 2012, 35(12): 2553–2561(in Chinese with English abstract). [doi:10.3724/SP.J.1016.2012.02553]
[9]
He K, Huang WQ. Cuboid arrangement approach based on caving degree for solving the cuboid packing problem. Ruan Jian Xue Bao/Journal of Software, 2011, 22(5): 843–851(in Chinese with English abstract). 10.3724/SP.J.1001.2011.03799 [doi:10.3724/SP.J.1001.2011.03799]
[10]
Silva E, Oliveira JF, Wäscher G. 2DCPackGen:A problem generator for two-dimensional rectangular cutting and packing problems. European Journal of Operational Research, 2014, 237(3): 846–856. [doi:10.1016/j.ejor.2014.02.059]
[11]
Casazza M, Ceselli A. Exactly solving packing problems with fragmentation. Computers & Operations Research, 2016, 75: 202–213. [doi:10.1016/j.cor.2016.06.007]
[12]
Leung J, Tam T, Wong CS. Packing squares into a square. Journal of Parallel and Distributed Computing, 1990, 10(3): 271–275. [doi:10.1016/0743-7315(90)90019-L]
[13]
Feng EM, Wang XL, Wang XM, Teng HF. A Global optimization algorithm for layout problems with behavior constraints. Applied Mathematics, A Journal of Chinese Universities, 1999, 14(1): 98–104(in Chinese with English abstract). http://edu.wanfangdata.com.cn/Periodical/Detail/jsjxb200110010
[14]
Zhai JG, Feng EM, Li ZM, Yin HC. Non-Overlapped genetic algorithm for layout problem with behavior constraints. Journal of Dalian University of Technology, 1999, 39(3): 352–357(in Chinese with English abstract). https://www.wenkuxiazai.com/doc/2777e007a6c30c2259019e77-3.html
[15]
Teng HF, Liu J, Wang XM, Feng EM, Yang HY, Sun ZG. A dynamic non-interference algorithm for rectangles. Journal of Image and Graphics, 2001, 6(3): 259–263(in Chinese with English abstract). [doi:10.11834/jig.20010363]
[16]
Xu YC, Xiao RB, Amos M. Particle swarm algorithm for weighted rectangle placement. In: Proc. of the 3rd Int'l Conf. on Natural Computation. Haikou: IEEE, 2007. 728-732. [doi: 10.1109/ICNC.2007.542]
[17]
Xu YC, Dong FM, Liu Y, Xiao RB. Genetic algorithm for rectangle layout optimization with equilibrium constraints. Pattern Recognition and Artificial Intelligence, 2010, 23(6): 794–801(in Chinese with English abstract). http://www.cnki.com.cn/Article/CJFDTotal-MSSB201507007.htm
[18]
Huang ZD, Xiao RB. Hybrid algorithm for the rectangular packing problem with constraints of equilibrium. Journal of Huazhong University of Science and Technology (Natural Science Edition), 2011, 9(3): 96–99(in Chinese with English abstract). http://www.cnki.com.cn/Article/CJFDTotal-MSSB201507007.htm
[19]
Zeng Y, Zhang J. Glowworm swarm optimization and heuristic algorithm for rectangle packing problem. In: Proc. of the 2012 Int'l Conf. on Information Science and Technology (ICIST). IEEE, 2012. 136-140. [doi: 10.1109/ICIST.2012.6221623]
[20]
Liu JF, Zhou ZL, Liu ZX, Gao ZX. Improved tabu search algorithm for the rectangle packing problem with equilibrium constraints. Journal of Information and Computational Science, 2012, 9(18): 5831–5839. https://www.sciencedirect.com/science/article/pii/S0952197617301951
[21]
Li ZQ, Wang XF, Tan JY, Wang YS. 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, 2014(3): 1–16. https://www.researchgate.net/publication/278391753_A_Quasiphysical_and_Dynamic_Adjustment_Approach_for_Packing_the_Orthogonal_Unequal_Rectangles_in_a_Circle_with_a_Mass_Balance_Satellite_Payload_Packing
[22]
Wang F, Landau DP. Efficient, multiple-range random walk algorithm to calculate the density of states. Physical Review Letters, 2001, 86(10): 2050–2053. [doi:10.1103/PhysRevLett.86.2050]
[23]
Liu JF, Xue SJ, Liu ZX, Xu D. An improved energy landscape paving algorithm for the problem of packing circles into a larger containing circle. Computers & Industrial Engineering, 2009, 57(3): 1144–1149. [doi:10.1016/j.cie.2009.05.010]
[24]
Zhang Q, Zhang WH. Efficient construction algorithm of finite circles and their applications to 2D layout optimization. Journal of Computer-aided Design and Computer Graphics, 2009, 21(5): 617–625(in Chinese with English abstract). http://www.opticsjournal.net/Articles/abstract?aid=OJ180104000228mSoVrY
[25]
Zhu JH, Zhang WH, Xia L, Zhang Q, Bassir D. Optimal packing configuration design with finite-circle method. Journal of Intelligent and Robotic Systems, 2012, 67(3): 185–199. https://link.springer.com/article/10.1007/s10846-011-9645-6
[26]
Zhang WH, Zhang Q. Finite-Circle method for component approximation and packing design optimization. Engineering Optimization, 2009, 41(10): 971–987. [doi:10.1080/03052150902890056]
[27]
Liu JF, Li G, Geng HT. A new heuristic algorithm for the circular packing problem with equilibrium constraints. Science China: Information Sciences, 2011, 54(8): 1572-1584(in Chinese with English abstract). [doi: 10.1007/s11432-011-4351-3]
[28]
Liu JF, Li G. Basin filling algorithm for the circular packing problem with equilibrium behavioral constraints. Science China:Information Sciences, 2010, 40(3): 423–432(in Chinese with English abstract). http://www.cnki.com.cn/Article/CJFDTotal-MSSB201507007.htm
[29]
Xu YC, Xiao RB, Amos M. Simulated annealing for weighted polygon packing. arXiv: 0809. 5005[cs. CG], 2008. http://arxiv.org/abs/0809.5005
[30]
Feng EM, Gong SH, Liu CY, Zhang X. Improved GA for artificial satellite module layout problem with performance constraints. Journal of Dalian University of Technology, 2005, 45(3): 459–463(in Chinese with English abstract). http://www.cnki.com.cn/Article/CJFDTotal-MSSB201507007.htm
[31]
Li ZQ, Dong MJ. Case-Based reasoning genetic algorithm for rectangle and circle packing problem with equilibrium constraints. In: Wang Y, Li T, eds. Proc. of the Int'l Conf. on Intelligent Systems and Knowledge Engineering. Shanghai, 2011. 267-273. [doi: 10.1007/978-3-642-25664-6_31]
[32]
Zhao FQ, Li GQ, Yang C, Abraham A, Liu HB. A human-computer cooperative particle swarm optimization based immune algorithm for layout design. Neurocomputing, 2014, 132: 68–78. [doi:10.1016/j.neucom.2013.03.062]
[3]
季君, 陆一平, 查建中, 崔耀东, 王金敏. 生成矩形毛坯最优两段排样方式的确定型算法. 计算机学报, 2012, 35(1): 183–191. [doi:10.3724/SP.J.1016.2012.00183]
[4]
游进, 田政, 侯向阳. 基于遗传算法的再入航天器配重布局优化. 航天器工程, 2015, 24(1): 56–61. http://mall.cnki.net/magazine/Article/HTGC201501013.htm
[7]
李未, 黄文奇, 蒋东辰, 刘祥龙. 一种求解带有时间调度的四维长方体装填问题的启发式算法. 中国科学:信息科学, 2010, 40(1): 1–12. [doi:10.1007/s11432-010-0022-z]
[8]
张德富, 彭煜, 张丽丽. 求解三维装箱问题的多层启发式搜索算法. 计算机学报, 2012, 35(12): 2553–2561. [doi:10.3724/SP.J.1016.2012.02553]
[9]
何琨, 黄文奇. 求解长方体Packing问题的捆绑穴度算法. 软件学报, 2011, 22(5): 843–851. 10.3724/SP.J.1001.2011.03799 [doi:10.3724/SP.J.1001.2011.03799]
[13]
冯恩民, 王锡禄, 王秀梅, 腾弘飞. 带性能约束布局问题的全局优化算法. 高校应用数学学报A辑(中文版), 1999, 14(1): 98–104. http://edu.wanfangdata.com.cn/Periodical/Detail/jsjxb200110010
[14]
翟金刚, 冯恩民, 李振民, 尹洪超. 带性能约束布局问题的不干涉遗传算法. 大连理工大学学报, 1999, 39(3): 352–357. https://www.wenkuxiazai.com/doc/2777e007a6c30c2259019e77-3.html
[15]
滕弘飞, 刘峻, 王秀梅, 冯恩民, 杨宏宇, 孙治国. 一种矩形的动态不干涉算法. 中国图像图形学报, 2001, 6(3): 259–263. [doi:10.11834/jig.20010363]
[17]
徐义春, 董方敏, 刘勇, 肖人斌. 带平衡约束矩形布局优化问题的遗传算法. 模式识别与人工智能, 2010, 23(6): 794–801. http://www.cnki.com.cn/Article/CJFDTotal-MSSB201507007.htm
[18]
黄振东, 肖人彬. 求解带平衡约束矩形布局问题的混合算法. 华中科技大学学报(自然科学版), 2011, 9(3): 96–99. http://www.cnki.com.cn/Article/CJFDTotal-MSSB201507007.htm
[24]
张桥, 张卫红. 有限包络圆族的快速生成方法及其在二维布局优化中的应用. 计算机辅助设计与图形学学报, 2009, 21(5): 617–625. http://www.opticsjournal.net/Articles/abstract?aid=OJ180104000228mSoVrY
[27]
李刚, 刘景发. 基于禁忌搜索的启发式算法求解带平衡约束的圆形装填问题. 中国科学: 信息科学, 2011, 41(9): 1076-1088. [doi: 10.1007/s11432-011-4351-3]
[28]
刘景发, 李刚. 求解带平衡性能约束的圆形装填问题的吸引盘填充算法. 中国科学:信息科学, 2010, 40(3): 423–432. http://www.cnki.com.cn/Article/CJFDTotal-MSSB201507007.htm
[30]
冯恩民, 宫召华, 刘重阳, 张旭. 带性能约束的卫星舱布局问题改进遗传算法. 大连理工大学学报, 2005, 45(3): 459–463. http://www.cnki.com.cn/Article/CJFDTotal-MSSB201507007.htm