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(); }
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; }