public static double fitness(AbsClsIndividuo obj) { double ValorTotal = 0; int[] resultados = getArregloResultados(obj); for (int i = 0; i < resultados.GetLength(0); i++) { ValorTotal += resultados[i] * value[i]; } return(ValorTotal); }
public static int[] getArregloResultados(AbsClsIndividuo obj) { int[] resultados = new int[6]; resultados[0] = ChoquesHorario(obj._Horario_Grupos); resultados[1] = ChoquesHorario(obj._Horarios_Aulas); resultados[2] = ChoquesHorario(obj._Horario_Docentes); resultados[3] = HuecosHorariosGrupo(obj._Horario_Grupos, obj._SuperIndv.DatosBloques, obj._SuperIndv.BloquesReceso); resultados[4] = HorasConsecutivas(obj._Horarios, obj._SuperIndv.ClaveGrupoMateriaDocente, obj._SuperIndv.BloquesDias, obj._SuperIndv.Grupos, obj._SuperIndv.Materias); resultados[5] = SalonRegular(obj._Horarios, obj._SuperIndv.ClaveGrupoMateriaDocente); return(resultados); }