Approximation Algorithms for the Maximum Carpool Matching Problem
  The Maximum Carpool Matching problem is a star packing problem in directed graphs. Formally, given a directed graph $G = (V, A)$, a capacity function $ c: V \to N $, and a weight function $w : A \to R $, a feasible \emph{carpool matching} is a triple $(P, D, M)$, where $P$ (passengers) and $D$ (drivers) form a partition of $V$, and $M$ is a subset of $A \cap (P \times D)$, under the constraints that for every vertex $d \in D$, $din(d) \leq c(d)$, and for every vertex $p \in P$, $dout(p) \leq 1$. In the Maximum Carpool Matching problem we seek for a matching $(P, D, M)$ that maximizes the total weight of $M$.   The problem arises when designing an online carpool service, such as Zimride~\cite{zimride}, that tries to connect between passengers and drivers based on (arbitrary) similarity function. The problem is known to be NP-hard, even for uniform weights and without capacity constraints.   We present a $3$-approximation algorithm for the problem and $2$-approximation algorithm for the unweighted variant of the problem. 
Gilad Kutiel
cs.DM cs.DS