Esempio n. 1
0
        public IslandSupervisor(GlobalConfiguration configuration)
        {
            this.configuration = configuration;
            this.islands       = new Island[configuration.configurations.Count];
            int i = 0;

            //create islands
            foreach (IslandConfiguration islandConfiguration in configuration.configurations)
            {
                IFactory factory = null;
                switch (islandConfiguration.evolutionStrategy)
                {
                case EvolutionStrategy.Roulette:
                    factory = new RouletteFactory(configuration, islandConfiguration);
                    break;

                case EvolutionStrategy.Stochastic:
                    factory = new StochasticFactory(configuration, islandConfiguration);
                    break;

                case EvolutionStrategy.Tournament:
                    factory = new TournamentFactory(configuration, islandConfiguration);
                    break;

                case EvolutionStrategy.LinearRanked:
                    factory = new LinearRankedFactory(configuration, islandConfiguration);
                    break;

                case EvolutionStrategy.Truncation:
                    factory = new TruncationFactory(configuration, islandConfiguration);
                    break;

                default:
                    throw new MissingMemberException("Undefined factory for selected strategy!");
                }
                this.islands[i++] = new Island(factory, islandConfiguration, this);
            }
            Console.WriteLine("All islands initialized");
            //create connections
            this.connections = new IslandConnections(configuration.connections, this.islands);
            Console.WriteLine("Connections created");
            Console.WriteLine("Supervisor created");
        }
Esempio n. 2
0
        public IslandSupervisor(GlobalConfiguration configuration)
        {
            this.configuration=configuration;
            this.islands = new Island[configuration.configurations.Count];
            int i=0;

            //create islands
            foreach(IslandConfiguration islandConfiguration in configuration.configurations)
            {
                IFactory factory=null;
                switch(islandConfiguration.evolutionStrategy)
                {
                    case EvolutionStrategy.Roulette:
                        factory=new RouletteFactory(configuration,islandConfiguration);
                        break;
                    case EvolutionStrategy.Stochastic:
                        factory = new StochasticFactory(configuration, islandConfiguration);
                        break;
                    case EvolutionStrategy.Tournament:
                        factory = new TournamentFactory(configuration, islandConfiguration);
                        break;
                    case EvolutionStrategy.LinearRanked:
                        factory = new LinearRankedFactory(configuration, islandConfiguration);
                        break;
                    case EvolutionStrategy.Truncation:
                        factory = new TruncationFactory(configuration, islandConfiguration);
                        break;
                    default:
                        throw new MissingMemberException("Undefined factory for selected strategy!");
                }
                this.islands[i++]=new Island(factory,islandConfiguration,this);
            }
            Console.WriteLine("All islands initialized");
            //create connections
            this.connections = new IslandConnections(configuration.connections, this.islands);
            Console.WriteLine("Connections created");
            Console.WriteLine("Supervisor created");
        }