多需求目标的UFL问题及其近似算法.doc
《多需求目标的UFL问题及其近似算法.doc》由会员分享,可在线阅读,更多相关《多需求目标的UFL问题及其近似算法.doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、多需求目标的UFL问题及其近似算法Approximation Algorithm for UFL Problem with Multiple Requirements田世俊,李建,朱洪TIAN Shijun,LI Jian,ZHU Hong(复旦大学计算机科学与工程系,上海200433)(Computer Science and Engineering Department, Fudan University, Shanghai 200433)摘要:UFL问题是一个经典的NP优化问题,本文针对原问题在实际应用中的不足,对该问题给出了一种推广,使其能够满足客户端同时存在多种需求服务的情况。我们给
2、出了一个近似度为的近似算法,其中为所有客户端需求服务数目之和。通过将Set Cover问题规约到此问题,我们给出了该问题的一个近似度下界,从而证明了我们给出的算法近似度已经比较接近下界,它最多只能被提高一倍。最后我们讨论了这种推广模型和UFL问题的一些变种及其他推广的联系以及进一步的工作方向。关键字:设施选址问题,近似算法,NP优化, 近似度下界Abstract UFL is a classical NP optimalization problem. This paper generalizes it to satisfy the situation that each client req
3、uires a set of services. We provide a factor approximation algorithm for it, where is the sum of the number of the required services from each client. We also give a lower bound of all the approximation of this problem by reducing Set Cover problem to it, which shows the tightness of our approximati
4、on. In the end we discussed the relation between our model and the UFL problem including variants and other generalizations. Keywords Facility Location, UFL, Approximate algorithm, NP optimalization, Lower bound.1 引言UFL (Uncapacitated Facility Location,无容量限制的设施选址) 问题是一个有重要实用意义和研究意义的算法问题。假定给出一个边带权的二分
5、图B,其中点集代表可能开放的设施,点集代表需要使用该设施的客户端,边权表示从客户端连接到设施的连接费用;函数,表示开放一个设施的费用;UFL问题要求找到一个集合,表示将要开放的设施,使得每一个客户端都能连接到一个已开放的设施且如下两部分费用之和最小:一部分为开放所有中设施的费用,另一部分为每个客户端与中某一个设施连接费用的总和。如果限制边权满足三角不等式的话,该问题被称为metric UFL问题。UFL有许多应用,比如工厂仓库的选址,超市,连锁店等商业店铺的开设。最近该问题也被应用到网络设计上,比如路由器交换机等网络设备的安放6,9,网络内容的最优发布(CDN)8,12等。但不幸的是该问题早就
6、被证明是属于NPC,一般都相信不会有有效的多项式时间算法,因此研究其近似算法就变得尤为重要。Hochbaum7给出了一个近似度为的近似算法,该算法对非metric情况的UFL也适用。对于metric UFL,Shmoys、Tardos和Aardal13给出了第一个常数近似度的算法。该问题目前最好的结果由Mahdian、Ye和Zhang11给出,他们得到了一个近似度为1.52的算法,这离Guha和Khuller5证明的metric UFL问题的近似度下界1.463已经非常接近了。与此同时,许多UFL问题的推广和变种都陆续得到研究,比如多层UFL问题1,考虑容量的FL问题10,指定开放设施数目的k
7、-Median问题2,14等等,更多的相关问题请参考3。因此UFL问题的研究同时也可以为这些问题的研究带来帮助。但是,在应用中这些UFL问题及变种的一个缺点就是,每个设施只能提供单一的服务,而所有客户端的需求也是单一而且相同的。虽然我们可以将不同的服务内容分开,作为单独的UFL问题求解;但实际上在这些分立的问题中,同一客户端到同一设施处的连接费用是可以共享的,只需要计算一次。据此我们对UFL问题作了一个扩展,使它能够满足这种多服务目标的要求。首先我们给出扩展UFL问题的定义,然后给出了一个+1的近似算法,其中表示所有客户端需求的服务数目之和。在第四节我们给出了该问题的一个近似度下界,表明我们给
8、出的近似结果已经相当的接近近似度下界,最多只能被提高一倍。最后我们讨论了可能的进一步的工作。2 预备知识和问题定义2.1 预备知识给定一个优化问题P,我们说一个算法A的近似度为是指:对于P的任何一个实例I,算法A求出的目标函数值与该实例的最优解的比值满足:其中指实例I的规模,也可以为常数。2.2 问题定义在我们的扩展中,假定S为所有服务的集合。对于每一个可能开放设施的地点,都对应着一个S的子集表示v点可能提供的服务。对于每一个客户端,同样有一个集合代表客户端需要的服务。和UFL问题中一样,也有客户端到设施的连接费用w和开放设施的费用。我们称此问题为多需求目标的无容量限制的选址问题(mUFL)。
9、下面是形式化的定义:实例:给定带权二分图,其中为边权。集合S为所有服务的集合。对于任一,给定一集合。对于任一,给定一集合。函数给出开放每个设施的费用。可行解:的一个子集,以及边集,使得对于任一有,即所有的客户端的所有服务需求都能够通过Con中的边连到某已开放设施而得到满足。优化目标:最小化如下费用函数3 近似算法因为此处讨论问题的近似算法,所以我们假定给定实例的可行解总是存在。在实际应用中我们可以在下面近似算法前面添加一个判定问题可行解存在性的算法,该算法对于每一个客户端检查与其有边连接的设施开放点所提供服务的并集,看此并集是否全部包含该客户端所需求服务;如果每个客户端答案都为是,则可行解存在
10、,否则不存在。该算法可在时间内完成。下面近似算法的基本思想是贪心法。我们把目标函数中的设施开放费用和客户端到开放设施之间的连接费用都平均分摊到客户端的每一个当前被满足的服务上:如果设施开放而一些客户端连接到v,则记录这些客户端当前从v获取服务的平均费用。每一次迭代我们都找出一个使最小的设施及对应的客户端子集;如果设施还没有被开放,则开放之,并将其开放费用设为零;同时我们将到的边加入中并从这些客户端中剔除被满足的服务需求。这样就得到一个新的规模变小的实例。具体算法如下:算法1:1. ;对于任一,;对于任一, 。2. 对于任一,利用算法2 求的最小值;找到其中最小的一个,设为。3. 如果,则,。4
11、. 对于任一,。5. 对于任一,。6. 如果还有非空,回到第2步,否则结束。求最小值的算法如下,如果没有任何客户端连接到v,则返回为空,设为无穷大;如果遇到除数为零的情况,我们都令商为,具体实现中可以用一个大数表示。算法2:1 ,设。如果,则结束。2 对于任一,计算,设其中比值最小的一个在处取得。3 如果,则,;否则结束。4 如果,回到第2步,否则结束。下面说明算法的正确性。首先算法2必然终止。如果它不在第3步结束,则A的大小就会在每次循环中减少1,最终会变成空集而在第4步退出。算法在第2,3,4步的循环中每次都选择一个与v相连,使平均连接费用最低且低于当前平均服务费用的客户端c加入到,并让c
12、能被满足的服务都得到满足。我们来证明这种方法能得到最小平均服务费用。首先假定A非空,即至少有一个客户端能连接到v并获得一个以上服务,否则算法在第1步就将正确的返回空解;同时我们用和表示取得最小平均服务费用时的总代价和总服务数目。我们有如下断言:断言1:最小平均服务费用一定不比中任一客户端c的平均连接费用低。否则设该客户端为,有,则,剔除我们将获得更小的平均服务费用。断言2:所有到设施v平均连接费用小于最小平均服务费用为的客户端都在中。因为如果客户端c不在中且有,则必有,加入c我们将获得更小的平均服务费用。由这两个断言可知要获取最小的平均服务费用,必须将相应客户端按平均连接费用从最小到某个特定值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 需求 目标 UFL 问题 及其 近似 算法
限制150内