diff --git a/pybalance/lp/matcher.py b/pybalance/lp/matcher.py index f8db4db..2847011 100644 --- a/pybalance/lp/matcher.py +++ b/pybalance/lp/matcher.py @@ -151,22 +151,19 @@ class ConstraintSatisfactionMatcher(object): can only handle linear objective functions; see "objective" parameter below. The constraints and optimization target are specified to the solver via the - options pool_size, target_size, and max_mismatch. The behavior of the solver is - as given in the table below: - - pool_size target_size max_mismatch optimize - N N Y pool_size subject to target_size = n_target - and balance constraints - Y Y Y balance subject to size and balance - constraints - Y Y N balance subject to size constraints - N N N balance subject to size constraints; default - to pool_size = target_size = n_target - Y N Y not suported - N Y Y not suported - Y N N not suported - N Y N not suported + options pool_size, target_size, and max_mismatch. The behavior of the solver depends + on which are these options are specified as given below: + (pool_size, target_size, max_mismatch) --> optimize balance subject to size and + balance constraints + + (pool_size, target_size) --> optimize balance subject to size constraints + + (max_mismatch) --> optimize pool size subject to target_size = n_target and + balance constraints + + () --> optimize balance subject to size constraints with pool_size = target_size = n_target + Optimizing pool_size subject to balance constraint is known as "cardinality matching". See https://kosukeimai.github.io/MatchIt/reference/method_cardinality.html and references therein.