Example #1
0
        static void Main(string[] args)
        {
            Next("Транспортная задача");
            TransportTask.Test();

            Next("Задача о максимальном потоке");
            MaxFlow.FordFulkersonMethod.Test();

            Next("Динамическое программирование");
            DynamicProgramming.Test();

            Next("Теория игр");
            GameTheory.Test();


            Next("Теория игр");
            GameTheory.Test();


            Console.WriteLine("----------------- Нажмите клавишу, чтобы выйти ----------------------------------------");
            Console.ReadKey();
        }
Example #2
0
            public static void Test()
            {
                int[] a, b;
                int[,] cVals;

                //a = new int[] { 140, 180, 160 };
                //b = new int[] { 60, 70, 120, 130, 100 };
                //cVals = new int[,] { { 2, 3, 4, 2, 4 }, { 3, 4, 1, 4, 1 }, { 9, 7, 3, 7, 2 } };

                a     = new int[] { 225, 250, 125, 100 };
                b     = new int[] { 120, 150, 110, 235, 85 };
                cVals = new int[, ] {
                    { 7, 20, 3, 15, 0 },
                    { 3, 14, 10, 20, 0 },
                    { 15, 25, 11, 19, 0 },
                    { 11, 12, 18, 6, 0 }
                };
                //u = 0 -6 -7 -20
                //v = 7 20 16


                Console.WriteLine("Потребности потребителей: {0}", arr_to_string(a));
                Console.WriteLine("Возможности поставщиков: {0}", arr_to_string(b));

                // действуем по алгоритму
                //Северозападный
                var matrix = (new NorthWestMethod()).RunAlgoritm(a, b);

                //var optCr = Transport.GetOptCriteria(matrix, cVals);

                Console.WriteLine("Цена перевозок: {0}", matrix_to_string(cVals));

                Console.WriteLine("\n" + "Начальный опорный план методом северозаподного угла: {0}", matrix_to_string(matrix));

                /*Console.WriteLine("\n" + "Критерий оптимальности:", optCr);*/

                TransportTask.CheckPlan(matrix, cVals, a, b);
            }