Great game.
May I suggest adding a check for cleaners if one is already assigned to an object, then other ones wont go there, and will find another object to clean?
I'm also having a bit of problem getting rooms that a further away to be cleaned. But i guess a better waypoint system for the cleaners should fix that.