-
Notifications
You must be signed in to change notification settings - Fork 0
/
script_experiment_5.py
114 lines (98 loc) · 3.13 KB
/
script_experiment_5.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#imports
import subprocess
import csv
from matplotlib import pyplot as plt
import numpy as np
#Configuration of the experiment
seed_c = 1234
seed_s = 4321
num_c = 4
num_s = 100
operant_id = 1
initial_solution_id = 1
#Search Alianning parameters
k = 10
l = 0.01
i = 3000
s = 30
program = []
program.append("java")
program.append("-jar")
program.append("CodiPractica/out/artifacts/CodiPractica_jar/CodiPractica.jar")
program.append(str(num_c))
program.append(str(num_s))
program.append(str(seed_c))
program.append(str(seed_s))
program.append(str(operant_id))
program.append(str(initial_solution_id))
program.append(str(k))
program.append(str(l))
program.append(str(i))
program.append(str(s))
#Init of script
#print("Launching experiment 1 with the next configuration:")
#print("seed_c =", seed_c)
#print("seed_s =", seed_s)
#print("num_c =", num_c)
#print("num_s =", num_s)
#print("operant_id =", operant_id)
#print("initial_solution_id =", initial_solution_id)
#numc nums seedc seeds opid genid
seeds_s = [1313, 1122, 2233, 3344, 4455, 5566, 6677, 7788, 8899, 9900]
seeds_c = [1100, 2211, 3322, 4433, 5544, 6655, 7766, 8877, 9988, 3141]
listaHeurist = [[],[],[],[]]
listaCoste = [[],[],[],[]]
listaDatos = [[],[],[],[]]
listaMilis = [[],[],[],[]]
listaExpanded= [[],[],[],[]]
listaUnusedCenters = [[],[],[],[]]
for rep in range(10):
print 'rep',rep
program[5] = str(seeds_c[rep])
program[6] = str(seeds_s[rep])
for ite in range(4):
print ite
program[3]=str(num_c+2*ite)
program[4]=str(num_s+50*ite)
output = subprocess.Popen(program, stdout=subprocess.PIPE).communicate()[0]
#file = open("./experiment2/"+ str(rep) + "-"+ str(op) +".out","w")
#file.write(output)
#file.close()
#print output
reader = csv.reader(output.splitlines())
listaCsv = list(reader)
listaUnusedCenters[ite].append(eval(listaCsv[-3][3]))
listaHeurist[ite].append(eval(listaCsv[-3][2]))
listaCoste[ite].append(eval(listaCsv[-3][1]))
listaDatos[ite].append(eval(listaCsv[-3][0]))
listaMilis[ite].append(eval(listaCsv[-2][0]))
listaExpanded[ite].append(eval(listaCsv[-1][0]))
plt.boxplot(listaHeurist)
plt.suptitle('Heuristic')
plt.autoscale()
#plt.xticks([1,2],['Estrategia greedy','Connectats en linia'])
plt.xlabel('Escala problema')
plt.ylabel('Valor heuristic')
plt.savefig('./experiment5/heuristic.png',bbox_inches='tight')
plt.clf()
plt.boxplot(listaCoste)
plt.suptitle('Cost')
#plt.xticks([1,2],['Estrategia greedy','Connectats en linia'])
plt.xlabel('Escala problema')
plt.ylabel('Cost de la xarxa')
plt.savefig('./experiment5/coste.png',bbox_inches='tight')
plt.clf()
plt.boxplot(listaDatos)
plt.suptitle('Dades rebudes (respecte el total que es recull)')
#plt.xticks([1,2],['Estrategia greedy','Connectats en linia'])
plt.xlabel('Escala problema')
plt.ylabel('Dades rebudes')
plt.savefig('./experiment5/datos.png',bbox_inches='tight')
plt.clf()
plt.boxplot(listaMilis)
plt.suptitle('Temps')
#plt.xticks([1,2],['Estrategia greedy','Connectats en linia'])
plt.xlabel('Escala problema')
plt.ylabel('ms')
plt.savefig('./experiment5/tiempo.png',bbox_inches='tight')
plt.clf()