Exemple #1
0
        public override void Evaluar()
        {
            return;

            int valor = 0;
            //se sumará el coste de los horarios asignados
            //valor += Genes
            //    .Select(gen => gen.Coste)
            //    .Sum();

            var genes = Genes.Select(gen => new
            {
                Profesor   = gen.Asignatura.NombreProfesor,
                Horario    = gen.Horario,
                Asignatura = gen.Asignatura.Nombre,
                Aula       = gen.Aula.Nombre
            });

            //se calcula el número de apariciones del profesor
            //en el mismo horario

            valor += 5 * genes
                     .GroupBy(gen => new
            {
                CodigoProf = gen.Profesor,
                Horario    = gen.Horario
            })
                     .Where(gen => gen.Count() > 1)
                     .Count();

            //se calcula el número de apariciones del profesor
            //en el mismo horario

            valor += 5 * Genes
                     .GroupBy(gen => new
            {
                Horario = gen.Horario,
                Aula    = gen.Aula.Nombre
            })
                     .Where(res => res.Count() > 1)
                     .Count();
            this.Fitness = valor;
        }