Effectively Rearranging Heterogeneous Objects on Cluttered Tabletops