禁忌遗传算法求解最小支配集
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘 要: 如何寻找一个网络图的最小支配集是 NP 难题。分别设计了逆序启发式算法和禁忌搜索算法, 并在此基础上提出了禁忌遗 传算法( TSGA) 用于求解最小支配集; 将禁忌搜索和遗传算法结合起来, 弥补了彼此的不足, 既有效地避免了算法易陷入局部最优 解的缺陷, 又加快了算法的收敛速度。经对大量随机网络图的测试和对物流网络选址问题的求解, 验证了 TSGA 算法的优越性。 关键词: 最小支配集; 启发式算法; 禁忌搜索; 遗传算法 文章编号: 1002- 8331( 2007) 24- 0081- 04 文献标识码: A 中图分类号: TP18
borhood) 、禁 忌 表( Tabu List) 、禁 忌 长 度( Tabu Length) 、候 选 解
( Candidate) 、藐视准则( Aspiration Criterion) 等概念, 它们的选取
直接影响到优化结果。这里, 用 TS 算法求解 MDS 时的设置如下:
( 1) 初始解 S0: 为随机产生由 0, 1 组成长度为 n 的序列。实 际上, 随机产生 S0 可能会使|C( S0) |非常大, 为了加快收敛速度, 本文对初始解进行了校正, 使 C( S0) 中顶点标号值变为 1, 这样 S0 就是一个支配集可行解了;
n
f=min%xi
( 1)
i=1
st. xj∨[A( i, j)·xi]=1, xi=1, j=( 1, 2, …, n)
( 2)
’1
A( i, j) =
结点 vi 与结点 vj 相关联
( 3)
0 结点 vi 与结点 vj 不相关联
’1
xi= 0
点 vi 作为支配点 点 vj 不作为支配点
( 4)
目 标 函 数 表 示 以 最 少 的 顶 点 作 为 支 配 点 , 约 束 条 件( 2) 表
( 2) S 的 邻 域 : 分 别 将 S 的 第 i 位 值 S( i) 变 为 1- S( i) , 则 S
共有 n 个邻域;
( 3) 禁忌表: 为长度为 n 的一维数组, 记录了搜索过程中禁
定 理 2 如 果 G 是 n 阶 图 , !( G) 表 示 G 最 大 顶 点 度 数 , 则 n ≤!( G) ≤n- !( G) 。 1+!( G) 定理 3 图的每个极大独立集都是一个极小支配集。
定 理 1 和 定 理 2 界 定 了 !( G) 的 范 围 , 初 步 地 可 以 检 查 求 解结果的合理性, 定理 3 说明了支配集和独立集的关系。与图 的最大独立集一样, 图的最小支配也可以用布尔运算法则求出 所有的极小支配集, 然后选出基数最小支配集作为最小支配 集。但是这种方法仅适合于小规模的网络图, 下面将介绍两种 近似算法。
束数学规划模型:
n
# (f S) =min[ xi+n·|C( S) |]
( 5)
i=1
在式 n·|C( S) |中, n 相当 于 罚 因 子 , 为 顶 点 规 模 ; C( S) 表 示 S 序
列对应的非支配点, 且不与支配点相关联的顶点集, |C( S) |表示
C( S) 中顶点的个数。
禁忌搜索算法涉及到初始解( Initial Solution) 、邻域( Neigh-
更好的解或全局最优解的概率也大大增加。
对 图 G=<V, E>, V={v1, v2, … , vn}表 示 点 集 , 一 个 支 配 集 解 对应为 S=x1x2x3…xn, S 是一个由 0 或者 1 组成的序列, xi 为点 vi 的 标 号 值 , xi 为 0 表 示 点 vi 不 作 为 支 配 点 , xi 为 1 表 示 点 vi 作 为支配点, 于是, 可以把图的最小支配集问题转化为一个无约
配集也具有广泛的实际应用背景, 比如地面作战计划的制定[1]、
城市交通网和通讯网的建造[2], 以及物流网络中心的选址[6]等。
然而, 目前还没有一个求解最小支配集的有效算法, 理论
上讲求图的最小支配集并不困难, 只要采取逐点试探法, 最终
基金项目: 上海市重点学科建设项目资助( No.T0502) ; 上海市教委科技发展基金资助项目( No.05EZ31) 。 作者简介: 廖飞雄( 1983- ) , 硕士研究生, 主要从事系统工程、智能优化研究; 马良( 1964- ) , 博士, 教授, 博士生导师, 主要从事智能优化研究。
Computer Engineering and Applications 计算机工程与应用
2007, 43( 24) 81
禁忌遗传算法求解最小支配集
百度文库
廖飞雄, 马 良 LIAO Fei- xiong, MA Liang
上海理工大学 管理学院, 上海 200093 College of Management, University of Shanghai for Science and Technology, Shanghai 200093, China
2.1 逆序启发式算法求解 MDS
根据定理 3, 图的每个极大独立集均为一个极小支配集, 而根据定义, 图的最小支配集也是极小支配集, 故可以把图的 极大独立集中基数最少的点集近似作为图的最小支配集, 而要 找出极大独立集中基数最少的点集, 可以按启发式规则实现。 对于图 G=<V, E>, 逆序启发式算法可描述为:
对图 G 的顶点子集 S!V, S≠!, 若对#vi∈V, vi 要么属于 S, 要 么至少与 S 的一个顶点相邻, 则称 S 为 G 的支配集( dominating
set) , 属于 S 的顶 点 称 为 支 配 点 , 其 它 顶 点 为 非 支 配 点 ; 若 S 的
任 何 真 子 集 都 不 是 支 配 集 , 则 称 S 为 G 极 小 支 配 集( minimal
示任意顶点 vj 要么与支配点关联, 要么是支配点。 在运筹学图论中, 如何寻找一个网络图的最小支配集已经
被证明是 NP- hard 问题, 与之相关的问题还有如何寻找一个网
络图的最大独立集、最小点覆盖、最小边覆盖和最大团 , 还有一
类组合优化问题如图着色问题、最大匹配问题等也与之相关,
因此解决最小支配集问题具有重要的理论意义; 同时, 最小支
步骤 1 将 V 中的顶点按顶点度数从大到小逆序排列成点 集 V’, 并全部顶点设置为未标号;
步 骤 2 取 V’中 第 一 个 顶 点 , 若 该 点 已 经 标 号 , 并 在 V’删 除该点, 转至步骤 3; 否则, 将该点标号为 1, 并将与之相关联且 未标号的顶点标号为 0, 在 V’删除该点;
LIAO Fei- xiong, MA Liang.TSGA for solving minimum dominating set .Computer Engineer ing and Applications, 2007, 43 ( 24) : 81- 84.
Abstr act: How to find a minimum dominating set for a network is a NP- hard problem.This paper gives a backward sequential heuristic algorithm and a tabu search algorithm, to solve this minimum dominating set problem.And furthermore, these two algo- rithms are combined into a more effective hybrid algorithm—TSGA in order to overcome their disadvantages of getting into local optimum and accelerate the speed of convergence.Series of experiments on random networks and logistics network location prob- lems are tested that show the effectiveness of the TSGA for solving the minimum dominating set problem. Key wor ds: minimum dominating set; heuristic algorithm; Tabu Search( TS) ; Genetic Algorithm( GA)
dominating set) ; 若 不 存 在 任 何 支 配 集 S’, 使 得|S’|<|S|, 则 称 S
为 G 的最小支配集, |S|为图 G 的支配数, 记作 !( G) 。
如图 1、2 所示:
对 图 G=<V, E>, 点 集 为 V={v1, v2, … , vn}, 其 最 小 支 配 集 的 数学模型可以描述为
1 引言
寻 找 出 图 的 最 小 支 配 集( minimum dominating set) 是 一 个
古老的难题, 其概念最早出现在国际象棋比赛中。1862 年, De
Jaenisch 就考虑 了 控 制 整 个 棋 盘 所 需 要 的 最 少 皇 后 个 数 问 题 ,
这个问题接和图的支配集有直接的联系。
本文在第 2 章设计了求解最小支配集的两种近似算法, 第 3 章将给出禁忌遗传算法( TSGA) 求解最小支配集。
2 求解 MDS 的两种算法
先 给 出 关 于 最 小 支 配 集 三 条 重 要 定 理[2, 4], 其 中 , G 均 为 一 个 无 环 、无 向 简 单 连 通 图 。
定理 1 如果 G 是 n 阶图, 则 !( G) ≤ n 。 2
步骤 3 若 V’为空, 转至步骤 4; 否则, 转至步骤 2; 步骤 4 取标号为 1 的顶点作为支配点, 把这些点组成的 点集为最小支配集。 逆序启发式算法求出的结果是图的一个极小支配集。按上 述步骤, 求图 1 的最小支配集: 点集 V={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, 将顶点逆序排列后, V’={7, 3, 4, 10, 1, 2, 5, 6}; 则求出标号为 1 的 点集为{1, 5, 7}, 显然它是图 1 的最小支配集。 逆序启发式算法能够很快地找出一个近似于最小支配集 的支配集, 在 PC 机上求解含有 10 000 个顶点的网络图最小支 配集不超过 10 min。但这种启发式算法还是克服不了容易陷入 局 部 最 优 解 的 缺 陷 ; 如 图 3、4, 用 该 算 法 求 出 的 支 配 集 为 {1, 2, 5}, 而事实上最小支配集为{3, 4}。
82 2007, 43( 24)
Computer Engineering and Applications 计算机工程与应用
总能找到极小支配集, 比较所有的极小支配集, 基数最小就是 最小支配集。但是采用此方法, 其计算时间复杂度是指数级, 在 顶点数较大( 顶点数≥40) 时不可行。往往不得已退而求其次, 满 足 于 能 快 速 地 找 到 问 题 的 近 似 最 优 解 。故 可 以 采 用 一 些 启 发 式方法或者引入一些智能算法进行求解。
作简单图 G, 其顶点与棋盘上的 64 个格子一一对应, 其两
个顶点在 G 中相关联当且仅当两个对应格子中的一个格子可
以由位于另一个格子中的皇后控制, 于是, 支配棋盘中全部格
子的皇后个数就是图 G 的最小支配集的基数。
关于图的支配集的相关定义可以描述为: 给定一个无环、
无向简单连通图 G=<V, E>, V 表示图的点集, E 表示图的边集。
2.2 TS 算法求解 MDS
禁 忌 搜 索( Tabu Search, TS) 是 另 一 个 著 名 的 启 发 式 搜 索
算 法[5], 在 搜 索 过 程 中 可 以 接 受 劣 解 , 使 得 TS 在 搜 索 过 程 中 能
够跳出局部最优解, 进而转向其他区域进行搜索, 并通过藐视
准则来赦免一些被禁忌的优良状态, 从而提高优化效率, 获得
borhood) 、禁 忌 表( Tabu List) 、禁 忌 长 度( Tabu Length) 、候 选 解
( Candidate) 、藐视准则( Aspiration Criterion) 等概念, 它们的选取
直接影响到优化结果。这里, 用 TS 算法求解 MDS 时的设置如下:
( 1) 初始解 S0: 为随机产生由 0, 1 组成长度为 n 的序列。实 际上, 随机产生 S0 可能会使|C( S0) |非常大, 为了加快收敛速度, 本文对初始解进行了校正, 使 C( S0) 中顶点标号值变为 1, 这样 S0 就是一个支配集可行解了;
n
f=min%xi
( 1)
i=1
st. xj∨[A( i, j)·xi]=1, xi=1, j=( 1, 2, …, n)
( 2)
’1
A( i, j) =
结点 vi 与结点 vj 相关联
( 3)
0 结点 vi 与结点 vj 不相关联
’1
xi= 0
点 vi 作为支配点 点 vj 不作为支配点
( 4)
目 标 函 数 表 示 以 最 少 的 顶 点 作 为 支 配 点 , 约 束 条 件( 2) 表
( 2) S 的 邻 域 : 分 别 将 S 的 第 i 位 值 S( i) 变 为 1- S( i) , 则 S
共有 n 个邻域;
( 3) 禁忌表: 为长度为 n 的一维数组, 记录了搜索过程中禁
定 理 2 如 果 G 是 n 阶 图 , !( G) 表 示 G 最 大 顶 点 度 数 , 则 n ≤!( G) ≤n- !( G) 。 1+!( G) 定理 3 图的每个极大独立集都是一个极小支配集。
定 理 1 和 定 理 2 界 定 了 !( G) 的 范 围 , 初 步 地 可 以 检 查 求 解结果的合理性, 定理 3 说明了支配集和独立集的关系。与图 的最大独立集一样, 图的最小支配也可以用布尔运算法则求出 所有的极小支配集, 然后选出基数最小支配集作为最小支配 集。但是这种方法仅适合于小规模的网络图, 下面将介绍两种 近似算法。
束数学规划模型:
n
# (f S) =min[ xi+n·|C( S) |]
( 5)
i=1
在式 n·|C( S) |中, n 相当 于 罚 因 子 , 为 顶 点 规 模 ; C( S) 表 示 S 序
列对应的非支配点, 且不与支配点相关联的顶点集, |C( S) |表示
C( S) 中顶点的个数。
禁忌搜索算法涉及到初始解( Initial Solution) 、邻域( Neigh-
更好的解或全局最优解的概率也大大增加。
对 图 G=<V, E>, V={v1, v2, … , vn}表 示 点 集 , 一 个 支 配 集 解 对应为 S=x1x2x3…xn, S 是一个由 0 或者 1 组成的序列, xi 为点 vi 的 标 号 值 , xi 为 0 表 示 点 vi 不 作 为 支 配 点 , xi 为 1 表 示 点 vi 作 为支配点, 于是, 可以把图的最小支配集问题转化为一个无约
配集也具有广泛的实际应用背景, 比如地面作战计划的制定[1]、
城市交通网和通讯网的建造[2], 以及物流网络中心的选址[6]等。
然而, 目前还没有一个求解最小支配集的有效算法, 理论
上讲求图的最小支配集并不困难, 只要采取逐点试探法, 最终
基金项目: 上海市重点学科建设项目资助( No.T0502) ; 上海市教委科技发展基金资助项目( No.05EZ31) 。 作者简介: 廖飞雄( 1983- ) , 硕士研究生, 主要从事系统工程、智能优化研究; 马良( 1964- ) , 博士, 教授, 博士生导师, 主要从事智能优化研究。
Computer Engineering and Applications 计算机工程与应用
2007, 43( 24) 81
禁忌遗传算法求解最小支配集
百度文库
廖飞雄, 马 良 LIAO Fei- xiong, MA Liang
上海理工大学 管理学院, 上海 200093 College of Management, University of Shanghai for Science and Technology, Shanghai 200093, China
2.1 逆序启发式算法求解 MDS
根据定理 3, 图的每个极大独立集均为一个极小支配集, 而根据定义, 图的最小支配集也是极小支配集, 故可以把图的 极大独立集中基数最少的点集近似作为图的最小支配集, 而要 找出极大独立集中基数最少的点集, 可以按启发式规则实现。 对于图 G=<V, E>, 逆序启发式算法可描述为:
对图 G 的顶点子集 S!V, S≠!, 若对#vi∈V, vi 要么属于 S, 要 么至少与 S 的一个顶点相邻, 则称 S 为 G 的支配集( dominating
set) , 属于 S 的顶 点 称 为 支 配 点 , 其 它 顶 点 为 非 支 配 点 ; 若 S 的
任 何 真 子 集 都 不 是 支 配 集 , 则 称 S 为 G 极 小 支 配 集( minimal
示任意顶点 vj 要么与支配点关联, 要么是支配点。 在运筹学图论中, 如何寻找一个网络图的最小支配集已经
被证明是 NP- hard 问题, 与之相关的问题还有如何寻找一个网
络图的最大独立集、最小点覆盖、最小边覆盖和最大团 , 还有一
类组合优化问题如图着色问题、最大匹配问题等也与之相关,
因此解决最小支配集问题具有重要的理论意义; 同时, 最小支
步骤 1 将 V 中的顶点按顶点度数从大到小逆序排列成点 集 V’, 并全部顶点设置为未标号;
步 骤 2 取 V’中 第 一 个 顶 点 , 若 该 点 已 经 标 号 , 并 在 V’删 除该点, 转至步骤 3; 否则, 将该点标号为 1, 并将与之相关联且 未标号的顶点标号为 0, 在 V’删除该点;
LIAO Fei- xiong, MA Liang.TSGA for solving minimum dominating set .Computer Engineer ing and Applications, 2007, 43 ( 24) : 81- 84.
Abstr act: How to find a minimum dominating set for a network is a NP- hard problem.This paper gives a backward sequential heuristic algorithm and a tabu search algorithm, to solve this minimum dominating set problem.And furthermore, these two algo- rithms are combined into a more effective hybrid algorithm—TSGA in order to overcome their disadvantages of getting into local optimum and accelerate the speed of convergence.Series of experiments on random networks and logistics network location prob- lems are tested that show the effectiveness of the TSGA for solving the minimum dominating set problem. Key wor ds: minimum dominating set; heuristic algorithm; Tabu Search( TS) ; Genetic Algorithm( GA)
dominating set) ; 若 不 存 在 任 何 支 配 集 S’, 使 得|S’|<|S|, 则 称 S
为 G 的最小支配集, |S|为图 G 的支配数, 记作 !( G) 。
如图 1、2 所示:
对 图 G=<V, E>, 点 集 为 V={v1, v2, … , vn}, 其 最 小 支 配 集 的 数学模型可以描述为
1 引言
寻 找 出 图 的 最 小 支 配 集( minimum dominating set) 是 一 个
古老的难题, 其概念最早出现在国际象棋比赛中。1862 年, De
Jaenisch 就考虑 了 控 制 整 个 棋 盘 所 需 要 的 最 少 皇 后 个 数 问 题 ,
这个问题接和图的支配集有直接的联系。
本文在第 2 章设计了求解最小支配集的两种近似算法, 第 3 章将给出禁忌遗传算法( TSGA) 求解最小支配集。
2 求解 MDS 的两种算法
先 给 出 关 于 最 小 支 配 集 三 条 重 要 定 理[2, 4], 其 中 , G 均 为 一 个 无 环 、无 向 简 单 连 通 图 。
定理 1 如果 G 是 n 阶图, 则 !( G) ≤ n 。 2
步骤 3 若 V’为空, 转至步骤 4; 否则, 转至步骤 2; 步骤 4 取标号为 1 的顶点作为支配点, 把这些点组成的 点集为最小支配集。 逆序启发式算法求出的结果是图的一个极小支配集。按上 述步骤, 求图 1 的最小支配集: 点集 V={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, 将顶点逆序排列后, V’={7, 3, 4, 10, 1, 2, 5, 6}; 则求出标号为 1 的 点集为{1, 5, 7}, 显然它是图 1 的最小支配集。 逆序启发式算法能够很快地找出一个近似于最小支配集 的支配集, 在 PC 机上求解含有 10 000 个顶点的网络图最小支 配集不超过 10 min。但这种启发式算法还是克服不了容易陷入 局 部 最 优 解 的 缺 陷 ; 如 图 3、4, 用 该 算 法 求 出 的 支 配 集 为 {1, 2, 5}, 而事实上最小支配集为{3, 4}。
82 2007, 43( 24)
Computer Engineering and Applications 计算机工程与应用
总能找到极小支配集, 比较所有的极小支配集, 基数最小就是 最小支配集。但是采用此方法, 其计算时间复杂度是指数级, 在 顶点数较大( 顶点数≥40) 时不可行。往往不得已退而求其次, 满 足 于 能 快 速 地 找 到 问 题 的 近 似 最 优 解 。故 可 以 采 用 一 些 启 发 式方法或者引入一些智能算法进行求解。
作简单图 G, 其顶点与棋盘上的 64 个格子一一对应, 其两
个顶点在 G 中相关联当且仅当两个对应格子中的一个格子可
以由位于另一个格子中的皇后控制, 于是, 支配棋盘中全部格
子的皇后个数就是图 G 的最小支配集的基数。
关于图的支配集的相关定义可以描述为: 给定一个无环、
无向简单连通图 G=<V, E>, V 表示图的点集, E 表示图的边集。
2.2 TS 算法求解 MDS
禁 忌 搜 索( Tabu Search, TS) 是 另 一 个 著 名 的 启 发 式 搜 索
算 法[5], 在 搜 索 过 程 中 可 以 接 受 劣 解 , 使 得 TS 在 搜 索 过 程 中 能
够跳出局部最优解, 进而转向其他区域进行搜索, 并通过藐视
准则来赦免一些被禁忌的优良状态, 从而提高优化效率, 获得