GP is an NP-hard problem (as a decision problem) [1]}, [2]}. Algorithms to solve GP problems include exact algorithms, spectral partitioning, geometric partitioning, flow computations, etc. [3]}. Exact algorithms are often used to solve small-size problems, whereas heuristic algorithms are needed for larger problems.
