Optimizing price lists with many options