Recent technological advances in wireless networks will enable the realization of an integrated heterogeneous wireless environment consisting of multiple Radio Access Technologies (RATs) within a network provider. One of the most important benefits is that this will allow providers to balance their traffic among their subsystems without compromising on QoS issues. In this paper we focus on the Network Selection problem to allocate terminals to the most appropriate RATs by jointly examining both users’ and providers’ preferences. We introduce three utility-based optimization functions based on the type of application that users request. We then formulate the terminal assignment problem as an optimization problem, which is recognized as NP-hard. We examine both offline and online selection and develop an optimal Branch and Bound (BB) algorithm, a Greedy heuristic, as well as three Strip Packing variations. BB behaves efficiently in both offline and online environments reducing the search procedure, while the proposed heuristics produce results close to the values we get from BB but with very low computational cost.