We apply service-operations-management concepts to improve the efficiency and equity of voting systems. Recent elections in the United States and elsewhere have been plagued by long lines, excessive waiting times, and perceptions of unfairness. We build models for the waiting lines at voting precincts using both traditional steady-state queueing methods and simulation models. We develop solution methods to allocate voting machines optimally to precincts. Our objective functions consider both the efficiency and the equity of the voting system. We compare our allocation algorithm to several competing methods, including those used in practice. We examine several different strategies for improving voting operations on both the demand and the capacity side of voting systems, and we present a complete case study of applying our method to data from the 2008 election for Franklin County, Ohio. We conclude that our method is superior to existing polices in terms of efficiency and equity and that it is robust in terms of uncertainties regarding turnout rates on Election Day. We also suggest several operational improvements to the voting process drawn from the service-operations literature.