Ejemplo n.º 1
0
        private static void TestRandomInstanceGenerator()
        {
            var generator = new RandomInstanceProvider();
            var instance  = generator.GetInstance(5);

            Console.WriteLine(instance.Formula);
        }
Ejemplo n.º 2
0
        private static void RunForParameters(RandomParameters randomParameters, string message, IList <ISolver> solvers)
        {
            Console.WriteLine(new string('=', 64));
            Console.WriteLine(message);

            var instanceProvider = new RandomInstanceProvider(randomParameters);
            var instances        = instanceProvider.GetInstances();

            Console.WriteLine(new string('=', 64));

            RunForAllRunners(instances, solvers);
            Console.WriteLine();
            Console.WriteLine();
        }
Ejemplo n.º 3
0
        private static void Test1()
        {
            var generator = new RandomInstanceProvider();
            var instance  = generator.GetInstance(25);

            Console.WriteLine(instance.Formula);

            var brutteForceSolver        = new BrutteForceSolver();
            var simulatedAnnealingSolver = new SimulatedAnnealingSolver();

            var solution1 = brutteForceSolver.Solve(instance);
            var solution2 = simulatedAnnealingSolver.Solve(instance);

            Console.WriteLine(solution1);
            Console.WriteLine(solution2);
        }
Ejemplo n.º 4
0
        private static void AproximationExperiment()
        {
            var instanceProvider = new RandomInstanceProvider();
            var runner           = new AproximationRunner();

            var sizes = new[] { 10, 20, 30, 40, 50, 60 };

            foreach (var size in sizes)
            {
                Console.WriteLine($"Running size {size}.");
                var instance = instanceProvider.GetInstance(size);
                runner.Run(instance, $"{size}.txt");
                Console.WriteLine($"Done.");
                Console.WriteLine();
            }
        }
Ejemplo n.º 5
0
        private static void RunSimulatedAnnealingForConfiguration(double initTemperature, double frozenTemperature, double coolingCoeficient, int equilibriumCoeficient)
        {
            Console.WriteLine($"Init temperature:       {initTemperature}");
            Console.WriteLine($"Frozen temperature:     {frozenTemperature}");
            Console.WriteLine($"Cooling coeficient:     {coolingCoeficient}");
            Console.WriteLine($"Equilibrium coeficient: {equilibriumCoeficient}");
            Console.WriteLine();

            var instanceProvider         = new RandomInstanceProvider();
            var exactSolver              = new BrutteForceSolver();
            var simulatedAnnealingSolver = new SimulatedAnnealingSolver(initTemperature, frozenTemperature, coolingCoeficient, equilibriumCoeficient);

            var runner = new CompareRunner();

            runner.Run(instanceProvider, exactSolver, simulatedAnnealingSolver);
            Console.WriteLine();
        }