static void Main(string[] args) { Console.Write("Numarul de particule: "); List <Particula> list = Init(Convert.ToInt32(Console.ReadLine())); Particula gBest = GBest(list); Console.Write("Numarul de iteratii: "); int NumarIteratii = Convert.ToInt32(Console.ReadLine()); PSO(NumarIteratii, list); }
private static Particula GBest(List <Particula> list) { Particula par = new Particula(); par.Fitnes = list[0].Fitnes; par.Viteze.AddRange(list[0].Viteze); par.Pozitie.AddRange(list[0].Pozitie); for (int i = 1; i < list.Count; i++) { if (list[i].Fitnes > par.Fitnes) { par = list[i]; } } return(par); }
private static List <Particula> Init(int NumberPopulation) { List <Particula> list = new List <Particula>(); for (int i = 0; i < NumberPopulation; i++) { Random rnd = new Random(); Particula par = new Particula(); par.Pozitie.Add((float)(5.12f * rnd.NextDouble()) - 5.12f); par.Pozitie.Add((float)(5.12f * rnd.NextDouble()) - 5.12f); par.Viteze.Add((float)(1f * rnd.NextDouble()) - 1f); par.Viteze.Add((float)(1f * rnd.NextDouble()) - 1f); par.Fitnes = FR(par.Pozitie); list.Add(par); } return(list); }