From 2f90497e65ba9d8c7b76fb6391088460e0058c89 Mon Sep 17 00:00:00 2001
From: = <francois.hamonic@gmail.com>
Date: Fri, 16 Sep 2022 18:55:20 +0200
Subject: [PATCH] time sclaing

---
 exec/marseille_execution_time_scaling.cpp     |   8 +--
 marseille_execution_time_scaling.pdf          | Bin 0 -> 19473 bytes
 .../marseille_execution_time_scaling.py       |  62 ++++++++++++++++++
 3 files changed, 66 insertions(+), 4 deletions(-)
 create mode 100644 marseille_execution_time_scaling.pdf
 create mode 100755 plot_scripts/marseille_execution_time_scaling.py

diff --git a/exec/marseille_execution_time_scaling.cpp b/exec/marseille_execution_time_scaling.cpp
index fbf12de..2abf387 100755
--- a/exec/marseille_execution_time_scaling.cpp
+++ b/exec/marseille_execution_time_scaling.cpp
@@ -10,10 +10,10 @@
 int main() {
     std::ofstream data_log("output/marseille_execution_time_scaling.csv");
     data_log << std::fixed << std::setprecision(6);
-    data_log << "wastelands "
-              << "local_inc "
-              << "greedy_dec "
-              << "MIP " << std::endl;
+    data_log << "wastelands,"
+              << "local_inc,"
+              << "greedy_dec,"
+              << "mip" << std::endl;
 
     std::vector<int> nbs_wastelands;
     for(int i = 10; i <= 200; i += 10) nbs_wastelands.push_back(i);
diff --git a/marseille_execution_time_scaling.pdf b/marseille_execution_time_scaling.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..d2bcf42df6a0b298b61506ed3d9867b37424c924
GIT binary patch
literal 19473
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

literal 0
HcmV?d00001

diff --git a/plot_scripts/marseille_execution_time_scaling.py b/plot_scripts/marseille_execution_time_scaling.py
new file mode 100755
index 0000000..f9cb3d2
--- /dev/null
+++ b/plot_scripts/marseille_execution_time_scaling.py
@@ -0,0 +1,62 @@
+import matplotlib.pyplot as plt
+import csv
+import numpy as np
+import statistics
+
+def readCSV(file_name, delimiter=','):
+    file = csv.DictReader(open(file_name), delimiter=delimiter)
+    return list([row for row in file])
+
+rows = readCSV('output/marseille_execution_time_scaling_tmp.csv')
+
+
+x_datas = [int(float(row["wastelands"])) for row in rows]
+
+def get_datas(name, linstyle, maker_size, t):
+    return ((name, (linstyle,maker_size)), (x_datas,
+        np.array([float(row[t])/1000 for row in rows]) ))
+
+datas = [
+    get_datas("local incremental", "s-",6, "local_inc"),
+    get_datas("greedy decremental", "o-",6, "greedy_dec"),
+    get_datas("MIP", "P-",6, "mip")
+]
+
+
+fig_size = plt.rcParams["figure.figsize"]
+fig_size[0] = 10
+fig_size[1] = 5
+plt.rcParams["figure.figsize"] = fig_size
+
+# plt.subplots_adjust(left=0.100, right=0.95, top=0.92, bottom=0.150)
+
+plt.rcParams.update({'font.size': 16})
+
+xmin = min(x_datas)
+xmax = max(x_datas)
+
+plt.xlim(xmin , xmax)
+
+ymin = 0
+ymax = max([float(row["mip"])/1000 for row in rows])
+yrange = ymax - ymin
+
+y_border_percent = 7.5
+y_bottom = ymin - y_border_percent * yrange / 100
+y_top = ymax + y_border_percent * yrange / 100
+
+plt.ylim(y_bottom, y_top)
+
+
+# plt.title("quebec-{}-{}-ECA value vs available budget.pdf".format(orig, median))
+plt.ylabel('computation time in seconds', rotation=90, fontweight ='bold')
+plt.xlabel("number of unbuilt lots", fontweight ='bold')
+
+for ((label,(linestyle,marker_size)),(xdatas,ydatas)) in datas:
+    plt.plot(xdatas, ydatas, linestyle, markersize=marker_size, label=label)
+    
+legend = plt.legend(loc='upper left', shadow=True, fontsize='medium')
+
+plt.tight_layout()
+plt.show()
+plt.savefig("output/marseille_execution_time_scaling_tmp.pdf", dpi=500)
\ No newline at end of file
-- 
GitLab