[发明专利]一种求解最小集合覆盖问题近似解的组合优化方法无效
申请号: | 201210203404.1 | 申请日: | 2012-06-19 |
公开(公告)号: | CN102799566A | 公开(公告)日: | 2012-11-28 |
发明(设计)人: | 俞扬;周志华 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F17/17 | 分类号: | G06F17/17 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 柏尚春 |
地址: | 210093 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 求解 最小 集合 覆盖 问题 近似 组合 优化 方法 | ||
技术领域
本发明涉及一种求解最小集合覆盖问题近似解的组合优化方法,属于组合优化问题的求解技术领域。
背景技术
最小集合覆盖问题是一种抽象的组合优化问题。该问题给出一系列元素和一系列集合,其中每个集合包含一个或者多个元素,并且每一个集合拥有一个权值。最小集合覆盖问题即是要从这些集合中挑选一组集合,使得每一个元素至少出现在这一组集合中的某个集合中(即形成一个对所有元素的覆盖),并且要使得这一组集合的权值之和最小。形式化地描述,有n个元素U={1,2,...,n},和m个集合C={S1,S2,...,Sm},其中对于任意i=1,2,...,m有并且w(Si)为集合Si的权值。最小集合覆盖问题要寻找C的一个子集C*使得最小,同时满足
最小集合覆盖问题广泛存在于工业生产中,例如物流仓储的布局、基站的布局、故障诊断、分布式系统、无线传感器网络配置、调度等等。然而由于最小集合覆盖问题为NP难问题,在极有可能成立的NP≠P的假设条件下,不存在解决该问题的高效的算法(即多项式时间内能够求解最优解的算法)。目前工业应用上,用于处理类似NP难问题的方法主要为启发式搜索算法,包括模拟退火算法、演化算法、粒子群算法等,以期望取得较好的解。然而这些算法对于取得的解过于随意,解的质量并没有任何保障,有可能获得很差的解从而导致应用中过大的成本开销等问题。
发明内容
发明目的:本发明主要针目前求解最小集合覆盖问题的启发式算法,缺乏对取得的解的质量的保障这一问题,提出一种求解最小集合覆盖问题近似解的组合优化方法,该方法令取得的解的集合权值之和除以最优解的集合权值之和为“近似率”,令k为所有集合的势的最大值,则该装置取得近似率为的解的期望步数为mn2,取得近似率为的解的期望步数为mk+1n2。
技术方案:一种求解最小集合覆盖问题近似解的组合优化方法,包括如下步骤:
步骤(1),根据给出的最小集合覆盖问题,设置算法SEIP的参数;
步骤(2),运行SEIP算法,获得一个布尔向量解;
步骤(3),将布尔向量解码为对应的集合;
步骤(4),结束。
所述算法SEIP的参数包括:元素的个数n,集合的个数m,集合的权值向量w,以及设置用户期望的算法运行步数T;其中集合的权值向量w的设置如下:令最小集合覆盖问题给出的集合按照任意顺序排列为S1,S2,...,Sm,令w(S)表示集合S的权值,则集合的权值向量w为长度为m的实值向量,对于所有的i=1,2,...,m,都有w[i]=w(Si)。
所述步骤(2)中,使用布尔向量表示一个解时,向量的第i个元素值为1时表示集合Si包含在这个解中、为0则表示不包含。
所述算法SEIP的流程为:首先分配n+1个布尔向量的空间I,该空间在初始化后,空间I中的值均为空,然后将0向量放入I[0]空间中,循环计数器t置0;其中SEIP算法的主体是一个循环,循环结束的条件是I[n]空间中的值不为空,并且循环数量达到预设值T,否则继续执行循环;这里,T值越大,得到的解的质量就会越好,但同时循环的次数(即所需的时间)也就越大,因此T值根据用户的需求来设定。当循环结束时,输出I[n]中的布尔向量。
所述算法SEIP的每一次循环,从空间I中随机的选取一个非空的空间,并复制该空间中存储的向量为x;当第一次执行循环时,只有I[0]为非空,因此这时取出的向量为初始化时放入的0向量;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210203404.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种窖茶发酵容器
- 下一篇:农田喷药装置中的喷水结构