54,614 research outputs found
House Markets with Matroid and Knapsack Constraints
Classical online bipartite matching problem and its generalizations are central algorithmic optimization problems. The second related line of research is in the area of algorithmic mechanism design, referring to the broad class of house allocation or assignment problems. We introduce a single framework that unifies and generalizes these two streams of models. Our generalizations allow for arbitrary matroid constraints or knapsack constraints at every object in the allocation problem. We design and analyze approximation algorithms and truthful mechanisms for this framework. Our algorithms have best possible approximation guarantees for most of the special instantiations of this framework, and are strong generalizations of the previous known results
Coverage, Matching, and Beyond: New Results on Budgeted Mechanism Design
We study a type of reverse (procurement) auction problems in the presence of
budget constraints. The general algorithmic problem is to purchase a set of
resources, which come at a cost, so as not to exceed a given budget and at the
same time maximize a given valuation function. This framework captures the
budgeted version of several well known optimization problems, and when the
resources are owned by strategic agents the goal is to design truthful and
budget feasible mechanisms, i.e. elicit the true cost of the resources and
ensure the payments of the mechanism do not exceed the budget. Budget
feasibility introduces more challenges in mechanism design, and we study
instantiations of this problem for certain classes of submodular and XOS
valuation functions. We first obtain mechanisms with an improved approximation
ratio for weighted coverage valuations, a special class of submodular functions
that has already attracted attention in previous works. We then provide a
general scheme for designing randomized and deterministic polynomial time
mechanisms for a class of XOS problems. This class contains problems whose
feasible set forms an independence system (a more general structure than
matroids), and some representative problems include, among others, finding
maximum weighted matchings, maximum weighted matroid members, and maximum
weighted 3D-matchings. For most of these problems, only randomized mechanisms
with very high approximation ratios were known prior to our results
Mechanism Design via Dantzig-Wolfe Decomposition
In random allocation rules, typically first an optimal fractional point is
calculated via solving a linear program. The calculated point represents a
fractional assignment of objects or more generally packages of objects to
agents. In order to implement an expected assignment, the mechanism designer
must decompose the fractional point into integer solutions, each satisfying
underlying constraints. The resulting convex combination can then be viewed as
a probability distribution over feasible assignments out of which a random
assignment can be sampled. This approach has been successfully employed in
combinatorial optimization as well as mechanism design with or without money.
In this paper, we show that both finding the optimal fractional point as well
as its decomposition into integer solutions can be done at once. We propose an
appropriate linear program which provides the desired solution. We show that
the linear program can be solved via Dantzig-Wolfe decomposition. Dantzig-Wolfe
decomposition is a direct implementation of the revised simplex method which is
well known to be highly efficient in practice. We also show how to use the
Benders decomposition as an alternative method to solve the problem. The
proposed method can also find a decomposition into integer solutions when the
fractional point is readily present perhaps as an outcome of other algorithms
rather than linear programming. The resulting convex decomposition in this case
is tight in terms of the number of integer points according to the
Carath{\'e}odory's theorem
Recommended from our members
The use of sequencing information in software specification for verification
Software requirements specifications, virtual machine definitions, and algorithmic design all place constraints on the sequence of operations that are permissible during a program's execution. This paper discusses how these constraints can be captured and used to aid in the program verification process. The sequencing constraints can be expressed as a grammar over the alphabet of program operations. Several techniques can be used in support of testing or verification based on these specifications. Dynamic aalysis and static analysis are considered here. The automatic generation of some of these aids is feasible; the means of doing so is described
- …