Applying cellular automata to complex environmental problems: the simulation of the bioremediation of contaminated soils