Пример #1
0
        private void button_AprimorarPopulacao_Click(object sender, EventArgs e)
        {
            ListObjMochila objMochila = new ListObjMochila();

            objMochila.CommitList();

            listBox_Mochilas.Items.Clear();

            parameters.GetMochilas().ForEach(delegate(ObjMochila mochila) {
                listBox_Mochilas.Items.Add(mochila.Nome + " = " + mochila.getPeso() + "Kg - R$ " + mochila.getValor());
            });
        }
Пример #2
0
        private void button_Processar_Click(object sender, EventArgs e)
        {
            Processo      processo   = new Processo();
            ObjParameters parameters = new ObjParameters();

            listBox_Mochilas_best.Items.Clear();

            parameters.GetMochilas().ForEach(delegate(ObjMochila mochila) {
                listBox_Mochilas_best.Items.Add(mochila.Nome + " = " + mochila.getPeso() + "Kg - R$ " + mochila.getValor() + " |        " + mochila.getPercentOtimo() + "%");
            });

            mutacoesLabel.Text = "Mutações: " + parameters.QtdMutacoes;
        }
Пример #3
0
        private void listBox_Mochilas_SelectedIndexChanged(object sender, EventArgs e)
        {
            int indexMochila = listBox_Mochilas.SelectedIndex;

            ObjParameters parameters = new ObjParameters();

            ObjMochila objMochila = parameters.GetMochilas()[indexMochila];

            listBox_Itens_Mochila.Items.Clear();
            for (int i = 0; i < objMochila.ListItens.Count; i++)
            {
                if (objMochila.ListItens[i] == 1)
                {
                    ObjItem item = parameters.GetItens()[i];
                    listBox_Itens_Mochila.Items.Add(item.Nome + " = " + item.Peso + "Kg - R$ " + item.Valor);
                }
            }
        }
Пример #4
0
        public Processo()
        {
            this.mochilas = objParameters.GetMochilas();
            OrdenarByValor();
            for (int i = 0; i < objParameters.NumeroGeracoes; i++)
            {
                List <ObjMochila> novasMochilas = Cruzamento();
                mochilas.AddRange(novasMochilas);
                OrdenarByValor();
                EliminarPiores(novasMochilas.Count);

                //verifica se está próximo do ótimo
                if (mochilas[0].getPercentOtimo() >= objParameters.PercentOtimo)
                {
                    break;
                }
            }

            Console.WriteLine();
            OrdenarByValor();
            objParameters.CommitListMochila(mochilas);
        }
Пример #5
0
        private void listBox_Mochilas_best_SelectedIndexChanged(object sender, EventArgs e)
        {
            ObjParameters parameters = new ObjParameters();
            string        conteudo   = listBox_Mochilas_best.SelectedItem.ToString();
            int           ini        = conteudo.IndexOf(" =");
            int           fin        = conteudo.Length - ini;

            string aux = conteudo.Substring(ini, fin);

            conteudo = conteudo.Replace(aux, "");
            ObjMochila objMochila = parameters.GetMochilas().Single(s => s.Nome == conteudo);

            listBox_bestItens.Items.Clear();
            for (int i = 0; i < objMochila.ListItens.Count; i++)
            {
                if (objMochila.ListItens[i] == 1)
                {
                    ObjItem item = parameters.GetItens()[i];
                    listBox_bestItens.Items.Add(item.Nome + " = " + item.Peso + "Kg - R$ " + item.Valor);
                }
            }
        }