44 lines
1.2 KiB
Python
Executable file
44 lines
1.2 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
|
|
import os
|
|
import numpy as np
|
|
import matplotlib.pyplot as plt
|
|
|
|
for p in range(18):
|
|
|
|
print("Pb",p,end=": ")
|
|
datadir="attain_mat_{pb}".format(pb=p)
|
|
|
|
try:
|
|
os.mkdir(datadir)
|
|
except FileExistsError:
|
|
pass
|
|
|
|
for i in range(50):
|
|
cmd="./release/fastga --seed={i} \
|
|
--crossover-rate=2 --cross-selector=2 --crossover=5 --mutation-rate=2 --mut-selector=2 --mutation=1 --replacement=0 \
|
|
--problem={pb} --buckets=20 --output-mat 2>/dev/null > {dir}/output_mat_{i}.csv"\
|
|
.format(dir=datadir, i=i, pb=p)
|
|
# print(cmd)
|
|
print(i,end=" ",flush=True)
|
|
os.system(cmd)
|
|
|
|
|
|
matrices=[]
|
|
for root, dirs, files in os.walk(datadir):
|
|
for filename in files:
|
|
matrices.append( np.genfromtxt(datadir+"/"+filename,delimiter=',') )
|
|
|
|
agg = matrices[0]
|
|
for mat in matrices[1:]:
|
|
agg += mat
|
|
|
|
# print(agg)
|
|
|
|
plt.rcParams["figure.figsize"] = (3,3)
|
|
plt.gca().pcolor(agg, edgecolors='grey', cmap="Blues")
|
|
plt.gca().set_xlabel("Time budget")
|
|
plt.gca().set_ylabel("Target")
|
|
plt.savefig("aittain_map_{pb}.png".format(pb=p), bbox_inches='tight')
|
|
|
|
print(".")
|