本文介绍了针对最小权顶点覆盖问题的一种高效的分支限界算法,通过优化搜索策略以减少计算复杂度,为该类组合优化问题提供了新的解决思路。
问题描述:给定一个赋权无向图G=(V,E),每个顶点v∈V都有一个权值w(v)。如果U∈V,且对任意(u,v)∈E有u∈U或v∈U,就称U为图G的一个顶点条覆盖.G的最小权顶点覆盖是指G中所含顶点权之和最小的顶点覆盖。
算法设计:对于给定的无向图G,设计一个优先队列式分支限界法来计算G的最小权顶点覆盖。
数据输入:由文件input.txt给出输入数据。第1行有2个正整数n和m,表示给定的图G有n个顶点和m条边,顶点编号为1,2,...,n. 第2行有n个正整数表示n个顶点的权值。接下来的m行中,每行包含两个正整数u,v,表示图G的一条边(u,v)。
结果输出:将计算出的最小权顶点覆盖的顶点权之和以及最优解写入文件output.txt. 文件第1行为最小权顶点覆盖顶点权之和; 第2行是最优解xi,其中1≤i≤n,若xi=0表示顶点i不在最小权顶点覆盖中。