-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathtest.py
89 lines (63 loc) · 2.03 KB
/
test.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
import sys
import common
import fcfs
import fcfs_AC
import edf
import edf_AC_Basic
import edf_AC_Pro
import llfSimple
import llfSimple_AC_Basic
import llfSimple_AC_Pro
import llfSmart
import llfSmart_AC_Basic
import dsac
import poissonGen
import csvGen
import gc
import vehicle
import chargePorts
if len( sys.argv ) != 2:
print 'Wrong Number of Arguments you sent', sys.argv , " .. just interval"
sys.exit()
interval = int( sys.argv[ 1 ] )
common.setInterval(interval)
def simulateArrivalChargePorts():
arrivalRate = 3
initialChargePorts = 1
arrivalRateStep = 0
chargePortStep = 5
chargePortCycles = 5
arrivalRateCycles = 1
numRunsPerIteration = 3
heatMap = [ ]
# gen 1st row of heatMap
# for now just write the name of the algorithm in by hand for cell (0,0)
row1 = [ "DSAC" ]
numChargePorts = initialChargePorts
for a in range( 1, chargePortCycles + 1 ):
row1.append( numChargePorts )
numChargePorts += chargePortStep
heatMap.append( row1 )
for i in range( arrivalRateCycles ):
poissonGen.setArrivalRate( arrivalRate )
numChargePorts = initialChargePorts
heatMapRow = [ arrivalRate ]
for j in range( chargePortCycles ):
chargePorts.setNumChargePorts( numChargePorts )
averageProfit = 0
for k in range( numRunsPerIteration ):
gc.collect()
# print "--------------------------"
simulationInterval = poissonGen.simulateInterval()
# test one algorithm at a time
singleTestData = dsac.simulate( simulationInterval )
# increment profit in spot
averageProfit += singleTestData[ 0 ]
# get average
averageProfit /= ( 1.0 * numRunsPerIteration )
heatMapRow.append( averageProfit )
numChargePorts += chargePortStep
heatMap.append( heatMapRow )
arrivalRate += arrivalRateStep
return heatMap
print simulateArrivalChargePorts()