예제 #1
0
        static void DoTests()
        {
            var ga   = false;
            var eax  = true;
            var runs = 4;

            var problems = new List <TSPLIBProblem>();

            // real-life test problems.
            problems.Add(Program.CreateProblem(@"\Problems\DM\{0}", "031_K1040-06.atsp", 341));
            problems.Add(Program.CreateProblem(@"\Problems\DM\{0}", "036_K1210-01.atsp", 720));
            problems.Add(Program.CreateProblem(@"\Problems\DM\{0}", "061_K3511.atsp", 281));
            problems.Add(Program.CreateProblem(@"\Problems\DM\{0}", "072_K3510.atsp", 186));
            problems.Add(Program.CreateProblem(@"\Problems\DM\{0}", "098_K3089.atsp", 403));
            problems.Add(Program.CreateProblem(@"\Problems\DM\{0}", "122_K4052.atsp", 463));

            // ATSP instances.
            problems.Add(Program.CreateProblem(@"\Problems\ATSP\{0}", "br17.atsp", 39));
            problems.Add(Program.CreateProblem(@"\Problems\ATSP\{0}", "ftv33.atsp", 1286));
            problems.Add(Program.CreateProblem(@"\Problems\ATSP\{0}", "ftv35.atsp", 1473));
            problems.Add(Program.CreateProblem(@"\Problems\ATSP\{0}", "ftv38.atsp", 1530));
            problems.Add(Program.CreateProblem(@"\Problems\ATSP\{0}", "p43.atsp", 5620));
            problems.Add(Program.CreateProblem(@"\Problems\ATSP\{0}", "ftv44.atsp", 1613));
            problems.Add(Program.CreateProblem(@"\Problems\ATSP\{0}", "ftv47.atsp", 1776));
            problems.Add(Program.CreateProblem(@"\Problems\ATSP\{0}", "ry48p.atsp", 14422));
            problems.Add(Program.CreateProblem(@"\Problems\ATSP\{0}", "ft53.atsp", 6905));
            problems.Add(Program.CreateProblem(@"\Problems\ATSP\{0}", "ftv55.atsp", 1608));
            problems.Add(Program.CreateProblem(@"\Problems\ATSP\{0}", "ftv64.atsp", 1839));
            problems.Add(Program.CreateProblem(@"\Problems\ATSP\{0}", "ft70.atsp", 38673));
            problems.Add(Program.CreateProblem(@"\Problems\ATSP\{0}", "ftv70.atsp", 1950));

            var solvers = new List <ISolver>();

            //solvers.Add(new HillClimbing3OptSolver(true, true));
            //solvers.Add(new CheapestInsertionSolver());
            //solvers.Add(new ArbitraryInsertionSolver());
            //Program.DoAddSolvers(solvers, ga, eax, 100, 20);
            Program.DoAddSolvers(solvers, ga, eax, 300, 20);

            var tester = new TSPLIBTester("log", problems, solvers, runs);

            tester.StartTests();
        }
예제 #2
0
 private static string PadRight(object obj)
 {
     return(TSPLIBTester.PadRight(obj, 10));
 }