  We investigate the practical aspects of computing the necessary and possible
winners in elections over incomplete voter preferences. In the case of the
necessary winners, we show how to implement and accelerate the polynomial-time
algorithm of Xia and Conitzer. In the case of the possible winners, where the
problem is NP-hard, we give a natural reduction to Integer Linear Programming
(ILP) for all positional scoring rules and implement it in a leading commercial
optimization solver. Further, we devise optimization techniques to minimize the
number of ILP executions and, oftentimes, avoid them altogether. We conduct a
thorough experimental study that includes the construction of a rich benchmark
of election data based on real and synthetic data. Our findings suggest that,
the worst-case intractability of the possible winners notwithstanding, the
algorithmic techniques presented here scale well and can be used to compute the
possible winners in realistic scenarios.
