发明名称 建立城市交通网络交叉口信号控制模型的方法
摘要 本发明公开了一种建立城市交通网络交叉口信号控制模型的方法,用于解决现有的城市交通网络交叉口信号控制复杂的技术问题。技术方案是根据交通信号控制的需求,通过本路口离散状态方程和相临路口之间的关系,建立城市交通网络交叉口信号控制模型,将整个交通网络模型的关联和制约关系全部体现。本发明根据信号控制的需求建立模型,根据优化指标对单个路口交通信号配时或对整个交通网络信号灯进行统一优化配时,进行城市交通网络动态分析,简化了城市交通网络交叉口信号控制问题。
申请公布号 CN101826261B 申请公布日期 2012.02.01
申请号 CN201010178817.X 申请日期 2010.05.20
申请人 西北工业大学 发明人 史忠科
分类号 G08G1/07(2006.01)I;G08G1/08(2006.01)I;G08G1/081(2006.01)I 主分类号 G08G1/07(2006.01)I
代理机构 西北工业大学专利中心 61204 代理人 黄毅新
主权项 1.一种建立城市交通网络十字交叉口信号控制模型的方法,其特征在于包括下述步骤:(a)建立第i个路口在时间(k+1)T的离散状态方程x(k+1,i)=x(k,i)-g(k,i)+v(k,i)+blockdiag[y<sub>e</sub>(kT-t<sub>des</sub>,i)I<sub>3*3</sub> y<sub>w</sub>(kT-t<sub>dws</sub>,i)I<sub>3*3</sub> y<sub>s</sub>(kT-t<sub>dss</sub>,i)I<sub>3*3</sub> y<sub>n</sub>(kT-t<sub>dns</sub>,i)I<sub>3*3</sub>]p(i)式中,<maths num="0001"><![CDATA[<math><mrow><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><mn>5</mn><msup><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>x</mi><mi>es</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow></mtd><mtd><msub><mi>x</mi><mi>er</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow></mtd><mtd><msub><mi>x</mi><mi>el</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow></mtd><mtd><msub><mi>x</mi><mi>ws</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow></mtd><mtd><msub><mi>x</mi><mi>wr</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow></mtd><mtd><msub><mi>x</mi><mi>wl</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><msub><mi>x</mi><mi>ss</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow></mtd><mtd><msub><mi>x</mi><mi>sr</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow></mtd><mtd><msub><mi>x</mi><mi>sl</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow></mtd><mtd><msub><mi>x</mi><mi>ns</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow></mtd><mtd><msub><mi>x</mi><mi>nr</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow></mtd><mtd><msub><mi>x</mi><mi>nl</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mi>T</mi></msup></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><mi>g</mi><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>g</mi><mi>es</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>tes</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd><mtd><msub><mi>g</mi><mi>er</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>ter</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd><mtd><msub><mi>g</mi><mi>el</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>tel</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd></mtr></mtable></mfenced></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>g</mi><mi>ws</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>tws</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd><mtd><msub><mi>g</mi><mi>wr</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>twr</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd><mtd><msub><mi>g</mi><mi>wl</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>twl</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd></mtr></mtable></mfenced></math>]]></maths><maths num="0005"><![CDATA[<math><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>g</mi><mi>ss</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>tss</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd><mtd><msub><mi>g</mi><mi>sr</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>tsr</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd><mtd><msub><mi>g</mi><mi>sl</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>tsl</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd></mtr></mtable></mfenced></math>]]></maths><maths num="0006"><![CDATA[<math><msup><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>g</mi><mi>ns</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>tns</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd><mtd><msub><mi>g</mi><mi>nr</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>tnr</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd><mtd><msub><mi>g</mi><mi>nl</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>tnl</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd></mtr></mtable></mfenced><mi>T</mi></msup></math>]]></maths>v(k,i)=[v<sub>es</sub>(k,i)v<sub>er</sub>(k,i)vX(k,i)v<sub>ws</sub>(k,i)v<sub>wr</sub>(k,i)v<sub>wl</sub>(k,i)v<sub>ss</sub>(k,i)v<sub>sr</sub>(k,i)v<sub>sl</sub>(k,i)v<sub>ns</sub>(k,i)v<sub>nr</sub>(k,i)v<sub>nl</sub>(k,i)]<sup>T</sup>p(i)=[p<sub>es</sub>(i)p<sub>er</sub>(i)p<sub>el</sub>(i)p<sub>ws</sub>(i)p<sub>wr</sub>(i)p<sub>wl</sub>(i)p<sub>ss</sub>(i)p<sub>sr</sub>(i)p<sub>sl</sub>(i)p<sub>ns</sub>(i)p<sub>nr</sub>(i)p<sub>nl</sub>(i)]<sup>T</sup><maths num="0007"><![CDATA[<math><mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>y</mi><mi>e</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>i</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>y</mi><mi>w</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>i</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>y</mi><mi>s</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>i</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>y</mi><mi>n</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>i</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>g</mi><mi>es</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>tes</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd></mtr><mtr><mtd><msub><mi>g</mi><mi>ws</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>tws</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd></mtr><mtr><mtd><msub><mi>g</mi><mi>ss</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>tss</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd></mtr><mtr><mtd><msub><mi>g</mi><mi>ns</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>tns</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd></mtr></mtable></mfenced><mo>+</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>g</mi><mi>nr</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>tnr</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd></mtr><mtr><mtd><msub><mi>g</mi><mi>sr</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>tsr</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd></mtr><mtr><mtd><msub><mi>g</mi><mi>er</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>ter</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd></mtr><mtr><mtd><msub><mi>g</mi><mi>wr</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>twr</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd></mtr></mtable></mfenced><mo>+</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>g</mi><mi>sl</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>tsl</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd></mtr><mtr><mtd><msub><mi>g</mi><mi>nl</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>tnl</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd></mtr><mtr><mtd><msub><mi>g</mi><mi>wl</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>twl</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd></mtr><mtr><mtd><msub><mi>g</mi><mi>el</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>sign</mi><mo>[</mo><mi>tel</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mo>]</mo></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>式中,T是离散系统的采样周期,<img file="FSB00000604960400018.GIF" wi="34" he="47" />是全部网络的统一时间;下标第一个字母s是自北向南方向,n是自南向北方向,e是自西向东方向,w自东向西方向,下标第二个字母s是直行、r右转、l左转;t<sub>des</sub>是上一个交叉路口朝向第i个路口进入东直方向到达该路口的时间;p(i)是上一个交叉路口朝向第i个路口分向该路口直行、右转、左转的概率;<img file="FSB00000604960400019.GIF" wi="832" he="123" /><img file="FSB000006049604000110.GIF" wi="251" he="49" />表示自西向东方向绿通行符号函数;(b)必选的绿冲突约束为tws(i)tss(i)=0,可选的绿冲突约束为tsl(i)tws(i)=0,tnl(i)tes(i)=0,tel(i)tss(i)=0,twl(i)tns(i)=0;(c)周期约束tws(i)=tes(i),tss(i)=tns(i),tes(i)-T<sub>min</sub><ter(i)<tes(i)+T<sub>min</sub>    tws(i)-T<sub>min</sub><twr(i)<tws(i)+T<sub>min</sub>tss(i)-T<sub>min</sub><tsr(i)<tss(i)+T<sub>min</sub>  tns(i)-T<sub>min</sub><tnr(i)<tns(i)+T<sub>min</sub>Tp(i,k)=tss(i)+tsl(i)+tws(i)+twl(i)T<sub>pmin</sub><Tp(i,k)<T<sub>pmax</sub>=tss(i)+tsl(i)+tws(i)+twl(i)时间<maths num="0008"><![CDATA[<math><mrow><mi>t</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><mi>Tp</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>.</mo></mrow></math>]]></maths>
地址 710072 陕西省西安市友谊西路127号