Distributed partition-based optimization via dual decomposition