返回

学霸:我老师全是学科大佬!

首页
关灯
护眼
字体:
第六十七章 :两秒!
上一章 目录 下一章
『章节错误,点此报送』
  “这样一来,整套交通系统就可以并行两种不同的算法。”

  “你设置的骨干层、支线层、接驳层在求解自己的线路优化问题时,都会用到换乘枢纽。但它们不能自己决定枢纽怎么用。”

  “它们把自己的需求报给共享层,共享层再汇总所有层的需求,在枢纽容量的约束下,统一分配。分配完了之后,各层再根据分配结果调整自己的线路方案。”

  “如果调整之后产生了新的需求变化,就再报给共享层,再来一轮分配。”

  “反复迭代,直到所有层的线路方案和共享层的枢纽分配方案互相一致。”

  听完韩川的解释,许志远诧异地看了过来,蹙眉问道:“这样计算量不同样还是很大吗?”

  韩川摇摇头,道:“并不会。”

  “因为共享层处理的不是原始的线路数据,而是各层提交上来的需求汇总。”

  “需求汇总的数据量相对较小,因为一个换乘枢纽,不管连接多少条线路,在共享层里只对应一个变量:该枢纽的总换乘流量。”

  “你原来用协调参数处理的时候,每一条经过西直门的线路都要和其他所有经过西直门的线路做配对协调。”

  说着,他提起笔,在稿纸图层边重写了一个算式。

  “假设西直门有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求导,令导数为零.....”

  许志远看着那个矩阵表达式,沉默了几秒。

  然后他把韩川的稿纸拉过来,对照着上面的公式,开始修改自己的MATLAB代码。

  屏幕上的代码一行行流畅地刷过,不到半个小时左右的时间,许志远把代码粘进主程序里,然后打开题目附件里的站点数据文件,配好输入参数,按下了运行键。

  (本章未完,请点击下一页继续阅读)
第六十七章 :两秒!(2/3).继续阅读
《 加入书签,方便阅读 》
上一章 目录 下一章