diff options
author | Jonas Smedegaard <dr@jones.dk> | 2025-04-28 15:28:56 +0200 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2025-04-28 15:28:56 +0200 |
commit | c1540cd35e9c908b0c66b40ffb8564b4167ade34 (patch) | |
tree | abd0790f2282705a3b730ca4c9f85f9fac932447 | |
parent | f46511896f1ab26427403dbeb8c61278f84cde5e (diff) |
tighten output
-rw-r--r-- | src/dk.biks.bachelorizer/dk/biks/bachelorizer/Combi.java | 40 |
1 files changed, 28 insertions, 12 deletions
diff --git a/src/dk.biks.bachelorizer/dk/biks/bachelorizer/Combi.java b/src/dk.biks.bachelorizer/dk/biks/bachelorizer/Combi.java index e91c74e..4ce7e02 100644 --- a/src/dk.biks.bachelorizer/dk/biks/bachelorizer/Combi.java +++ b/src/dk.biks.bachelorizer/dk/biks/bachelorizer/Combi.java @@ -55,16 +55,39 @@ public final class Combi { Graph g = new MatrixGraph(_vertice_count); GraphAlgorithms.readGraph(g, path); + System.out.println("\n\nGraph of choices constructed:"); + GraphAlgorithms.printGraph(g); + // ensure the graph is connected assertConnected(g); + System.out.println( + "\n\nGraph is connected" + +" (otherwise an exception was thrown)"); + + // collect disjoint choice sets + ArrayList<Set<Vertex>> s = nonOverlapping(g); + System.out.printf( + "\n\n%d disjoint choice sets collected:\n", + s.size()); + for(Set<Vertex> verticeSet: s) { + System.out.print("set("+verticeSet.size()+"):"); + for (Vertex v: GraphAlgorithms.sortVertex(verticeSet)) { + System.out.print(" "+v.toString()); + } + System.out.println(); + } - nonOverlapping(g); - -// GraphAlgorithms.printGraph(g); - GraphAlgorithms.printGraph(moduleGroups(nonOverlapping(g), g)); + // construct graph of disjoint choices + Graph h = moduleGroups(s, g); + System.out.println( + "\n\nGraph of disjoint choices constructed:"); + GraphAlgorithms.printGraph(h); + // find path through disjoint choice graph + System.out.println( + "\n\nSolution with disjoint choices found:"); System.out.println( - solution(moduleGroups(nonOverlapping(g), g))); + solution(h)); // release temporary variables for garbage collection _g = null; @@ -174,13 +197,6 @@ public final class Combi { done.addAll(isolated); } -for(Set<Vertex> s: sets) { -System.out.println("set: "+s.size()); -for (Vertex v: s) { -System.out.println(" "+v.toString()); -} -} - return sets; } |