Adds the GIPS-migration algorithm to the argument parsing of the scenario runner

This commit also adds the GIPS-migration and GIPS-sequence algorithm to the CLI runtime script for JAR-builds of iflye
This commit is contained in:
Maximilian Kratz 2023-12-11 13:17:58 +01:00
parent d533d47813
commit 9d9a7135be
3 changed files with 42 additions and 2 deletions

View file

@ -1,5 +1,5 @@
# Environment variables/config for the program
export GRB_LICENSE_FILE="/home/maxkratz/gurobi.lic"
export GRB_LICENSE_FILE="/home/mkratz/gurobi.lic"
export GUROBI_HOME="/opt/gurobi1003/linux64/"
export LD_LIBRARY_PATH="/opt/gurobi1003/linux64/lib/"
PATH=$PATH:~/opt/gurobi1003/linux64/bin/:~/opt/ibm/ILOG/CPLEX_Studio2211/cplex/bin/x86-64_linux/

View file

@ -64,6 +64,42 @@ if [ $a = "gips" ]; then
rm -r ./org
fi
# GIPS-migration workaround for all needed xmi files
if [ $a = "gips-mig" ]; then
echo "=> Applying GIPS-migration hipe-network.xmi workaround."
# Extract hipe-network.xmi file
unzip -o $JAR "org/emoflon/gips/gipsl/examples/mdvne/migration/hipe/*/hipe-network.xmi"
unzip -o $JAR "org/emoflon/gips/gipsl/examples/mdvne/migration/api/*/gips-model.xmi"
unzip -o $JAR "org/emoflon/gips/gipsl/examples/mdvne/migration/api/ibex-patterns.xmi"
mkdir -p ../org.emoflon.gips.gipsl.examples.mdvne.migration/src-gen/
mkdir -p C%3A/Users/mkratz/git/gips-examples/org.emoflon.gips.gipsl.examples.mdvne.migration/src-gen
rsync -a ./org ./bin
rsync -a ./org ../org.emoflon.gips.gipsl.examples.mdvne.migration/src-gen
rsync -a ./org ./C%3A/Users/mkratz/git/gips-examples/org.emoflon.gips.gipsl.examples.mdvne.migration/src-gen
rm -r ./org
fi
# GIPS-sequence workaround for all needed xmi files
if [ $a = "gips-seq" ]; then
echo "=> Applying GIPS-seq hipe-network.xmi workaround."
# Extract hipe-network.xmi file
unzip -o $JAR "org/emoflon/gips/gipsl/examples/mdvne/seq/hipe/*/hipe-network.xmi"
unzip -o $JAR "org/emoflon/gips/gipsl/examples/mdvne/seq/api/*/gips-model.xmi"
unzip -o $JAR "org/emoflon/gips/gipsl/examples/mdvne/seq/api/ibex-patterns.xmi"
mkdir -p ../org.emoflon.gips.gipsl.examples.mdvne.seq/src-gen/
mkdir -p C%3A/Users/mkratz/git/gips-examples/org.emoflon.gips.gipsl.examples.mdvne.seq/src-gen
rsync -a ./org ./bin
rsync -a ./org ../org.emoflon.gips.gipsl.examples.mdvne.seq/src-gen
rsync -a ./org ./C%3A/Users/mkratz/git/gips-examples/org.emoflon.gips.gipsl.examples.mdvne.seq/src-gen
rm -r ./org
fi
for ((i=1;i<=$r;i++));
do
# Without memory measurement
@ -78,3 +114,4 @@ done
echo "#"
echo "# => Arg script done."
echo "#"

View file

@ -17,6 +17,7 @@ import algorithms.AlgorithmConfig;
import algorithms.AlgorithmConfig.Embedding;
import algorithms.AlgorithmConfig.Objective;
import algorithms.gips.VneGipsAlgorithm;
import algorithms.gips.VneGipsMigrationAlgorithm;
import algorithms.gips.VneGipsSeqAlgorithm;
import algorithms.heuristics.TafAlgorithm;
import algorithms.ilp.VneFakeIlpAlgorithm;
@ -162,7 +163,7 @@ public class DissScenarioLoad {
* <ol>
* <li>#0: Algorithm "pm", "pm-migration", "pm-pipeline2-vnet",
* "pm-pipeline2-racka", "pm-pipeline2-rackb", "pm-pipeline3a", "pm-pipeline3b",
* "ilp", "ilp-batch", "gips", "gips-seq" or "taf" (required)</li>
* "ilp", "ilp-batch", "gips", "gips-mig", "gips-seq" or "taf" (required)</li>
* <li>#1: Objective "total-path", "total-comm-a", "total-comm-b",
* "total-obj-c", "total-obj-d", "total-taf-comm" (required)</li>
* <li>#2: Embedding "emoflon", "emoflon_wo_update" or "manual" [only relevant
@ -411,6 +412,8 @@ public class DissScenarioLoad {
return VneFakeIlpBatchAlgorithm.prepare(sNet, vNets);
case "gips":
return VneGipsAlgorithm.prepare(sNet, vNets);
case "gips-mig":
return VneGipsMigrationAlgorithm.prepare(sNet, vNets);
case "gips-seq":
return VneGipsSeqAlgorithm.prepare(sNet, vNets);
case "taf":