You can also solve these sorts of problems with 'calculus of variations' so you have a a budget, some choices about how to allocate it if you are shopping, and a budget constraint . Usually written as a Lagrangian.
The more complex cases basically involve tensor products.
Category theory I think includes calculus of variations (or multiobjective optimization) as a special case. But it's a different more general dialect.