Given a set of candidate road projects associated with costs  finding the best subset with respect to a limited budget is known as the network design problem (NDP) The NDP is often cast in a bilevel programming problem which is known to be NP-hard