public void GerarPopulacao() { AlgoritmoGen algoritmoGen = new AlgoritmoGen(0.8, 0.01); Populacao populacao = new Populacao(); Populacao novaPopulacao = algoritmoGen.ExecutaAG(populacao); Assert.NotEqual(populacao, novaPopulacao); Assert.NotEqual(populacao.ToString(), novaPopulacao.ToString()); }
private void btnExecucao_Click(object sender, System.EventArgs e) { btnExecucao.Enabled = btnPopulacao.Enabled = false; algoritmoGen = new AlgoritmoGen((double)txtCrossover.Value, (double)txtMutacao.Value); for (int i = 0; i < txtIteracao.Value; i++) { populacao = algoritmoGen.ExecutaAG(populacao); mediaPopulacao.Add(i, populacao.Media); grafPopulacao.GraphPane.CurveList.Clear(); grafPopulacao.GraphPane.GraphObjList.Clear(); grafMediaPopulacao.GraphPane.CurveList.Clear(); grafMediaPopulacao.GraphPane.GraphObjList.Clear(); populacaoGrafico = new PointPairList(); for (int j = 0; j < Constantes.TamanhoPopulacao; j++) { populacaoGrafico.Add(populacao[j].Valor, populacao[j].Aptidao); } LineItem media = paneMediaPopulacao.AddCurve("Média", mediaPopulacao, Color.Red, SymbolType.None); LineItem func = panePopulacao.AddCurve("Função", curvaGrafico, Color.Red, SymbolType.None); LineItem individuos = panePopulacao.AddStick("Indivíduos", populacaoGrafico, Color.Blue); AtualizarGraficoPopulacao(); AtualizarGraficoMediaPopulacao(); } populacao.OrdenarPopulacao(); StringBuilder pioresIndividuos = new StringBuilder(); for (int i = 0; i < 10; i++) { pioresIndividuos.AppendLine(populacao[i].ToString()); } StringBuilder melhoresIndividuos = new StringBuilder(); for (int i = Constantes.TamanhoPopulacao - 1; i > (Constantes.TamanhoPopulacao - 1) - 10; i--) { melhoresIndividuos.AppendLine(populacao[i].ToString()); } txtMelhoresIndividuos.Text = melhoresIndividuos.ToString(); txtPioresIndividuos.Text = pioresIndividuos.ToString(); btnExecucao.Enabled = btnPopulacao.Enabled = true; }