The tolerance of an element of a combinatorial optimization problem with respect to a given optimal solution is the maximum change, i.e., decrease or increase, of its cost, such that this solution remains optimal. The bottleneck path problem, for given an edge-capacitated graph, a source, and a target, is to find the $\max$-$\min$ value of edge capacities on paths between the source and the target. For this problem and a network with $n$ vertices and $m$ edges, there is known the Ramaswamy-Orlin-Chakravarty's algorithm to compute all tolerances in $O(m+n\log n)$ time. In this paper, for any in advance given sample of the problem with pairwise distinct edge capacities, we present a constant-time algorithm for computing both tolerances of an arbitrary edge with a preprocessing time $O\big(m \alpha(m,n)\big)$, where $\alpha(\cdot,\cdot)$ is the inverse Ackermann function. For given $k$ source-target pairs, our solution yields an $O\big((\alpha(m,n)+k)m\big)$-time algorithm to find tolerances of all edges with respect to optimal paths between the sources and targets, while the known algorithm takes $O\big(k(m+n\log n)\big)$ time to find them.
翻译:组合优化问题中某元素相对于给定最优解的容差,是指其成本的最大变化(即减少或增加)范围,在此范围内该解仍保持最优。瓶颈路径问题是指在给定边容量图、源节点和目标节点的情况下,寻找源节点与目标节点间路径上边容量的最大-最小值。针对该问题以及具有 $n$ 个顶点和 $m$ 条边的网络,已知 Ramaswamy-Orlin-Chakravarty 算法可在 $O(m+n\log n)$ 时间内计算所有容差。本文针对任意预先给定的、具有成对不同边容量的该问题样本,提出一种常数时间算法用于计算任意边的两种容差,其预处理时间为 $O\big(m \alpha(m,n)\big)$,其中 $\alpha(\cdot,\cdot)$ 为反阿克曼函数。对于给定的 $k$ 个源-目标节点对,我们的解决方案可产生一个 $O\big((\alpha(m,n)+k)m\big)$ 时间算法来求解所有边相对于源节点与目标节点间最优路径的容差,而已知算法需要 $O\big(k(m+n\log n)\big)$ 时间来完成该计算。