  This paper considers two-sided matching with budget constraints where one
side (firm or hospital) can make monetary transfers (offer wages) to the other
(worker or doctor). In a standard model, while multiple doctors can be matched
to a single hospital, a hospital has a maximum quota: the number of doctors
assigned to a hospital cannot exceed a certain limit. In our model, a hospital
instead has a fixed budget: the total amount of wages allocated by each
hospital to doctors is constrained. With budget constraints, stable matchings
may fail to exist and checking for the existence is hard. To deal with the
nonexistence of stable matchings, we extend the "matching with contracts" model
of Hatfield and Milgrom, so that it handles approximately stable matchings
where each of the hospitals' utilities after deviation can increase by factor
up to a certain amount. We then propose two novel mechanisms that efficiently
return such a stable matching that exactly satisfies the budget constraints. In
particular, by sacrificing strategy-proofness, our first mechanism achieves the
best possible bound. Furthermore, we find a special case such that a simple
mechanism is strategy-proof for doctors, keeping the best possible bound of the
general case.
