Buying ingredients for a cake from many different stores and need to minimise the number of stores - algorithm name? So let's say I'm baking a cake and it has a few ingredients (including multiples):

ingredients = {sugar, sugar, baking powder, chocolate, flour, egg, egg}


I can go to a bunch of different stores to buy the ingredients. Each store has a different collection of ingredients to offer:

store_1 = {sugar, vanilla extract, olive oil, chocolate}
store_2 = {chocolate, chocolate, flour, egg}
store_3 = {flour, baking powder, sugar, sugar, sugar, egg}


Problem: I want to buy all the ingredients for the cake from the minimum number of stores

I'm sure this is a common problem with existing algorithms, but I can't seem to find anything besides the bin packing problem. It is a similar problem but not quite the same. 

Any ideas would be appreciated.
If it was not for multiples the problem would be Set Cover.
With multiples, a natural name would be Multiset Cover though I cannot say I have encountered this name before.

Obviously, Multiset Cover has Set Cover as a special case.
Hence (the decision variant of) it is NP-hard and you will not find a truly efficient algorithm.
On the other hand, Multiset Cover can be seen as a special case of integer linear programming in the same way that cover problems generally can.