public PSOLabel(PSO <PointND> pso_obj, int locX, int locY, int fontSize = 16) : base() { this.pso_obj = pso_obj; ForeColor = Color.Black; BackColor = Color.White; Location = new Point(locX, locY); Font = new Font("Arial", fontSize); }
public static string BestPosString <T>(PSO <T> psoObj) { double[] globBest = psoObj.getBest().Item1; double globBestValue = psoObj.getBest().Item2; return("Global best position: " + Math.Round(globBest[0], 4).ToString() + ", " + Math.Round(globBest[1], 4).ToString() + "\n" + "Global best fitness: " + Math.Round(globBestValue, 4).ToString()); }
static void Main(string[] args) { #region Populare Domeniu var lines = System.IO.File.ReadAllLines("C:\\Users\\Deus\\Documents\\Visual Studio 2015\\Projects\\Lab2Ai\\Lab2Ai\\date\\02_date3.txt"); foreach (var line in lines) { Console.WriteLine(line); } var size = Int32.Parse(lines[0]); var numbers = lines[1].Split(Convert.ToChar(" ")); Config.Domeniu = new List <double>(size); foreach (var number in numbers) { if (number != "") { Config.Domeniu.Add(Double.Parse(number)); } } #endregion // var p1 = new Particula(1); // p1.Create(1); // var p2 = new Particula(1); // p2.Create(1); // var p3 = new Particula(1); // p3.Create(1); // var p4 = new Particula(1); // p4.Create(1); // var p5 = new Particula(1); // p5.Create(1); // // // var listaTest = new List<Particula>(); // listaTest.Add(p1); // listaTest.Add(p2); // listaTest.Add(p3); // listaTest.Add(p4); // listaTest.Add(p5); // listaTest = listaTest.OrderByDescending(particula =>particula.Fitness() ).ToList(); var pso = new PSO(5, 2, 10, -100, 15); pso.Run(); }
public InfoLabel(int locX, int locY, int fontSize, ParamInfo <T> stringMaker, PSO <T> psoObj, string initText = "") : base() { _psoObj = psoObj; _stringMaker = stringMaker; ForeColor = Color.Black; BackColor = Color.White; Location = new Point(locX, locY); Font = new Font("Arial", fontSize); Text = initText; }
public Individual(PSO <T> parentRef, int thisIdx) { this.parentRef = parentRef; bestNbrPos = new double[parentRef.dim]; bestPersPos = new double[parentRef.dim]; bestNbrValue = -Double.MaxValue; bestPersValue = -Double.MaxValue; setNbrIdxes(thisIdx); initPos(); initVel(); evaluate(); }
private void initPSO(Func <double [], List <PointND>, double> objectiveFunc) { /* * List<float[]> psoRefs = new List<float[]>(); * foreach(var refPt in refPoints) * { * psoRefs.Add(refPt.get_internal_repr()); * } */ int dim = 2; Tuple <double, double>[] ranges = new Tuple <double, double> [dim]; ranges[0] = new Tuple <double, double>(-30.0, 30.0); ranges[1] = new Tuple <double, double>(-30.0, 30.0); pso_obj = new PSO <PointND>(2, 30, 0.999, new LinearScale(minCogScale, maxCogScale, initCogScale, -0.0000f), new LinearScale(minSocScale, maxSocScale, initSocScale, 0.0000f), psoScaleSpeed, objectiveFunc, refPoints, 1, ranges); }
static void Main(string[] args) { //真实数据集 string[,] filepath = { { "../Data/RealData/S1_500.txt", "../Data/RealData/S2_500.txt", "../Data/RealData/S3_500.txt", "../Data/RealData/S4_500.txt", "../Data/RealData/S5_500.txt" }, { "../Data/RealData/S1_400.txt", "../Data/RealData/S2_400.txt", "../Data/RealData/S3_400.txt", "../Data/RealData/S4_400.txt", "../Data/RealData/S5_400.txt" }, { "../Data/RealData/S1_300.txt", "../Data/RealData/S2_300.txt", "../Data/RealData/S3_300.txt", "../Data/RealData/S4_300.txt", "../Data/RealData/S5_300.txt" }, { "../Data/RealData/S1_200.txt", "../Data/RealData/S2_200.txt", "../Data/RealData/S3_200.txt", "../Data/RealData/S4_200.txt", "../Data/RealData/S5_200.txt" }, { "../Data/RealData/S1_100.txt", "../Data/RealData/S2_100.txt", "../Data/RealData/S3_100.txt", "../Data/RealData/S4_100.txt", "../Data/RealData/S5_100.txt" } }; //string[,] filepath = { { "../Data/Random/S1_500.txt", "../Data/Random/S2_500.txt", "../Data/Random/S3_500.txt", "../Data/Random/S4_500.txt", "../Data/Random/S5_500.txt" }, { "../Data/Random/S1_400.txt", "../Data/Random/S2_400.txt", "../Data/Random/S3_400.txt", "../Data/Random/S4_400.txt", "../Data/Random/S5_400.txt" }, { "../Data/Random/S1_300.txt", "../Data/Random/S2_300.txt", "../Data/Random/S3_300.txt", "../Data/Random/S4_300.txt", "../Data/Random/S5_300.txt" }, { "../Data/Random/S1_200.txt", "../Data/Random/S2_200.txt", "../Data/Random/S3_200.txt", "../Data/Random/S4_200.txt", "../Data/Random/S5_200.txt" }, { "../Data/Random/S1_100.txt", "../Data/Random/S2_100.txt", "../Data/Random/S3_100.txt", "../Data/Random/S4_100.txt", "../Data/Random/S5_100.txt" } }; //真实数据集关系集 string[,] repath = { { "../data/relation/real/s10/s_500.txt", "../data/relation/real/s10/s_400.txt", "../data/relation/real/s10/s_300.txt", "../data/relation/real/s10/s_200.txt", "../data/relation/real/s10/s_100.txt" }, { "../data/relation/real/s11/s_500.txt", "../data/relation/real/s11/s_400.txt", "../data/relation/real/s11/s_300.txt", "../data/relation/real/s11/s_200.txt", "../data/relation/real/s11/s_100.txt" }, { "../data/relation/real/s12/s_500.txt", "../data/relation/real/s12/s_400.txt", "../data/relation/real/s12/s_300.txt", "../data/relation/real/s12/s_200.txt", "../data/relation/real/s12/s_100.txt" }, { "../data/relation/real/s13/s_500.txt", "../data/relation/real/s13/s_400.txt", "../data/relation/real/s13/s_300.txt", "../data/relation/real/s13/s_200.txt", "../data/relation/real/s13/s_100.txt" }, { "../data/relation/real/s14/s_500.txt", "../data/relation/real/s14/s_400.txt", "../data/relation/real/s14/s_300.txt", "../data/relation/real/s14/s_200.txt", "../data/relation/real/s14/s_100.txt" }, { "../data/relation/real/s15/s_500.txt", "../data/relation/real/s15/s_400.txt", "../data/relation/real/s15/s_300.txt", "../data/relation/real/s15/s_200.txt", "../data/relation/real/s15/s_100.txt" }, { "../data/relation/real/s16/s_500.txt", "../data/relation/real/s16/s_400.txt", "../data/relation/real/s16/s_300.txt", "../data/relation/real/s16/s_200.txt", "../data/relation/real/s16/s_100.txt" }, { "../data/relation/real/s17/s_500.txt", "../data/relation/real/s17/s_400.txt", "../data/relation/real/s17/s_300.txt", "../data/relation/real/s17/s_200.txt", "../data/relation/real/s17/s_100.txt" }, { "../data/relation/real/s18/s_500.txt", "../data/relation/real/s18/s_400.txt", "../data/relation/real/s18/s_300.txt", "../data/relation/real/s18/s_200.txt", "../data/relation/real/s18/s_100.txt" }, { "../data/relation/real/s19/s_500.txt", "../data/relation/real/s19/s_400.txt", "../data/relation/real/s19/s_300.txt", "../data/relation/real/s19/s_200.txt", "../data/relation/real/s19/s_100.txt" }, { "../data/relation/real/s20/s_500.txt", "../data/relation/real/s20/s_400.txt", "../data/relation/real/s20/s_300.txt", "../data/relation/real/s20/s_200.txt", "../data/relation/real/s20/s_100.txt" }, { "../data/relation/real/s21/s_500.txt", "../data/relation/real/s21/s_400.txt", "../data/relation/real/s21/s_300.txt", "../data/relation/real/s21/s_200.txt", "../data/relation/real/s21/s_100.txt" }, { "../data/relation/real/s22/s_500.txt", "../data/relation/real/s22/s_400.txt", "../data/relation/real/s22/s_300.txt", "../data/relation/real/s22/s_200.txt", "../data/relation/real/s22/s_100.txt" }, { "../data/relation/real/s23/s_500.txt", "../data/relation/real/s23/s_400.txt", "../data/relation/real/s23/s_300.txt", "../data/relation/real/s23/s_200.txt", "../data/relation/real/s23/s_100.txt" }, { "../data/relation/real/s24/s_500.txt", "../data/relation/real/s24/s_400.txt", "../data/relation/real/s24/s_300.txt", "../data/relation/real/s24/s_200.txt", "../data/relation/real/s24/s_100.txt" }, { "../data/relation/real/s25/s_500.txt", "../data/relation/real/s25/s_400.txt", "../data/relation/real/s25/s_300.txt", "../data/relation/real/s25/s_200.txt", "../data/relation/real/s25/s_100.txt" }, { "../data/relation/real/s26/s_500.txt", "../data/relation/real/s26/s_400.txt", "../data/relation/real/s26/s_300.txt", "../data/relation/real/s26/s_200.txt", "../data/relation/real/s26/s_100.txt" }, { "../data/relation/real/s27/s_500.txt", "../data/relation/real/s27/s_400.txt", "../data/relation/real/s27/s_300.txt", "../data/relation/real/s27/s_200.txt", "../data/relation/real/s27/s_100.txt" }, { "../data/relation/real/s28/s_500.txt", "../data/relation/real/s28/s_400.txt", "../data/relation/real/s28/s_300.txt", "../data/relation/real/s28/s_200.txt", "../data/relation/real/s28/s_100.txt" }, { "../data/relation/real/s29/s_500.txt", "../data/relation/real/s29/s_400.txt", "../data/relation/real/s29/s_300.txt", "../data/relation/real/s29/s_200.txt", "../data/relation/real/s29/s_100.txt" }, { "../data/relation/real/s30/s_500.txt", "../data/relation/real/s30/s_400.txt", "../data/relation/real/s30/s_300.txt", "../data/relation/real/s30/s_200.txt", "../data/relation/real/s30/s_100.txt" }, { "../data/relation/real/s31/s_500.txt", "../data/relation/real/s31/s_400.txt", "../data/relation/real/s31/s_300.txt", "../data/relation/real/s31/s_200.txt", "../data/relation/real/s31/s_100.txt" }, { "../data/relation/real/s32/s_500.txt", "../data/relation/real/s32/s_400.txt", "../data/relation/real/s32/s_300.txt", "../data/relation/real/s32/s_200.txt", "../data/relation/real/s32/s_100.txt" }, { "../data/relation/real/s33/s_500.txt", "../data/relation/real/s33/s_400.txt", "../data/relation/real/s33/s_300.txt", "../data/relation/real/s33/s_200.txt", "../data/relation/real/s33/s_100.txt" }, { "../data/relation/real/s34/s_500.txt", "../data/relation/real/s34/s_400.txt", "../data/relation/real/s34/s_300.txt", "../data/relation/real/s34/s_200.txt", "../data/relation/real/s34/s_100.txt" }, { "../data/relation/real/s35/s_500.txt", "../data/relation/real/s35/s_400.txt", "../data/relation/real/s35/s_300.txt", "../data/relation/real/s35/s_200.txt", "../data/relation/real/s35/s_100.txt" }, { "../data/relation/real/s36/s_500.txt", "../data/relation/real/s36/s_400.txt", "../data/relation/real/s36/s_300.txt", "../data/relation/real/s36/s_200.txt", "../data/relation/real/s36/s_100.txt" }, { "../data/relation/real/s37/s_500.txt", "../data/relation/real/s37/s_400.txt", "../data/relation/real/s37/s_300.txt", "../data/relation/real/s37/s_200.txt", "../data/relation/real/s37/s_100.txt" }, { "../data/relation/real/s38/s_500.txt", "../data/relation/real/s38/s_400.txt", "../data/relation/real/s38/s_300.txt", "../data/relation/real/s38/s_200.txt", "../data/relation/real/s38/s_100.txt" }, { "../data/relation/real/s39/s_500.txt", "../data/relation/real/s39/s_400.txt", "../data/relation/real/s39/s_300.txt", "../data/relation/real/s39/s_200.txt", "../data/relation/real/s39/s_100.txt" }, { "../data/relation/real/s0/s_500.txt", "../data/relation/real/s0/s_400.txt", "../data/relation/real/s0/s_300.txt", "../data/relation/real/s0/s_200.txt", "../data/relation/real/s0/s_100.txt" } }; ////随机数据集关系集 //string[,] repath = { // { "../Data/Relation/Random/S10/S_500.txt", "../Data/Relation/Random/S10/S_400.txt", "../Data/Relation/Random/S10/S_300.txt", "../Data/Relation/Random/S10/S_200.txt", "../Data/Relation/Random/S10/S_100.txt" }, // { "../Data/Relation/Random/S11/S_500.txt", "../Data/Relation/Random/S11/S_400.txt", "../Data/Relation/Random/S11/S_300.txt", "../Data/Relation/Random/S11/S_200.txt", "../Data/Relation/Random/S11/S_100.txt" }, // { "../Data/Relation/Random/S12/S_500.txt", "../Data/Relation/Random/S12/S_400.txt", "../Data/Relation/Random/S12/S_300.txt", "../Data/Relation/Random/S12/S_200.txt", "../Data/Relation/Random/S12/S_100.txt" }, // { "../Data/Relation/Random/S13/S_500.txt", "../Data/Relation/Random/S13/S_400.txt", "../Data/Relation/Random/S13/S_300.txt", "../Data/Relation/Random/S13/S_200.txt", "../Data/Relation/Random/S13/S_100.txt" }, // { "../Data/Relation/Random/S14/S_500.txt", "../Data/Relation/Random/S14/S_400.txt", "../Data/Relation/Random/S14/S_300.txt", "../Data/Relation/Random/S14/S_200.txt", "../Data/Relation/Random/S14/S_100.txt" }, // { "../Data/Relation/Random/S15/S_500.txt", "../Data/Relation/Random/S15/S_400.txt", "../Data/Relation/Random/S15/S_300.txt", "../Data/Relation/Random/S15/S_200.txt", "../Data/Relation/Random/S15/S_100.txt" }, // { "../Data/Relation/Random/S16/S_500.txt", "../Data/Relation/Random/S16/S_400.txt", "../Data/Relation/Random/S16/S_300.txt", "../Data/Relation/Random/S16/S_200.txt", "../Data/Relation/Random/S16/S_100.txt"}, // { "../Data/Relation/Random/S17/S_500.txt", "../Data/Relation/Random/S17/S_400.txt", "../Data/Relation/Random/S17/S_300.txt", "../Data/Relation/Random/S17/S_200.txt", "../Data/Relation/Random/S17/S_100.txt"}, // { "../Data/Relation/Random/S18/S_500.txt", "../Data/Relation/Random/S18/S_400.txt", "../Data/Relation/Random/S18/S_300.txt", "../Data/Relation/Random/S18/S_200.txt", "../Data/Relation/Random/S18/S_100.txt"}, // { "../Data/Relation/Random/S19/S_500.txt", "../Data/Relation/Random/S19/S_400.txt", "../Data/Relation/Random/S19/S_300.txt", "../Data/Relation/Random/S19/S_200.txt", "../Data/Relation/Random/S19/S_100.txt"}, // { "../Data/Relation/Random/S20/S_500.txt", "../Data/Relation/Random/S20/S_400.txt", "../Data/Relation/Random/S20/S_300.txt", "../Data/Relation/Random/S20/S_200.txt", "../Data/Relation/Random/S20/S_100.txt"}, // { "../Data/Relation/Random/S21/S_500.txt", "../Data/Relation/Random/S21/S_400.txt", "../Data/Relation/Random/S21/S_300.txt", "../Data/Relation/Random/S21/S_200.txt", "../Data/Relation/Random/S21/S_100.txt"}, // { "../Data/Relation/Random/S22/S_500.txt", "../Data/Relation/Random/S22/S_400.txt", "../Data/Relation/Random/S22/S_300.txt", "../Data/Relation/Random/S22/S_200.txt", "../Data/Relation/Random/S22/S_100.txt"}, // { "../Data/Relation/Random/S23/S_500.txt", "../Data/Relation/Random/S23/S_400.txt", "../Data/Relation/Random/S23/S_300.txt", "../Data/Relation/Random/S23/S_200.txt", "../Data/Relation/Random/S23/S_100.txt"}, // { "../Data/Relation/Random/S24/S_500.txt", "../Data/Relation/Random/S24/S_400.txt", "../Data/Relation/Random/S24/S_300.txt", "../Data/Relation/Random/S24/S_200.txt", "../Data/Relation/Random/S24/S_100.txt"}, // { "../Data/Relation/Random/S25/S_500.txt", "../Data/Relation/Random/S25/S_400.txt", "../Data/Relation/Random/S25/S_300.txt", "../Data/Relation/Random/S25/S_200.txt", "../Data/Relation/Random/S25/S_100.txt"}, // { "../Data/Relation/Random/S26/S_500.txt", "../Data/Relation/Random/S26/S_400.txt", "../Data/Relation/Random/S26/S_300.txt", "../Data/Relation/Random/S26/S_200.txt", "../Data/Relation/Random/S26/S_100.txt"}, // { "../Data/Relation/Random/S27/S_500.txt", "../Data/Relation/Random/S27/S_400.txt", "../Data/Relation/Random/S27/S_300.txt", "../Data/Relation/Random/S27/S_200.txt", "../Data/Relation/Random/S27/S_100.txt"}, // { "../Data/Relation/Random/S28/S_500.txt", "../Data/Relation/Random/S28/S_400.txt", "../Data/Relation/Random/S28/S_300.txt", "../Data/Relation/Random/S28/S_200.txt", "../Data/Relation/Random/S28/S_100.txt"}, // { "../Data/Relation/Random/S29/S_500.txt", "../Data/Relation/Random/S29/S_400.txt", "../Data/Relation/Random/S29/S_300.txt", "../Data/Relation/Random/S29/S_200.txt", "../Data/Relation/Random/S29/S_100.txt"}, // { "../Data/Relation/Random/S30/S_500.txt", "../Data/Relation/Random/S30/S_400.txt", "../Data/Relation/Random/S30/S_300.txt", "../Data/Relation/Random/S30/S_200.txt", "../Data/Relation/Random/S30/S_100.txt"}, // { "../Data/Relation/Random/S31/S_500.txt", "../Data/Relation/Random/S31/S_400.txt", "../Data/Relation/Random/S31/S_300.txt", "../Data/Relation/Random/S31/S_200.txt", "../Data/Relation/Random/S31/S_100.txt"}, // { "../Data/Relation/Random/S32/S_500.txt", "../Data/Relation/Random/S32/S_400.txt", "../Data/Relation/Random/S32/S_300.txt", "../Data/Relation/Random/S32/S_200.txt", "../Data/Relation/Random/S32/S_100.txt"}, // { "../Data/Relation/Random/S33/S_500.txt", "../Data/Relation/Random/S33/S_400.txt", "../Data/Relation/Random/S33/S_300.txt", "../Data/Relation/Random/S33/S_200.txt", "../Data/Relation/Random/S33/S_100.txt"}, // { "../Data/Relation/Random/S34/S_500.txt", "../Data/Relation/Random/S34/S_400.txt", "../Data/Relation/Random/S34/S_300.txt", "../Data/Relation/Random/S34/S_200.txt", "../Data/Relation/Random/S34/S_100.txt"}, // { "../Data/Relation/Random/S35/S_500.txt", "../Data/Relation/Random/S35/S_400.txt", "../Data/Relation/Random/S35/S_300.txt", "../Data/Relation/Random/S35/S_200.txt", "../Data/Relation/Random/S35/S_100.txt"}, // { "../Data/Relation/Random/S36/S_500.txt", "../Data/Relation/Random/S36/S_400.txt", "../Data/Relation/Random/S36/S_300.txt", "../Data/Relation/Random/S36/S_200.txt", "../Data/Relation/Random/S36/S_100.txt"}, // { "../Data/Relation/Random/S37/S_500.txt", "../Data/Relation/Random/S37/S_400.txt", "../Data/Relation/Random/S37/S_300.txt", "../Data/Relation/Random/S37/S_200.txt", "../Data/Relation/Random/S37/S_100.txt"}, // { "../Data/Relation/Random/S38/S_500.txt", "../Data/Relation/Random/S38/S_400.txt", "../Data/Relation/Random/S38/S_300.txt", "../Data/Relation/Random/S38/S_200.txt", "../Data/Relation/Random/S38/S_100.txt"}, // { "../Data/Relation/Random/S39/S_500.txt", "../Data/Relation/Random/S39/S_400.txt", "../Data/Relation/Random/S39/S_300.txt", "../Data/Relation/Random/S39/S_200.txt", "../Data/Relation/Random/S39/S_100.txt"}, // { "../Data/Relation/Random/S0/S_500.txt", "../Data/Relation/Random/S0/S_400.txt", "../Data/Relation/Random/S0/S_300.txt", "../Data/Relation/Random/S0/S_200.txt", "../Data/Relation/Random/S0/S_100.txt"} // }; string savefilep = "../Data/result.txt"; FileStream fsr = new FileStream(savefilep, FileMode.Create); StreamWriter wte = new StreamWriter(fsr); for (int k1 = 0; k1 < 5; k1++) { wte.WriteLine("Data Set " + (500 - 100 * k1) + ":"); string[] filep = { filepath[k1, 0], filepath[k1, 1], filepath[k1, 2], filepath[k1, 3], filepath[k1, 4] }; for (int k2 = 30; k2 < 31; k2++) { wte.WriteLine(" Relation set S" + (10 + k2) + ":"); PServer bestserver = new PServer(); List <PServer> scrlist = new List <PServer>(); List <Server>[] wlist = new List <Server> [Constnum.PARTICE_DIM]; List <Relation> re = new List <Relation>(); double fit = 0, totaltime = 0; wlist = GetData.splitedatafromfile(filep, Constnum.PARTICE_DIM); re = GetData.GetRelation(repath[k2, k1]); Timing dobj = new Timing(); int sum = 0; double totalfit = 0; double RMSE = 0; double[] ttfit = new double[101]; for (int i = 0; i < 100; i++) { scrlist = PServer.GetinitPserver(wlist); dobj.startTime(); bestserver = PSO.GetBest(scrlist, wlist, ref fit, re); dobj.StopTime(); totaltime += dobj.Result().Milliseconds; totaltime += dobj.Result().Seconds * 1000; totalfit += fit; ttfit[i] = fit; Console.WriteLine("Best fit={0}", fit); Console.WriteLine("The Best combination is {0},{1},{2},{3},{4}", bestserver.getIndextask(0), bestserver.getIndextask(1), bestserver.getIndextask(2), bestserver.getIndextask(3), bestserver.getIndextask(4)); Console.WriteLine("The time cost is {0}ms,{1}s,**********{2}", dobj.Result().Milliseconds, dobj.Result().Seconds, sum); wte.WriteLine(" Run " + i + " th result is: fit= " + fit + " ,time= " + (dobj.Result().Seconds *1000 + dobj.Result().Milliseconds)); } //求均方根误差 for (int i = 0; i < 100; i++) { RMSE += (ttfit[i] - totalfit / 100) * (ttfit[i] - totalfit / 100); } RMSE = RMSE / 100; RMSE = Math.Sqrt(RMSE); Console.WriteLine("Average is {0},time is {1},RMSE is {2},********{3}", totalfit / 100, totaltime / 100, RMSE, (double)sum / 100); wte.WriteLine(" Average is " + totalfit / 100 + " ,time is " + totaltime / 100 + " ,RMSE is " + RMSE); } } wte.Close(); fsr.Close(); }
public static string SocScaleString <T>(PSO <T> psoObj) { float socScale = psoObj.getSocScale(); return("Social scale: " + (socScale * psoObj.getSpeed()).ToString()); }
public static string CogScaleString <T>(PSO <T> psoObj) { float cogScale = psoObj.getCogScale(); return("Cognitive scale: " + Math.Round(cogScale * psoObj.getSpeed(), 4).ToString()); }
public SocScaleLabel(PSO <PointND> pso_obj, int locX, int locY) : base(pso_obj, locX, locY) { Text = "Social scale"; }
public CogScaleLabel(PSO <PointND> pso_obj, int locX, int locY) : base(pso_obj, locX, locY) { Text = "Cognitive scale"; }
public BestPosLabel(PSO <PointND> pso_obj, int locX, int locY) : base(pso_obj, locX, locY) { Text = "Global best position: 0\nGlobal best fitness: 0"; }
static void Main(string[] args) { System.Threading.Thread.CurrentThread.CurrentUICulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US"); Util.InicializaRandom(100); //MUDAR PARA 100 int numParticulas = 10; int dimensoes = 100 ; int numeroMaximoAvaliacoesFuncao = 100; int numIteracoesPorConfig = 1; double[][] resultados = new double[numIteracoesPorConfig][]; string dataSetPath = @"C:\Users\Edgar Almeida\Desktop\Dados\caxias.txt"; for (int l = 0; l < numIteracoesPorConfig; l++) { resultados[l] = new double[4];// fitness, EPMA, inputN, hiddenNodes } using (TextWriter twResult = new StreamWriter(@"C:\Users\Edgar Almeida\Desktop\Dados\PSOWilcox.txt")) { // Clerc Configuracao config2 = new Configuracao(numeroMaximoAvaliacoesFuncao, 0.9, 2.05, 2.05, ETipoTopologia.Local, false, false, ETipoAtualizacaoVelocidade.Clerc); #region Config2 Console.WriteLine("Config2"); for (int i = 0; i < numIteracoesPorConfig; i++) { using (TextWriter twConfig = new StreamWriter(@"C:\Users\Edgar Almeida\Desktop\Dados\PSOConfig2_" + i + ".txt")) { List<Particula> particulas = CriarParticulasAleatorias(dimensoes, numParticulas); PSO teste = new PSO(particulas, config2, dataSetPath); Particula melhorParticula = teste.Executar(twConfig); resultados[i][0]= melhorParticula.MelhorFitness; resultados[i][1] = melhorParticula.BestEval.ValidationEPMA; resultados[i][2] = melhorParticula.Config.Prov.InputsN; resultados[i][3] = melhorParticula.Config.HidenNodesNumber; twResult.Write(resultados[i][0].ToString(System.Globalization.CultureInfo.CreateSpecificCulture("en-US"))); Console.Write(resultados[i][0].ToString(System.Globalization.CultureInfo.CreateSpecificCulture("en-US"))); twResult.Write(" " + resultados[i][1].ToString(System.Globalization.CultureInfo.CreateSpecificCulture("en-US"))); Console.Write(" " + resultados[i][1].ToString(System.Globalization.CultureInfo.CreateSpecificCulture("en-US"))); twResult.Write(" " + resultados[i][2].ToString(System.Globalization.CultureInfo.CreateSpecificCulture("en-US"))); Console.Write(" " + resultados[i][2].ToString(System.Globalization.CultureInfo.CreateSpecificCulture("en-US"))); twResult.Write(" " + resultados[i][3].ToString(System.Globalization.CultureInfo.CreateSpecificCulture("en-US"))); Console.Write(" " + resultados[i][3].ToString(System.Globalization.CultureInfo.CreateSpecificCulture("en-US"))); twResult.WriteLine(); Console.WriteLine(); /////////////////// Salvando predição /////////////////////////////// double real = 0; double prediction = 0; double Error = 0; StreamWriter File = new System.IO.StreamWriter(@"C:\Users\Edgar Almeida\Desktop\Dados\" + "predicao"+ i +".csv", true); for (int m = 0; m < melhorParticula.Config.Prov.ValidationSetLines; m++) { for (int j = 0; j < melhorParticula.Config.Prov.OutputsN; j++) { real = melhorParticula.Config.Prov.DeNormalizeData(melhorParticula.Config.Prov.ValidationSet[m].Output[j], PSO.outputA, PSO.outputB, j + (int)melhorParticula.Config.Prov.InputsN); prediction = melhorParticula.Config.Prov.DeNormalizeData(melhorParticula.Eval.ELM.GetValidationT[m][j], PSO.outputA, PSO.outputB, j + (int)melhorParticula.Config.Prov.InputsN); Error = real - prediction; File.WriteLine(real + ";" + prediction + ";" + Error); } } File.Close(); } } #endregion for (int l = 0; l < resultados.Length; l++) { twResult.Write(resultados[l][0].ToString(System.Globalization.CultureInfo.CreateSpecificCulture("en-US"))); Console.Write(resultados[l][0].ToString(System.Globalization.CultureInfo.CreateSpecificCulture("en-US"))); twResult.Write(" " +resultados[l][1].ToString(System.Globalization.CultureInfo.CreateSpecificCulture("en-US"))); Console.Write(" " + resultados[l][1].ToString(System.Globalization.CultureInfo.CreateSpecificCulture("en-US"))); twResult.Write(" " + resultados[l][2].ToString(System.Globalization.CultureInfo.CreateSpecificCulture("en-US"))); Console.Write(" " + resultados[l][2].ToString(System.Globalization.CultureInfo.CreateSpecificCulture("en-US"))); twResult.Write(" " + resultados[l][3].ToString(System.Globalization.CultureInfo.CreateSpecificCulture("en-US"))); Console.Write(" " + resultados[l][3].ToString(System.Globalization.CultureInfo.CreateSpecificCulture("en-US"))); twResult.WriteLine(); Console.WriteLine(); } } Console.WriteLine("FIM"); Console.ReadLine(); }