ArrayList<Schedule> geneticAlgorithm(ArrayList<Schedule> schedule, double crossoverProb, double mutationProb, int generations, int population){
        ArrayList<Schedule> chromosomes;
        ArrayList<Schedule> solution = new ArrayList<>();
        for(int a=0; a<generations; a++){
            chromosomes = fitnessCalc(schedule);
            solution = generate(chromosomes, crossoverProb, mutationProb, population);
        }   
        return solution;
    }