예제 #1
0
        private void StartDrawing()
        {
            string fileName        = ChoseFileToLoad();
            var    crossTypeNumber = this.CrossingMethod.Controls.OfType <RadioButton>().FirstOrDefault(r => r.Checked).TabIndex;

            var        _fileLoader = new FileLoader(fileName);
            DataParser dataParser  = new DataParser();

            dataParser.ParseDataFromFileStream(_fileLoader.GetFileStream());

            var oTTP = new TTP();

            oTTP.StartGeneticTTP(Env.POP_SIZE, Env.GENERATION_COUNT, Env.SORT_TYPE, Env.MUT_RATE, crossTypeNumber);
            //oTTP._generationFittnesMap;
            foreach (KeyValuePair <int, double> pair in oTTP._generationMaxFittnesMap)
            {
                this.chart1.Series["max"].Points.AddXY(pair.Key, pair.Value);
            }
            foreach (KeyValuePair <int, double> pair in oTTP._generationMinFittnesMap)
            {
                this.chart1.Series["min"].Points.AddXY(pair.Key, pair.Value);
            }
            foreach (KeyValuePair <int, double> pair in oTTP._generationAvgFittnesMap)
            {
                this.chart1.Series["avg"].Points.AddXY(pair.Key, pair.Value);
            }
            this.MaxValue.Text = oTTP._bestG.ToString();
            this.MinValue.Text = oTTP._worstG.ToString();
        }
예제 #2
0
        public void FitFunctionTest()
        {
            DataContainer container = DataContainer.Instance;

            container.Capacity  = 6;
            container.Dimension = 4;
            container.MaxSpeed  = 1.5;
            container.MinSpeed  = 0.6;

            City cityA = new City(1, 1, 1);
            City cityB = new City(2, 4, 5);
            City cityC = new City(3, 8, 2);
            City cityD = new City(4, 2, -6);

            cityB.ItemsInCity.Add(new Item(1, 8, 3, 2));
            cityC.ItemsInCity.Add(new Item(2, 6, 5, 3));
            cityD.ItemsInCity.Add(new Item(3, 3, 1, 4));

            List <City> cities = new List <City>()
            {
                cityA, cityB, cityC, cityD
            };
            DataContainer dc = DataContainer.Instance;

            dc._Cities = cities;

            SubjectTraveller st = new SubjectTraveller(4, 0.4, cityA);

            st.FirstCity = cityA;
            st.TripPlan  = new City[] { cityB, cityC, cityD };


            TTP    tsp    = new TTP();
            double result = tsp.FittnesFunction(st);

            Console.WriteLine("Result is {0}", result);

            Assert.IsTrue(true);
        }
예제 #3
0
        private void SolveTSP()
        {
            TTP oTSP = new TTP();

            oTSP.StartGeneticTTP(Env.POP_SIZE, Env.GENERATION_COUNT, Env.SORT_TYPE, Env.MUT_RATE, 2);
        }