Exemplo n.º 1
0
        private void AddParameters(object sender, RoutedEventArgs e)
        {
            DlgAddParameters    dlg = new DlgAddParameters();
            AlgorithmParameters algorithmParameters;

            if (dlg.ShowDialog() == true)
            {
                double crossoverProbability = (double)dlg.crossoverProbability.Value;
                double mutationProbability  = (double)dlg.mutationProbability.Value;
                int    population           = (int)dlg.individualsNumber.Value;
                int    generationsNumber    = (int)dlg.generationsNumber.Value;
                int    precision            = (int)dlg.precision.Value;
                bool   isMaximumSearching   = (bool)dlg.maximumSearch.IsChecked;
                algorithmParameters = new AlgorithmParameters(crossoverProbability, mutationProbability, population, generationsNumber, precision, isMaximumSearching);
                algorithmParametersList.Add(algorithmParameters);
                ICollectionView AlgParams = CollectionViewSource.GetDefaultView(AlgorithmGrid.ItemsSource);
                if (AlgParams != null && AlgParams.CanGroup == true)
                {
                    AlgParams.GroupDescriptions.Clear();
                }
                AlgorithmGrid.Items.Refresh();
            }
        }
Exemplo n.º 2
0
        private void Edit_Algorithm(object sender, RoutedEventArgs e)
        {
            DlgAddParameters    dlg = new DlgAddParameters();
            AlgorithmParameters algorithmParameters = AlgorithmGrid.SelectedItem as AlgorithmParameters;
            int indexOfAlgorithm = algorithmParametersList.IndexOf(algorithmParameters);

            dlg.crossoverProbability.Value = algorithmParameters.CrossoverProbability;
            dlg.mutationProbability.Value  = algorithmParameters.MutationProbability;
            dlg.individualsNumber.Value    = algorithmParameters.Population;
            dlg.generationsNumber.Value    = algorithmParameters.Generations;
            dlg.precision.Value            = algorithmParameters.Precision;
            dlg.maximumSearch.IsChecked    = algorithmParameters.isMaxSearching;
            if (dlg.ShowDialog() == true)
            {
                algorithmParameters.CrossoverProbability  = (double)dlg.crossoverProbability.Value;
                algorithmParameters.MutationProbability   = (double)dlg.mutationProbability.Value;
                algorithmParameters.Population            = (int)dlg.individualsNumber.Value;
                algorithmParameters.Generations           = (int)dlg.generationsNumber.Value;
                algorithmParameters.Precision             = (int)dlg.precision.Value;
                algorithmParameters.isMaxSearching        = (bool)dlg.maximumSearch.IsChecked;
                algorithmParametersList[indexOfAlgorithm] = algorithmParameters;
                AlgorithmGrid.Items.Refresh();
            }
        }