Skip to content

Commit 215a8b7

Browse files
committed
add evaluation
1 parent b48cacf commit 215a8b7

File tree

1 file changed

+16
-11
lines changed

1 file changed

+16
-11
lines changed

16-mcm-b/NetFlow.py

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
inf = float('inf')
55

66

7-
def netflow(OD, T0, C, n=30, alpha=1, beta=2):
7+
def netflow(OD, T0, C, n=100, alpha=1, beta=2):
88
m = len(T0)
99

1010
# 初始化
@@ -46,27 +46,32 @@ def updateT():
4646
[0, 0, 0, 0]
4747
])
4848
C = np.array([
49-
[1, 500, 100, 100],
49+
[1, 500, 100, 1],
5050
[1, 1, 1, 500],
5151
[1, 1, 1, 100],
5252
[1, 1, 1, 1]
5353
])
5454

55-
def evalue(T):
56-
sum,i=0,0
57-
for v in T.flatten():
58-
if v < inf:
59-
sum +=v
60-
i += 1
61-
return sum/i
55+
def evalue(Q,T):
56+
RT = T[(T != inf)]
57+
QT = (Q*T).flatten()
58+
QT = QT[~np.isnan(QT)]
59+
J = (T/T0).flatten()
60+
J = J[~np.isnan(J)]
61+
return {
62+
'平均道路通行时间':np.mean(RT),
63+
'加权路网通行时耗':np.sum(QT),
64+
'路网拥堵指数':np.mean(J)
65+
}
6266

6367
print('增加道路1-4之前:')
6468
Q, T = netflow(OD,T0,C)
6569
print('Q=', Q)
66-
print('evalue=',evalue(T))
70+
print('evalue=',evalue(Q,T))
6771

6872
print('增加道路1-4之后:')
6973
T0[0,3] = 1.5
74+
C[0,3] = 100
7075
Q, T = netflow(OD,T0,C)
7176
print('Q=', Q)
72-
print('evalue=',evalue(T))
77+
print('evalue=',evalue(Q,T))

0 commit comments

Comments
 (0)