private void button13_Click_2(object sender, EventArgs e) { int c; double[] ranks; int dG_With = 0; ahp_sol_no_clustering = new MyAHPModel(CriteriaArr.GetLength(0), mybestchoice.Cases.Count); ahp_sol_no_clustering.AddCriteria(CriteriaArr); ahp_sol_no_clustering.AddCriterionRatedChoices(ChoicesArr_Non); if (ahp_sol_no_clustering.CalculatedCriteria()) { ranks = ahp_sol_no_clustering.CalculatedChoices(out c); if (c != -1) { MessageBox.Show("عدم تناسق في تفضيلات البدائل المدخلة للمعيار رقم" + c.ToString()); return; } } else { MessageBox.Show("عدم تناسق في تفضيلات المعايير المدخلة"); return; } dg_results_no_clustering.Columns.Add("SolutionID", "Solution ID"); dg_results_no_clustering.Columns.Add("SolutionWeight", "Solution Weight"); dg_results_no_clustering.Columns.Add("SolutionSim", "Solution Similarity"); for (int i = 0; i < ranks.Length; i++) { dg_results_no_clustering.Rows.Add(); dg_results_no_clustering.Rows[dG_With].Cells[0].Value = mybestchoice.Cases[i].GetFeature("id").GetFeatureValue().ToString(); dg_results_no_clustering.Rows[dG_With].Cells[1].Value = Math.Round(ranks[i] * 100, 2); EuclideanSimilarity s = new EuclideanSimilarity(); List <Case> sols = Db.get_cases_condition(mybestchoice.Tablename_Standardization, mybestchoice.CaseName); dg_results_no_clustering.Rows[dG_With].Cells[2].Value = Math.Round(s.Similarity(sols[i], mybestchoice.StandrizeProblem) * 100, 2); dG_With++; } dg_results_no_clustering.Sort(dg_results_no_clustering.Columns["SolutionWeight"], ListSortDirection.Descending); }
private void button11_Click_1(object sender, EventArgs e) { // display int dG_NonR = 0; dG_Non.Columns.Clear(); //dG_Non.Columns.Add("Porblem No ", "Porblem No "); dG_Non.Columns.Add("SolNum", "Sol Num "); dG_Non.Columns.Add("Weight ", "Weight "); dG_Non.Columns.Add("Sim ", "Sim "); List <Case> solutions = statistics.FindAlternative_WithClustering(statistics.exp_random_cases[problem_num]); // call method listBox1.Items.Add("Finding Alternatices by specifying best cluster"); double[] ranks; int cri = 0; Dictionary <int, double[, ]> choices; double[,] criteriaarr; MyAHPModel myahp = new MyAHPModel(statistics.count_citeria, solutions.Count); criteriaarr = GenerateComparison.CriteriaComparisonMatrix; myahp.AddCriteria(criteriaarr); if (myahp.CalculatedCriteria()) { choices = GenerateComparison.Create_All_Criteria_Choice_Comparison_Array(solutions); myahp.AddCriterionRatedChoices(choices); ranks = myahp.CalculatedChoices(out cri); for (int i = 0; i < ranks.Length; i++) { dG_Non.Rows.Add(); dG_Non.Rows[dG_NonR].Cells[0].Value = solutions[i].GetFeature("id").GetFeatureValue().ToString(); dG_Non.Rows[dG_NonR].Cells[1].Value = Math.Round(ranks[i] * 100, 2); EuclideanSimilarity s = new EuclideanSimilarity(); dG_Non.Rows[dG_NonR].Cells[2].Value = Math.Round(s.Similarity(solutions[i], statistics.exp_random_cases[problem_num]) * 100, 2); dG_NonR++; } } dG_Non.Sort(dG_Non.Columns[1], ListSortDirection.Descending); // display Criteria if (dG_Prob.Columns.Count == 0) { dG_Prob.Columns.Add("Criteria", " Criteria "); dG_Prob.Columns.Add("AHP", "AHP"); dG_Prob.Columns.Add("FuzzyAHP", "Fuzzy AHP"); for (int i = 1; i < solutions[0].GetFeatures().Count - 1; i++) { dG_Prob.Rows.Add(); Feature f = (Feature)solutions[0].GetFeatures()[i]; dG_Prob.Rows[i - 1].Cells[0].Value = f.GetFeatureName().ToString(); dG_Prob.Rows[i - 1].Cells[1].Value = Math.Round(myahp.CriteriaWeights[i - 1] * 100, 2); } } else { for (int i = 1; i < solutions[0].GetFeatures().Count - 1; i++) { Feature f = (Feature)solutions[0].GetFeatures()[i]; dG_Prob.Rows[i - 1].Cells[1].Value = Math.Round(myahp.CriteriaWeights[i - 1] * 100, 2); } } dG_Prob.AutoResizeColumns(); dG_Prob.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; dG_Non.AutoResizeColumns(); dG_Non.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; }