In this book, we consider several generalized network design problems which belong to the family of NP-hard combinatorial optimization problems. In contrast to their classical counterparts, the generalized versions are defined on graphs whose node sets are partitioned into clusters. The goal is to find a subgraph which spans exactly one node from each cluster and also meets further constraints respectively. Applicable methodologies for solving combinatorial optimization problems can roughly be divided into two mainstreams. The first class consists of algorithms which aim to solve these problems to proven optimality - provided that they are given enough run-time and memory. The second class are metaheuristics which compute approximate solutions but usually require significantly less run-time. By combining these two classes, we are able to form collaboration algorithms that benefit from advantages of both sides. Such approaches are considered for solving the generalized network design problems in this book.