That's a tricky question.
If you do it by IP, what about the guy sitting in a cubicle across from the guy who last voted? And then the guy sitting behind a proxy, who's IP just changed between page requests? And let's not forget modem users and even most the DSL/cable users have dynamic IP's, though some do get static, most use DHCP and get new addresses everyday, or at some interval.
Not reliable at all.
So then we have cookies...
if and when their browser accepts it.
And if it did get accepted, did they clear their cache?
So no, neither of these will ever allow you to keep users from abusing your system.
If it means that much to you, require a login to vote. And make sure people logging in from Florida log in twice just to make damn sure they don't mess with your ballots 🙂