# [EM] A monotonic proportional multiwinner method

Sun Mar 14 03:26:40 PDT 2010

```Raph Frank wrote:
> I wonder if this is equivalent to your method;
> assign seats to each coalition one at a time, using Sainte-lague,
> until there is only 1 coalition possible.

Let's see if I got this right. Form a sorted list by number of voters,
adjusted according to Sainte-Lague. Then go down this list, incrementing
the constraint of "must at least have this many from that set" (and
adjusting according to that number as by Sainte-Lague) until there's
only one possible council.

Is that right?

>
> ABC (70):
> AB (24):
> AC (18):
> BC (28):
> A (14):
> B (12):
> C (27):

I.e.

ABC has 70 voters. We now set: at least 1 member from here. Its new
weight is 70/3 = 23.3.

BC has 28 voters and so is next. We now set: at least 1 member from
here. Its new weight is 28/3 = 9.3.

C has 27 voters and so is next. We now set: at least 1 member from here.
Its new weight is 27/3 = 9. Now our councils are limited to {AC} and {BC}.

AB has 24 voters and we set: at least 1 member from here. Its new weight
is 24/3 = 8.

Next we meet our "old nemesis", ABC, at its new weight, 23.3. We now
set: at least 2 members from here. Its new weight is 70/5 = 14.

Finally, we meet AC and set: at least one from this. Its new weight is
18/3 = 6.

But that doesn't narrow it down to {AC}, since both AC and BC share "at
least one of AC", namely C. So am I doing it wrong here? You would have
to go to ABC (at least 3 of these) then "one from A" before it reduces
to {AC}.

>
>        ABC              12
>        AB                2
>        AC                5
>        BC                5
>        A                 3
>        B                 5
>        C                 4
>
> ABC (12)
> {All}
>
> Tie between: AC-1, BC-1, B (5)
> {None}
>
> Tie break, continue with allocation:
> ... C (4)
> ... {AC-1 and BC-1} remain
> ... {C} wins

If the tiebreak was broken in favor of B, B would win. However, in my
method, C wins (period). You'd have to break the tie both ways and then
somehow gather the margins data in order to exclude B.

```