<commit_before>Stable Matching Suite: Tools for Solving Generalized Stable Matching Problems
===========

Authors: <NAME>, <NAME>, <NAME>

Contents:

1. smp_c.py: formulate a Stable Matching with Couples problem as a satisfiability problem (SAT) or as a mixed-integer program (MIP).
2. RPmatcher/matchrp: solve Stable Matching with Couples problems using deferred acceptance algorithms.
3. RPmatcher/matchvf: verify Stable Matching with Couples solutions.
4. rim.py: sample from Mallows ranking distributions.
5. cplex_py.py: interface with cplex.

Input format for Stable Matching with Couples instances:

Each resident, couple and program has a unique id. The file consists of three sections.
1. The first section describes residents and each line has the form:
r rid pid0 pid1 ...
where rid is the resident's unique identifier and [pid0, pid1, ...] is the resident's ranking of programs.
2. The second section describes couples. Each line has the form:
c cid rid0 rid1 pid0a pid0b pid1a pid1b
where cid is the couple's unique identifier, rid0 and rid1 and the residents in the couple and [(pid0a, pid0b), (pid1a, pid1b), ...] is the couple's ranking of programs.
3. The third section describes programs. Each line has the form:
p pid cap rid0 rid1 ...
where pid is the program's unique identifier, cap is the program's capacity and [rid0, rid1, ...] is the program's ranking of residents.

Output format for matchings:

Output matchings have a first line which is either
m 0
or
m 1.<commit_msg>Add paper link to readme.<commit_after>Stable Matching Suite: Tools for Solving Generalized Stable Matching Problems
===========

Authors: <NAME>, <NAME>, <NAME>

Related Paper: http://ijcai.org/papers15/Papers/IJCAI15-079.pdf

Contents:

1. smp_c.py: formulate a Stable Matching with Couples problem as a satisfiability problem (SAT) or as a mixed-integer program (MIP).
2. RPmatcher/matchrp: solve Stable Matching with Couples problems using deferred acceptance algorithms.
3. RPmatcher/matchvf: verify Stable Matching with Couples solutions.
4. rim.py: sample from Mallows ranking distributions.
5. cplex_py.py: interface with cplex.

Input format for Stable Matching with Couples instances:

Each resident, couple and program has a unique id. The file consists of three sections.
1. The first section describes residents and each line has the form:
r rid pid0 pid1 ...
where rid is the resident's unique identifier and [pid0, pid1, ...] is the resident's ranking of programs.
2. The second section describes couples. Each line has the form:
c cid rid0 rid1 pid0a pid0b pid1a pid1b
where cid is the couple's unique identifier, rid0 and rid1 and the residents in the couple and [(pid0a, pid0b), (pid1a, pid1b), ...] is the couple's ranking of programs.
3. The third section describes programs. Each line has the form:
p pid cap rid0 rid1 ...
where pid is the program's unique identifier, cap is the program's capacity and [rid0, rid1, ...] is the program's ranking of residents.

Output format for matchings:

Output matchings have a first line which is either
m 0
or
m 1.
{'fraction_non_alphanumeric': 0.07456854444806252, 'fraction_numerical': 0.02181699772061218, 'mean_word_length': 4.370629370629371, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1903515', 'n_tokens_mistral': 907, 'n_tokens_neox': 863, 'n_words': 452}