-
Notifications
You must be signed in to change notification settings - Fork 0
/
Exp.py
83 lines (73 loc) · 2.66 KB
/
Exp.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
import matplotlib.pyplot as plt
from Model import runGRD
'''SECOND PLOT: FIXED NUM_NURSES'''
# nurses number fixed
# increasing the time_period
time_periods = range(2, 5) # 2-4 weeks
num_nurses = 150
elapsed_times = []
for time_period in time_periods:
elapsed_time, absolute_gap, relative_gap = runGRD(num_nurses, time_period)
elapsed_times.append(elapsed_time)
plt.plot(time_periods, elapsed_times)
plt.xlabel('Numero di settimane')
plt.ylabel('Tempo di calcolo (s)')
plt.title("Numero di infermieri: {}".format(num_nurses))
plt.xticks(time_periods)
# per fare exp su server
plt.savefig("Time_weeks.png")
plt.clf() # per non fare i grafici sempre sulla stessa figura
'''SECOND PLOT: FIXED TIME_PERIOD'''
# fixed a large time_period
# decreasing the nurses number
time_periods = 4 # weeks
num_nurses = range(70, 151, 30)
elapsed_times = []
for n in num_nurses:
elapsed_time, absolute_gap, relative_gap = runGRD(n, time_periods)
elapsed_times.append(elapsed_time)
plt.plot(num_nurses, elapsed_times)
plt.xlabel('Numero di infermieri')
plt.ylabel('Tempo di calcolo (s)')
plt.title("Numero di settimane: {}".format(time_periods))
# per fare exp su server
plt.savefig("Time_nurses.png")
plt.clf() # per non fare i grafici sempre sulla stessa figura
'''THIRD PLOT: FIXED MAX CALCULATION TIME'''
# fixed maximum time of calculation
# increasing the time_period
time_periods = range(2, 5) # 2-4 weeks
num_nurses = 150
# max time: 30 seconds
max_time = 30 # seconds
relative_gaps = []
for time_period in time_periods:
elapsed_time, absolute_gap, relative_gap = runGRD(num_nurses, time_period, max_time)
relative_gaps.append(relative_gap)
plt.plot(time_periods, relative_gaps)
plt.xlabel('Numero di settimane')
plt.ylabel('Gap percentuale')
plt.title("Numero di infermieri: {}, Tempo massimo: {}s".format(num_nurses, max_time))
# per togliere il float in valori interi delle x
plt.xticks(time_periods)
# per fare exp su server
plt.savefig("Gap_weeks.png")
plt.clf() # per non fare i grafici sempre sulla stessa figura
# fixed maximum time of calculation
# increasing the time_period
time_periods = range(2, 5) # 2-4 weeks
num_nurses = 150
# max time: 30 minutes
max_time = 30*60 # seconds
relative_gaps = []
for time_period in time_periods:
elapsed_time, absolute_gap, relative_gap = runGRD(num_nurses, time_period, max_time)
relative_gaps.append(relative_gap)
plt.plot(time_periods, relative_gaps)
plt.xlabel('Numero di settimane')
plt.ylabel('Gap percentuale')
plt.title("Numero di infermieri: {}, Tempo massimo: {}s".format(num_nurses, max_time))
plt.xticks(time_periods)
# per fare exp su server
plt.savefig("Gap_weeks.png")
plt.clf() # per non fare i grafici sempre sulla stessa figura