diff --git a/src/backupmain.py b/src/archive/backupmain.py similarity index 100% rename from src/backupmain.py rename to src/archive/backupmain.py diff --git "a/src/cycle_einzeln_constraint\303\274berpr\303\274fung.log" "b/src/archive/cycle_einzeln_constraint\303\274berpr\303\274fung.log" similarity index 100% rename from "src/cycle_einzeln_constraint\303\274berpr\303\274fung.log" rename to "src/archive/cycle_einzeln_constraint\303\274berpr\303\274fung.log" diff --git a/src/fortesting.py b/src/archive/fortesting.py similarity index 100% rename from src/fortesting.py rename to src/archive/fortesting.py diff --git a/src/len_cycles.log b/src/archive/len_cycles.log similarity index 100% rename from src/len_cycles.log rename to src/archive/len_cycles.log diff --git a/src/len_cycles2.log b/src/archive/len_cycles2.log similarity index 100% rename from src/len_cycles2.log rename to src/archive/len_cycles2.log diff --git a/src/main.py b/src/archive/main.py similarity index 100% rename from src/main.py rename to src/archive/main.py diff --git a/src/main_iterative.py b/src/archive/main_iterative.py similarity index 100% rename from src/main_iterative.py rename to src/archive/main_iterative.py diff --git a/src/main_iterative_approach_for_zykel.py b/src/archive/main_iterative_approach_for_zykel.py similarity index 100% rename from src/main_iterative_approach_for_zykel.py rename to src/archive/main_iterative_approach_for_zykel.py diff --git a/src/main_iterative_opt.py b/src/archive/main_iterative_opt.py similarity index 100% rename from src/main_iterative_opt.py rename to src/archive/main_iterative_opt.py diff --git a/src/main_iterative_opt2.py b/src/archive/main_iterative_opt2.py similarity index 100% rename from src/main_iterative_opt2.py rename to src/archive/main_iterative_opt2.py diff --git a/src/main_iterative_opt3.py b/src/archive/main_iterative_opt3.py similarity index 100% rename from src/main_iterative_opt3.py rename to src/archive/main_iterative_opt3.py diff --git a/src/main_iterative_opt_cycle_einzeln_speicher.py b/src/archive/main_iterative_opt_cycle_einzeln_speicher.py similarity index 100% rename from src/main_iterative_opt_cycle_einzeln_speicher.py rename to src/archive/main_iterative_opt_cycle_einzeln_speicher.py diff --git a/src/main_iterative_opt_grad.py b/src/archive/main_iterative_opt_grad.py similarity index 100% rename from src/main_iterative_opt_grad.py rename to src/archive/main_iterative_opt_grad.py diff --git a/src/main_zykel.py b/src/archive/main_zykel.py similarity index 100% rename from src/main_zykel.py rename to src/archive/main_zykel.py diff --git a/src/main_zykel_berechnung.py b/src/archive/main_zykel_berechnung.py similarity index 100% rename from src/main_zykel_berechnung.py rename to src/archive/main_zykel_berechnung.py diff --git a/src/prob.lp b/src/archive/prob.lp similarity index 100% rename from src/prob.lp rename to src/archive/prob.lp diff --git a/src/solver_knoten_grad_1.py b/src/archive/solver_knoten_grad_1.py similarity index 100% rename from src/solver_knoten_grad_1.py rename to src/archive/solver_knoten_grad_1.py diff --git a/src/solver_knoten_grad_1_einsortieren.py b/src/archive/solver_knoten_grad_1_einsortieren.py similarity index 100% rename from src/solver_knoten_grad_1_einsortieren.py rename to src/archive/solver_knoten_grad_1_einsortieren.py diff --git a/src/solver_opt.py b/src/archive/solver_opt.py similarity index 100% rename from src/solver_opt.py rename to src/archive/solver_opt.py diff --git a/src/solver_opt2.py b/src/archive/solver_opt2.py similarity index 100% rename from src/solver_opt2.py rename to src/archive/solver_opt2.py diff --git a/src/solver_opt3.py b/src/archive/solver_opt3.py similarity index 100% rename from src/solver_opt3.py rename to src/archive/solver_opt3.py diff --git a/src/solver_knoten_grad_1_einsortieren_opt.py b/src/solver_knoten_grad_1_einsortieren_opt.py index d674171b3c1665fcce3b1467318b9d94c66b8dbc..7bd967e6816b6241846b5729b2b2a64393142b32 100644 --- a/src/solver_knoten_grad_1_einsortieren_opt.py +++ b/src/solver_knoten_grad_1_einsortieren_opt.py @@ -108,16 +108,19 @@ def solve_bipartite_minimization(input_lines): edges.append((x, y)) degrees_b[y] += 1 neighbors_a[y].append(x) - #print(edges) - #print(neighbors_a) + # Identify and sort nodes in partition B with degree 1 degree_one_nodes = [node for node, degree in degrees_b.items() if degree == 1] - #print(degree_one_nodes) degree_one_nodes.sort(key=lambda b: neighbors_a[b][0]) - #print(degree_one_nodes) + # Remove degree one nodes from nodes list all_nodes = set(range(n0 + 1, n0 + n1 + 1)) remaining_nodes = [node for node in all_nodes if node not in degree_one_nodes] + + # for all remaining nodes: sort all neighbors so the leftest neighbor in A of node b is at neighbors_a[b][0] and the + # rightest neighbor in A is at neighbors_A[b][-1] + for b in remaining_nodes: + neighbors_a[b].sort(key=lambda a: a) if len(remaining_nodes)==0: return degree_one_nodes