Distributed Control and Optimization