Approximation algorithms for facility location problems with discrete subadditive cost functions