Perfect Graph Modification Problems: An Integer Programming Approach
Abstract
Graph modification problems aim to find a small set of modifications to a graph so that it satisfies a desired property.
The literature is rather rich in NP-completeness results and polynomial time solvable cases for special graph classes.
However, no exact algorithm has been proposed for perfect graph modification problems.
In this work, we propose the first exact solution methods based on integer programming for three variants: minimum perfect editing, minimum perfect completion, and the perfect sandwich problems.
The minimum perfect editing problem inquires about the smallest number of edge additions and deletions needed to make a graph perfect, while the completion problem allows only for edge additions.
The perfect sandwich problem is a decision problem that asks whether a perfect graph can be formed by adding edges from a restricted subset.
To solve these problems, we formulate an integer programming model based on the Strong Perfect Graph Theorem.
To address the resulting exponential number of constraints, we propose a branch-and-cut algorithm that dynamically generates them on demand.
At the core of this approach is an efficient separation routine for enumerating odd holes and odd antiholes.
We also release this underlying routine as "is_perfect"-a standalone open-source perfect graph recognizer and odd hole enumerator designed for broader community reuse.
To enhance the practical efficiency of the branch-and-cut algorithm, we calculate the expected number of odd holes and odd antiholes in random Erdos Renyi graphs.
In addition, we propose "IterativeModificationHeuristic", the first heuristic for the editing and completion problems, which provides upper bounds.
Finally, we demonstrate the empirical effectiveness of the proposed methods through computational experiments on a wide range of instance types; all benchmark instances are publicly available.
이 뉴스, 어떠셨어요?
탭 한 번으로 반응 · 로그인 불필요