As an NP-hard problem, MCS is computationally very challenging. Many approaches have been proposed for solving MCS and its related problems, which could be mainly divided into two categories: exact algorithms and inexact algorithms.
An exact algorithm guarantees to obtain an optimal solution but runs in exponential time in the worst case. It aims to efficiently enumerate the whole search space or reduce the search space without affecting the solution's optimality. The approaches for exact algorithms include Linear Programming (LP) [1]}, Branch-and-Bound (BnB) [2]}, [3]}, [4]}, etc.
An inexact algorithm aims to find a near-optimal solution within reasonable computational resources (e.g., time and memory). The approaches for inexact algorithms include heuristics [5]}, [6]}, [7]} and metaheuristics [8]}.
Recently, machine learning [9]} and deep learning  [10]}, [11]} techniques are also adopted for solving MCS.
