aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dk.biks.bachelorizer/dk/biks/bachelorizer/Combi.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/dk.biks.bachelorizer/dk/biks/bachelorizer/Combi.java b/src/dk.biks.bachelorizer/dk/biks/bachelorizer/Combi.java
index 0db2169..da28d5c 100644
--- a/src/dk.biks.bachelorizer/dk/biks/bachelorizer/Combi.java
+++ b/src/dk.biks.bachelorizer/dk/biks/bachelorizer/Combi.java
@@ -61,6 +61,7 @@ public final class Combi {
nonOverlapping(g);
// GraphAlgorithms.printGraph(g);
+ GraphAlgorithms.printGraph(moduleGroups(nonOverlapping(g), g));
// release temporary variables for garbage collection
_g = null;
@@ -179,4 +180,24 @@ System.out.println(" "+v.toString());
return sets;
}
+ public static Graph moduleGroups(ArrayList<Set<Vertex>> sets, Graph g) {
+ Graph h = new AdjListGraph();
+ for (Set<Vertex> s: sets) {
+ for (Set<Vertex> t: sets) {
+ if (t == s) continue;
+ int sum = 0;
+ for (Vertex v: s) {
+ // get num of students with this combination of modules.
+ for (Vertex w: t) {
+ Integer weight = g.getWeight(v, w);
+ if (weight != null) {
+ sum += weight;
+ }
+ }
+ }
+ h.insertEdge(s.toString(), t.toString(), sum);
+ }
+ }
+ return h;
+ }
}