Example #1
0
        public PSO(List<Particula> particulas, Configuracao config, string dataSetPath)
        {
            _Particulas = particulas;
            _NumeroMaximoAvaliacoesFuncao = config.NumeroMaximoAvaliacoesFuncao;
            _W = config.W;
            _C1 = config.C1;
            _C2 = config.C2;
            _TipoTopologia = config.TipoTopologia;
            _VariarC1C2 = config.VariarC1C2;
            _TaxaVariacaoC1C2 = config.TaxaVariacaoC1C2;
            _LimiteVariacaoC1C2 = config.LimiteVariacaoC1C2;
            _VariarW = config.VariarW;
            _TaxaVariacaoW = config.TaxaVariacaW;
            _LimiteVariacaoW = config.LimiteVariacaoW;
            _TipoVel = config.TipoAtualizacaoVelocidade;
            _DataSetPath = dataSetPath;

            if(_TipoVel == ETipoAtualizacaoVelocidade.Clerc)
            {
                double fi = _C1 + _C2;
                _W = 2.0 / Math.Abs(2 - fi - Math.Sqrt(fi * fi - 4 * fi));
             }

            _MontarTopologiaLocal();
        }
Example #2
0
 public Configuracao(int numMaxAval, double w, double c1, double c2, ETipoTopologia tipoTop, bool variarC1C2, bool variarW, ETipoAtualizacaoVelocidade tipoVel)
 {
     NumeroMaximoAvaliacoesFuncao = numMaxAval;
     W = w;
     C1 = c1;
     C2 = c2;
     TipoTopologia = tipoTop;
     VariarC1C2 = variarC1C2;
     VariarW = variarW;
     TipoAtualizacaoVelocidade = tipoVel;
 }