Exemplo n.º 1
0
        private void UpdateMutators()
        {
            IManipulator oldMutator = MutatorParameter.Value;

            MutatorParameter.ValidValues.Clear();
            IManipulator defaultMutator = Problem.Operators.OfType <IManipulator>().FirstOrDefault();

            foreach (IManipulator mutator in Problem.Operators.OfType <IManipulator>().OrderBy(x => x.Name))
            {
                MutatorParameter.ValidValues.Add(mutator);
            }

            if (oldMutator != null)
            {
                IManipulator mutator = MutatorParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldMutator.GetType());
                if (mutator != null)
                {
                    MutatorParameter.Value = mutator;
                }
                else
                {
                    oldMutator = null;
                }
            }

            if (oldMutator == null && defaultMutator != null)
            {
                MutatorParameter.Value = defaultMutator;
            }
        }
Exemplo n.º 2
0
        private void UpdateMutators()
        {
            IManipulator oldMutator = MutatorParameter.Value;

            MutatorParameter.ValidValues.Clear();
            foreach (IManipulator mutator in Problem.Operators.OfType <IManipulator>().OrderBy(x => x.Name))
            {
                ParameterizeStochasticOperatorForIsland(mutator);
                MutatorParameter.ValidValues.Add(mutator);
            }
            if (oldMutator != null)
            {
                IManipulator mutator = MutatorParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldMutator.GetType());
                if (mutator != null)
                {
                    MutatorParameter.Value = mutator;
                }
            }
        }
Exemplo n.º 3
0
        private void UpdateMutators()
        {
            IManipulator oldMutator = MutatorParameter.Value;

            MutatorParameter.ValidValues.Clear();
            foreach (IManipulator mutator in Problem.Operators.OfType <IManipulator>().OrderBy(x => x.Name))
            {
                MutatorParameter.ValidValues.Add(mutator);
            }
            if (oldMutator != null)
            {
                IManipulator mutator = MutatorParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldMutator.GetType());
                if (mutator != null)
                {
                    MutatorParameter.Value = mutator;
                }
            }
            else if (MutatorParameter.ValidValues.Count > 0 && Problem.Operators.OfType <ISelfAdaptiveManipulator>().Count() > 0)
            {
                ISelfAdaptiveManipulator mutator = Problem.Operators.OfType <ISelfAdaptiveManipulator>().First();
                if (mutator != null)
                {
                    MutatorParameter.Value = mutator;
                }
            }
        }