public ArenaModel RunProblem(ArenaProblem problem, ISolver solver) { for (int i = 0; i < problem.Problem.sourceSeeds.Count; i++) { Run(problem, i, solver); } return new ArenaModel { Problems = Problems }; }
public void Run(ArenaProblem problem, int seedIndex, ISolver solver) { try { var prob = problem.Problem; var result = solver.Solve(prob.ToMap(prob.sourceSeeds[seedIndex])); problem.MapResults[seedIndex].Result = result; Console.Write(result.Score + " "); } catch (Exception exception) { throw new Exception($"problemId: {problem.Problem.id}, seed: {seedIndex}. {exception.Message}", exception); } }