# Towards More Practical Linear Programming-based Techniques for Algorithmic Mechanism Design

- 621 Downloads

## Abstract

R. Lavi and C. Swamy (FOCS 2005, J. ACM **58**(6), 25, 2011) introduced a general method for obtaining truthful-in-expectation mechanisms from linear programming based approximation algorithms. Due to the use of the Ellipsoid method, a direct implementation of the method is unlikely to be efficient in practice. We propose to use the much simpler and usually faster multiplicative weights update method instead. The simplification comes at the cost of slightly weaker approximation and truthfulness guarantees.

### Keywords

Algorithmic game theory Mechanism design Approximation algorithms## 1 Introduction

*Algorithmic mechanism design* is the art of designing and implementing the rules of a game to achieve a desired outcome from a set of possible outcomes. Each player (agent) has a valuation that assigns a value to each possible outcome. The desired outcome is the one that maximizes the sum of the valuations; this sum is usually called *social welfare*. The players are assumed to be selfish: they report valuations to the mechanism, which may differ from the true valuations. Players may lie about their valuations in order to direct the mechanism into an outcome favorable to them. The mechanism computes an outcome and payments for the players. The *utility of a player* is her/his value of the outcome computed by the mechanism minus her/his payment charged by the mechanism. The agents are interested in optimizing their personal utility. Social welfare and personal utilities are determined with respect to the true valuations of the players, although they are not public knowledge. The purpose of the payments is to incentivize the players to report their true valuations. A mechanism is *truthful* if reporting the truth is a best strategy for each player irrespective of the inputs provided by the other players. A mechanism is *efficient* if the outcome and the payments can be computed in polynomial time. The *underlying optimization problem* is the computation of an outcome maximizing social welfare given the valutions of the players.

If the underlying optimization problem can be efficiently solved to optimality, the celebrated VCG mechanism (see, e.g., [20]) achieves truthfulness, social welfare optimization, and polynomial running time. The computation of the outcome and the computation of the payments requires to solve the underlying optimization problem to optimality.

Many optimization problems are NP-hard and hence are unlikely to have an exact algorithm with polynomial running time. However, it might be possible to solve the problem approximately in polynomial running time.

An example is the combinatorial auction problem. There is a set of *m* items to be sold to a set of *n* players. The (reported) value of a set *S* of items to the *i*-th player is *v*_{i}(*S*) with *v*_{i}(*∅*) = 0 and *v*_{i}(*S*) ≤ *v*_{i}(*T*) whenever *S*⊆*T*. Let *x*_{i, S} be a 0-1 variable indicating that set *S* is given to player *i*. Then \({\sum }_{S} x_{i,S} \le 1\) for every player *i* as at most one set can be given to *i*, and \({\sum }_{i} {\sum }_{S; j \in S} x_{i,S} \le 1\) for every item *j* as any item can be given away only once. The social welfare is \({\sum }_{i,S} v_{i}(S) x_{i,S}\). The linear programming relaxation is obtained by replacing the integrality constraints for *x*_{i, s} by 0 ≤ *x*_{i, S} ≤ 1. Note that the number *d* of variables is exponential in the number of items, namely *d* = *n*2^{m}. The linear program is of the packing type, i.e., if *x* is feasible and *y* ≤ *x*, then *y* is feasible. For the combinatorial auction problem, \(O(\sqrt {n})\)-approximation algorithms exist and these algorithms also provide the corresponding integrality-gap-verifier (the definition is given below) with \(\alpha = 1/\sqrt {n}\) [3, 16, 22].

For many integer linear programming problems, approximation algorithms are known that first solve the corresponding linear programming relaxation and then construct an integral solution either by rounding or by primal-dual methods. Lavi and Swamy [18, 19] showed that certain linear programming based approximation algorithms for the social welfare problem can be turned into randomized mechanisms that are truthful-in-expectation, i.e., reporting the truth maximizes the expected utility of a player. The LS-mechanism is powerful (see [4, 12, 18, 19] for applications), but unlikely to be efficient in practice because of its use of the Ellipsoid method. *We show how to use the multiplicative weights update method instead. This results in simpler algorithms at the cost of somewhat weaker approximation and truthfulness guarantees.*

*α*-integrality gap verifier is available. More precisely:

- 1.
Let \(\mathcal {Q} \subseteq \mathbb {R}_{\ge 0}^{d}\) be a

*packing polytope*, i.e., \(\mathcal {Q}\) is a bounded convex polytope contained in the non-negative orthant of*d*-dimensional space with the property that if \(y \in \mathcal {Q}\) and*x*≤*y*then \(x \in \mathcal {Q}\). The linear programming problem for \(\mathcal {Q}\) asks to find for a given*d*-dimensional vector*v*a point \(x^{*} = \text {argmax}_{x \in \mathcal {Q}} v^{T} x\). - 2.
We use \(\mathcal {Q}_{\mathcal {I}} := \mathcal {Q} \cap \mathbb {Z}^{d}\) for the set of integral points in \(\mathcal {Q}\). The integer linear programming problem for \(\mathcal {Q}_{\mathcal {I}}\) asks to find for a given

*d*-dimensional vector*v*a point \(x^{*} = \text {argmax}_{x \in \mathcal {Q}_{\mathcal {I}}} v^{T} x\). We use*x*^{1},*x*^{2}, …,*x*^{j}, … to denote the elements of \(\mathcal {Q}_{\mathcal {I}}\) and \(\mathcal {N}\) for the index set of all elements in \(\mathcal {Q}_{\mathcal {I}}\). - 3.An
*α*-*integrality-gap-verifier*for \(\mathcal {Q}_{\mathcal {I}}\) for some*α*∈ (0,1] is an efficient algorithm that on input \(v \in \mathbb {R}^{d}\) and \(x^{*} \in \mathcal {Q}\), returns an \(x \in \mathcal {Q}_{\mathcal {I}}\) such that$$ v^{T} x \ge \alpha v^{T} x^{*}.$$

- 1.
Let \(v_{i} \in \mathbb {R}_{\ge 0}^{d}, 1\le i\le n,\) be the reported valuation of the

*i*-th player and let \(v = {\sum }_{i} v_{i}\) be the accumulated reported valuation. Solve the LP-relaxation, i.e., find a maximizer*x*^{∗}=argmax_{x ∈ Q}*v*^{T}*x*for the social welfare of the fractional problem, and determine the VCG prices^{1}*p*_{1}, …,*p*_{n}. The allocation*x*^{∗}and the VCG-prices are a truthful mechanism for the fractional problem. - 2.
Write

