public void ApplyTest()
        {
            IRandom        random  = new TestRandom(new int[] { 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1 }, new double[] { 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9 });
            Schedule       parent1 = TestUtils.CreateTestSchedule1();
            Schedule       parent2 = TestUtils.CreateTestSchedule2();
            ItemList <Job> jobData = TestUtils.CreateJobData();
            double         mutProp = 0.05;
            Schedule       actual;

            actual = DirectScheduleGTCrossover.Apply(random, parent1, parent2, jobData, mutProp);
            Schedule expected = DirectScheduleRandomCreator.Apply(3, 3, new PWREncoding(3, 3, new TestRandom(new int[] { 0, 2, 1, 1, 0, 2, 1, 2, 0 }, null)), TestUtils.CreateJobData());

            Assert.IsTrue(TestUtils.ScheduleEquals(actual, expected));
        }
Пример #2
0
        public static Schedule CreateTestSchedule2()
        {
            Schedule result = DirectScheduleRandomCreator.Apply(3, 3, new PWREncoding(3, 3, new TestRandom(new int[] { 0, 1, 1, 0, 2, 0, 1, 2, 2 }, null)), CreateJobData());

            return(result);
        }