第六十七章 :两秒! (第2/3页)
“这个层级不负责任何具体的公交线路优化,只做一件事,汇总所有层对同一个换乘枢纽的使用需求,然后通过算法进行统一分配。”
“这样一来,整套交通系统就可以并行两种不同的算法。”
“你设置的骨干层、支线层、接驳层在求解自己的线路优化问题时,都会用到换乘枢纽。但它们不能自己决定枢纽怎么用。”
“它们把自己的需求报给共享层,共享层再汇总所有层的需求,在枢纽容量的约束下,统一分配。分配完了之后,各层再根据分配结果调整自己的线路方案。”
“如果调整之后产生了新的需求变化,就再报给共享层,再来一轮分配。”
“反复迭代,直到所有层的线路方案和共享层的枢纽分配方案互相一致。”
听完韩川的解释,许志远诧异地看了过来,蹙眉问道:“这样计算量不同样还是很大吗?”
韩川摇摇头,道:“并不会。”
“因为共享层处理的不是原始的线路数据,而是各层提交上来的需求汇总。”
“需求汇总的数据量相对较小,因为一个换乘枢纽,不管连接多少条线路,在共享层里只对应一个变量:该枢纽的总换乘流量。”
“你原来用协调参数处理的时候,每一条经过西直门的线路都要和其他所有经过西直门的线路做配对协调。”
说着,他提起笔,在稿纸图层边重写了一个算式。
“假设西直门有n条线路经过,协调参数的数量是O(n²)。”
“那么在共享层里,这n条线路各自向西直门提交一个需求值,共享层只需要处理一个变量。”
“也就是说,西直门的枢纽容量分配,那么复杂度从O(n²)降到了O(n)。”
“更重要的是,这个O(n)的过程是有解析解的,即【L(x,λ)=i=1∑n(x−di)2+λ(x−C)】”
“其中d_i是第i条线路提交的需求值,x是共享层分配给该枢纽的总流量,C是枢纽容量上限,λ是拉格朗日乘子。对x求导,令导数为零.....”
许志远看着那个矩阵表达式,沉默了
(本章未完,请点击下一页继续阅读)
『加入书签,方便阅读』