1000 benchmark instances are generated using various probability models from the abcvoting library:
max(3, num_cand/10) and max(4, num_cand/3)Instances are sorted by number of candidates, then by committee size, then by number of voters. This ordering prioritizes the parameters that most affect computational complexity for ABC voting rules.
| Rule | Algorithm | Completed | Total Runtime |
|---|---|---|---|
| AV Approval Voting (AV) | standardfastest | 1000/1000 | 99ms |
| SAV Satisfaction Approval Voting (SAV) | standardfastest | 1000/1000 | 134ms |
| PAV Proportional Approval Voting (PAV) | gurobifastest | 1000/1000 | 21.10s |
| SLAV Sainte-Laguë Approval Voting (SLAV) | gurobifastest | 1000/1000 | 25.08s |
| CC Approval Chamberlin-Courant (CC) | gurobifastest | 1000/1000 | 13.87s |
| lex-CC Lexicographic Chamberlin-Courant (lex-CC) | gurobifastest | 692/1000 | timeout |
| 2-Geometric 2-Geometric Rule | gurobifastest | 1000/1000 | 3.0m |
| Adams-AV Adams Approval Voting | gurobifastest | 1000/1000 | 57.95s |
| seq-PAV Sequential Proportional Approval Voting (seq-PAV) | standardfastest | 1000/1000 | 7.34s |
| revseq-PAV Reverse Sequential Proportional Approval Voting (revseq-PAV) | standardfastest | 1000/1000 | 47.45s |
| seq-SLAV Sequential Sainte-Laguë Approval Voting (seq-SLAV) | standardfastest | 1000/1000 | 7.47s |
| seq-CC Sequential Approval Chamberlin-Courant (seq-CC) | standardfastest | 1000/1000 | 5.07s |
| seq-Phragmén Phragmén's Sequential Rule (seq-Phragmén) | float-fractionsfastest | 1000/1000 | 5.25s |
| minimax-Phragmén Phragmén's Minimax Rule (minimax-Phragmén) | gurobifastest | 1000/1000 | 4.3m |
| leximax-Phragmén Phragmén's Leximax Rule (leximax-Phragmén) | gurobifastest | 1/1000 | timeout |
| Maximin-Support Maximin Support Method (MMS) | nx-max-flowfastest | 492/1000 | timeout |
| Monroe Monroe's Approval Rule (Monroe) | gurobifastest | 576/1000 | timeout |
| Greedy Monroe Greedy Monroe | standardfastest | 1000/1000 | 30.75s |
| minimaxav Minimax Approval Voting (MAV) | gurobifastest | 983/1000 | timeout |
| lex-MAV Lexicographic Minimax Approval Voting (lex-MAV) | brute-forcefastest⚠ differs from "fastest"-default | 237/1000 | timeout |
| Equal Shares Method of Equal Shares (aka Rule X) with Phragmén phase | float-fractionsfastest | 1000/1000 | 7.63s |
| Equal Shares with AV completion Method of Equal Shares (aka Rule X) with AV completion | float-fractionsfastest | 1000/1000 | 5.62s |
| Equal Shares with increment completion Method of Equal Shares (aka Rule X) with increment completion | gmpy2-fractionsfastest⚠ differs from "fastest"-default | 1000/1000 | 1.1m |
| Phragmén-Eneström Method of Phragmén-Eneström | float-fractionsfastest | 1000/1000 | 3.33s |
| Consensus Rule Consensus Rule | float-fractionsfastest | 1000/1000 | 3.76s |
| Trivial Rule Trivial Rule | standardfastest | 1000/1000 | 27ms |
| E Pluribus Hugo E Pluribus Hugo (EPH) | float-fractionsfastest | 1000/1000 | 3.41s |
| Rule | Algorithm | Completed | Total Runtime |
|---|---|---|---|
| AV Approval Voting (AV) | standardfastest | 1000/1000 | 170ms |
| SAV Satisfaction Approval Voting (SAV) | standardfastest | 1000/1000 | 180ms |
| PAV Proportional Approval Voting (PAV) | gurobifastest | 1000/1000 | 54.86s |
| SLAV Sainte-Laguë Approval Voting (SLAV) | gurobifastest | 1000/1000 | 1.0m |
| CC Approval Chamberlin-Courant (CC) | gurobifastest | 1000/1000 | 1.3m |
| lex-CC Lexicographic Chamberlin-Courant (lex-CC) | gurobifastest | 665/1000 | timeout |
| 2-Geometric 2-Geometric Rule | gurobifastest | 934/1000 | timeout |
| Adams-AV Adams Approval Voting | gurobifastest | 1000/1000 | 2.4m |
| seq-PAV Sequential Proportional Approval Voting (seq-PAV) | standardfastest | 555/1000 | timeout |
| revseq-PAV Reverse Sequential Proportional Approval Voting (revseq-PAV) | standardfastest | 224/1000 | timeout |
| seq-SLAV Sequential Sainte-Laguë Approval Voting (seq-SLAV) | standardfastest | 724/1000 | timeout |
| seq-CC Sequential Approval Chamberlin-Courant (seq-CC) | standardfastest | 970/1000 | timeout |
| seq-Phragmén Phragmén's Sequential Rule (seq-Phragmén) | float-fractionsfastest | 643/1000 | timeout |
| minimax-Phragmén Phragmén's Minimax Rule (minimax-Phragmén) | gurobifastest | 400/1000 | timeout |
| leximax-Phragmén Phragmén's Leximax Rule (leximax-Phragmén) | gurobifastest | 1/1000 | timeout |
| Maximin-Support Maximin Support Method (MMS) | nx-max-flowfastest | 314/1000 | timeout |
| Monroe Monroe's Approval Rule (Monroe) | gurobifastest | 257/1000 | timeout |
| minimaxav Minimax Approval Voting (MAV) | pulp-highsfastest | 526/1000 | timeout |
| lex-MAV Lexicographic Minimax Approval Voting (lex-MAV) | brute-forcefastest⚠ differs from "fastest"-default | 237/1000 | timeout |
| Equal Shares Method of Equal Shares (aka Rule X) with Phragmén phase | float-fractionsfastest | 317/1000 | timeout |
| Equal Shares with AV completion Method of Equal Shares (aka Rule X) with AV completion | float-fractionsfastest | 696/1000 | timeout |
| Phragmén-Eneström Method of Phragmén-Eneström | float-fractionsfastest | 847/1000 | timeout |
| Consensus Rule Consensus Rule | float-fractionsfastest | 970/1000 | timeout |
| Trivial Rule Trivial Rule | standardfastest | 1000/1000 | 137ms |
| E Pluribus Hugo E Pluribus Hugo (EPH) | float-fractionsfastest | 1000/1000 | 3.44s |