Well, I'm just starting out really... I tried putting my "move to" locations in a vector and checking if a location was "taken" before assigning it to another ant's move (something similar to what's in the tutorial)... It didn't really work well, I realized how I could improve it but concluded that it would be a bit of a drag coding that stuff. And it's not really in the spirit of diffusion.
Aaand I tried simply assigning food value (and all the other values, but I still didn't write the code that makes these values relevant, my ants are constantly in "food mode") 0 to my ants' locations, but the problem with that was that my ants (obviously) didn't want to even come close to each other, plus it sometimes stopped them in getting food which was close to them.