支持求解不等圆packing问题的降维策略

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

信息通信
INFORMATION & COMMUNICATIONS
2020
(Sum. No 213)
2020年第9期(总第213期)
支持求解不等圆packing 问题的降维策略
骆震江',程川,,许如初',黄文奇'
(1.广卅海格通信集团股份有限公司,广东广州510000;2.中国船抽重工集团公司第七二二研究所,湖北武汉430000;
3.华中科技大学计算机学院,湖北武汉430074)
摘要:在拟物拟人算法的基础上,提出了一个新的具有降维效果的策略,为NP 难度的不等圆packing 问题得到了 一个效 率更高的实用求解算法。

关键词:不等圆packing 问题;NP 难度;拟物拟人方法;降维;扰动判定
中图分类号:TP301.6
文献标识码:B 文章编号:1673-1131(2020)03-0025-03
求解NP 难度问题是本世纪计算机科学技术的瓶颈任务.
然而自上世纪70年代至今的研究说明,对于NP 难度问题不 存在经典数学所希冀的那种既完整严格又不是太慢的求解算
法网。

于是人们到大自然中去寻找智慧,比如到物理世界中
去寻找出与原始数学问题等价的自然现象,然后观察其中的
演化规律,从中受到启发以得出问题的求解算法枕可以称之
为拟物方法。

拟物方法的致命弱点是当计算进入局部极小值 的陷阱时,计算将无法往下进行。

然而人类在长期生活中形
成了丰富的经验,可以在拟物方法的基础上启发出好的“跳出
陷阱”的策略閥。

我们可以称为拟人途径。

圆形packing 问题是一个NP 难度问题,在无线通信有重
要的理论价值和广泛的应用背景,关于此问题文献[8]已经给 出了一种近似求解算法。

此算法虽然有“跳出陷阱”的策略,
但是它没有想办法避免这些“陷阱”。

于是我们又重新回到拟 物算法,观察若能尽量避免计算误入没有出路的“陷阱”以及
减小问题的计算规模是提高圆形packing 问题求解算法效率 的关键所在。

本文基于这一想法,对圆形packing 问题的拟物 拟人算法进行了改进。

计算实验说明,此改进后的算法比原
拟物拟人算法效率显著提高,并且随着问题复杂度的增加这 种提高的程度也会变得更大。

1问题的提法"间
假设己知一个圆形的空盒子(容器),另外又己知一些大 小不同的圆饼,问能否将这些圆饼互不重叠地放进空盒子中
去。

将二维笛卡儿坐标的原点取在容器的中心上(见图1),则 此问题可以更形式的描述如下:
对于任意给定的正整数M 和任意给定的M+1个正实数
R0,Rl,-,RM 。

问是否存在2M 个实数xl,yl,-,xM,yM 使 得对于{1,2,-,M }中任意的正整数i 有:
Jx ;+y ; WRO-Ri

