A distributed hierarchical algorithm for multi-cluster constrained optimization. (March 2017)