Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }