Exemple #1
0
        private static PointProjectionSolver Solve2(ProblemSpec problemSpec, double originality)
        {
            var solver      = SolverMaker.CreateSolver(problemSpec);
            var ribbonWidth = RibbonIndicator.GetRibbonWidth(problemSpec);

            return(SolverMaker.Solve(solver, ribbonWidth.HasValue ? ribbonWidth.Value : 1, originality));
        }
Exemple #2
0
        private static SolutionSpec Solve(ProblemSpec problemSpec, double originality)
        {
            var solver       = SolverMaker.CreateSolver(problemSpec);
            var ribbonWidth  = RibbonIndicator.GetRibbonWidth(problemSpec);
            var simpleSolver = SolverMaker.Solve(solver, ribbonWidth.HasValue ? ribbonWidth.Value : 1, originality);

            if (simpleSolver != null)
            {
                return(SolutionSpecBuilder.BuildSolutionByRibbonGraph(simpleSolver.Projection));
            }
            return(null);
        }
Exemple #3
0
        private void PaintRibbonGistToOutput()
        {
            var    solver = SolverMaker.CreateSolver(problem);
            double percent;
            var    parallelGist = RibbonIndicator.ParallelGist(solver, out percent);
            var    pointGist    = RibbonIndicator.PointGist(solver);
            var    r            = RibbonIndicator.Indicate(pointGist, parallelGist, percent);

            output.Items.Clear();
            output.Items.Add(string.Format("{2}Strength: {0}, Percent: {1}",
                                           RibbonIndicator.GetStrength(pointGist, parallelGist, percent), percent,
                                           r.HasValue ? "RIBBON! " : ""));

            foreach (var g in parallelGist)
            {
                output.Items.Add(string.Format("{0}\t{1}", g.Key, g.Value));
            }
            output.Items.Add("");
            foreach (var g in pointGist)
            {
                output.Items.Add(string.Format("{0}\t{1}", g.Key, g.Value));
            }
        }