我被分配了一个任务,需要构建一个暴力算法。该算法必须找到包含14400个顶点的图中的最佳路径,每天24小时,每小时600个顶点。在这600个顶点中,每个顶点都可以选择下一个小时的480个顶点。
我尝试构建了一个算法,但现在的问题是无法遍历整个图,因为我得到了很多嵌套循环。由于我对Python不熟悉,是否有任何方法可以改进算法?
我尝试构建了一个算法,但现在的问题是无法遍历整个图,因为我得到了很多嵌套循环。由于我对Python不熟悉,是否有任何方法可以改进算法?
Path = [0] * 2
S = [12, 9, 20];
K = 10
S[:] = [x - K for x in S]
for x in range(0,600): #1.hour
Path[0]= x
for y in range(-240,240): # 2.hour
hour2 = x+y
if 0 <= hour2 <= 600:
Path[1] = hour2
for y in range(-240,240): # 3.hour
hour3 = hour2 + y
if 0 <= hour3 <= 600:
Path[2]= hour3
price = sum([a*b for a,b in zip(Path,S)])
if maxprice < price:
maxprice = price
Optimalpath = list(Path)
print Optimalpath
print maxprice
我只展示了前三个小时的嵌套循环,但如果可能的话,它必须迭代所有24小时。
或者我对这个问题的考虑方式有误?