An optimization framework for hierarchical clustering | Synapse