A primal-dual approximation algorithm for generalized Steiner network problemsThe primal-dual method for approximation algorithms and its application to network design problems