An algorithm for generalized constrained multi-source Weber problem with demand substations