From c1540cd35e9c908b0c66b40ffb8564b4167ade34 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Mon, 28 Apr 2025 15:28:56 +0200 Subject: tighten output --- .../dk/biks/bachelorizer/Combi.java | 40 +++++++++++++++------- 1 file 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> s = nonOverlapping(g); + System.out.printf( + "\n\n%d disjoint choice sets collected:\n", + s.size()); + for(Set 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 s: sets) { -System.out.println("set: "+s.size()); -for (Vertex v: s) { -System.out.println(" "+v.toString()); -} -} - return sets; } -- cgit v1.2.3