/** Add an algorithm at the given deduction step. */ void addAlgo(Algorithm a, int step) { algos.add(a); try { updateComplexity(a.getComplexity(), step); } catch (ComplexityClashException e) { System.err.println( "Complexity clash for " + problem.getName() + " on " + node + " " + a + " and " + algos); } }
ProblemOnNode(Problem p, GraphClass n) { if (!p.validFor(n)) throw new IllegalArgumentException(p.getName() + " not applicable to " + n.getID()); problem = p; node = n; algos = new HashSet<Algorithm>(); complexity = new Complexity[STEPS]; for (int i = 0; i < complexity.length; i++) complexity[i] = Complexity.UNKNOWN; }