Fast ADMM Algorithm for Distributed Optimization with Adaptive Penalty