예제 #1
0
 public static void WriteVIKORResults(VIKOR vikor)
 {
     Console.WriteLine();
     Console.ForegroundColor = ConsoleColor.Green;
     Console.WriteLine("Поетапний розв'язок задачi методом VIKOR");
     Console.ForegroundColor = ConsoleColor.White;
     Console.WriteLine();
     Console.WriteLine("Нормалiзованi оцiнки альтернатив:");
     PrintEvaluations(vikor.AlternativesCount, vikor.CriteriasCount, () => vikor.NormalizedEvaluations);
     Console.WriteLine();
     Console.WriteLine("Зваженi нормалiзованi оцiнки альтернатив:");
     PrintEvaluations(vikor.AlternativesCount, vikor.CriteriasCount, () => vikor.WeightedNormalizedEvaluations);
     Console.WriteLine();
     Console.WriteLine($"S: ");
     Console.WriteLine($"{string.Join(Environment.NewLine, vikor.S.OrderByDescending(pair => pair.sValue).Select(elem => string.Format("(альтернатива: {0}, наближенiсть: {1:0.000})", elem.alternative, elem.sValue)))}");
     Console.WriteLine();
     Console.WriteLine($"R: ");
     Console.WriteLine($"{string.Join(Environment.NewLine, vikor.R.OrderByDescending(pair => pair.rValue).Select(elem => string.Format("(альтернатива: {0}, наближенiсть: {1:0.000})", elem.alternative, elem.rValue)))}");
     Console.WriteLine();
     Console.WriteLine($"Q: ");
     Console.WriteLine($"{string.Join(Environment.NewLine, vikor.Q.OrderByDescending(pair => pair.qValue).Select(elem => string.Format("(альтернатива: {0}, наближенiсть: {1:0.000})", elem.alternative, elem.qValue)))}");
     Console.WriteLine();
     Console.WriteLine($"C1: {string.Join(' ', vikor.C1)}");
     Console.WriteLine();
     Console.WriteLine($"C2: {string.Join(' ', vikor.C2)}");
     Console.WriteLine();
     Console.WriteLine($"Компромiсний розв'язок: {string.Join(' ', vikor.FinalResult)}");
     Console.WriteLine();
 }
예제 #2
0
        static void Main(string[] args)
        {
            //TOPSIS topsis = ReadTOPSIS();
            //WriteTOPSISResults(topsis);

            VIKOR vikor = ReadVIKOR();

            //WriteVIKORResults(vikor);
            Task22(vikor);
        }
예제 #3
0
 public static void Task22(VIKOR vikor)
 {
     for (double v = 0; v <= 1; v = Math.Round(v + 0.1, 1))
     {
         vikor = new VIKOR(vikor.Evaluations, vCoef: v, vikor.Weights);
         Console.ForegroundColor = ConsoleColor.Green;
         Console.WriteLine($"Для значення v = {string.Format("{0:0.0}", v)}");
         Console.ForegroundColor = ConsoleColor.White;
         Console.WriteLine();
         Console.WriteLine($"S: ");
         Console.WriteLine($"{string.Join(Environment.NewLine, vikor.S.OrderByDescending(pair => pair.sValue).Select(elem => string.Format("(альтернатива: {0}, наближенiсть: {1:0.000})", elem.alternative, elem.sValue)))}");
         Console.WriteLine($"R: ");
         Console.WriteLine($"{string.Join(Environment.NewLine, vikor.R.OrderByDescending(pair => pair.rValue).Select(elem => string.Format("(альтернатива: {0}, наближенiсть: {1:0.000})", elem.alternative, elem.rValue)))}");
         Console.WriteLine($"Q: ");
         Console.WriteLine($"{string.Join(Environment.NewLine, vikor.Q.OrderByDescending(pair => pair.qValue).Select(elem => string.Format("(альтернатива: {0}, наближенiсть: {1:0.000})", elem.alternative, elem.qValue)))}");
         Console.WriteLine();
         Console.WriteLine($"C1: {string.Join(' ', vikor.C1)}");
         Console.WriteLine($"C2: {string.Join(' ', vikor.C2)}");
         Console.WriteLine($"Компромiсний розв'язок: {string.Join(' ', vikor.FinalResult)}");
         Console.WriteLine();
     }
 }