summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--back/odiparback/src/main/java/pe/edu/pucp/odiparback/services/VrptAcoCallService.java61
1 files changed, 61 insertions, 0 deletions
diff --git a/back/odiparback/src/main/java/pe/edu/pucp/odiparback/services/VrptAcoCallService.java b/back/odiparback/src/main/java/pe/edu/pucp/odiparback/services/VrptAcoCallService.java
new file mode 100644
index 0000000..63dc576
--- /dev/null
+++ b/back/odiparback/src/main/java/pe/edu/pucp/odiparback/services/VrptAcoCallService.java
@@ -0,0 +1,61 @@
+package pe.edu.pucp.odiparback.services;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStreamReader;
+
+public class VrptAcoCallService {
+ /*
+ * Linux:
+ * - shell: sh
+ * - command:
+ * cd /path/to/VRPTW-ACO-python
+ * python3 example1.py
+ *
+ * Windows:
+ * - shell: cmd
+ * - command:
+ * cd c:\path\to\VRPTW-ACO-python
+ * python example1.py
+ *
+ * Salida del algoritmo en variable `output`
+ * (Demora unos 2 min en ejecutar el algoritmo)
+ */
+ public static void main(String[] args) {
+ String command = "pwd && date && ls ~";
+ command = "~/.odiparpack";
+ try {
+ System.out.println(
+ System.getProperty("os.name") + "\n" +
+ System.getProperty("user.name")
+ );
+ ProcessBuilder pb
+ = new ProcessBuilder("sh", "-c", command);
+ pb.directory(
+ new File(System.getProperty("user.home"))
+ );
+ Process process = pb.start();
+
+ StringBuilder output = new StringBuilder();
+ BufferedReader reader
+ = new BufferedReader(new InputStreamReader(
+ process.getInputStream()
+ ));
+ String line;
+ while ((line = reader.readLine()) != null) {
+ output.append(line + '\n');
+ }
+ int exitVal = process.waitFor();
+ if (exitVal == 0) {
+ System.out.println("The output is:");
+ System.out.println(output);
+ //System.exit(0);
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+}