对于{1,2,…,M }中任意两个不同的正整数i, j 有
J(Xi-x/+(y ;-y 』r MRi+Rj
(2)
如果存在,则请具体给出这2M 个实数。

2拟物拟人和降维的思路
2.1拟物拟人的思路
釆用物理弹性势能的思想,用某种数学方法将物理过程
加以模拟,则事实上就得到了一种求解圆形packing 问题的算
法,这就是拟物算法咧。

拟物算法在执行过程中,当问题在客
观上比较困难时,计算落入了局部极小值点的陷阱,此时为势 能函数U 的局部极小值点,由于U 的梯度向量为零,完全失去
方向,计算已无法继续。

为实现“跳出陷阱”的策略,可通过观
察人类社会经验而得出,因而被称之为拟人策略。

我们用某 种数学方法将这一系列运动加以模拟就可以得到拟物拟人算
法叫
在拟物拟人计算的求解过程中,自始至终,所有需要放置
到容器中的圆饼都全部一起在容器中不断地被调整各自的位 置,直到所有的圆饼以及容器两两互不嵌入时止。

通过对拟
物拟人算法求解过程的图像进行观察,发现当拟物拟人算法 的计算落入局部极小值的陷阱时,通常是应放置大物体的空
间被小物体所占有,从而导致拟物计算无法往下进行。

例如
收稿日期:2020-07-30
项目基金:国家973项目(2004CB318000)及国家自然科学基金项目(10471051)资助
作者简介:骆震江(1982-),男,湖北武汉人,华中科技大学工学硕士,高级工程师,研究方向:计算机软件、网络控制、交换及传输技术o
25
信息通信骆震江等:支持求解不等圆packing问题的降维策略
对图2所示的格局,其之所以不好是由于左上角的一个小圆饼占据了下方一个中圆饼的位置。

此时如能将这一对中、小
圆饼的位置对调,往下的拟物计算即可走向图3所示的问题的解。

因此,我们想到将需要放入容器中的物体按从大到小的顺序依次逐个随机地放入容器中,每放入一个物体,都用拟物拟人算法对此时容器中的所有物体寻找它们两两互不嵌入的位置。

这样,可以避免放置大物体的空间被小物体所占有,也就避免了拟物计算的许多局部极小值陷阱。

同时,我们发现,这样做可以使先放入的大物体很容易在容器中找到一个合适的位置。

并且,这个位置往往就是该物体在最终解格局中的位置,亦即,大物体在较早的时候找到的位置,在往后的计算中可能是不需要调整的。

因此,我们将这样的物体固定住,此后再进入的物体视这些已固定住的物体为容器的一部分,不得嵌入,这样就使得拟物拟人计算不必再为调整这些已固定住的物体的位置花费计算时间。

然而在什么时候,什么样的情况下,我们认为容器中的某个物体的位置就是该物体在最终解格局中的位置呢?我们可以这样规定,参见图4所示的格局,容器中已放入了3个物体,容器外还有M・3个物体,对容器中3个物体中的任意2个物体固定其位置不变,对剩下的那一个物体作轻微的扰动,然后用拟物算法对容器中这个物体的位置进行调整,若这个作了扰动的物体还能够回到原位置,则认为此物体处于“卡死”状态。

分别对这3个物体都进行一次这样的操作,如果这3个物体中的每一个都处于“卡死”状态我们就认为这3个物体作为整体,它们的原始位置即是它们在最终解格局中的位置。

如此继续下去直到第4,第5,…,第k个物体都在容器中处于卡死状态。

此时我们就将第4,第5,…,第k个物体视作容器的_部分。

这样下去直到最后一个物体放入圆形容器,或者外面还剩下有若干物体,但是其中最大的物体已无法放进容器中去了。

可以想象,这样做可以让先放入容器中的大物体尽快地找到自己在容器中合适的位置,从而减少了拟物计算中局部极小值陷阱出现的次数,并且还由于我们将找到了合适位置的物体固定住,视为容器的一部分,减少了需要调整的物体的个数,缩小了问题的搜索空间,因而大大地减少了计算的工作量。

3降维策略和算法
现在我们对降维策略作出形式化的准确表述。

定义3.1子格局:仿照格局的定义叫在任一时刻,称已经放进容器中去了的N个圆饼的圆心坐标{xl,yl,…,xN,yN}为系统在此刻的子格局。

定义3.2扰动判定:对一个子格局{xl,yl,…,xN,yN}中某一个圆的圆心坐标xk、yk(l WkWN)各自加上一个微小的随机值&c、By,子格局中其他圆心坐标固定不变,对所得的新的子格局使用拟物算法求解此packing问题,如果圆心坐标xk、yk还能回到原来的位置,则称对圆心坐标xk、yk进行的一次扰动判定成功,否则称为失败。

扰动判定结束之后,要把圆心坐标xk、yk还原到扰动判定之前的值。

定义3.3活动圆饼:是指扰动判定中失败的圆饼也即仍然可以活动和需要继续对其进行拟物拟人计算的圆饼。

定义3.4死亡圆饼:是指已经作为容器的一部分的那些圆饼也即已经被固定住的圆饼。

定义3.5僵死圆饼:是指在扰动判定中成功的圆饼即处于卡死状态的圆饼。

下面用归纳法来描述降维策略的求解过程:
第1步,圆形容器初始化为空的容器,将待放入的所有圆饼从大到小依次排好:
(D把最大的圆饼放入容器,如果最大的不止一个就把所有最大的圆饼一起放入容器,把它们都定义为活动圆饼。

(H)使用拟物拟人算法对现在容器内所有的圆饼求圆形packing问题的解。

(DB若求不出解,就失败停机。

若求出了一个解,就分别对每个圆饼进行一次扰动判定,如果每个圆饼都是僵死圆饼,那么定义所有已经放入容器中的圆饼为死亡圆饼;反之如果有一个圆饼为活动圆饼即扰动判定失败,则所有僵死圆饼与活动圆饼都为活动圆饼。

(IV)如果所有圆饼已经放入容器并且已经求岀一个圆形packing问题的解,那么就成功停机。

第K步,假设此时容器中已经有若干活动圆饼和死亡圆饼,还未放入的所有圆饼从大到小依次排好了序。

然后从此格局出发按降维算法往下进行新的一轮计算:
(D在还没有放入容器的圆饼中挑选一个最大的圆饼,如果不止_个则只挑出一•个(与第1步相区别)放入容器,并把这个圆饼定义为活动圆饼。

(H)使用拟物拟人算法对现在容器内所有的活动圆饼求圆形packing问题的解。

(皿)若求不出解,就失败停机。

若求出了一个解,就对每个活动圆饼进行一次扰动判定,如果每个活动圆饼变为僵死圆饼,那么定义所有僵死圆饼为死亡圆饼;反之如果有一个圆饼仍为活动圆饼即对它扰动判定失败,则定义所有僵死圆饼和活动圆饼都为活动圆饼。

(IV)如果所有圆饼已经放入容器并且已经求出一个圆形packing问题的解,那么就成功停机。

4算法及评论
我们将拟物拟人与本算法用C语言编程进行了大量的实算。

以下4个算例为它们的典型代表。

每种算法对每个实例都进行5次试算。

计算时间如表1所示。

对于空间比较宽松的情形,计算无例外地都进行得十分顺利快捷,所以这里选择的都是空间很紧张的情形。

26
信息通信INFORMATION&COMMUNICATIONS
2020 (Sum.No213)
2020年第9期
(总第213期)
氧调系统建模与控制研究
葛洋洋,高博,谭琪璘
(中国航空工业集团公司西安航空计算技术研究所,陕西西安710065)
摘要:在氧调控制系统控制器设计中,由于控制对象物理特性不清楚,无法建立控制对象的数学模型。

文章基于系统输
入输出数据建立了系统在特定工况下的三维数字模型,并且设计了增量式PID控制算法,基于所建立的数字模型对控制算法的有效性进行了验证,并将算法用于实物控制中,验证了算法的正确性。

关键词:控制对象;数字模型;增量式PID控制
中图分类号:V245.31文献标识码:B文章编号:1673-1131(2020)03-0027-03
0引言
在高空飞行中,飞行员可能因为低压低氧引起不良反应,这不仅影响飞行员的工作效率,甚至有可能威胁飞行员的生命安全和飞行安全叫供氧系统是保证在高空飞行中,为飞行员提供氧气保证的装置。

供氧系统包括氧源、供氧控制调节器以及飞行面罩。

供氧控制调节器是氧调控制系统的核心部件,通过控制器输出调节面罩压力的变化范围。

电子式供氧控制调节器实现飞行员氧气面罩压力控制,相比传统的机械气动式控制,具有响应速度快、控制精度高的特点,能够满足现代飞机高空、高速飞行的要求叫
要实现对系统的精确控制,首先要建立被控对象的模型。

被控对象的模型表示输入变量和输出变量之间的定量关系,模型的建立分为三种方法,一种是机理建模法,另一种是实验建模法,第三种是前两种的结合叫机理建模法要求对被控过程的特性和原理有深入了解,能够准确的描述被控过程的内在物理原理。

实验建模法主要釆用控制过程的输入输出数据
收稿日期:2020-08-11
作者简介:葛洋洋(1991-),男,陕西西安人,硕士,工程师,研究方向:计算机应用。

表1计算时间表
M R0ri
拟物拟人降维算法文献[叮中的方法执行时间/秒执行时间/秒执行时间/秒
760rl=r2=,,,=
r7=20
0.003.
0.003.
0.003.
0.004,
0.003
0.003,
0.004,
0.003,
0.003,
0.004
根据文献所提供Z
计算复杂度,预计
需10000以上,未
予实际计算
9 2.4143rl=r2=
r3=r4=l
r5=r6=,,,=
r9=0.41415
0.06,
0.07,
0.04,
0.08,
0.05
0.01,广
0.01,r
0.00,
0.01.广
0.00
根据文献所提供之
计算复杂度,预计
需10000以上,未
予实际计算
1750rl-25,
r2=20,
r3=r4=15,
r5=r6=r7
=10,
r8=t9=
•••=rl7=5
4.0,广
2.0,广
1.0,广
6.0,
9.0
1.0,r
1.0.广
4.0,广
1.0.广
2.0
根据文献所提供之
计算复杂度,预计
需10000以上,未
予实际计算
17 2.4143rl=r2=r3=r
4=1
r5=r6=*,,=
r9=0.4l415
r!O=rll=—
=rl7=0.2
5.0.
0.5.
1.0,
5.0,
10.0
0.1,
0.05,
0.06,
0.05,
0」
根据文献所提供之
计算貝杂度,预计
需10000以上.未
予实际计算
(a)(b)$
(C)(d)
图5各问题的解的几何形象
各个问题的解的几何形象分别如图5(a)~(d)所示,其中每张图都代表了对一个典型算例按降维算法进行计算的某次成功计算的结果。

实算结果说明,降维算法比之于原始的拟物拟人算法,其计算速度在难度越大的实例上加快得越多”但在难度很小的实例上会有略微不足,这是因为降维算法是建立在原始的拟物拟人算法基础之上的,对于简单的实例由于计算的搜索空间里没有局部极小值的陷阱,所以原有的拟物拟人算法对其求解的计算过程很快。

而改进后的降维算法在分次序投放圆饼和作扰动判定时要花费时间,从而导致了求解的计算过程变慢。

参考文献:
[1]Dorit S Hochbaum,Wolfgang Maass.Approximation sche­
mes for covering and packing problems in image processing and VLSI.Journal of the Association for Computing Ma­chinery,1985,23(1):130-136.
[2]Garey M R,Johnson D puters and Intractability:A
Guide to the Theory of NP-Completeness.San Francisco: Freeman,1979.
⑶余祥宣,崔国华,邹海明.计算机算法基础(第二版)Ml.华
中科技大学出版社,2000.
[4]陈志平,徐宗平.计算机数学一计算复杂性理论与NPC、
NP难问题的求解[M]..科学出版社.2001,68-114.
[5]何大华,陈传波.Packing问题的计算复杂性[J].计算机工
程与科学.2005,46-48.
[6]黄文奇,詹叔浩.求解packing问题的拟物方法[J].应用数
学学报,1979,(2):176-180.
[7]黄文奇.处理NP难度问题的拟物和拟人方法[C].见:国际
离散数学与算法研讨会文集.广州:暨南大学出版社,1994.
[8]黄文奇,许如初.支持求解圆形packing问题的两个拟人
策略.中国科学,E辑,1999,29(4).
[9]李未,黄文奇.一种求解合取范式可满足性问题的数学物
理方法.中国科学,A辑,1994,24(11):1208-1217.
27。

相关文档
最新文档