Functions to find the largest value of min.controls, or the smallest value of max.controls, for which a full matching problem is feasible. These are determined by constraints embedded in the matching problem's distance matrix.
1 2 3  maxControlsCap(distance, min.controls = NULL)
minControlsCap(distance, max.controls = NULL)

distance 
Either a matrix of nonnegative, numeric
discrepancies, or a list of such matrices. (See

min.controls 
Optionally, set limits on the minimum number
of controls per matched set. (Only makes sense for

max.controls 
Optionally, set limits on the maximum number
of controls per matched set. (Only makes sense for

The function works by repeated application of full matching, so on large problems it can be timeconsuming.
For minControlsCap
,
strictest.feasible.min.controls
and
given.max.controls
. For maxControlsCap
,
given.min.controls
and
strictest.feasible.max.controls
.
strictest.feasible.min.controls 
The largest values of the

given.max.controls 
The 
given.min.controls 
The 
strictest.feasible.max.controls 
The smallest values of
the 
Essentially this is just a line search. I've done several
things to speed it up, but not everything that might be done.
At present, not very thoroughly tested either: you might check
the final results to make sure that fullmatch
works with the values of min.controls
(or
max.controls
) suggested by these functions, and that it
ceases to work if you increase (decrease) those values.
Comments appreciated.
Ben B. Hansen
Hansen, B.B. and S. Olsen Klopfer (2006), ‘Optimal full matching and related designs via network flows’, Journal of Computational and Graphical Statistics 15, 609–627.
fullmatch
Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.