The welfare maximization problem is an
optimization problem studied in
economics and
computer science. Its goal is to partition a set of items among agents with different
utility functions, such that the welfare – defined as the sum of the agents' utilities – is as high as possible. In other words, the goal is to find an item allocation satisfying the
utilitarian rule
In social choice and operations research, the utilitarian rule (also called the max-sum rule) is a rule saying that, among all possible alternatives, society should pick the alternative which maximizes the ''sum of the utilities'' of all individual ...
.
An equivalent problem in the context of
combinatorial auctions is called the winner determination problem. In this context, each agent submits a list of bids on sets of items, and the goal is to determine what bid or bids should win, such that the sum of the winning bids is maximum.
Definitions
There is a set ''M'' of ''m'' items, and a set ''N'' of ''n'' agents. Each agent ''i'' in ''N'' has a utility function
. The function assigns a real value to every possible subset of items. It is usually assumed that the utility functions are
monotone set functions, that is,
implies
. It is also assumed that
. Together with monotonicity, this implies that all utilities are non-negative.
An allocation is an ordered partition of the items into ''n'' disjoint subsets, one subset per agent, denoted
, such that
.The welfare of an allocation is the sum of agents' utilities:
.
The welfare maximization problem is: find an allocation X that maximizes ''W''(X).
The welfare maximization problem has many variants, depending on the type of allowed utility functions, the way by which the algorithm can access the utility functions, and whether there are additional constraints on the allowed allocations.
Additive agents
An additive agent has a utility function that is an
additive set function
In mathematics, an additive set function is a function mapping sets to numbers, with the property that its value on a union of two disjoint sets equals the sum of its values on these sets, namely, \mu(A \cup B) = \mu(A) + \mu(B). If this additivity ...
: for every additive agent ''i'' and item ''j'', there is a value
, such that
for every set ''Z'' of items. When all agents are additive, welfare maximization can be done by a simple
polynomial-time
In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by t ...
algorithm: give each item ''j'' to an agent for whom
is maximum (breaking ties arbitrarily). The problem becomes more challenging when there are additional constraints on the allocation.
Fairness constraints
One may want to maximize the welfare among all allocations that are
''fair'', for example,
envy-free up to one item (EF1),
proportional
Proportionality, proportion or proportional may refer to:
Mathematics
* Proportionality (mathematics), the property of two variables being in a multiplicative relation to a constant
* Ratio, of one quantity to another, especially of a part compare ...
up to one item (PROP1), or
equitable up to one item (EQ1). This problem is strongly NP-hard when ''n'' is variable. For any fixed ''n ≥ 2,'' the problem is weakly NP-hard,
and has a
pseudo-polynomial time algorithm based on dynamic programming.
For ''n = 2'', the problem has a
fully polynomial-time approximation scheme.
There are algorithms for solving this problem in polynomial time when there are few agent types, few item types or small value levels. The problem can also be solved in polynomial time when the agents' additive utilities are ''binary'' (the value of every item is either 0 or 1), as well as for a more general class of utilities called ''generalized binary''.
Matroid constraints
Another constraint on the allocation is that the bundles must be independent sets of a
matroid. For example, every bundle must contain at most ''k'' items, where ''k'' is a fixed integer (this corresponds to a
uniform matroid
In mathematics, a uniform matroid is a matroid in which the independent sets are exactly the sets containing at most ''r'' elements, for some fixed integer ''r''. An alternative definition is that every permutation of the elements is a symmetry.
...
). Or, the items may be partitioned into categories, and each bundle must contain at most ''k
c'' items from each category ''c'' (this corresponds to a
partition matroid). In general, there may be a different matroid for each agent, and the allocation must give each agent ''i'' a subset ''X
i'' that is an independent set of their own matroid.
Welfare maximization with additive utilities under heterogeneous matroid constraints can be done in polynomial time, by reduction to the
weighted matroid intersection problem.
Gross-substitute agents
Gross-substitute utilities are more general than additive utilities. Welfare maximization with gross-substitute agents can be done in polynomial time. This is because, with gross-substitute agents, a
Walrasian equilibrium always exists, and it maximizes the sum of utilities.
A Walrasian equilibrium can be found in polynomial time.
Submodular agents
A submodular agent has a utility function that is a
submodular set function
In mathematics, a submodular set function (also known as a submodular function) is a set function whose value, informally, has the property that the difference in the incremental value of the function that a single element makes when added to an ...
. This means that the agent's utility has
decreasing marginals. Submodular utilities are more general than gross-substitute utilities.
Hardness
Welfare maximization with submodular agents is NP-hard.
Moreover, it cannot be approximated to a factor better than (1-1/e)≈0.632 unless P=NP. Moreover, a better than (1-1/e) approximation would require an exponential number of querires to a
value oracle, regardless of whether P=NP.
Greedy algorithm
The maximum welfare can be approximated by the following polynomial-time
greedy algorithm:
* Initialize ''X''
1 = ''X''
2 = ... = ''X
n'' = empty.
* For every item ''g'' (in an arbitrary order):
** Compute, for each agen ''i'', his ''
marginal utility
In economics, utility is the satisfaction or benefit derived by consuming a product. The marginal utility of a Goods (economics), good or Service (economics), service describes how much pleasure or satisfaction is gained by consumers as a result o ...
'' for ''g'', defined as: ''u
i''(''X
i''+''g'') - ''u
i''(''X
i'').
** Give item ''g'' to an agent with the largest marginal utility.
Lehman, Lehman and Nisan
prove that the greedy algorithm finds a 1/2-factor approximation (they note that this result follows from a result of Fisher, Nemhauser and Wolsey regarding the maximization of a single submodular valuation over a matroid). The proof idea is as follows. Suppose the algorithm allocates an item ''g'' to some agent ''i''. This contributes to the welfare some amount ''v'', which is marginal utility of ''g'' for ''i'' at that point. Suppose that, in the optimal solution, ''g'' should be given to another agent, say ''k.'' Consider how the welfare changes if we move ''g'' from i to ''k'':
* The utility of ''k'' increases by his marginal utility of ''g'', which at most ''v'' by the greedy selection.
* The marginal utility of the ''remaining'' bundle of ''i'' increases by at most ''v''. This follows from submodularity: the marginal utility of ''g'', when added to the remaining bundle, cannot be higher than its marginal utility when the algorithm processed it.
So, for every contribution of ''v'' to the algorithm welfare, the potential contribution to the optimal welfare could be at most 2''v''. Therefore, the optimal welfare is at most 2 times the algorithm welfare. The factor of 2 is tight for the greedy algorithm. For example, suppose there are two items x,y and the valuations are:
The optimal allocation is Alice: , George: , with welfare 2. But if the greedy algorithm allocates x first, it might allocate it to Alice. Then, regardless of how y is allocated, the welfare is only 1.
Algorithms using a value oracle
A
value oracle is an oracle that, given a set of items, returns the agent's value to this set. In this model:
* Dobzinski and Schapira
present a polytime
-approximation algorithm, and an (1-1/e)≈0.632-approximation algorithm for the special case in which the agents' utilities are set-coverage functions.
*
Vondrak and Calinescu, Chekuri, Pal and Vondrak
present a randomized polytime algorithm that finds a (1-1/e)-approximation
with high probability
In mathematics, an event that occurs with high probability (often shortened to w.h.p. or WHP) is one whose probability depends on a certain number ''n'' and goes to 1 as ''n'' goes to infinity, i.e. the probability of the event occurring can be mad ...
. Their algorithm uses a continuous-greedy algorithm - an algorithm that extends a ''fractional'' bundle (a bundle that contains a fraction ''p
j'' of each item ''j'') in a greedy direction (similarly to
gradient descent). Their algorithm needs to compute the value of fractional bundles, defined as the expected value of the bundle attained when each item ''j'' is selected independently with probability ''p
j''. In general, computing the value of a fractional bundle might require 2
''m'' calls to a value oracle; however, it can be computed approximately
with high probability
In mathematics, an event that occurs with high probability (often shortened to w.h.p. or WHP) is one whose probability depends on a certain number ''n'' and goes to 1 as ''n'' goes to infinity, i.e. the probability of the event occurring can be mad ...
by
random sampling. This leads to a randomized algorithm that attains a (1-1/e)-approximation with high probability. In cases when fractional bundles can be evaluated efficiently (e.g. when utility functions are set-coverage functions), the algorithm can be made deterministic.
They mention as an open problem, whether there is a deterministic polytime (1-1/e)-approximation algorithm for general submodular functions.
The welfare maximization problem (with ''n'' different submodular functions) can be reduced to the problem of maximizing a ''single'' submodular set function subject to a
matroid constraint:
given an instance with ''m'' items and ''n'' agents, construct an instance with ''m''*''n'' (agent,item) pairs, where each pair represents the assignment of an item to an agent. Construct a single function that assigns, to each set of pairs, the total welfare of the corresponding allocation. It can be shown that, if all utilities are submodular, then this welfare function is also submodular. This function should be maximized subject to a
partition matroid constraint, ensuring that each item is allocated to at most one agent.
Algorithms using a demand oracle
Another way to access the agents' utilities is using a
demand oracle In algorithmic game theory, a branch of both computer science and economics, a demand oracle is a function that, given a price-vector, returns the demand of an agent. It is used by many algorithms related to pricing and optimization in online mar ...
(an oracle that, given a price-vector, returns the agent's most desired bundle). In this model:
* Dobzinski and Schapira
present a polytime (1-1/e)-approximation algorithm.
*
Feige Feige is a surname. Notable people with the surname include:
* Claude Feige (born 1958), French curler
* David Feige, American lawyer, legal commentator and author
* Eric Feige (born 1961), American politician
* Gerhard Feige (born 1951), bishop of ...
and
Vondrak improve this to (1-1/e+ε) for some small positive ε
(this does not contradict the above hardness result, since the hardness result uses only a value oracle; in the hardness examples, the demand oracle itself would require exponentially many queries).
Subadditive agents
When agents' utilities are
subadditive set function In mathematics, a subadditive set function is a set function whose value, informally, has the property that the value of function on the union of two sets is at most the sum of values of the function on each of the sets. This is thematically related ...
s (more general than submodular), a
approximation would require an exponential number of value queries.
Feige presents a way of rounding any fractional solution to an LP relaxation to this problem to a feasible solution with welfare at least 1/2 the value of the fractional solution. This gives a 1/2-approximation for general subadditive agents, and (1-1/e)-approximation for the special case of
fractionally-subadditive valuations.
Superadditive agents
When agents' utilities are
superadditive set function In mathematics, a superadditive set function is a set function whose value when applied to the union of two disjoint sets is greater than or equal to the sum of values of the function applied to each of the sets separately. This definition is analog ...
s (more general than supermodular), a
approximation would require a super-polynomial number of value queries.
Single-minded agents
A
single-minded agent In computational economics, a single-minded agent is an agent who wants only a very specific combination of items. The valuation function of such an agent assigns a positive value only to a specific set of items, and to all sets that contain it. It ...
wants only a specific set of items. For every single-minded agent ''i'', there is a demanded set ''D
i'', and a value ''V
i'' > 0, such that
. That is, the agent receives a fixed positive utility if and only if their bundle contains their demanded set.
Welfare maximization with single-minded agents is
NP-hard
In computational complexity theory, NP-hardness ( non-deterministic polynomial-time hardness) is the defining property of a class of problems that are informally "at least as hard as the hardest problems in NP". A simple example of an NP-hard pr ...
even when
for all ''i''. In this case, the problem is equivalent to
set packing Set packing is a classical NP-complete problem in computational complexity theory and combinatorics, and was one of Karp's 21 NP-complete problems. Suppose one has a finite set ''S'' and a list of subsets of ''S''. Then, the set packing problem asks ...
, which is known to be NP hard. Moreover, it cannot be approximated within any constant factor (in contrast to the case of submodular agents). The best known algorithm approximates it within a factor of
.
General agents
When agents can have arbitrary monotone utility functions (including
complementary items), welfare maximization is hard to approximate within a factor of
for any
. However, there are algorithms based on
state space search that work very well in practice.
See also
*
Utility maximization problem
*
Profit maximization
In economics, profit maximization is the short run or long run process by which a firm may determine the price, input and output levels that will lead to the highest possible total profit (or just profit in short). In neoclassical economics, w ...
References
{{Reflist
Optimization algorithms and methods