1.一种基于实时信息的地铁乘客服务方法,其特征在于:
步骤一:通过移动端设备自动连接布置在地铁站和地铁车厢中的无线服务器,让移动端设备与地铁车厢中的无线服务器进行实时的数据传输,无线服务器获取连入移动端设备的信息,移动端设备将得到的地铁当前位置、地铁站及地铁车厢中人流情况信息实时提供给乘客;
步骤二:采用启发式搜索方法得到最优的乘车路线方案,系统同时得到时间最优和距离最优方案供乘客进行选择;具体如下:
第一步:定义代价函数
1)在站点n乘坐地铁M的时间代价:
其中,Tn,M为地铁M到达站点n的剩余时间;
2)乘坐地铁M从站点n-1到达站点n的时间代价:
其中,为地铁M从站点n-1到站点n所需要的行驶时间;
3)乘坐地铁M从站点n-1到达站点n的距离代价:ψlength(n)=1 (3)
第二步:定义拥挤度评价标准
1)在地铁站n乘坐地铁M的拥挤度评价:
<mrow>
<mtable>
<mtr>
<mtd>
<mrow>
<msubsup>
<mi>&psi;</mi>
<mi>h</mi>
<mrow>
<mi>g</mi>
<mi>e</mi>
<mi>t</mi>
<mi>o</mi>
<mi>n</mi>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>,</mo>
<mi>M</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msub>
<mi>f</mi>
<mrow>
<mi>s</mi>
<mi>c</mi>
<mi>r</mi>
<mi>o</mi>
<mi>w</mi>
<mi>d</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>scount</mi>
<mi>n</mi>
</msub>
<mo>,</mo>
<msubsup>
<mi>scount</mi>
<mi>n</mi>
<mrow>
<mi>lim</mi>
<mi>i</mi>
<mi>t</mi>
</mrow>
</msubsup>
<mo>,</mo>
<msub>
<mi>&Sigma;mcount</mi>
<mrow>
<mi>n</mi>
<mo>,</mo>
<mi>M</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>/</mo>
<mn>2</mn>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>+</mo>
<msub>
<mi>f</mi>
<mrow>
<mi>m</mi>
<mi>c</mi>
<mi>r</mi>
<mi>o</mi>
<mi>w</mi>
<mi>d</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>&Sigma;mcount</mi>
<mrow>
<mi>n</mi>
<mo>,</mo>
<mi>M</mi>
</mrow>
</msub>
<mo>,</mo>
<msubsup>
<mi>&Sigma;mcount</mi>
<mrow>
<mi>n</mi>
<mo>,</mo>
<mi>M</mi>
</mrow>
<mrow>
<mi>l</mi>
<mi>lim</mi>
<mi>i</mi>
<mi>t</mi>
</mrow>
</msubsup>
<mo>,</mo>
<msubsup>
<mi>&Sigma;mcount</mi>
<mrow>
<mi>n</mi>
<mo>,</mo>
<mi>M</mi>
</mrow>
<mrow>
<mi>h</mi>
<mi>lim</mi>
<mi>i</mi>
<mi>t</mi>
</mrow>
</msubsup>
<mo>)</mo>
</mrow>
<mo>/</mo>
<mn>2</mn>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>4</mn>
<mo>)</mo>
</mrow>
</mrow>
2)乘坐地铁M在地铁站n下车的拥挤度评价:
<mrow>
<msubsup>
<mi>&psi;</mi>
<mi>h</mi>
<mrow>
<mi>g</mi>
<mi>e</mi>
<mi>t</mi>
<mi>o</mi>
<mi>f</mi>
<mi>f</mi>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>,</mo>
<mi>M</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msub>
<mi>f</mi>
<mrow>
<mi>m</mi>
<mi>c</mi>
<mi>r</mi>
<mi>o</mi>
<mi>w</mi>
<mi>d</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>&Sigma;mcount</mi>
<mrow>
<mi>n</mi>
<mo>,</mo>
<mi>M</mi>
</mrow>
</msub>
<mo>,</mo>
<msubsup>
<mi>&Sigma;mcount</mi>
<mrow>
<mi>n</mi>
<mo>,</mo>
<mi>M</mi>
</mrow>
<mrow>
<mi>l</mi>
<mi>lim</mi>
<mi>i</mi>
<mi>t</mi>
</mrow>
</msubsup>
<mo>,</mo>
<msubsup>
<mi>&Sigma;mcount</mi>
<mrow>
<mi>n</mi>
<mo>,</mo>
<mi>M</mi>
</mrow>
<mrow>
<mi>h</mi>
<mi>lim</mi>
<mi>i</mi>
<mi>t</mi>
</mrow>
</msubsup>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>5</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,fmcrowd为列车拥挤程度的评价函数,fscrowd为车站拥挤程度的评价函数,∑mcountn,M为即将到达车站n的M线路列车的总人数,为列车总座位数,为列车总人数上限,scountn为车站n的当前人数,为车站n可容纳人数上限;
第三步:根据不同的路线方案的特征,定义三类启发函数,即距离优先方案f(n)=glength(n)+hlength(n);时间优先方案f(n)=gtime(n)+htime(n);综合建议方案f(n)=gtotal(n)+htotal(n);
其中,
<mrow>
<msub>
<mi>g</mi>
<mrow>
<mi>t</mi>
<mi>i</mi>
<mi>m</mi>
<mi>e</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msubsup>
<mi>&psi;</mi>
<mrow>
<mi>t</mi>
<mi>i</mi>
<mi>m</mi>
<mi>e</mi>
</mrow>
<mrow>
<mi>g</mi>
<mi>e</mi>
<mi>t</mi>
<mi>o</mi>
<mi>n</mi>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>S</mi>
<mi>S</mi>
<mo>,</mo>
<mi>M</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mi>S</mi>
<mi>S</mi>
</mrow>
<mrow>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<mo>&lsqb;</mo>
<msubsup>
<mi>&psi;</mi>
<mrow>
<mi>t</mi>
<mi>i</mi>
<mi>m</mi>
<mi>e</mi>
</mrow>
<mrow>
<mi>g</mi>
<mi>e</mi>
<mi>t</mi>
<mi>o</mi>
<mi>n</mi>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>+</mo>
<mn>1</mn>
<mo>,</mo>
<mi>M</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msubsup>
<mi>&psi;</mi>
<mrow>
<mi>t</mi>
<mi>i</mi>
<mi>m</mi>
<mi>e</mi>
</mrow>
<mrow>
<mi>t</mi>
<mi>r</mi>
<mi>a</mi>
<mi>v</mi>
<mi>e</mi>
<mi>l</mi>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>7</mn>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mi>h</mi>
<mrow>
<mi>t</mi>
<mi>i</mi>
<mi>m</mi>
<mi>e</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mi>n</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mrow>
<mi>S</mi>
<mi>T</mi>
</mrow>
</munderover>
<mo>&lsqb;</mo>
<msubsup>
<mi>&psi;</mi>
<mrow>
<mi>t</mi>
<mi>i</mi>
<mi>m</mi>
<mi>e</mi>
</mrow>
<mrow>
<mi>g</mi>
<mi>e</mi>
<mi>t</mi>
<mi>o</mi>
<mi>n</mi>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>M</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msubsup>
<mi>&psi;</mi>
<mrow>
<mi>t</mi>
<mi>i</mi>
<mi>m</mi>
<mi>e</mi>
</mrow>
<mrow>
<mi>t</mi>
<mi>r</mi>
<mi>a</mi>
<mi>v</mi>
<mi>e</mi>
<mi>l</mi>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>8</mn>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>g</mi>
<mrow>
<mi>t</mi>
<mi>o</mi>
<mi>t</mi>
<mi>a</mi>
<mi>l</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msubsup>
<mi>&psi;</mi>
<mrow>
<mi>t</mi>
<mi>i</mi>
<mi>m</mi>
<mi>e</mi>
</mrow>
<mrow>
<mi>g</mi>
<mi>e</mi>
<mi>t</mi>
<mi>o</mi>
<mi>n</mi>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>S</mi>
<mi>S</mi>
<mo>,</mo>
<mi>M</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msubsup>
<mi>&psi;</mi>
<mi>h</mi>
<mrow>
<mi>g</mi>
<mi>e</mi>
<mi>t</mi>
<mi>o</mi>
<mi>n</mi>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>S</mi>
<mi>S</mi>
<mo>,</mo>
<mi>M</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>+</mo>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mi>S</mi>
<mi>S</mi>
</mrow>
<mrow>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<mo>&lsqb;</mo>
<msubsup>
<mi>&psi;</mi>
<mrow>
<mi>t</mi>
<mi>i</mi>
<mi>m</mi>
<mi>e</mi>
</mrow>
<mrow>
<mi>g</mi>
<mi>e</mi>
<mi>t</mi>
<mi>o</mi>
<mi>n</mi>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>+</mo>
<mn>1</mn>
<mo>,</mo>
<mi>M</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msubsup>
<mi>&psi;</mi>
<mrow>
<mi>t</mi>
<mi>i</mi>
<mi>m</mi>
<mi>e</mi>
</mrow>
<mrow>
<mi>t</mi>
<mi>r</mi>
<mi>a</mi>
<mi>v</mi>
<mi>e</mi>
<mi>l</mi>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msubsup>
<mi>&psi;</mi>
<mi>h</mi>
<mrow>
<mi>g</mi>
<mi>e</mi>
<mi>t</mi>
<mi>o</mi>
<mi>n</mi>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>+</mo>
<mn>1</mn>
<mo>,</mo>
<mi>M</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msubsup>
<mi>&psi;</mi>
<mi>h</mi>
<mrow>
<mi>g</mi>
<mi>e</mi>
<mi>t</mi>
<mi>o</mi>
<mi>f</mi>
<mi>f</mi>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>+</mo>
<mn>1</mn>
<mo>,</mo>
<mi>M</mi>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>9</mn>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mi>h</mi>
<mrow>
<mi>t</mi>
<mi>o</mi>
<mi>t</mi>
<mi>a</mi>
<mi>l</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mi>n</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mrow>
<mi>S</mi>
<mi>T</mi>
</mrow>
</munderover>
<mo>&lsqb;</mo>
<msubsup>
<mi>&psi;</mi>
<mrow>
<mi>t</mi>
<mi>i</mi>
<mi>m</mi>
<mi>e</mi>
</mrow>
<mrow>
<mi>g</mi>
<mi>e</mi>
<mi>t</mi>
<mi>o</mi>
<mi>n</mi>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>M</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msubsup>
<mi>&psi;</mi>
<mrow>
<mi>t</mi>
<mi>i</mi>
<mi>m</mi>
<mi>e</mi>
</mrow>
<mrow>
<mi>t</mi>
<mi>r</mi>
<mi>a</mi>
<mi>v</mi>
<mi>e</mi>
<mi>l</mi>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msubsup>
<mi>&psi;</mi>
<mi>h</mi>
<mrow>
<mi>g</mi>
<mi>e</mi>
<mi>t</mi>
<mi>o</mi>
<mi>n</mi>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>M</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msubsup>
<mi>&psi;</mi>
<mi>h</mi>
<mrow>
<mi>g</mi>
<mi>e</mi>
<mi>t</mi>
<mi>o</mi>
<mi>f</mi>
<mi>f</mi>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>M</mi>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>10</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,SS为当前乘客所在站点,ST为可选择下车的地铁站;
第四步:通过以上的启发式信息对最佳路线进行搜索,流程如下:
1)用邻接矩阵A表示站点的网络模型:
2)生成空open表和空closed表分别存放下一次到达的站点节点和已经到达的站点节点,并将当前乘客所在站点SS作为第一个路径节点放入open表中,
3)分别计算open表中的候选节点对应的启发函数f的值,并将值最小的节点记为bestNode,将其放入closed表中;
4)如果bestNode为ST,则算法结束,否则计算与bestNode连接的所有节点的g;如果没有子节点,则将该节点从open表中去除,返回步骤3);
5)若bestNode的子节点在open表中,则对open表中所有节点的g值进行更新,更新准则为g(old)=g(new),if g(old)≥g(new);若bestNode的子节点在closed表中,如果g(old)≥g(new),则g(old)=g(new),并重新计算所有old的子节点的g值;若bestNode的子节点不在closed表或open表中,将该节点插入open表中;
6)转到步骤3)继续搜索,直到满足终止点条件为止,最终所有有效点的连线就是得到的路径;
步骤三:当乘客在地铁站候车时,根据即将到达该站台的地铁内各节车厢的无线服务器的信息确定各节车厢人流情况,指引乘客在人流较为稀疏的位置候车;
步骤四:确定乘车方案后,系统根据当前乘客的位置情况,实时提供行程提醒,提醒内容包括车厢人数较为稀疏的候车区域,所乘坐地铁即将到达下一站的时间以及乘客的下车站点和时间,地铁站的建议出口和相应的地图信息。