The rapid rise of virtual machines are affecting the daily lives of people profusely. It is clear that to cater to such huge amounts of requests, servers which can withstand the upper bound of those requests must be maintained. In this paper, we propose a model based on Evolutionary Algorithms which attempts to schedule given tasks to virtual machines in such a manner, so as to minimise the load imbalance among the different machines available. We show that using a greedy approach with certain optimisation functions, a workable solution can be reached which would help reduce this "upper bound" mentioned above. Through it, one can expect the load on any particular machine to not exceed a certain amount and be distributed amongst all virtual machines.