예제 #1
0
        //TODO Este metodo llama de la forma vieja.
        //Hay que hacerlo de nuevo en la fachada
        private void EjecutarAgregacionPonderada()
        {
            var listaExpertoProyecto = dato.expeProyConsistentePONDERADO(_proyecto.id_proyecto);
            PreparacionListaCriterioAlternativa preparacionLista = new PreparacionListaCriterioAlternativa();

            if (listaExpertoProyecto.Count != 0)
            {

                List<KRankPonderado> listaKRankPonderado = new List<KRankPonderado>();
                foreach (experto_proyecto exp in listaExpertoProyecto)
                {
                    List<double[,]> listaPreparada = preparacionLista.Preparar(_proyecto.id_proyecto, exp.id_experto);
                    KRankPonderado kRankPonderado = new KRankPonderado();
                    calculo = new CalculoAHP();
                    kRankPonderado.KRanking = calculo.calcularRanking(listaPreparada);
                    kRankPonderado.Peso = Convert.ToInt32(exp.ponderacion);
                    listaKRankPonderado.Add(kRankPonderado);
                }
                AgregacionPonderada agregacionPonderada = new AgregacionPonderada();

                var rdo = agregacionPonderada.agregar(listaKRankPonderado);

                CalcularAhpAgregado frmAhpAgregado = new CalcularAhpAgregado(rdo, _proyecto.id_proyecto);
                frmAhpAgregado.ShowDialog();
            }
            else
            {
                MessageBox.Show("Ningún experto ha valorado de manera consistente.");
            }
        }
예제 #2
0
        private void button3_Click(object sender, EventArgs e)
        {
            proy = (proyecto)dataGridView1.CurrentRow.DataBoundItem;
            id = proy.id_proyecto;
            listaExpertoProyecto = dato.expePorProyConsistente(proy.id_proyecto);
            PreparacionListaCriterioAlternativa preparacionLista = new PreparacionListaCriterioAlternativa();

            if (listaExpertoProyecto.Count != 0)
            {

                List<KRankPonderado> listaKRankPonderado = new List<KRankPonderado>();
                foreach (experto_proyecto exp in listaExpertoProyecto)
                {
                    List<double[,]> listaPreparada = preparacionLista.Preparar(proy.id_proyecto, exp.id_experto);
                    KRankPonderado kRankPonderado = new KRankPonderado();
                  calculo = new CalculoAHP();
            kRankPonderado.KRanking = calculo.calcularRanking(listaPreparada);
                    kRankPonderado.Peso = Convert.ToInt32(exp.ponderacion);
                    listaKRankPonderado.Add(kRankPonderado);
                }
                AgregacionPonderada agregacionPonderada = new AgregacionPonderada();

                var rdo = agregacionPonderada.agregar(listaKRankPonderado);

               CalcularAhpAgregado frmAhpAgregado = new CalcularAhpAgregado(rdo,proy.id_proyecto);
               frmAhpAgregado.ShowDialog();
            }
            else
            {
                MessageBox.Show("Ningún experto ha valorado de manera consistente.");
            }
        }
예제 #3
0
파일: Form1.cs 프로젝트: mrno/AHP
        private void button6_Click(object sender, EventArgs e)
        {
            List<KRankPonderado> list = new List<KRankPonderado>();

            KRankPonderado kRankPonderado1 = new KRankPonderado();
            double[,] a = { { 0.45 }, { 0.15 }, { 0.3 }, { 0.1 } };
            kRankPonderado1.KRanking = a;
            kRankPonderado1.Peso = 5;
            list.Add(kRankPonderado1);

            KRankPonderado kRankPonderado2 = new KRankPonderado();
            double[,] b = { { 0.25 }, { 0.25 }, { 0.25 }, { 0.25 } };
            kRankPonderado2.KRanking = b;
            kRankPonderado2.Peso = 3;
            list.Add(kRankPonderado2);

            KRankPonderado kRankPonderado3 = new KRankPonderado();
            double[,] c = { { 0.1 }, { 0.45 }, { 0.15 }, { 0.3 } };
            kRankPonderado3.KRanking = c;
            kRankPonderado3.Peso = 9;
            list.Add(kRankPonderado3);

               AgregacionPonderada agregacionPonderada = new AgregacionPonderada();
            double[,] resultado = agregacionPonderada.agregar(list);
            foreach (var dd in resultado)
            {
                System.Diagnostics.Debug.WriteLine(dd);
            }
        }