Coalition Structure Generation based on Distributed Constraint Optimization