HOME

TheInfoList



OR:

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 u_i: 2^M \to \mathbb. 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, Z_1\supseteq Z_2 implies u_i(Z_1) \geq u_i(Z_2). It is also assumed that u_i(\emptyset)=0. 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 \mathbf = (X_1, \ldots, X_n), such that M = X_1\sqcup \cdots \sqcup X_n.The welfare of an allocation is the sum of agents' utilities: W(\mathbf) := \sum_ u_i(X_i). 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 v_, such that u_i(Z) = \sum_ v_ 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 v_ 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 ''kc'' 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 ''Xi'' 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 = ... = ''Xn'' = 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: ''ui''(''Xi''+''g'') - ''ui''(''Xi''). ** 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 n/(2n-1)-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 ''pj'' 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 ''pj''. 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 \frac 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 \frac 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 ''Di'', and a value ''Vi'' > 0, such that u_i(Z) = \begin V_i & Z\supseteq D_i \\ 0 & \text \end . 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 V_i=1 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 O(\sqrt).


General agents

When agents can have arbitrary monotone utility functions (including complementary items), welfare maximization is hard to approximate within a factor of O(n^) for any \epsilon>0. 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