In this paper, the authors address the problem of network design for a closed-loop supply chain. The problem is formulated as a mixed zero-one bi-level optimization model, with the manufacturer as the leader who minimizes his costs at the upper level, and a forwarding agent dealt with as the follower. The leader decides on the locations of the facilities, and the forwarding agent builds the forward and reverse transportation plans so as to minimize the total transportation cost. A genetic algorithm solution method is used to obtain the Stackelberg solution. Furthermore, the algorithm uses penalty functions to handle the constraints. The solution algorithm is implemented in Matlab, utilizing LINGO 11.0 (2008) to solve each lower level problem instance. Finally, the accuracy of the model is tested on a set of numerical experiments.