A commonly used criterion for what makes for a good allocation of resources in economics is whether it’s Pareto efficient. That is, are there any other possible allocations that would make someone better off without making anyone worse off. But since this fails to capture notions of fairness (giving all of the goods to one person may be efficient), several fairness criteria have been proposed. One rather strong one is envy-freeness which says that no one prefers the bundle of goods someone else got over their own (so nobody has any envy).

There are many situations such as assigning courses, housing, schedules, etc. where it may be useful to have an explicit allocation mechanism and in those cases it would be nice if we could guarantee that it would produce an allocation that satisfies both the efficiency and fairness criteria mentioned above. Unfortunately, this can’t be guaranteed in general. One simple reason why this may not be possible arises when the goods being assigned are indivisible. For example, take the simple case where there is only one indivisible good and several people who want it. Clearly, it’s inefficient to assign the good to no one because if you were to assign it to someone instead you’d make them better off without harming anyone else. But at the same time, assigning it to no one is the only envy-free option since we’re not able to divide it up and assigning it all to one person creates envy.

But what about when goods are perfectly divisible, so we can divide them up as finely as we like? (For now we’ll assume that each good is homogeneous, so when dividing up a good people don’t care which part they receive just how big that part is). Now can we make any guarantees? Well if don’t make any restrictions on what people’s preferences look like then we still can’t. For example, you could take the previous case and make the good divisible but if people only got positive value from receiving the the whole thing and not from only receiving a fraction of it then we’d run into the exact same problems as before.

So what conditions on people’s preferences will be sufficient to guarantee that there will be a Pareto efficient envy-free (PEEF) allocation? One fairly simple requirement that is sufficient is that everyone’s preferences must be convex and strongly monotone. Strongly monotone means that, all else equal, they always strictly prefer more of each good to less of it. If we’re thinking about representing the bundle of goods someone gets as a vector, having convex preferences means that they like convex combinations of any two bundles at least as much as those two bundles. More intuitively, this can be thought of as having a taste for variety since averages are preferred to extremes.

But why does this guarantee a PEEF allocation? Well it’s actually because it guarantees us a competitive equilibrium! We can image each person is assigned a budget and each good is assigned a price and then every person chooses how much of each good to buy to maximally satisfy their preferences given their budget constraint. If when everyone does this the market clears, i.e. the total amount demanded of each good equals the total amount available, we say those prices and the resulting allocation is a competitive equilibrium (CE). Assuming that preferences are strongly monotone is enough for the First Fundamental Welfare Theorem to hold. In other words, it guarantees us that any CE will be Pareto efficient. But what about envy-freeness? Well we get to choose how big everyone’s budget is so we can choose to make them all the same size. Then since everyone can afford the same bundles and everyone chooses the best bundle they can afford it’s impossible for someone to prefer someone else’s bundle to their own. Therefore, any competitive equilibrium with equal incomes (CEEI) will be PEEF!

So now in order to guarantee the existence of a PEEF allocation we need to make sure a CEEI will exist. This is where the convexity assumption is required. Similar to some other equilibrium existence results you can prove a competitive equilibrium will exist using a fixed point theorem. In this case it’s Kakutani fixed-point theorem which deals with a correspondence defined on convex set mapping back onto subsets of that set which is why convexity is important.

This is a cool result but unfortunately there aren’t fast algorithms for computing CE and it would be nice to have an method that wasn’t quite so all or nothing. A very different approach people sometimes take to find good allocations is to have some global welfare function we’re maximizing. This can be done if we can express everyone preferences using utility functions and then make a global function that takes all of these as inputs. For example, we could have a kind of utilitarian welfare function:

But one that will be particularly interesting for our purposes is the Nash welfare function:

One nice thing about both the utilitarian and Nash welfare functions is that since they are strictly increasing in all of the individual utility functions whatever maximizes them will be Pareto efficient. But the maximal Nash welfare allocation, sometimes called the Nash optimal allocation, additionally tends to be fair in the sense of being close to being envy-free. One way to see what the Nash optimal allocation is doing is to see that it’s solving the following optimization problem:

Where there’s N people and J goods and is the total amount available of each good. Taking the derivative with respect will give us the condition that the marginal growth rates of each person’s utility for receiving more of a particular good will be equal, at least among everyone who is already receiving some of it. This is different from the utilitarian optimal allocation which would be equating marginal utilities across people rather than marginal growth rates. It seems somewhat intuitive that equating growth rates in utility across people would lead to what seem like fairer outcomes but is it ever guaranteed to give us something envy-free?

Yes! If the utility functions are all homogeneous. More precisely, this means that for each the utility function there exist a constant k such that:

For example, all linear functions as well as functions that are just minimums or maximums of finite things are homogeneous. But stating the result this way is underselling its coolness. What’s really going on is when everyone has homogeneous utility functions maximizing the Nash welfare finds a CEEI! Specifically the allocation will be the same as the allocation in some CEEI. Furthermore, the Lagrange multiplier from our optimization problem’s constraint for each good will be equal to the price of that good in that CEEI (if we normalize everyone’s budget and the supply of each good to be 1). This leads to an interesting interpretation of the equilibrium prices of each good as being about the growth rate of the marginal buyers utility if the supply were increased slightly. Additionally, there are other cases where this connection holds. For example, in the realm of “cake-cutting” problems where we have one heterogeneous good to divide up among people, we can define a variation on the concept a CE to fit the setting. In this case it would essentially mean finding a function that maps from subsets of the good to a price such that when everyone spends their fake income “the market clears” in the sense that some partition of the whole good is bought i.e. no subset doesn’t get sold and no intersecting subsets are bought. And in this case a partitioning up of the good is a CEEI allocation *if and only if* it maximizes the Nash welfare!

Perhaps these special cases don’t actually tell us much about more general cases but it would be quite interesting if they did. It gives a very nice interpretation of how competitive markets tend to work when people have similar levels of wealth and even beyond that I personally just find it neat when things as seemingly decentralized as competitive markets can actually be thought of as maximizing some global function.