예제 #1
0
        //Set IBEA parameters
        private void SetIBEA(object sender, RoutedEventArgs e)
        {
            double crossoverRate = Double.Parse(crossoverRateBox.Text);
            double mutationRate  = Double.Parse(mutationRateBox.Text);
            double leftPoint     = Double.Parse(leftPointBox.Text);
            double rightPoint    = Double.Parse(rightPointBox.Text);
            int    PSize         = int.Parse(PSizeBox.Text);
            int    QSize         = int.Parse(QSizeBox.Text);
            int    maxGeneration = int.Parse(maxGenerationBox.Text);

            ibea = new IBEA();
            if (spl == null)
            {
                MessageBox.Show("请先生成特征模型");
                return;
            }
            ibea.Init(mutationRate, crossoverRate, leftPoint, rightPoint, PSize, QSize, maxGeneration, spl, spl.aFeaturePoint.Count);

            ibeaEng = new IBEAEng(ibea);

            array_ParetoFront = ibeaEng.GetP();
            ShowParetoFront();

            startButton.IsEnabled = true;
            nextButton.IsEnabled  = true;
            exactButton.IsEnabled = true;
        }
예제 #2
0
        //---   Event of test button
        private void TestEvent(object sender, RoutedEventArgs e)
        {
            double crossoverRate = Double.Parse(crossoverRateBox.Text);
            double mutationRate  = Double.Parse(mutationRateBox.Text);
            double leftPoint     = Double.Parse(leftPointBox.Text);
            double rightPoint    = Double.Parse(rightPointBox.Text);
            int    PSize         = int.Parse(PSizeBox.Text);
            int    QSize         = int.Parse(QSizeBox.Text);
            int    maxGeneration = int.Parse(maxGenerationBox.Text);

            ibea = new IBEA();
            ibea.Init(mutationRate, crossoverRate, leftPoint, rightPoint, PSize, QSize, maxGeneration, spl, spl.aFeaturePoint.Count);

            ibea.test();
        }
예제 #3
0
 //Constructor Function
 public IBEAEng(IBEA ibea)
 {
     this.ibea = ibea;
 }