#MicroCity#
连续平均法基本概念
连续平均法(Method of Successive Averages, MSA)是一种用于解决交通工程中的路网分配问题的算法。这种方法迭代地调整路网中各条道路的流量,以逐渐接近系统最优或用户均衡状态。在用户均衡状态下,所有司机都选择了自认为最佳的路径,以至于没有任何司机能够通过单独改变自己的路线来减少自己的行程时间。
在MicroCity中的显现
初始化流量及设置参数
在连续平均法的起始阶段,首先设置迭代过程所需的各种参数,包括交通网络模型、需求量、最大迭代次数和收敛标准的阈值。流量分配的初始化一般设置为零,表示开始时假设各路段没有车流通过。此外,还需要设定一个迭代计数器,用于跟踪当前迭代的次数,该计数器起始值为0。为了衡量算法的进展,定义一个标志变量用来判断算法是否已经收敛。
计算行程时间和最短路径
在每次迭代中,首先根据当前的流量分配情况利用成本函数计算每条路段的行程时间。行程时间又被用来计算网络中各个起点到终点的最短路径。最短路径的计算可以使用如Dijkstra算法或者其他更适合特定网络特点的算法。这些最短路径将在下一个步骤被用于流量的分配。
分配流量
以最短路径结果为依据,将每对起点和终点之间的交通需求分配到对应的最短路径上。这就产生了每条路径上的更新流量分配理分配得到的流量信息。
更新流量分配
新一轮的流量(辅助流量)将被用来更新路网的流量。更新规则是将原先的流量与这一轮计算得到的流量进行一个加权平均,权重取决于迭代的次数,比如第k次迭代,权重是1/k。这样做的结果是当前流量分配向辅助流量逐渐移动,但又不会完全取代原有的分配情况。
检查收敛
在每次迭代后,检查流量分配是否已达到收敛状态,即最新的流量分配与上一轮的差距是否落在可接受的阈值之内。如果是,则停止迭代,算法结束。如果不是,继续返回执行计算行程时间和最短路径的步骤。如果达到了预设的最大迭代次数,即使没有完全收敛,算法也会停止