1. A method for replicating a group of data sets, the method comprising: generating a plurality of schedules, wherein each schedule contains a list of replication times for each data set in the group and each data set has a recovery point objective (RPO) requirement and computational resources utilization estimation for said data set's replication; calculating a fitness value for each of the schedules, wherein the fitness value is a function of a first metric capturing a penalty for violating said RPO requirements and a second metric capturing a penalty for the estimated utilization of said computational resources; selecting a schedule with a best fitness value; and replicating the group in accordance with the schedule.