I ended up building my own solution to this problem too (though mine is not open to public) The main thing I wanted to optimize was menu planning. So I wrote a genetic algorithm which will generate a menu, add the score, mutate the menu in some way, and iterate. In my database I have a rough price per ingredient, and my families enjoyment of the recipe (though I have kind of a lagging gradient which reduces the score…
And I noticed how much is thrown out despite attempts to not do so, because different items have different shelf life.