diff --git a/algorithm-engineering-heuristics/src/main/java/berlin/tu/algorithmengineering/heuristics/Heuristics.java b/algorithm-engineering-heuristics/src/main/java/berlin/tu/algorithmengineering/heuristics/Heuristics.java index b973869d1a4ce137bcc8128b40920b8a9e028556..857b550bfd481033b6f5ff0ec643f1497cc5fed1 100644 --- a/algorithm-engineering-heuristics/src/main/java/berlin/tu/algorithmengineering/heuristics/Heuristics.java +++ b/algorithm-engineering-heuristics/src/main/java/berlin/tu/algorithmengineering/heuristics/Heuristics.java @@ -16,21 +16,22 @@ import com.google.ortools.linearsolver.MPVariable; import org.ejml.data.Eigenpair; import org.ejml.simple.SimpleMatrix; +import java.io.File; import java.util.*; public class Heuristics { static { - Loader.loadNativeLibraries(); -// String os = System.getProperty("os.name", "generic").toLowerCase(Locale.ENGLISH); -// if (os.equals("mac os x")) { // only for MAC local -// System.load("/Applications/or-tools_MacOsX-12.0.1_v9.2.9972/ortools-darwin-x86-64/libjniortools.dylib"); -// } else { -// File file = new File("lib/or-tools_Ubuntu-18.04-64bit_v9.2.9972/extracted-jar/ortools-linux-x86-64/libjniortools.so"); -// String absolutePath = file.getAbsolutePath(); -// System.load(absolutePath); -// } +// Loader.loadNativeLibraries(); + String os = System.getProperty("os.name", "generic").toLowerCase(Locale.ENGLISH); + if (os.equals("mac os x")) { // only for MAC local + System.load("/Applications/or-tools_MacOsX-12.0.1_v9.2.9972/ortools-darwin-x86-64/libjniortools.dylib"); + } else { + File file = new File("lib/or-tools_Ubuntu-18.04-64bit_v9.2.9972/extracted-jar/ortools-linux-x86-64/libjniortools.so"); + String absolutePath = file.getAbsolutePath(); + System.load(absolutePath); + } } public static final int FORBIDDEN_VALUE = (int) -Math.pow(2, 16); diff --git a/algorithm-engineering-search-tree/src/main/java/berlin/tu/algorithmengineering/searchtree/Main.java b/algorithm-engineering-search-tree/src/main/java/berlin/tu/algorithmengineering/searchtree/Main.java index 2e6707acebdd27851678fe1f32e9ad2ff7a22546..1e2ac3fc92cee2dc853491a0df2d4914e24dd1db 100644 --- a/algorithm-engineering-search-tree/src/main/java/berlin/tu/algorithmengineering/searchtree/Main.java +++ b/algorithm-engineering-search-tree/src/main/java/berlin/tu/algorithmengineering/searchtree/Main.java @@ -24,13 +24,21 @@ public class Main { public static final AlgorithmConfiguration ALGORITHM_CONFIGURATION = new AlgorithmConfiguration(); public static void main(String[] args) { - ALGORITHM_CONFIGURATION.setProbabilityToSplitIntoConnectedComponents(Double.parseDouble(args[0])); - ALGORITHM_CONFIGURATION.setProbabilityToComputeLpLowerBound(Double.parseDouble(args[1])); - ALGORITHM_CONFIGURATION.setProbabilityToComputeLowerBound2(Double.parseDouble(args[2])); - ALGORITHM_CONFIGURATION.setProbabilityToApplyDataReductions(Double.parseDouble(args[3])); - ALGORITHM_CONFIGURATION.setGreedyHeuristicIterations(Integer.parseInt(args[4])); - ALGORITHM_CONFIGURATION.setSimulatedAnnealingIterations(Integer.parseInt(args[5])); - ALGORITHM_CONFIGURATION.settStart(Double.parseDouble(args[6])); +// ALGORITHM_CONFIGURATION.setProbabilityToSplitIntoConnectedComponents(Double.parseDouble(args[0])); +// ALGORITHM_CONFIGURATION.setProbabilityToComputeLpLowerBound(Double.parseDouble(args[1])); +// ALGORITHM_CONFIGURATION.setProbabilityToComputeLowerBound2(Double.parseDouble(args[2])); +// ALGORITHM_CONFIGURATION.setProbabilityToApplyDataReductions(Double.parseDouble(args[3])); +// ALGORITHM_CONFIGURATION.setGreedyHeuristicIterations(Integer.parseInt(args[4])); +// ALGORITHM_CONFIGURATION.setSimulatedAnnealingIterations(Integer.parseInt(args[5])); +// ALGORITHM_CONFIGURATION.settStart(Double.parseDouble(args[6])); + + ALGORITHM_CONFIGURATION.setProbabilityToSplitIntoConnectedComponents(0.6499770324707258); + ALGORITHM_CONFIGURATION.setProbabilityToComputeLpLowerBound(0); + ALGORITHM_CONFIGURATION.setProbabilityToComputeLowerBound2(0.7682387087508281); + ALGORITHM_CONFIGURATION.setProbabilityToApplyDataReductions(0); + ALGORITHM_CONFIGURATION.setGreedyHeuristicIterations(64); + ALGORITHM_CONFIGURATION.setSimulatedAnnealingIterations(16384); + ALGORITHM_CONFIGURATION.settStart(1.2759364543052492); Graph graph = Utils.readGraphFromConsoleInput(); diff --git a/algorithm-engineering-search-tree/src/main/java/berlin/tu/algorithmengineering/searchtree/lp/LpLowerBound.java b/algorithm-engineering-search-tree/src/main/java/berlin/tu/algorithmengineering/searchtree/lp/LpLowerBound.java index ca28ae4ed6da32e6290c21fc16451a3b209e4bee..69f6724d0f3a8a1e84857f53697ad60a8051de2d 100644 --- a/algorithm-engineering-search-tree/src/main/java/berlin/tu/algorithmengineering/searchtree/lp/LpLowerBound.java +++ b/algorithm-engineering-search-tree/src/main/java/berlin/tu/algorithmengineering/searchtree/lp/LpLowerBound.java @@ -1,14 +1,13 @@ package berlin.tu.algorithmengineering.searchtree.lp; import berlin.tu.algorithmengineering.common.Graph; -import berlin.tu.algorithmengineering.common.Utils; import com.google.ortools.linearsolver.MPConstraint; import com.google.ortools.linearsolver.MPObjective; import com.google.ortools.linearsolver.MPSolver; import com.google.ortools.linearsolver.MPVariable; -//import gurobi.*; -import java.util.Set; +import java.io.File; +import java.util.Locale; public class LpLowerBound {