I am running a matching algorithm to matching patients in a treatment group to patients in a control group without replacement. Say there are $n_T$ treatment group patients and $n_C$ control group patients. For each patient $i = 1,\dots, n$ , let $Y_i(0)$ and $Y_i(1)$ denote the potential outcomes, $Z = 0$ or $Z = 1$ indicate assignment to control or treatment, $X_i$ be a vector of covariates. The propensity score is $e_i = \Pr(Z_i = 1 | X_i)$. I plan to match patients on their linear propensity score, $|logit(e_i) - logit(e_j)|$, though I can change this if there are better approaches.
I only need to match a subset of patients on treatment to a control patient, say $m_T$ out of the $n_T$ patients. I need to match without replacement. There are also many more control patients than treatment patients. Ignoring the estimation of causal effects. Is it reasonable to pick the subset of patients with the "best" matches (smallest difference in propensity score) to control patients? Is there a method for picking a subset such that the sum of the propensity distance is minimized?
For a concrete example, imagine I have 50 treatment patients and 200 control patients. I only need to match 25 of the treatment patients to control patients. I would like to find the "best" 25 matches. I believe these 25 patients should be better matched overall than if I had to match all 50 patients.
I have not seen methods to do this, but I would appreciate any suggestions. My only idea so far is to use a greedy algorithm for propensity score matching but stop after $m_T$ patients have been matched. I don't believe this would give me any guarantees on the matches being optimal in any way though.