Ejemplo n.º 1
0
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            Help.cidades = distancias;
            calculo      = new Calculo()
            {
                QuantidadeResultados = int.Parse(txtTopRotas.Text)
            };
            if (rbForcaBruta.Checked)
            {
                calculo.TipoCalculo = Calculo.ETipoCalculo.ForcaBruta;
            }
            if (rbVizinho.Checked)
            {
                calculo.TipoCalculo = Calculo.ETipoCalculo.Vizinho;
            }

            /*if (rbForcaBrutaNovo.Checked)
             * {
             *  calculo.TipoCalculo = Calculo.ETipoCalculo.ForcaBrutaNovo;
             *  calculo.Inicial = 0;
             *  calculo.Final = 0;
             * }*/

            if (rbGenetico.Checked)
            {
                calculo.TipoCalculo           = Calculo.ETipoCalculo.Genetico;
                calculo.PopulacaoInicial      = int.Parse(txtPopulacaoInicial.Text);
                calculo.QuantidadeReproducoes = int.Parse(txtQtdReproducao.Text);
            }

            calculo.Calcular();

            var json = JsonConvert.SerializeObject(
                new
            {
                TipoCalculo = (int)calculo.TipoCalculo,
                Registros   = txtTopRotas.Text,
                Populacao   = txtPopulacaoInicial.Text,
                Reproducao  = txtQtdReproducao.Text
            }
                );

            File.WriteAllText("config.json", json);
        }
Ejemplo n.º 2
0
        public void CarregaCalculo(Calculo calculo)
        {
            this.calculo      = calculo;
            lbCalculo.Text    = calculo.Codigo.ToString();
            lbTempo.Text      = calculo.Milisegundos.ToString();
            lbTipo.Text       = calculo.TipoCalculo.Descricao();
            lbMemoria.Text    = Help.Memoria(calculo.CustoMemoria);
            lbCidade.Text     = calculo.QuantidadeCidades.ToString();
            lbQtdCalculo.Text = calculo.PercursosCalculados.ToString();

            btnGrafico.Visible = calculo.TipoCalculo == Calculo.ETipoCalculo.Genetico;

            var row = 1;

            foreach (var item in calculo.MelhoresResultados)
            {
                dgvResultado.Rows.Add(row, item.MontaRotasArr(), item.distancia);
                row++;
            }
            AjustaTela();
        }