*α*⋅*x*^{∗}as a*convex combination of integral solutions*in \(\mathcal {Q}\), i.e., \(\alpha \cdot x^{*} = {\sum }_{j \in \mathcal {N}} \lambda _{j} x^{j}\),*λ*_{j}≥ 0, \({\sum }_{j \in \mathcal {N}} \lambda _{j} = 1\), and \(x^{j} \in \mathcal {Q}_{\mathcal {I}}\). This step requires the*α*-integrality-gap-verifier. - 3.
Pick the integral solution

*x*^{j}with probability*λ*_{j}, and charge the*i*-th player the price \(p_{i} \cdot ({v_{i}^{T}} x^{j}/ {v_{i}^{T}} x^{*})\). If \({v_{i}^{T}} x^{*} = 0\), charge zero.

*α*(is

*α*-

*socially efficient*) and guarantees truthfulness-in-expectation, i.e., it converts a truthful fractional mechanism into an

*α*-approximate truthful-in-expectation integral mechanism. With respect to practical applicability, steps 1 and 2 are the two major bottlenecks. Step 1 requires solving

*n*+1 linear programs, one for the fractional solution and one for each price; an exact solution requires the use of the Ellipsoid method (see e.g. [11]), if the dimension is exponential. Furthermore, up to recently, the only method known to perform the decomposition in Step 2 is through the Ellipsoid method. An alternative method avoiding the use of the Ellipsoid method was recently given by Kraft, Fadaei, and Bichler [14]. We comment on their result in the next section.

### 1.1 Our Results

Our result concerns the design and analysis of a practical algorithm for the LS-scheme. We first consider the case where the LP-relaxation of SWM (social welfare maximization) in Step 1 of the LS-scheme can be solved exactly and efficiently and then our problem reduces to the design of a practical algorithm for Step 2. Afterwards, we consider the more general problem where only an FPTAS for the LP-relaxation is available.

### Convex Decomposition

Over the past 15 years, simple and fast methods have been developed for solving packing and covering linear programs [2, 9, 10, 15, 17, 21, 24] within an arbitrarily small error guarantee *ε*. These methods are based on the multiplicative weights update (MWU) method [1], in which a very simple update rule is repeatedly performed until a near-optimal solution is obtained. We show how to replace the use of the Ellipsoid method in Step 2 by an approximation algorithm for covering linear programs. This result is the topic of Section 2.

**Theorem 1**

*Let ε > 0 be arbitrary. Given a fractional point*\(x^{*} \in \mathcal {Q}\)

*, and an α-integrality-gap verifier for*\(\mathcal {Q}_{\mathcal {I}}\)

*, we can find a convex decomposition*

*The convex decomposition has size (= number of nonzero λ*

_{j}

*) at most s(1+⌈ε*

^{−2}

*lns⌉), where s is the size of the support of x*

^{∗}

*(= number of nonzero components). The algorithm makes at most s⌈ε*

^{−2}

*lns⌉ calls to the integrality-gap-verifier.*

Kraft, Fadaei, and Bichler [14] obtained a related result independently. However, their construction is less efficient in two aspects. First, it requires *O*(*s*^{2}*ε*^{−2}) calls of the integrality-gap-verifyer. Second, the size of their convex decomposition might be as large as *O*(*s*^{3}*ε*^{−2}). In the combinatorial auction problem, *s* = *n* + *m*. Theorem 1 together with Steps 1 and 3 of the LS scheme implies a mechanism that is truthful-in-expectation and has (*α*/(1 + 4*ε*))-social efficiency.

We leave it as an open problem whether the quadratic dependency of the size of the decomposition on *ε* can be improved.^{2}

### Approximately Truthful-in-Expectation Mechanism

*separable*, which means that the variables can be partitioned into disjoint groups, one for each player, such that the value of an allocation for a player depends only on the variables in his group, i.e,

*x*

_{i}is the set of variables associated

^{3}with player

*i*. Formally, any outcome \(x \in \mathcal {Q}\subseteq \mathbb {R}^{d}\) can be written as

*x*= (

*x*

_{1}, …,

*x*

_{n}) where \(x_{i} \in \mathbb {R}^{d_{i}}\) and

*d*=

*d*

_{1}+… +

*d*

_{n}. We further assume that for each player

*i*∈ [

*n*], there is a

*dominating allocation*\(u^{i} \in \mathcal {Q}\) that maximizes his value for every valuation

*v*

_{i}, i.e.,

*i*. For the case of a combinatorial auction, the allocation

*u*

^{i}allocates all items to player

*i*.

**Theorem 2**

*Let ε*

_{0}

*∈(0,1/2]. Define*\(\varepsilon ={\Theta }(\frac {{\varepsilon _{0}^{5}}}{n^{4}})\)

*. Assuming that the fractional SWM-problem has an FPTAS, is separable, and has a dominant allocation for every player i, and that there is an α-integrality gap verifier for*\(\mathcal {Q}_{\mathcal {I}}\)

*, there is a polynomial time randomized integral mechanism with the following properties:*

- (C1)
*No positive transfer, i.e., prices are nonnegative*. - (C2)
*Individually rational with probability 1−ε*_{0}*, i.e., i.e., the utility of any truth-telling player is non-negative with probability at least 1−ε*_{0}. - (C3)
*(1 − ε*_{0}*)-truthful-in-expectation, i.e., reporting the truth maximizes the expected utility of a player up to a factor 1 − ε*_{0}. - (C4)
*γ-socially efficient, where γ = α(1 − ε)(1 − ε*_{0}*)/(1 + 4ε*).

Our mechanism is based on constructing a randomized fractional mechanism with properties (C1) to (C3) and being (1 − *ε*)(1 − *ε*_{0})-socially efficient and then converting the mechanism into an integral mechanism with the properties above. The conversion is simple. Let us assume that *x* is a fractional allocation obtained from the fractional mechanism. We apply our convex decomposition technique and Step 3 of the Lavi-Swamy mechanism to obtain an integral randomized mechanism that satisfies (C1) to (C4).We show this result in Section 3.

