How to use the hamilton method (largest remainder method) when the maximum amount of seats is limited

252 Views Asked by At

I hope this is the right place to ask even though the math behind it is quite easy, i have trouble with the application of the hamilton method on my problem.

The hamilton method/hare niemeyer method describes a system how to allocate seats in a parlamaint proportionally to the votes. https://en.wikipedia.org/wiki/Largest_remainder_method

I have a different problem but this method seems to be commonly used. I am working in an association which consists out of multiple smaller organisations. We have one big conference each year and each organisation has a number of seats according to the number of people in the organisation. But we have a minimum number of 2 and a maximum number of 7 votes per organisation.

So when I calculate the percentages of the different organisations I end up with something like this:

organisations: 6

free seats: 28

Everyone gets 2 (minimum) so it is 20 to distribute:

orga1: 40,4%

orga2: 30.3%

orga3: 10.2%

orga4: 8.1%

orga5: 7.1%

orga6: 4.8%

So when we multiply the percentages with the free seats we end up with:

orga1: 5 seats (8 according to hamilton but only 5 allowed to make up a total of 7)

orga 2: 5 seats (same as orga 1 but with 6 allowed)

orga4: 1

orga5: 1

orga6: 0

remaining total: 8 Usally, when there are seats remaining, they are distributed according to the value after the dot but in this case, only orga 3, 4, 5 and 6 could get more seats. So when each orga got 1 seat, how do I distribute the remaining 4 seats?

1

There are 1 best solutions below

0
On BEST ANSWER

If there is a maximum and minimum number of representatives by group, then you would find life easier with a highest-averages method. With the largest remainder method you divide votes by seats, but this then hits the constraints as you describe - one possible solution is to keep adjust the denominator of that calculation until you get an acceptable answer within the constraints.

Using your numbers (the percentages add up to $100.9\%$ though this does not matter - you could use actual numbers rather than percentages and it would still work), the initial problem is that the constraints prevent you allocating all $28$ seats. I think the calculations are something like the following (not quite the same as yours and I did not start giving everyone $2$ seats but used it as a constraint):

                        orga1:  orga2:  orga3:  orga4:  orga5:  orga6:  Total  Seats %/seat
Size                    40.4%   30.3%   10.2%   8.1%    7.1%    4.8%    100.9%  28    3.6%
Crude seat allocation   11.211  8.408   2.831   2.248   1.970   1.332   28      
Integer                 11.000  8.000   2.000   2.000   1.000   1.000   25      
Constraint              7       7       2       2       2       2       22      
Remainder if allowed                    0.831   0.248   -0.030  -0.668          
Highest remainder                       1       1                       2       
Total seats allocation  7       7       3       3       2       2       24      
                                    

If you must do something like this, you could gradually increase reduce the % per seat required by increasing the notional number of seats. I think using $40$ works and you get something like this:

                        orga1:  orga2:  orga3:  orga4:  orga5:  orga6:  Total  Seats %/seat
Size                    40.4%   30.3%   10.2%   8.1%    7.1%    4.8%    100.9%  40    2.5%
Crude seat allocation   16.016  12.012  4.044   3.211   2.815   1.903   40      
Integer                 16      12      4       3       2       1       38      
Constraint              7       7       4       3       2       2       25      
Remainder if allowed                    0.044   0.211   0.815   -0.097          
Highest remainder                       1       1       1               3       
Total seats allocation  7       7       5       4       3       2       28      

which I think is a bit of a hack.

With a highest averages method, you still have the constraints of $7$ and $2$, so you find the averages, allocate the seats you must (the $2$s), and then allocate all the extra seats to the highest averages (but not exceeding the $7$s). I think you get at table like this:

    orga1:  orga2:  orga3:  orga4:  orga5:  orga6:          
    40.4%   30.3%   10.2%   8.1%    7.1%    4.8%            
Divisor                                 
1   40.4%   30.3%   10.2%   8.1%    7.1%    4.8%            
2   20.2%   15.2%   5.1%    4.1%    3.6%    2.4%            
3   13.5%   10.1%   3.4%    2.7%    2.4%    1.6%            
4   10.1%   7.6%    2.6%    2.0%    1.8%    1.2%            
5   8.1%    6.1%    2.0%    1.6%    1.4%    1.0%            
6   6.7%    5.1%    1.7%    1.4%    1.2%    0.8%            
7   5.8%    4.3%    1.5%    1.2%    1.0%    0.7%    
 
Big  7       7       5       4       3       2 

and if you start by taking the top two rows automatically and then the averages which are the next biggest, you hit $28$ seats allocated with the averages of about $2.0\%$ or more (the next highest is about $1.8\%$). Again you could work out the averages with numbers rather than percentages.

I think this last method is easier to explain as meaningful rather than the earlier invention of notional seats and then losing them in the calculation.