Text this: Allocation and re-allocation of data in a grid using an adaptive genetic algorithm