Our fractional mechanism refines the one given in [6], where the dependency of *ε* on *n* and *ε*_{0} is as *ε* = Θ(*ε*_{0}/*n*^{9}). A recent experimental study of our mechanism on Display Ad Auctions [7] shows the applicability of our techniques in practice.

We leave it as an open problem whether the dependency of *ε* on *ε*_{0} and *n* can be improved.

### On the Existence of an FPTAS for the Fractional SWM-Problem

*m*×

*n*matrix with non-negative entries and \(c\in \mathbb {R}_{>0}^{n},\)\(b\in \mathbb {R}_{> 0}^{m}\) are positive vectors. We may assume that each column of

*A*contains a non-zero entry as otherwise the problem is trivially unbounded. For every

*κ*≥ 1 and weight vector \(z\in \mathbb {R}^{m}_{\ge 0}\) , let \(\mathcal {O}_{\kappa }(z)\) denote a

*κ*-approximation oracle that returns a

*j*such that

*κ*. For

*κ*= 1, their algorithm is an FPTAS.

*y*

_{i}≥ 0 be the weight for agent

*i*and

*z*

_{j}≥ 0 be the weight for item

*j*. Then oracle \(\mathcal {O}_{1}(y,z)\) requires to find the pair

*k*, one needs to find the set

*T*which minimizes \((y_{k} + {\sum }_{j \in T} z_{j})/v_{k}(T)\). If

*y*

_{k}is interpreted as a fixed cost incurred by agent

*k*and

*z*

_{j}as the cost of item

*j*, then

*T*is the set that minimizes the ratio of cost relative to value. For a simple-minded bidder who is interested in the items in a subset

*T*

_{0}and no other item, i.e.,

*v*

_{k}(

*T*) =

*v*

_{k}(

*T*

_{0}) if

*T*

_{0}⊆

*T*and

*v*

_{k}(

*T*) = 0, otherwise,

*T*

_{0}is the minimizer. s valuations, i.e., \(v_{k}(T) = {\sum }_{j \in T} {a_{j}^{k}}\), where \({a_{j}^{k}} \ge 0\) is the value of item

*j*for agent

*k*. In this situation, \(\frac {1}{v_{k}(T)} \left (y_{k} + {\sum }_{j \in T} z_{j}\right ) \le \beta \) for a set

*T*and a positive real

*β*if and only if \({\sum }_{j \in T} (\beta {a_{j}^{k}} - z_{j}) \ge y_{k}\) and hence the minimal

*β*for which such a set

*T*exists is readily determined by binary search on

*β*.

## 2 A Fast Algorithm for Convex Decompositions

Let \(x^{*} \in \mathcal {Q}\) be arbitrary. Carr and Vempala [5] showed how to construct a convex combination of points in \(\mathcal {Q}_{\mathcal {I}}\) dominating *α**x*^{∗} using a polynomial number of calls to an *α*-integrality-gap-verifier for \(\mathcal {Q}_{\mathcal {I}}\). Lavi and Swamy [19] modified the construction to get an exact convex decomposition \(\alpha x^{*} = {\sum }_{i \in \mathcal {N}}\lambda _{i} x^{i}\) for the case of packing linear programs. The construction uses the Ellipsoid method. We show an approximate version that replaces the use of the Ellipsoid method by the multiplicative weights update (MWU) method. For any *ε* > 0, we show how to obtain a convex decomposition of *α**x*^{∗}/(1 + *ε*). Let *s* be the number of non-zero components of *x*^{∗}. The size of the decomposition and the number of calls to the *α*-integrality gap verifier are *O*(*s**ε*^{−2} ln*s*).

This section is structured as follows. We first review Khandekar’s FPTAS for covering linear programs (Section 2.1). We then use it and the *α*-integrality gap verifier to construct, on input \(x^{*} \in \mathcal {Q}\), a dominating convex combination for *α**x*^{∗}/(1 + 4*ε*) (Section 2.2). In Section 2.3, we show how to convert a dominating convex combination into an exact convex decomposition. Finally, in Section 2.4, we put the pieces together.

### 2.1 Khandekar’s Algorithm for Covering Linear Programs

*m*×

*n*matrix with non-negative entries and \(c\in \mathbb {R}_{\ge 0}^{n}\) and \(b\in \mathbb {R}_{\ge 0}^{m}\) are non-negative vectors. We assume the availability of a

*κ*-

*approximation oracle*for some

*κ*∈ (0, 1].

\(\mathcal {O}_{\kappa }(z)\):

*j*of

*A*that maximizes \(\frac {1}{c_{j}}{\sum }_{i=1}^{m}\frac {z_{i}a_{ij}}{b_{i}}\) within a factor of

*κ*:

For an exact oracle *κ* = 1, Khandekar [15] gave an algorithm which computes a feasible solution \(\hat {x}\) to (2) such that \(c^{T}\hat {x}\leq (1+4\varepsilon )z^{*}\) where *z*^{∗} is the value of an optimal solution. The algorithm makes *O*(*m**ε*^{−2} log*m*) calls to the oracle, where *m* is the number of rows in *A*. There are algorithms predating Khandekar’s work, see, for example, [13 Chapter 4].

**Theorem 3**

*κ*≤ 1)

*Let*\(\varepsilon \in (0,\frac {1}{2}]\)

*and let z*

^{∗}

*be the value of an optimum solution to (*2

*). Procedure Covering*\((\mathcal {O}_{\kappa })\)

*(see Algorithm 3 in*Appendix

*) terminates in at most m⌈ε*

^{−2}

*lnm⌉ iterations with a feasible solution*\(\hat x\)

*of (*2

*) of at most m⌈ε*

^{−2}

*lnm⌉ positive components. At termination, it holds that*

For completeness, we give a proof of Khandekar’s result in Appendix. The proof of Theorem 3 can be modified to give (see Appendix):

**Corollary 1**

*Suppose b* = * 1*,

*c*=

*,*

**1***and we use the following oracle*\(\mathcal {O}^{\prime }\)

*instead of*\(\mathcal {O}\)

*in Algorithm 3:*

*Then the algorithm terminates in at most m⌈ε*^{−2}*lnm⌉ iterations with a feasible solution*\(\hat x\)*having at most m⌈ε*^{−2}*lnm⌉ positive components, such that*\(\boldsymbol {1}^{T}\hat x\le 1+4\varepsilon \).

### 2.2 Finding a Dominating Convex Combination

Recall that we use \(\mathcal {N}\) to index the elements in \(\mathcal {Q}_{\mathcal {I}}\). We assume the availability of an *α*-integrality-gap-verifier \(\mathcal {F}\) for \(\mathcal {Q}_{\mathcal {I}}\). We will use the results of the preceding section and show how to obtain for any \(x^{*}\in \mathcal {Q}\) and any positive *ε* a convex composition of points in \(\mathcal {Q}_{\mathcal {I}}\) that covers *α**x*^{∗}/(1 + 4*ε*). Our algorithm requires *O*(*s**ε*^{−2} ln*s*) calls to the oracle, where *s* is size of the support of *x*^{∗}.

**Theorem 4**

*Let ε>0 be arbitrary. Given a fractional point*\(x^{*} \in \mathcal {Q}\)

*and an α-integrality-gap verifier*\(\mathcal {F}\)

*for*\(\mathcal {Q}_{\mathcal {I}}\)

*, we can find a convex combination*\(\bar {x}\)

*of integral points in*\(\mathcal {Q}_{\mathcal {I}}\)

*such that*

*The convex decomposition has size at most s⌈ε*

^{−2}

*lns⌉, where s is the number of positive entries of x*

^{∗}

*. The algorithm makes at most s⌈ε*

^{−2}

*lns⌉ calls to the integrality-gap verifier.*

*Proof*

*λ*

_{i}is naturally formulated as a covering LP ([5]), namely,

*j*∈

*S*

^{+}as \( {\sum }_{i\in \mathcal {N}} \lambda _{i}{x^{i}_{j}}/ (\alpha \cdot x_{j}^{*}) \ge 1\). For simplicity of notation, we assume

*S*

^{+}=[1..

*s*]. We thus have a covering linear program as in (2) with

*m*: =

*s*+1 constraints, \(n := \left |\mathcal {N}\right |\) variables

*λ*

_{i}, right-hand side

*b*: =

*, cost vector*

**1***c*: =

*, and constraint matrix*

**1***A*= (

*a*

_{j, i}) (note that we use

*j*for the row index and

*i*for the column index), where

*i*such that \(\tilde {z}^{T}A\boldsymbol {1}_{i}\geq 1\). In our case \(\tilde {z}^{T}A\boldsymbol {1}_{i}={\sum }_{j=1}^{s} w_{j} {x^{i}_{j}}/\alpha x^{*}_{j}+z\), and we need to find a column

*i*for which this expression is at least one. Since

*z*does not depend on

*i*, we concentrate on the first term. Define

*V*:=(

*V*

_{1}, …). \({\mathcal {F}}\) returns an integer solution \(x^{i}\in \mathcal {Q}_{\mathcal {I}}\) such that

*i*is the desired column of

*A*.

*j*∉

*S*

^{+}whenever

*λ*

_{i}> 0; otherwise simply replace

*x*

^{i}by a vector in which all components not in

*S*

^{+}are set to zero. By the packing property this is possible. □

### 2.3 From Dominating Convex Combination to Exact Convex Decomposition

*λ*

_{i}) by a multiplicative factor

*s*and an additive factor

*s*

^{2}. In contrast, our construction increases the size only by an additive factor

*s*.

**Theorem 5**

*Let*\(x^{*} \in \mathcal {Q}\)

*be dominated by a convex combination*\({\sum }_{i \in \mathcal {N}} \lambda _{i} x^{i}\)

*of integral points in*\(\mathcal {Q}_{\mathcal {I}}\)

*, i.e.,*

*Then Algorithm 1 achieves equality in (*5*). It increases the size of the convex combination by at most s, where s is the number of positive components of x*^{∗}.

*Proof*

Let \(S^{+} = \{ j : x^{*}_{j} > 0 \}\). We may assume \({x^{i}_{j}} = 0\) for all *j* ∉ *S*^{+} and all \(i \in {\mathcal N}\) with *λ*_{i} > 0.

For *j* ∈ *S*^{+}, let \({\Delta }_{j} = {\sum }_{i\in \mathcal {N}}\lambda _{i} {x^{i}_{j}} - x^{*}_{j} \) be the gap in the *j*-th component. If Δ_{j} = 0 for all *j* ∈ *S*^{+}, we are done. Otherwise, choose *j* and \(i \in \mathcal {N}\) such that Δ_{j} > 0 and \(\lambda _{i} {x^{i}_{j}} > 0\).

Let **1**_{j} be the *j*-th unit vector. If, for some *j* with \({x^{i}_{j}} > 0\) and Δ_{j} > 0, replacing *x*^{i} by *x*^{i} − **1**_{j} maintains feasibility, i.e., satisfies constraint (5), we perform this replacement. Since *x*^{i} is an integer vector in \(\mathcal {Q}_{\mathcal {I}}\), the vector *x*^{i} − **1**_{j} is nonnegative and, by the packing property, in \(\mathcal {Q}_{\mathcal {I}}\). The replacement decreases Δ_{j} by *λ*_{i} and does not increase the number of nonzero *λ*_{i}.

_{j}<

*λ*

_{i}for all

*j*with Δ

_{j}> 0 and \({x^{i}_{j}} > 0\). Since

*x*

^{i}is integral, we also have \({\Delta }_{j} \le \lambda _{i} {x^{i}_{j}}\) for all such

*j*. Among the indices

*j*with Δ

_{j}> 0 and \({x^{i}_{j}} > 0\), let

*k*minimize \({\Delta }_{k}/{x^{i}_{k}}\). Let

*y*be such that \(y_{j} = {x^{i}_{j}}\) if Δ

_{j}= 0 and

*y*

_{j}= 0 if Δ

_{j}> 0. Then \(y \in \mathcal {Q}_{\mathcal I}\) since \(\mathcal {Q}\) is a packing polytope. In the convex combination, replace

_{j}= 0. Consider any

*j*with Δ

_{j}> 0. Then

_{j}by one at the cost one additional nonzero

*λ*

_{i}. Thus the total number of vectors added to the convex decomposition is at most

*s*. □

### 2.4 Fast Convex Decomposition

We are now ready to prove Theorem 1.

*Proof of Theorem 1*

Theorem 4 yields a convex combination of integer points of \(\mathcal {Q}_{I}\) dominating *α**x*^{∗}/(1+4*ε*). The convex decomposition has size at most *s*⌈*𝜖*^{−2} ln*s*⌉, where *s* is the number of positive entries of *x*^{∗}. The algorithm makes at most *s*⌈*𝜖*^{−2} ln*s*⌉ calls to the integrality-gap verifier. Theorem 5 turns this dominating convex combination into an exact combination. It adds up to *s* additional vectors to the convex combination. □

## 3 Approximatly Truthful-in-Expectation Mechanisms

The goal of this section is to derive an approximate VCG-mechanism. We do not longer assume that the fractional SWM-problem can be solved exactly, but instead assume that we have an FPTAS for it. We will first design a randomized fractional algorithm (Theorem 6 in Section 3.1) and then convert the fractional mechanism into an integral mechanism and prove Theorem 2 in Section 3.2.

### 3.1 Approximately Truthful-in-Expectation Fractional Mechanisms

**Theorem 6**

*Let ε*

_{0}

*∈(0,1/2]. Define*\(\varepsilon ={\Theta }(\frac {{\varepsilon _{0}^{5}}}{n^{4}})\)

*. Assuming that the fractional SWM-problem has an FPTAS, is separable, and has a dominant allocation for every player i, there is a polynomial time randomized fractional mechanism (Algorithm 2) with the following properties:*

- (D1)
*No positive transfer, i.e., prices are nonnegative*. - (D2)
*Individually rational with probability 1 − ε*_{0}*, i.e., the utility of any truth-telling player is non-negative with probability at least 1−ε*_{0}. - (D3)
(

*1 − ε*_{0}*)-truthful-in-expectation, i.e., reporting the truth maximizes the expected utility of a player up to a factor 1 − ε*_{0}. - (D4)
*γ-socially efficient, where γ = (1 − ε)(1 − ε*_{0}).

*L*

_{i}does not depend on the valuation of player

*i*. Let \(\mathcal {A}\) be an

*ε*-approximation algorithm for the LP relaxation of SWM. Note that \(\mathcal {A}\) is polynomial time since the running time of an FPTAS is polynomial in \(\frac {1}{\varepsilon }\). We use \(\mathcal {A}(v)\) to denote the outcome of \(\mathcal {A}\) on input

*v*; \(\mathcal {A}(v)\) is a fractional allocation in

*Q*. In the following, we will apply \(\mathcal {A}\) to different valuations which we denote by

*v*= (

*v*

_{i},

*v*

_{ − i}), \(\bar {v} = (\bar {v}_{i}, v_{-i})\), and

*v*

^{′}=(

**0**,

*v*

_{ − i}). Here

*v*

_{i}is the reported valuation of player

*i*, \(\bar {v}_{i}\) is his true valuation and \(v^{\prime }_{i}=\mathbf {0}\). We denote the allocation returned by \(\mathcal {A}\) on input

*v*(resp., \(\bar {v}\),

*v*

^{′}) by

*x*(resp., \(\bar {x}\),

*x*

^{′}). Note that

*x*, \(\bar {x}\),

*x*

^{′}are fractional allocations.

We first bound the maximal change in social welfare induced by a change of the valuation of the *i*-th player.

**Lemma 1**

*Let ε ≥ 0 and let*\(\mathcal {A}\)

*be an ε-approximation algorithm which returns allocation x on input vector v. Let*\(\hat {x}\in \mathcal {Q}\)

*be an arbitrary point, then*

*for every i.*

*Proof*

*ε*-approximation algorithm, and the last inequality follows from \(\varepsilon {\sum }_{j\neq i}v_{j}(\hat {x}) \leq \varepsilon {\sum }_{j\neq i} v_{j}(u^{j})=\beta _{i}\). □

*i*. The first allocation ignores the influence of player

*i*(\(x^{\prime } ={\mathcal {A}}(0,v_{-i})\)) and the second allocation takes it into account (\(x ={\mathcal {A}}(v)\)). The difference to the VCG rule is that

*x*

^{′}and

*x*are not true maximizers but are computed by an

*ε*-approximation algorithm.

Let \(U_{i}(v)=\bar {v}_{i}(x)-p_{i}(v)\) be the utility of player *i* for bid vector *v*. Note that the value of the allocation \(x=\mathcal {A}(v)\) is evaluated with the true valuation \(\bar {v}_{i}\) of player *i*. Let \(U_{i}(\bar {v}) = \bar {v}_{i}(\bar {x})-p_{i}(\bar {v})\) be the utility of player *i* for valuation vector \(\bar {v}=(\bar {v}_{i}, v_{-i})\).

**Lemma 2**

*Let ε≥0 and let*\(\mathcal {A}\)

*be an ε-approximation algorithm. Let M*

_{0}

*be the mechanism with allocation function*\(\mathcal {A}(v)\)

*and the payment rule (*8

*). M*

_{0}

*is an individually rational mechanism with no positive transfer, such that for all i,*

*Proof*

*p*

_{i}(

*v*)≥0 for all

*v*and all

*x*; so the mechanism has no positive transfer. We next address individual rationality. Assume \(p_{i}(\bar v)=p^{\mathit {VCG}}_{i}(\bar {v})-\beta _{i}>0\), as otherwise \(U_{i}(\bar v)\ge 0\). We have

*v*

^{′}(

*x*

^{′}) =

*v*

_{ − i}(

*x*

^{′}),

*v*

^{′}(

*x*) =

*v*

_{ − i}(

*x*), and \(v^{\prime }_{i}(x)=0\). Thus,

*v*=

*v*

^{′}and \(\hat {x} = x\), we obtain

*Case 1:**p*_{i}(*v*) = 0. Then using (10)$$\begin{array}{@{}rcl@{}} U_{i}(\bar{v}) = \bar{v}_{i}(\bar{x})-0\ge \bar{v}_{i}(\bar{x})-p^{\mathit{VCG}}_{i}(\bar{v})-\beta_{i}. \end{array} $$*Case 2:*\(p_{i}(v) = p^{\mathit {VCG}}_{i}(v)-\beta _{i}\).where the last inequality follows from$$\begin{array}{@{}rcl@{}} U_{i}(\bar{v}) = \bar{v}_{i}(\bar{x})-p_{i}(\bar{v})=\bar{v}_{i}(\bar{x})-p^{\mathit{VCG}}_{i}(\bar{v})+\beta_{i}\ge \bar{v}_{i}(\bar{x})-p^{\mathit{VCG}}_{i}(\bar{v})-\beta_{i}, \end{array} $$*β*_{i}≥ 0. Therefore, in both cases we have:$$U_{i}(\bar{v}) \ge\bar{v}_{i}(\bar{x})-p^{\mathit{VCG}}_{i}(\bar{v})-\beta_{i}.$$

In what follows we prove Theorem 6.

*Proof of Theorem 6*

*q*

_{j}= (1 −

*q*

_{0})/

*n*for 1 ≤

*j*≤

*n*. Let \(\eta = \bar {\varepsilon }(1 - q_{0})^{2}/n^{3}\) ,

*η*

^{′}=

*η*/

*q*

_{j}, and \(\varepsilon = \eta \bar {\varepsilon } (1 - q_{0})/(8 n)\). Then using

^{4}\(q_{0}= (1 -\frac {\varepsilon _{0}}{n})^{n}\ge 1-\varepsilon _{0}\) and \(q_{0}= (1 -\frac {\varepsilon _{0}}{n})^{n}\le 1-\varepsilon _{0}/2\), we get

*i*obtained by the mechanism

*M*

_{0}of Lemma 2. Let further \(\widehat U_{i}(v) = v_{i}(x)-p_{i}(v)\). Following [6], we call player

*i*

*active*if the following two conditions hold:

*T*=

*T*(

*v*) the set of active players when the valuation is

*v*= (

*v*

_{1}, …,

*v*

_{n}). Note that

*L*

_{i}does not depend on

*v*

_{i}. Thus when we refer to conditions (11) and (12) for \(\bar {v}\), we replace

*v*and

*x*by \(\bar {v}\) and \(\bar {x}\) on the left side and keep the right side unchanged. Non-negativity of payments is immediate from the definition of mechanism

*M*and Lemma 2. Moreover, the utility of a truth-telling bidder

*i*can be negative only if he/she is allocated in step 5, i.e., at most with probability

*q*

_{i}. It follows that the mechanism is individually rational with probability at least \(1 - {\sum }_{i=1}^{n} q_{i} = q_{0}= (1 -\frac {\varepsilon _{0}}{n})^{n}\ge 1-\varepsilon _{0}\).

*i*obtained from the mechanism in Algorithm 2 on input \(v\in \mathcal {V}\) by \(\mathbb {E}[U^{\prime }_{i}(v)]\). Assume

*j*= 0 in Algorithm 2. We run

*ε*-approximation algorithm \(\mathcal {A}\) on

*v*to compute allocation

*x*= (

*x*

_{1}, …,

*x*

_{n}). Then we change

*x*

_{i}and

*p*

_{i}to zero for all inactive

*i*. Let \(\widetilde x\) be the allocation obtained in this way. The value for player

*i*is \(v_{i}(\widetilde x)\). When the

*i*-th player is active, this value is equal to

*v*

_{i}(

*x*) because

*v*

_{i}depends only on the valuation in the

*i*-th group (separability property). Therefore in this case his utility is

*U*

_{i}(

*v*). So we have that

*Case 1:*\(i\in T(\bar v)\cap T(v)\). Note that (12) for \(\bar {v}\) implies \(\beta _{i} = \varepsilon L_{i} \le \frac {\varepsilon \bar {v}_{i}(u^{i})}{\eta }\). Thus, by Lemma 2, and using assumption (1) that \(\bar {v}_{i}(x)\le \bar {v}_{i}(u^{i})\), we haveHence by using (13) and (15), we have$$ U_{i}(\bar{v})\ge U_{i}(v)-\varepsilon(1+\frac{3}{\eta})\bar{v}_{i}(u^{i}) \ge U_{i}(v)- \frac{4 \varepsilon }{\eta}\bar{v}_{i}(u^{i}). $$(15)Now applying (14) in the above inequality, we get$$\begin{array}{@{}rcl@{}} \mathbb{E}[U^{\prime}_{i}(v)]&=& q_{0} \cdot U_{i}(v) + q_{i} (\bar{v}_{i}(u^{i})-\eta^{\prime} L_{i})\\ &\le& q_{0} (U_{i}(\bar{v}) + \frac{4 \varepsilon}{\eta} \bar{v}_{i}(u^{i}) ) + q_{i} (\bar{v}_{i}(u^{i})-\eta^{\prime} L_{i})\\ &=& \underbrace{q_{0} U_{i}(\bar{v})+q_{i} (\bar{v}_{i}(u^{i})-\eta^{\prime} L_{i})}_{\mathbb{E}[U^{\prime}_{i}(\bar{v})]}+ q_{0} \frac{4 \varepsilon}{\eta} \bar{v}_{i}(u^{i})\\ &=& \mathbb{E}[U^{\prime}_{i}(\bar{v})]+q_{0} \frac{4 \varepsilon}{\eta}\bar{v}_{i}(u^{i}). \end{array} $$the last inequality follows from the definition of$$\begin{array}{@{}rcl@{}} \mathbb{E}[U^{\prime}_{i}(v)] &\le&\mathbb{E}[U^{\prime}_{i}(\bar{v})]+q_{0} \frac{4 \varepsilon}{\eta}\bar{v}_{i}(u^{i}) \\ &\le&\left( 1+\frac{q_{0}}{(1-\bar{\varepsilon})q_{i}} \frac{4 \varepsilon}{\eta}\right)\mathbb{E}[U^{\prime}_{i}(\bar{v})]\\ &\le& (1+\bar{\varepsilon})\mathbb{E}[U^{\prime}_{i}(\bar{v})], \end{array} $$*ε*. Note that (since*q*_{0}≤ 1 and \(\bar {\varepsilon } \le 1/2\))$$\varepsilon \frac{q_{0}}{(1-\bar{\varepsilon})q_{i}}\frac{4}{\eta} \le \varepsilon \frac{1}{(1-\bar{\varepsilon})q_{i}}\frac{4}{\eta} \le \frac{\eta \bar{\varepsilon} (1 - q_{0})}{8 n} \frac{8}{q_{i} \eta} = \bar{\varepsilon}. $$*Case 2:**i*∉*T*(*v*). By (14), we haveSince, \(\frac {1}{1 - \bar {\varepsilon }} = 1 + \bar {\varepsilon }(1 + \bar {\varepsilon } + \bar {\varepsilon }^{2} + \ldots ) \le 1 + 2 \bar {\varepsilon } = 1 +\varepsilon _{0}\).$$\mathbb{E}[U^{\prime}_{i}(v)] = q_{i} \bar v_{i}(u^{i})\le\frac{1}{1-\bar{\varepsilon}}\mathbb{E}[U^{\prime}_{i}(\bar{v})] \le (1 + \varepsilon_{0})\mathbb{E}[U^{\prime}_{i}(\bar{v})] . $$*Case 3:*\(i\in T(v)\setminus T(\bar v)\) and (12) does not hold for \(\bar {v}\). Since \(U_{i}(v) \le \bar {v}_{i}(u^{i})\), we havewhere the second inequality holds because (12) does not hold for \(\bar {v}\) and$$\begin{array}{@{}rcl@{}} \mathbb{E}[U^{\prime}_{i}(v)] &=&q_{0} \cdot U_{i}(v) + q_{i} (\bar{v}_{i}(u^{i})-\eta^{\prime} L_{i})\\&\le& (q_{0} +q_{i} )\bar v_{i}(u^{i})- q_{i} \eta^{\prime} L_{i} <(q_{0} + q_{i} - 1)\bar v_{i}(u^{i}) \\ &\le& 0 \le q_{i} \bar v_{i}(u^{i}) =\mathbb{E}[U^{\prime}_{i}(\bar{v})], \end{array} $$*q*_{i}*η*^{′}/*η*= 1.*Case 4:*\(i\in T(v)\setminus T(\bar v)\) and (12) holds for \(\bar {v}\). Then (11) does not hold for \(\bar {v}\) and henceSince (12) holds for \(\bar {v}\), we have (15). Hence by (14), (15) and (16) we have$$ U_{i}(\bar{v}) =\widehat U_{i}(\bar{v}) <\frac{q_{i}}{q_{0}}\left( \eta^{\prime} L_{i}-\bar{\varepsilon}\bar v_{i}(u^{i})\right). $$(16)where the last inequality follows from the definition of$$\begin{array}{@{}rcl@{}} \mathbb{E}[U^{\prime}_{i}(v)] &=&q_{0} \cdot U_{i}(v) + q_{i} (\bar{v}_{i}(u^{i})-\eta^{\prime} L_{i})\\ &\le& q_{0} \left( U_{i}(\bar{v}) + \frac{4 \varepsilon} {\eta}\bar v_{i}(u^{i})\right) + q_{i} (\bar v_{i}(u^{i})-\eta^{\prime} L_{i}) \\ &\le& q_{i} \eta^{\prime} L_{i}- q_{i} \bar{\varepsilon}\bar v_{i}(u^{i}) + \frac{4 \varepsilon} {\eta} \bar{v}_{i}(u^{i})+q_{i} (\bar v_{i}(u^{i})-\eta^{\prime} L_{i}) \\ &=&(1-\bar{\varepsilon}) q_{i} \cdot\bar v_{i}(u^{i})+ \frac{4 \varepsilon}{\eta} \bar{v}_{i}(u^{i})\\ &\le&\left( 1 +\frac{1}{(1-\bar{\varepsilon})q_{i} } \frac{4 \varepsilon} {\eta}\right)\mathbb{E}[U^{\prime}_{i}(\bar{v})] \\ &\le& (1 + \bar{\varepsilon}) \mathbb{E}[U^{\prime}_{i}(\bar{v})], \end{array} $$*ε*(see Case 1).

*i*∉

*T*(

*v*), one of the inequalities (11) or (12) does not hold. Also,

*U*

_{i}(

*v*)≥0 in this case since

*p*

_{i}= 0, and hence \(v_{i}(u^{i})<\max \{\eta , \eta ^{\prime }/{\bar {\varepsilon }}\} L_{i} = \eta ^{\prime } L_{i}/\bar {\varepsilon } \). Since \(\mathcal {A}\) returns allocation

*x*that is (1 −

*ε*)-social efficiency and

^{5}\(q_{i} - q_{0} n\frac {\eta ^{\prime }}{\bar {\varepsilon }}\ge 0\) , it follows that for any \(v\in \mathcal {V}\) , (recall \(x=\mathcal {A}(v)\))

### 3.2 Approximately Truthful-in-Expectation Integral Mechanisms

In this subsection, we derive a randomized mechanism *M*^{′} which returns an integral allocation. Let *ε* > 0 be arbitrary. First run Algorithm 2 to obtain *x* and *p*(*v*). Then compute a convex decomposition of \(\frac {\alpha }{1 +4 \varepsilon }x\), which is \( \frac {\alpha }{1 +4\varepsilon } x = {\sum }_{j \in \mathcal {N}} {\lambda _{j}^{x}} x^{j}\) . Finally with probability \({\lambda _{j}^{x}}\) (we use the superscript *x* to distinguish the convex decompositions of different *x*) return the allocation *x*^{j} and charge the *i*-th player the price \(p_{i}(v) \frac {v_{i}(x^{j})}{v_{i}(x)}\), if *v*_{i}(*x*) > 0, and zero otherwise. We now prove Theorem 2.

*Proof of Theorem 2*

*M*be a fractional randomized mechanism obtained in Theorem 6. Since

*M*has no positive transfer,

*M*

^{′}does neither.

*M*is individually rational with probability 1 −

*ε*

_{0}, therefore for any allocation \(\bar {x}\), we have \(\bar {v}_{i}(\bar {x}) - p_{i}(\bar {v}) \ge 0\) with probability 1 −

*ε*

_{0}. So

*M*

^{′}is individually rational with probability 1 −

*ε*

_{0}. Now we prove truthfulness. Let \(\mathit {\mathbb {E}}[U^{\prime \prime }_{i}(\bar {v})]\) be the expected utility of player

*i*when she inputs her true valuation and let \(\mathit {\mathbb {E}}[U^{\prime \prime }_{i}(v)]\) be her expected utility when she inputs

*v*

_{i}. Then by definition of \(\mathit {\mathbb {E}}[U^{\prime \prime }_{i}(\bar {v})]\), we have

*x*shows that the mechanism is \(\frac {\alpha (1 - \varepsilon _{0})(1 - \varepsilon )}{1+4\varepsilon }\)-socially efficient.

## Footnotes

- 1.
\(p_{i}= {\sum }_{j \not = i} {v_{j}^{T}} (\hat {x} - x^{*})\), where \(\hat {x} = \text {argmax}_{x \in Q} {\sum }_{j \not = i} {v_{j}^{T}} x\).

- 2.
- 3.
In the combinatorial auction problem,

*x*_{i}comprises all variables*x*_{i, S}. The value of an allocation*x*for player*i*is given by \({\sum }_{S} v_{i}(S) x_{i,S}\). - 4.
^{4}Let*f*(*x*) = (1 −*x*/*n*)^{n}−1 +*x*. Then*f*^{′}(*x*) = (1 −*x*/*n*)^{n−1}+1≥0. Hence, for 0 ≤*x*≤ 1 and*n*≥ 1, the function is increasing and*f*(*x*)≥*f*(0)=0. - 5.
^{5}\(q_{0} n \frac {\eta ^{\prime }}{\bar {\varepsilon }} \le \frac {n \eta }{q_{i} \bar {\varepsilon }} = \frac {n^{2} \bar {\varepsilon } (1 - q_{0})^{2}}{(1 - q_{0}) \bar {\varepsilon } n^{3}} = \frac {1 - q_{0}}{n} = q_{i}\) .

## Notes

### Acknowledgments

Open access funding provided by Max Planck Society.

### References

- 1.Arora, S., Hazan, E., Kale, S.: The multiplicative weights update method: a meta-algorithm and applications. Theory of Computing
**8**(6), 121–164 (2012)MathSciNetCrossRefMATHGoogle Scholar - 2.Bienstock, D., Iyengar, G.: Approximating fractional packings and coverings in O(1/epsilon) iterations. SIAM J. Comput.
**35**(4), 825–854 (2006)MathSciNetCrossRefMATHGoogle Scholar - 3.Briest, P., Krysta, P., Vöcking, B.: Approximation techniques for utilitarian mechanism design. In: STOC, pp. 39–48 (2005)Google Scholar
- 4.Christodoulou, G., Elbassioni, K., Fouz, M.: Truthful mechanisms for exhibitions. In: WINE, pp. 170–181 (2010)Google Scholar
- 5.Carr, R.D., Vempala, S.: Randomized metarounding. Random Struct. Algoritm.
**20**(3), 343–352 (2002)MathSciNetCrossRefMATHGoogle Scholar - 6.Dughmi, S., Roughgarden, T., Vondrák, J., Yan, Q.: An approximately truthful-in-expectation mechanism for combinatorial auctions using value queries. arXiv:1109.1053 (2011)
- 7.Elbassioni, K., Jha, M.: On the power of combinatorial bidding in web display ads. In: ICIW, pp. 46–55 (2015)Google Scholar
- 8.Elbassioni, K., Mehlhorn, K., Ramezani, F.: Towards more practical linear programming-based techniques for algorithmic mechanism design. In: Hoefer, M. (ed.) Algorithmic Game Theory, Volume 9347 of Lecture Notes in Computer Science, pp. 98–109. Springer, Berlin, Heidelberg (2015)Google Scholar
- 9.Grigoriadis, M.D., Khachiyan, L.G.: A sublinear-time randomized approximation algorithm for matrix games. Oper. Res. Lett.
**18**(2), 53–58 (1995)MathSciNetCrossRefMATHGoogle Scholar - 10.Garg, N., Könemann, J.: Faster and simpler algorithms for multicommodity flow and other fractional packing problems. SIAM J. Comput.
**37**(2), 630–652 (2007). a preliminary version appeared in FOCS 1998MathSciNetCrossRefMATHGoogle Scholar - 11.Grötschel, M., Lovász, L., Schrijver, A.: Geometric Algorithms and Combinatorial Optimization. Springer, New York (1988)CrossRefMATHGoogle Scholar
- 12.Hoefer, M., Kesselheim, T., Vöcking, B.: Approximation algorithms for secondary spectrum auctions. In: SPAA, pp. 177–186 (2011)Google Scholar
- 13.Könemann, J.: Fast Combinatorial Algorithms for Packing and Covering Problems. Master’s Thesis, Fachbereich Informatik, Universität des Saarlandes (1997)Google Scholar
- 14.Kraft, D., Fadaei, S., Bichler, M.: Fast convex decomposition for truthful social welfare approximation. In: WINE, pp. 120–132 (2014)Google Scholar
- 15.Khandekar, R.: Lagrangian Relaxation Based Algorithms for Convex Programming Problems. PhD Thesis, Indian Institute of Technology, Delhi, India (2004)Google Scholar
- 16.Kolliopoulos, S., Stein, C.: Approximating disjoint-path problems using greedy algorithms and packing integer programs. In: IPCO, pp. 153–168 (1998)Google Scholar
- 17.Koufogiannakis, C., Young, N.E.: Beating simplex for fractional packing and covering linear programs. In: FOCS, pp. 494–504 (2007)Google Scholar
- 18.Lavi, R., Swamy, C.: Truthful and near-optimal mechanism design via linear programming. In: FOCS, pp. 595–604 (2005)Google Scholar
- 19.Lavi, R., Swamy, C.: Truthful and near-optimal mechanism design via linear programming. J. ACM
**58**(6), 25 (2011)MathSciNetCrossRefMATHGoogle Scholar - 20.Nisan, N., Roughgarden, T., Tardos, E., Vazirani, V.V.: Algorithmic Game Theory. Cambridge University Press (2007)Google Scholar
- 21.Plotkin, S.A., Shmoys, D.B., Tardos, É.: Fast approximation algorithms for fractional packing and covering problems. In: FOCS, pp. 495–504 (1991)Google Scholar
- 22.Raghavan, P.: Probabilistic construction of deterministic algorithms: approximating packing integer programs. J. Comput. Syst. Sci.
**37**(2), 130–143 (1988)MathSciNetCrossRefMATHGoogle Scholar - 23.Wang, D., Rao, S., Mahoney, M.W.: Unified acceleration method for packing and covering problems via diameter reduction. arXiv:1508.02439(2015)
- 24.Young, N.E.: Sequential and parallel algorithms for mixed packing and covering. In: FOCS, pp. 538–546 (2001)Google Scholar
- 25.Zhu, Z.A., Orecchia, L.: Nearly-linear time positive LP solver with faster convergence rate. In: STOC 2015, Portland, OR, USA, June 14–17, 2015, pp. 229–236 (2015)Google Scholar

## Copyright information

**Open Access**This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.