发明名称 多方有益的出租车拼车调度方法
摘要 本发明提供一种多方有益的出租车拼车调度方法,其包括:对于乘客发送的乘车请求,调度中心分析其中包含的信息:乘客数目、上车位置和上车位置时间范围、下车位置和下车位置时间范围、愿意支付的小费;调度中心跟踪各出租车的状态,包括出租车位置和车上乘客数目,根据乘车请求中的信息和出租车状态设定整数线性规划的目标函数,计算得到最优解,将求解整数线性规划得到的调度作为当前出租车拼车调度方案。该方法还包括一个动态的规划更新机制,只有当新调度对于目标函数的提升能够达到或超过一个阈值,才对当前的出租车调度进行更新。本发明可以降低乘客打车的花费,增加出租车司机的收益,使得多方受益。
申请公布号 CN104408910B 申请公布日期 2016.06.15
申请号 CN201410683491.4 申请日期 2014.11.24
申请人 无锡清华信息科学与技术国家实验室物联网技术中心 发明人 张善丰;马强;朱彤;刘克彬;毛续飞;刘云浩
分类号 G08G1/00(2006.01)I 主分类号 G08G1/00(2006.01)I
代理机构 无锡市大为专利商标事务所(普通合伙) 32104 代理人 曹祖良
主权项 一种多方有益的出租车拼车调度方法,其特征在于:对于乘客发送的乘车请求,调度中心分析其中包含的信息:乘客数目、上车位置和上车位置时间范围、下车位置和下车位置时间范围、愿意支付的小费;调度中心跟踪各出租车的状态,包括出租车位置和车上乘客数目,根据乘车请求中的信息和出租车状态设定整数线性规划的目标函数,计算得到最优解,将求解整数线性规划得到的调度作为当前出租车拼车调度方案;所述整数线性规划具体包括:刻画出租车拼车调度:首先,使用<img file="FDA00009240579500000110.GIF" wi="399" he="69" />来表示当前正要处理的乘车请求集合,n表示乘车请求数,使用<img file="FDA00009240579500000111.GIF" wi="386" he="71" />来表示道路上出租车的集合,m表示出租车数;接着,将出租车拼车调度问题刻画在一个有向图G(N,A)中,N用来表示有向图G中节点的集合,A用来表示有向图G中有向边的集合,其中N=O∪P∪D,O={1,…,m},P={m+1,…,m+n},D={m+n+1,…,m+2n};集合P和D用来表示上车位置和下车位置,集合O用来表示出租车当前的位置;用c来表示每辆出租车的最大载客数目;每一个有向图G中的节点i都赋予一个负载q<sub>i</sub>;对于i属于O或P,负载q<sub>i</sub>≥1,对于i属于D,负载q<sub>i</sub>=‑q<sub>i‑n</sub>;负载q<sub>i</sub>用来表示一个乘车请求中乘客的人数;对于每一个P和D中的节点,设定一个时间窗口[e<sub>i</sub>,l<sub>i</sub>]来表示最早和最晚到达这个节点i的时间限制;对于每一个节点i属于D,使用β<sub>i</sub>来表示对于乘车请求R<sub>i‑m‑n</sub>的线性递减系数;对于有向图G中每一条有向边(i,j)和每一辆出租车,如果车辆k被调度去通行(i,j)这条道路,则将<img file="FDA0000924057950000011.GIF" wi="78" he="89" />设置为1,否则设置为0;<img file="FDA0000924057950000012.GIF" wi="83" he="88" />表示出租车k是否通行(i,j)这条道路,取值1表示通行,取值0表示不通行;使用<img file="FDA0000924057950000013.GIF" wi="74" he="84" />来表示出租车k到达节点i时的时间,使用<img file="FDA0000924057950000014.GIF" wi="72" he="87" />来表示出租车到达节点i时,车上的乘客数目;设定整数线性规划的限制条件:1)从出租车位置出来的流最多为一:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><msub><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><mi>N</mi></mrow></msub><msubsup><mi>x</mi><mrow><mi>k</mi><mo>,</mo><mi>j</mi></mrow><mi>k</mi></msubsup><mo>&le;</mo><mn>1</mn></mrow></mtd><mtd><mrow><mo>&ForAll;</mo><mi>k</mi><mo>&Element;</mo><mi>v</mi><mo>.</mo></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000924057950000015.GIF" wi="1637" he="89" /></maths>2)所有进入上车位置即接客位置的流都会离开这个位置:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><msub><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><mi>N</mi></mrow></msub><msubsup><mi>x</mi><mrow><mi>j</mi><mi>i</mi></mrow><mi>k</mi></msubsup><mo>=</mo><msub><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><mi>N</mi></mrow></msub><msubsup><mi>x</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>k</mi></msubsup></mrow></mtd><mtd><mrow><mo>&ForAll;</mo><mi>i</mi><mo>&Element;</mo><mi>P</mi><mo>,</mo><mi>k</mi><mo>&Element;</mo><mi>v</mi><mo>.</mo></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000924057950000016.GIF" wi="1646" he="91" /></maths>3)限制所有出租车从上车位置出来的流最多为一,用公式(3‑1)表示;限制经过上车位置的出租车,最终会到达下车位置,用公式(3‑2)表示;<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><msub><mi>&Sigma;</mi><mrow><mi>k</mi><mo>&Element;</mo><mi>v</mi></mrow></msub><msub><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><mi>N</mi></mrow></msub><msubsup><mi>x</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>k</mi></msubsup><mo>=</mo><mn>1</mn></mrow></mtd><mtd><mrow><mo>&ForAll;</mo><mi>i</mi><mo>&Element;</mo><mi>P</mi></mrow></mtd></mtr></mtable><mo>.</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA00009240579500000112.GIF" wi="1663" he="81" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><msub><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><mi>N</mi></mrow></msub><msubsup><mi>x</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>k</mi></msubsup><mo>=</mo><msub><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><mi>N</mi></mrow></msub><msubsup><mi>x</mi><mrow><mi>j</mi><mo>,</mo><mi>i</mi><mo>+</mo><mi>n</mi></mrow><mi>k</mi></msubsup></mrow></mtd><mtd><mrow><mo>&ForAll;</mo><mi>i</mi><mo>&Element;</mo><mi>P</mi><mo>,</mo><mi>k</mi><mo>&Element;</mo><mi>v</mi></mrow></mtd></mtr></mtable><mo>.</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>-</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA00009240579500000113.GIF" wi="1651" he="91" /></maths>4)到达终点的流的总数目大于等于进入终点的流的总数目:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><msub><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><mi>N</mi></mrow></msub><msubsup><mi>x</mi><mrow><mi>j</mi><mi>i</mi></mrow><mi>k</mi></msubsup><mo>&GreaterEqual;</mo><msub><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><mi>N</mi></mrow></msub><msubsup><mi>x</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>k</mi></msubsup></mrow></mtd><mtd><mrow><mo>&ForAll;</mo><mi>i</mi><mo>&Element;</mo><mi>D</mi><mo>,</mo><mi>k</mi><mo>&Element;</mo><mi>v</mi><mo>.</mo></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000924057950000019.GIF" wi="1622" he="87" /></maths>5)刻画出租车到达每一个位置的时间关联性,用公式(5‑1)表示;限制出租车到达每一个位置的时间处于规定范围内,用公式(5‑2)表示;限制出租车会先到达上车位置,再达到下车位置,用公式(5‑3)表示;<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><msubsup><mi>T</mi><mi>j</mi><mi>k</mi></msubsup><mo>&GreaterEqual;</mo><mrow><mo>(</mo><msubsup><mi>T</mi><mi>i</mi><mi>k</mi></msubsup><mo>+</mo><msub><mi>t</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>)</mo></mrow><msubsup><mi>x</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>k</mi></msubsup></mrow></mtd><mtd><mrow><mo>&ForAll;</mo><mi>i</mi><mo>&Element;</mo><mi>N</mi><mo>,</mo><mi>j</mi><mo>&Element;</mo><mi>N</mi><mo>,</mo><mi>k</mi><mo>&Element;</mo><mi>v</mi><mo>.</mo></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000924057950000021.GIF" wi="1638" he="90" /></maths><maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><msub><mi>e</mi><mi>i</mi></msub><mo>&le;</mo><msubsup><mi>T</mi><mi>i</mi><mi>k</mi></msubsup><mo>&le;</mo><msub><mi>l</mi><mi>i</mi></msub></mrow></mtd><mtd><mrow><mo>&ForAll;</mo><mi>i</mi><mo>&Element;</mo><mi>P</mi><mo>&cup;</mo><mi>D</mi><mo>,</mo><mi>k</mi><mo>&Element;</mo><mi>v</mi></mrow></mtd></mtr></mtable><mo>.</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>-</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000924057950000028.GIF" wi="1654" he="75" /></maths><maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><msubsup><mi>T</mi><mi>i</mi><mi>k</mi></msubsup><mo>&le;</mo><msubsup><mi>T</mi><mrow><mi>n</mi><mo>+</mo><mi>i</mi></mrow><mi>k</mi></msubsup></mrow></mtd><mtd><mrow><mo>&ForAll;</mo><mi>i</mi><mo>&Element;</mo><mi>P</mi><mo>,</mo><mi>k</mi><mo>&Element;</mo><mi>v</mi></mrow></mtd></mtr></mtable><mo>.</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>-</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000924057950000029.GIF" wi="1627" he="79" /></maths>其中,t<sub>ij</sub>表示从有向图G中节点i到节点j所需要的时间;6)刻画出租车达到每一个位置时,车上乘客的数量,用公式(6‑1)表示;限制乘客数量小于车的容量c,用公式(6‑2)表示:<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><msubsup><mi>Q</mi><mi>j</mi><mi>k</mi></msubsup><mo>&GreaterEqual;</mo><mrow><mo>(</mo><msubsup><mi>Q</mi><mi>i</mi><mi>k</mi></msubsup><mo>+</mo><msub><mi>q</mi><mi>j</mi></msub><mo>)</mo></mrow><msubsup><mi>x</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>k</mi></msubsup></mrow></mtd><mtd><mrow><mo>&ForAll;</mo><mi>i</mi><mo>&Element;</mo><mi>N</mi><mo>,</mo><mi>j</mi><mo>&Element;</mo><mi>N</mi><mo>,</mo><mi>k</mi><mo>&Element;</mo><mi>v</mi><mo>.</mo></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000924057950000024.GIF" wi="1637" he="84" /></maths><maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><msubsup><mi>Q</mi><mi>i</mi><mi>k</mi></msubsup><mo>&le;</mo><mi>c</mi></mrow></mtd><mtd><mrow><mo>&ForAll;</mo><mi>i</mi><mo>&Element;</mo><mi>N</mi><mo>,</mo><mi>k</mi><mo>&Element;</mo><mi>v</mi><mo>.</mo></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>-</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000924057950000025.GIF" wi="1629" he="78" /></maths>设定整数线性规划的目标函数;有两个目标函数,第一个目标函数用于优化司机赚到的小费的数目,用公式(7)表示:<maths num="0011" id="cmaths0011"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><msub><mi>max&Sigma;</mi><mrow><mi>i</mi><mo>&Element;</mo><mi>D</mi></mrow></msub><mrow><mo>(</mo><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>-</mo><msub><mi>&beta;</mi><mi>i</mi></msub><mo>(</mo><msub><mi>&Sigma;</mi><mi>k</mi></msub><msubsup><mi>T</mi><mi>i</mi><mi>k</mi></msubsup><mo>-</mo><msub><mi>e</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>)</mo><mo>.</mo></mrow></mtd><mtd><mrow><mo>,</mo><mi>k</mi><mo>&Element;</mo><mi>v</mi></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000924057950000026.GIF" wi="1501" he="79" /></maths>其中,α<sub>i</sub>为每位发送乘车请求的乘客愿意最多支付的消费;第二个目标函数用于最小化所有乘客送达延时的加权和,用公式(8)表示:<maths num="0012" id="cmaths0012"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><msub><mi>min&Sigma;</mi><mrow><mi>i</mi><mo>&Element;</mo><mi>D</mi></mrow></msub><msub><mi>&beta;</mi><mi>i</mi></msub><msub><mi>&Sigma;</mi><mi>k</mi></msub><msubsup><mi>T</mi><mi>i</mi><mi>k</mi></msubsup><mo>.</mo></mrow></mtd><mtd><mrow><mo>,</mo><mi>k</mi><mo>&Element;</mo><mi>v</mi></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000924057950000027.GIF" wi="1499" he="86" /></maths>求得公式(7)或(8)中的一个最优解,然后将求解整数线性规划得到的调度作为当前出租车拼车调度方案。
地址 214135 江苏省无锡市新区菱湖大道清源路大学科技园立业楼A区5楼