Friday, November 02, 2012

What is the least amount of land that will make you President?

Matthew Yglesias in the slate calculates what he thinks is the smallest area of land a candidate could win and still win this presidential election. Densely populated states will have more electoral college votes per square kilometer and so you can win the election while winning a relatively small surface area of America.
His reasoning is 'I started with a list of states in order of population density. So you have DC, then New Jersey, then Rhode Island, then Massachusetts, and so forth. Eventually you get a set that wins you the electoral college. Except the bloc of the 18 densest states gives you 282 electoral votes—way more than you need. Eliminate Michigan, the 18th densest, and you have 266 electoral votes. So then you can round things out with little New Hampshire's four electoral votes and you have your winning map'.

I checked this allocation with the GLPK program below. I used the electoral votes listed here and the state areas listed on wikipedia This gets 270 votes with an area of 1625012km². US states + DC is an area of 9826630km² so 16.54% of the US could win an election.

The states are Delaware, District of Columbia, Hawaii, New Hampshire, Rhode Island, Connecticut, Maryland, Indiana, Massachusetts, Virginia, New Jersey, North Carolina, Ohio, Illinois, Pennsylvania, Florida, New York, California. My map is here

Matthew Yglesias' map is the same so he did find the optimal solution by hand.

/*code to find the least land area to get 270 votes. Run with 'glpsol -m election.mod -o out'
*/
/* sets */
set STATES;
set NEED;

/* parameters */
param VotesTable {i in STATES, j in NEED};
param Cost {i in STATES};
param Need {j in NEED};


/* decision variables: x1: alabama, x2: , x3: , x4:  x51: Wyoming*/
      var x {i in STATES} binary >= 0;

/* objective function */
      minimize z: sum{i in STATES} Cost[i]*x[i];

/* Constraints */
s.t. const{j in NEED} : sum{i in STATES} VotesTable[i,j]*x[i] >= Need[j];


/* data section */
data;

set STATES :=  Alaska Delaware "District of Columbia" Montana "North Dakota" "South Dakota" Vermont Wyoming Hawaii Idaho Maine "New Hampshire" "Rhode Island" Nebraska Nevada "New Mexico" Utah "West Virginia" Arkansas Kansas Mississippi Connecticut Iowa Oklahoma Oregon Kentucky "South Carolina" Alabama Colorado Louisiana Arizona Maryland Minnesota Wisconsin Indiana Missouri Tennessee Washington Massachusetts Virginia Georgia "New Jersey" "North Carolina" Michigan Ohio Illinois Pennsylvania Florida "New York" Texas California;
set NEED := Votes;

param VotesTable: Votes:=
 Alabama 9
 Alaska 3
 Arizona 11
 Arkansas 6
 California 55
 Colorado 9
 Connecticut 7
 Delaware 3
 "District of Columbia" 3
 Florida 29
 Georgia 16
 Hawaii 4
 Idaho 4
 Illinois 20
 Indiana 11
 Iowa 6
 Kansas 6
 Kentucky 8
 Louisiana 8
 Maine 4
 Maryland 10
 Massachusetts 11
 Michigan 16
 Minnesota 10
 Mississippi 6
 Missouri 10
 Montana 3
 Nebraska 5
 Nevada 6
 "New Hampshire" 4
 "New Jersey" 14
 "New Mexico" 5
 "New York" 29
 "North Carolina" 15
 "North Dakota" 3
 Ohio 18
 Oklahoma 7
 Oregon 7
 Pennsylvania 20
 "Rhode Island" 4
 "South Carolina" 9
 "South Dakota" 3
 Tennessee 11
 Texas 38
 Utah 6
 Vermont 3
 Virginia 13
 Washington 12
 "West Virginia" 5
 Wisconsin 10
 Wyoming 3;

param Cost:=
 Alabama 135765
 Alaska 1717854
 Arizona 295254
 Arkansas 137732
 California 423970
 Colorado 269601
 Connecticut 14357
 Delaware 6447
 "District of Columbia" 177
 Florida 170304
 Georgia 153909
 Hawaii 28311
 Idaho 216446
 Illinois 149998
 Indiana 94321
 Iowa 145743
 Kansas 213096
 Kentucky 104659
 Louisiana 134264
 Maine 91646
 Maryland 32133
 Massachusetts 27336
 Michigan 250494
 Minnesota 225171
 Mississippi 125434
 Missouri 180533
 Montana 380838
 Nebraska 200345
 Nevada 286351
 "New Hampshire" 24216
 "New Jersey" 22588
 "New Mexico" 314915
 "New York" 141299
 "North Carolina" 139389
 "North Dakota" 183112
 Ohio 116096
 Oklahoma 181035
 Oregon 254805
 Pennsylvania 119283
 "Rhode Island" 4002
 "South Carolina" 82932
 "South Dakota" 199731
 Tennessee 109151
 Texas 695621
 Utah 219887
 Vermont 24901
 Virginia 110785
 Washington 184665
 "West Virginia" 62755
 Wisconsin 169639
 Wyoming 253336;

param Need:=
Votes        270;

end;

2 comments:

  1. Ugh, rucksack problems... They always hurt my head.

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete