From 67a0f9f2a5a3bad40ec85256af83665f14ff4224 Mon Sep 17 00:00:00 2001 From: Yannik <dieschlafmuetze@gmail.com> Date: Fri, 28 May 2021 12:56:26 +0200 Subject: [PATCH] added Kernel track --- .../editing/pace/heuristic/PaceHeuristic.java | 1 - Pace-Kernelisation/pom.xml | 68 +++++++++++++++++++ .../cluster/editing/kernelisation/Main.java | 8 +++ .../kernelisation/PaceKernelSolver.java | 50 ++++++++++++++ pom.xml | 1 + 5 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 Pace-Kernelisation/pom.xml create mode 100644 Pace-Kernelisation/src/main/java/de/uni/bremen/cluster/editing/kernelisation/Main.java create mode 100644 Pace-Kernelisation/src/main/java/de/uni/bremen/cluster/editing/kernelisation/PaceKernelSolver.java diff --git a/Pace-Heuristic/src/main/java/de/uni/bremen/cluster/editing/pace/heuristic/PaceHeuristic.java b/Pace-Heuristic/src/main/java/de/uni/bremen/cluster/editing/pace/heuristic/PaceHeuristic.java index ca8e0e8..2e585d5 100644 --- a/Pace-Heuristic/src/main/java/de/uni/bremen/cluster/editing/pace/heuristic/PaceHeuristic.java +++ b/Pace-Heuristic/src/main/java/de/uni/bremen/cluster/editing/pace/heuristic/PaceHeuristic.java @@ -33,7 +33,6 @@ public class PaceHeuristic { System.exit(-1); } currentBest = getTrivialChanges(graph); - while (!stop) { PositionGraph graphP = new PositionGraph(graph, 2); LayoutUpperBoundHeuristic heuristic = new LayoutUpperBoundHeuristic(null); diff --git a/Pace-Kernelisation/pom.xml b/Pace-Kernelisation/pom.xml new file mode 100644 index 0000000..28b5108 --- /dev/null +++ b/Pace-Kernelisation/pom.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <parent> + <artifactId>cluster-editing</artifactId> + <groupId>de.uni.bremen</groupId> + <version>pace2021</version> + </parent> + <modelVersion>4.0.0</modelVersion> + + <artifactId>Pace-Kernalisation</artifactId> + + <properties> + <maven.compiler.source>16</maven.compiler.source> + <maven.compiler.target>16</maven.compiler.target> + </properties> + + <dependencies> + <dependency> + <groupId>de.uni.bremen</groupId> + <artifactId>Pace-Solver</artifactId> + <version>pace2021</version> + </dependency> + </dependencies> + + <!-- !!! NICHT ANFASSEN !!! --> + <build> + <finalName>Pace-Kernalisation-Solver</finalName> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <version>3.2.4</version> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>shade</goal> + </goals> + <configuration> + <shadedArtifactAttached>true</shadedArtifactAttached> + <shadedClassifierName>jar-with-dependencies</shadedClassifierName> + <transformers> + <transformer + implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> + <mainClass>de.uni.bremen.cluster.editing.kernelisation.Main</mainClass> + </transformer> + </transformers> + <filters> + <filter> + <artifact>Jeigen:jeigen</artifact> + <excludes> + <exclude>**/msvc-redist/**</exclude> + <exclude>**/*-win-*.*</exclude> + <exclude>**/*-mac-*.*</exclude> + </excludes> + </filter> + </filters> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + + +</project> \ No newline at end of file diff --git a/Pace-Kernelisation/src/main/java/de/uni/bremen/cluster/editing/kernelisation/Main.java b/Pace-Kernelisation/src/main/java/de/uni/bremen/cluster/editing/kernelisation/Main.java new file mode 100644 index 0000000..e71c77d --- /dev/null +++ b/Pace-Kernelisation/src/main/java/de/uni/bremen/cluster/editing/kernelisation/Main.java @@ -0,0 +1,8 @@ +package de.uni.bremen.cluster.editing.kernelisation; + +public class Main { + public static void main(final String... args) { + PaceKernelSolver solver = new PaceKernelSolver(); + solver.solve(); + } +} diff --git a/Pace-Kernelisation/src/main/java/de/uni/bremen/cluster/editing/kernelisation/PaceKernelSolver.java b/Pace-Kernelisation/src/main/java/de/uni/bremen/cluster/editing/kernelisation/PaceKernelSolver.java new file mode 100644 index 0000000..9b7da03 --- /dev/null +++ b/Pace-Kernelisation/src/main/java/de/uni/bremen/cluster/editing/kernelisation/PaceKernelSolver.java @@ -0,0 +1,50 @@ +package de.uni.bremen.cluster.editing.kernelisation; + +import de.uni.bremen.cluster.editing.custom.graph.library.helper.ConsoleHelper; +import de.uni.bremen.cluster.editing.custom.graph.library.io.implementation.BasicUndirectedGraphStdInOutImportExporter; +import de.uni.bremen.cluster.editing.custom.graph.library.model.api.Edge; +import de.uni.bremen.cluster.editing.custom.graph.library.model.implementation.BasicUndirectedGraph; +import de.uni.bremen.cluster.editing.utilities.common.api.algorithm.Solver; +import de.uni.bremen.cluster.editing.utilities.solver.graphsplitter.GraphSplitterSolver; + +import java.io.IOException; + +public class PaceKernelSolver { + public void solve() { + //load Graph + ConsoleHelper.setDebug(false); + Solver.TRACKING = false; + BasicUndirectedGraphStdInOutImportExporter loader = new BasicUndirectedGraphStdInOutImportExporter(); + BasicUndirectedGraph graph = null; + try { + graph = loader.loadAndCreate(); + } catch (IOException e) { + e.printStackTrace(); + } + //solve + Solver solver = new GraphSplitterSolver(graph); + solver.solve(); + System.out.println(solver.getResultK()); + System.out.println("p cep 0 0"); + System.out.println(solver.getResultK()); + printEdgeModifications(solver); + + System.out.println(solver.getResultK()); + printEdgeModifications(solver); + + System.out.println(solver.getResultK()); + printEdgeModifications(solver); + + System.out.println(solver.getResultK()); + printEdgeModifications(solver); + } + + private void printEdgeModifications(Solver solver) { + for (Edge edge : solver.getChanges().getAddedEdges()) { + System.out.println((edge.getStartId()) + " " + (edge.getEndId())); + } + for (Edge edge : solver.getChanges().getRemovedEdges()) { + System.out.println((edge.getStartId()) + " " + (edge.getEndId())); + } + } +} diff --git a/pom.xml b/pom.xml index 00e788d..3d0fe3e 100644 --- a/pom.xml +++ b/pom.xml @@ -37,6 +37,7 @@ <module>Pace-Solver</module> <module>Pace-Heuristic</module> <module>Custom-Graph-Library</module> + <module>Pace-Kernelisation</module> </modules> <properties> -- GitLab