private void button3_Click(object sender, EventArgs e) { List<Double[,]> list = new List<double[,]>(); //double[,] a = { { 2, 4, 5 }, { 7, 5, 9 }, { 7, 5, 9 } }; //double[,] b = { { 2, 7, 3, 9 }, { 7, 9, 6, 9 }, { 7, 8, 9, 9 }, { 5, 8, 3, 1 } }; //double[,] c = { { 2, 7, 3, 6 }, { 7, 9, 6, 6 }, { 7, 8, 9, 6 }, { 6, 8, 9, 1 } }; //double[,] d = { { 2, 7, 3, 1 }, { 7, 9, 6, 1 }, { 7, 8, 9, 1 }, { 8, 5, 3, 1 } }; double[,] a = { { 1, 5, 5 }, { 0.2, 1, 0.3333 }, { 0.2, 3, 1 } }; double[,] b = { { 1, 2, 3, 6 }, { 0.5, 1, 4, 0.1667 }, { 0.3333, 0.25, 1, 0.1429 }, { 0.1667, 6, 7, 1 } }; double[,] c = { { 1, 8, 3, 9 }, { 0.125, 1, 4, 0.1667}, { 0.3333, 0.25, 1, 0.1111 }, { 0.111, 6, 9, 1 } }; double[,] d = { { 1, 8, 7, 9 }, { 0.125, 1, 4, 9 }, { 0.1429, 0.25, 1, 0.5 }, { 0.1111, 0.1111, 2, 1 } }; //double[,] a = { { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 } }; //double[,] b = { { 2, 2, 2, 2 }, { 2, 2, 2, 2 }, { 2, 2, 2, 2}, { 2, 2, 2, 2 } }; //double[,] c = { { 3, 3, 3, 3 }, { 3, 3, 3, 3 }, { 3, 3, 3, 3 }, { 3, 3, 3, 3 } }; //double[,] d = { { 4, 4, 4, 4 }, { 4, 4, 4, 4 }, { 4, 4, 4, 4 }, { 4, 4, 4, 4 } }; list.Add(a); list.Add(b); list.Add(c); list.Add(d); CalculoAHP calculoAhp = new CalculoAHP(); double[,] resultado = calculoAhp.calcularRanking(list); foreach (var dd in resultado) { System.Diagnostics.Debug.WriteLine(dd); } }
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."); } }
private void button2_Click(object sender, EventArgs e) { proyecto proy = (proyecto)dataGridView1.CurrentRow.DataBoundItem; listaExperto = dato.expeProyConsistente(proy.id_proyecto); if (listaExperto.Count != 0) { foreach (experto exp in listaExperto) { AgrAlternativas altAgregar = new AgrAlternativas(proy.id_proyecto, exp.id_experto); listaAlternativasPonderar.Add(altAgregar); } matrizCriterioPonderar = new AgrCriterio(proy.id_proyecto); //Acá procedo a agregarle la primer matriz, la de criterios: listaCompleta.Add(calculadorNoPonderadas.AgregarCriterios(matrizCriterioPonderar)); //Acá creo una lista con las alternativas ponderadas en la primer línea y luego la recorro y para cada elemento le asigno //su valor de atributo a la listaCompleta: listaNAlt = calculadorNoPonderadas.AgregarAlternativas(listaAlternativasPonderar); foreach (NAlternativas alt in listaNAlt) { listaCompleta.Add(alt.nAlternativas); } //Luego de todo este despelote, listaCompleta está terminada para pasarse a la clase CalculoAHP. CalculoAHP calculo = new CalculoAHP(); ranking = calculo.calcularRanking(listaCompleta); CalcularAhpAgregado frmAhpAgregado = new CalcularAhpAgregado(ranking, proy.id_proyecto); frmAhpAgregado.ShowDialog(); } else { MessageBox.Show("Ningún experto ha valorado de manera consistente."); } }
private void CalcularAgregacionPonderada() { proyecto proy = _proyectoSeleccionado; Int32 id = proy.id_proyecto; var listaExpertoProyecto = dato.expeProyConsistentePONDERADO(_proyectoSeleccionado.id_proyecto); PreparacionListaCriterioAlternativa preparacionLista = new PreparacionListaCriterioAlternativa(); CalculoAHP calculo; 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."); } }