Using a recent article by Monroe as a springboard, we extend and gener
alize his system of proportional representation (PR) by developing a g
eneral method for determining a set of winners from the ballots. Centr
al to our analysis is the use of integer programming, which is a type
of linear programming. Under Monroe's system and our generalizations o
f it, one minimizes total misrepresentation, where misrepresentation i
s based on approval votes, the rankings of candidates, or other ballot
information. Our method allows for a variety of PR systems, including
those proposed by Monroe, by Chamberlin and Courant, and by Tullock,
as well as a new system we call 'hierarchical PR'. Ties, the filling o
f vacancies, and certain problems of both large and small electorates
are all rendered manageable with integer programming. We discuss nonma
nipulability, representative ness, and other criteria for selecting a
PR system and conclude with some recommendations.