Grouping orders by similarity (cluster) of their items
Faulty algorithm.  Any order would be 100% to an order of all items.   

I real life a warehouse worker can only pick up so many items in a pass.   

Take an order less than pass size and find the order or orders fully contained that get up to pass size.  

After you cannot get up to pass size contained then normalize similarity with match / (size1 + size2).   

A better measure of similarity is:  

var ratio = 2 * (double)similarities / (minOrder.Items.Count + maxOrder.Items.Count);