private void button1_Click(object sender, EventArgs e) { for (int i = 0; i < 500; i++) { pop = ag.executaAG(pop); txtPop.Text = pop.printPop(); lbMedia.Text = pop.getMediaPopulacao().ToString(); } }
private void btnInteirar_Click(object sender, EventArgs e) { pop = ag.executaAG(pop); textPop.Text = pop.printPop(); lblMedia.Text = pop.getMediaPopulacao().ToString(); }
private void btnIniciarAG_Click(object sender, EventArgs e) { //Variaveis enriquecidas com os dados do txt double taxaMutacao = double.Parse(txtTaxaMutacao.Text); double taxaCrossover = double.Parse(txtTaxaMutacao.Text); int iteracoes = int.Parse(txtIteracoes.Text); //Criar Algoritmo Genetico Class.AlgoritmoGenetico ag = new Class.AlgoritmoGenetico(taxaCrossover, taxaMutacao); for (int i = 0; i < iteracoes; i++) { pop = ag.executaAG(pop); mediaPopulacao.Add(i, pop.getMediaPopulacao()); zedMediaPopulacao.GraphPane.CurveList.Clear(); //Limpar zed toda vez que o for é executado zedMediaPopulacao.GraphPane.GraphObjList.Clear(); zedPopulacao.GraphPane.CurveList.Clear(); zedPopulacao.GraphPane.GraphObjList.Clear(); populacaoGrafico = new PointPairList(); for (int j = 0; j < Constants.sizePopulacao; j++) { populacaoGrafico.Add(pop.getPopulacao()[j].getInt(), pop.getPopulacao()[j].getFitness()); } //Incluindo no gráfico LineItem media = paneMedia.AddCurve("Média", mediaPopulacao, Color.Red, SymbolType.None); LineItem func = panePop.AddCurve("Função", curvaGrafico, Color.Red, SymbolType.None); LineItem indv = panePop.AddStick("Individuo", populacaoGrafico, Color.Red); //Atualizar Valores zedPopulacao.AxisChange(); zedPopulacao.Invalidate(); zedPopulacao.Refresh(); zedMediaPopulacao.AxisChange(); zedMediaPopulacao.Invalidate(); zedMediaPopulacao.Refresh(); } //Ordenar novamente a população pop.OrdenarPopulacao(); string pioresInds = string.Empty; for (int i = 0; i < 10; i++) { pioresInds += pop.getPopulacao()[i].PrintIndividuo() + "\n"; } string melhoresInds = string.Empty; for (int i = Constants.sizePopulacao - 1; i > (Constants.sizePopulacao - 1) - 10; i--) { melhoresInds += pop.getPopulacao()[i].PrintIndividuo() + "\n"; } //Imprimindo no Form txtMelhoresInd.Text = melhoresInds; txtPioresInd.Text = pioresInds; }
private void btnIniciarAG_Click(object sender, EventArgs e) { double taxaMutacao = double.Parse(txtTaxaMutacao.Text); double taxaCrossover = double.Parse(txtTaxaCrossover.Text); int iteracoes = int.Parse(txtIteracoes.Text); Console.Write(taxaMutacao.ToString() + "\n"); Console.Write(taxaCrossover.ToString() + "\n"); Console.Write(iteracoes.ToString() + "\n"); Class.AlgoritmoGenetico ag = new Class.AlgoritmoGenetico(taxaCrossover, taxaMutacao); for (int i = 0; i < iteracoes; i++) { pop = ag.executaAG(pop); mediaPopulacao.Add(i, pop.getMediaPopulacao()); zedPopulacao.GraphPane.CurveList.Clear(); zedPopulacao.GraphPane.GraphObjList.Clear(); zedMediaPopulacao.GraphPane.CurveList.Clear(); zedMediaPopulacao.GraphPane.GraphObjList.Clear(); populacaoGrafico = new PointPairList(); for (int j = 0; j < Constants.sizePopulacao; j++) { populacaoGrafico.Add(pop.getPopulacao()[j].getInt(), pop.getPopulacao()[j].getFitness()); } LineItem media = paneMedia.AddCurve("Média", mediaPopulacao, Color.Green, SymbolType.None); LineItem func = panePop.AddCurve("Função", curvaGrafico, Color.Red, SymbolType.None); LineItem indv = panePop.AddStick("Indivíduo", populacaoGrafico, Color.Blue); zedPopulacao.AxisChange(); zedPopulacao.Invalidate(); zedPopulacao.Refresh(); zedMediaPopulacao.AxisChange(); zedMediaPopulacao.Invalidate(); zedMediaPopulacao.Refresh(); } pop.OrdenarPopulacao(); string pioresInds = string.Empty; for (int i = 0; i < 10; i++) { pioresInds += pop.getPopulacao()[i].PrintIndividuo() + "\n"; } string melhoresInds = string.Empty; for (int i = Constants.sizePopulacao - 1; i > (Constants.sizePopulacao - 1) - 10; i--) { melhoresInds += pop.getPopulacao()[i].PrintIndividuo() + "\n"; } txtMelhoresInd.Text = melhoresInds; txtPioresInd.Text = pioresInds; }