Beispiel #1
0
        static void Main(string[] args)
        {
            SpeciesIndividual sp = new SpeciesIndividual();

            sp.CreateByRandomGenes();

            for (int i = 0; i < 5; i++)
            {
                sp.Select();
                sp.Crossover();
                sp.Mutate();


                sp.CalFitness();
                for (int j = 0; j < TSPDATA.SPECIES_Num; j++)
                {
                    Console.WriteLine("存在{0}节课,适应度为{0}", sp.genes.Length, sp.fitness[j]);
                }
            }

            sp.Deletect();

            for (int j = 0; j < TSPDATA.LessonNum; j++)
            {
                Lesson le = Lesson.GetLesson(sp.genes[sp.GetBest(), j]);
                if (le.Course != 9)
                {
                    Mycourse mc = new Mycourse();
                    mc.Time    = TSPDATA.Time[le.Time];
                    mc.Course  = TSPDATA.Course[le.Course];
                    mc.Classm  = TSPDATA.Classm[le.Classm];
                    mc.Room    = TSPDATA.Room[le.Room];
                    mc.Teacher = TSPDATA.Teacher[le.Teacher];
                    Console.WriteLine("时间:{0},教师:{1},教室:{2},课程:{3},班级:{4}", mc.Time, mc.Teacher, mc.Room, mc.Course, mc.Classm);
                    if (Method.insertlesson(mc))
                    {
                        Console.WriteLine("插入第{0}节课成功", j);
                    }
                }
            }



            Console.ReadKey();
        }
Beispiel #2
0
 public static bool insertlesson(Mycourse le)
 {
     using (SqlConnection scon = new SqlConnection(str))
     {
         using (SqlCommand scom = scon.CreateCommand())
         {
             scon.Open();
             scom.CommandText = "insert into CSTable(Time,CourseName,Techaer,ClassRoom,Classm) values(@time,@course,@teacher,@classroom,@class)";
             SqlParameter[] p = new SqlParameter[]
             {
                 new SqlParameter("@time", le.Time),
                 new SqlParameter("course", le.Course),
                 new SqlParameter("@teacher", le.Teacher),
                 new SqlParameter("@classroom", le.Room),
                 new SqlParameter("@class", le.Classm)
             };
             scom.Parameters.AddRange(p);
             return(scom.ExecuteNonQuery() > 0);
         }
     }
 }