CN108734353A - 一种公交线路行车计划生成方法及装置 - Google Patents
一种公交线路行车计划生成方法及装置 Download PDFInfo
- Publication number
- CN108734353A CN108734353A CN201810496948.9A CN201810496948A CN108734353A CN 108734353 A CN108734353 A CN 108734353A CN 201810496948 A CN201810496948 A CN 201810496948A CN 108734353 A CN108734353 A CN 108734353A
- Authority
- CN
- China
- Prior art keywords
- train number
- last
- time
- frequency
- bus network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/20—Monitoring the location of vehicles belonging to a group, e.g. fleet of vehicles, countable or determined number of vehicles
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Educational Administration (AREA)
- Traffic Control Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种公交线路行车计划生成方法及装置,该方法包括获取公交线路的首、末班时刻和时段发车数量,根据首、末班时刻和时段发车数量,生成预发车时刻表,对预发车时刻表进行校验,并确定出校验后的预发车时刻表中相邻车次的发车间隔,根据相邻车次的发车间隔和所述首班时刻,确定公交线路上各车次的发车时刻,为公交线路上各车次的发车时刻安排班次,生成公交线路的行车计划。基于首、末班时刻和时段发车数量,可以自动生成行车计划,提高了行车计划编制的效率、提升了行车计划于实际线路情况的匹配度,提高了乘车公交出行的满意度,提高了公交资源的利用率。
Description
技术领域
本发明实施例涉及公交计划管理领域,尤其涉及一种公交线路行车计划生成方法及装置。
背景技术
公交行车计划的编制是公交企业运营重要基础工作之一,准确可靠的计划能够优化公交运行效率、提高乘客满意度。公交行车计划编制参数繁多、复杂多变,目前的编制主要以人工编制为主,编制效率低下,时间从几小时到几天不等。此外低下的编制效率造成公交计划的更新周期长,使行车计划未能很好的符合实际线路的运行情况。
发明内容
本发明实施例提供一种公交线路行车计划生成方法及装置,用以提高公交计划编制的效率,以及更新周期。
本发明实施例提供的一种公交线路行车计划生成方法,包括:
获取公交线路的首、末班时刻和时段发车数量;
根据所述首、末班时刻和所述时段发车数量,生成预发车时刻表;
对所述预发车时刻表进行校验,并确定出校验后的预发车时刻表中相邻车次的发车间隔;
根据所述相邻车次的发车间隔和所述首班时刻,确定所述公交线路上各车次的发车时刻;
为所述公交线路上各车次的发车时刻安排班次,生成所述公交线路的行车计划。
基于首、末班时刻和时段发车数量,可以自动生成行车计划,提高了行车计划编制的效率、提升了行车计划于实际线路情况的匹配度,提高了乘车公交出行的满意度,提高了公交资源的利用率。
可选的,所述根据所述首、末班时刻和所述时段发车数量,生成预发车时刻表,包括:
根据所述时段发车数量,按照间隔平均法对所述时段发车数量对应的时段进行划分,得到所述时段发车间隔;
根据所述首、末班时刻和所述时段发车间隔,得到时段内各车次的发车时刻,生成预发车时刻表。
通过间隔平均法可以划分各时段的发车间隔,从而在根据首、末班时刻,就可以得到各车次的发车时刻,从而可以快速的一个未挂班的预发车时刻表。
可选的,所述对所述预发车时刻表进行校验,包括:
若所述预发车时刻表中各车次的一圈时间内包含的车次数小于等于所述公交线路上的配车数,则确定校验通过;否则将本圈时间内删除第一数量的车次,并对本圈时间内剩余车次的发车时刻进行重新划分;其中,所述各车次的一圈时间为所述各车次的发车时刻与所述公交线路上车辆的第一运行时间和第一站停时间之和。
通过对预发车时刻表的校验,可以提高发车间隔划分的准确度。
可选的,所述为所述公交线路上各车次的发车时刻安排班次,生成所述公交线路的行车计划,包括:
获取满足预设条件的班次列表;
若所述满足预设条件的班次列表不为空,则按照班型属性将所述满足预设条件的班次列表划分为双班列表、单班列表和高峰班列表;按照所述各车次的发车时刻的顺序,依次从所述双班列表、所述单班列表和所述高峰班列表中按照班次号选取班次安排到所述各车次的发车时刻上,生成所述公交线路的行车计划;
若所述满足预设条件的班次列表为空,则将所述相邻车次的发车间隔增大第一预设时间,重新确定所述公交线路上各车次的发车时刻。
可选的,所述预设条件包括下列条件之一或任意组合:
班次的上班时间早于等于车次的发车时刻;
班次已经安排的车次数小于计划的总车次数;
班次的上一圈的发车时刻与上一圈的运行时间、站停时间之和早于车次的发车时刻;
若车次的发车时刻位于早晚饭时段,则班次的站停时间大于等于第一吃饭时长。
可选的,在生成所述公交线路的行车计划之后,还包括:
确定所述行车计划中的高峰时段的发车数是否小于预设的高峰车次数;
若是,则将位于所述高峰时段之前的平峰时段的车次减少第二数量,重新生成所述公交线路的行车计划。
可选的,在生成所述公交线路的行车计划之后,还包括:
确定所述行车计划中的末班车的时刻是否等于所述获取的公交线路的末班时间;
若否,则调整所述行车计划中的最后一个车次。
可选的,所述调整所述行车计划中的最后一个车次,包括:
若所述最后一个车次的发车时刻晚于所述末班时间,则删除所述最后一个车次,并将位于所述最后一个车次之前的车次的发车时刻确定为所述末班车的时刻,对所述最后一个车次之前的车次以及位于所述最后一个车次之前的车次之前第三数量的车次之间的发车间隔进行平均调整;
若所述最后一个车次的发车时刻早于所述末班时间,则对所述最后一个车以及位于所述最后一个车次之前的第三数量的车次之间的发车间隔进行平均调整。
相应的,本发明实施例还提供了一种公交线路行车计划生成装置,包括:
获取单元,用于获取公交线路的首、末班时刻和时段发车数量;
生成单元,用于根据所述首、末班时刻和所述时段发车数量,生成预发车时刻表;
确定单元,用于对所述预发车时刻表进行校验,并确定出校验后的预发车时刻表中相邻车次的发车间隔;以及根据所述相邻车次的发车间隔和所述首班时刻,确定所述公交线路上各车次的发车时刻;
所述生成单元,还用于为所述公交线路上各车次的发车时刻安排班次,生成所述公交线路的行车计划。
可选的,所述生成单元具体用于:
根据所述时段发车数量,按照间隔平均法对所述时段发车数量对应的时段进行划分,得到所述时段发车间隔;
根据所述首、末班时刻和所述时段发车间隔,得到时段内各车次的发车时刻,生成预发车时刻表。
可选的,所述确定单元具体用于:
若所述预发车时刻表中各车次的一圈时间内包含的车次数小于等于所述公交线路上的配车数,则确定校验通过;否则将本圈时间内删除第一数量的车次,并对本圈时间内剩余车次的发车时刻进行重新划分;其中,所述各车次的一圈时间为所述各车次的发车时刻与所述公交线路上车辆的第一运行时间和第一站停时间之和。
可选的,所述生成单元具体用于:
获取满足预设条件的班次列表;
若所述满足预设条件的班次列表不为空,则按照班型属性将所述满足预设条件的班次列表划分为双班列表、单班列表和高峰班列表;按照所述各车次的发车时刻的顺序,依次从所述双班列表、所述单班列表和所述高峰班列表中按照班次号选取班次安排到所述各车次的发车时刻上,生成所述公交线路的行车计划;
若所述满足预设条件的班次列表为空,则将所述相邻车次的发车间隔增大第一预设时间,重新确定所述公交线路上各车次的发车时刻。
可选的,所述预设条件包括下列条件之一或任意组合:
班次的上班时间早于等于车次的发车时刻;
班次已经安排的车次数小于计划的总车次数;
班次的上一圈的发车时刻与上一圈的运行时间、站停时间之和早于车次的发车时刻;
若车次的发车时刻位于早晚饭时段,则班次的站停时间大于等于第一吃饭时长。
可选的,所述确定单元还用于:
在生成所述公交线路的行车计划之后,确定所述行车计划中的高峰时段的发车数是否小于预设的高峰车次数;
若是,则将位于所述高峰时段之前的平峰时段的车次减少第二数量,重新生成所述公交线路的行车计划。
可选的,所述确定单元还用于:
在生成所述公交线路的行车计划之后,确定所述行车计划中的末班车的时刻是否等于所述获取的公交线路的末班时间;
若否,则调整所述行车计划中的最后一个车次。
可选的,所述确定单元具体用于:
若所述最后一个车次的发车时刻晚于所述末班时间,则删除所述最后一个车次,并将位于所述最后一个车次之前的车次的发车时刻确定为所述末班车的时刻,对所述最后一个车次之前的车次以及位于所述最后一个车次之前的车次之前第三数量的车次之间的发车间隔进行平均调整;
若所述最后一个车次的发车时刻早于所述末班时间,则对所述最后一个车以及位于所述最后一个车次之前的第三数量的车次之间的发车间隔进行平均调整。
相应的,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述公交线路行车计划方法。
相应的,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述公交线路行车计划方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种***架构的示意图;
图2为本发明实施例提供的一种公交线路行车计划生成方法的流程示意图;
图3为本发明实施例提供的一种时刻表校验的示意图;
图4为本发明实施例提供的一种公交线路行车计划生成装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例提供的公交线路行车计划方法所适用的***架构。参考图1所示,该***架构可以为服务器100,包括处理器110、通信接口120和存储器130。该服务器100可以是位于公交控制中心的服务器,也可以为其它分中心的服务器,或者是公交线路首末站的场站的服务器,本发明实施例对此不做限制。
其中,通信接口120用于公交***的终端设备进行通信,收发该终端设备传输的信息,实现通信。
处理器110是服务器100的控制中心,利用各种接口和线路连接整个服务器100的各个部分,通过运行或执行存储在存储器130内的软件程序/或模块,以及调用存储在存储器130内的数据,执行服务器100的各种功能和处理数据。可选地,处理器110可以包括一个或多个处理单元。
存储器130可用于存储软件程序以及模块,处理器110通过运行存储在存储器130的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器130可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据业务处理所创建的数据等。此外,存储器130可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
为了能够清楚描述本发明实施例提供的方法,还需要下述定义的参数信息:
(1)定义公交线路类型,类型有环形线路或者上下行线路两种,其中上下行线路有主站和副站两个停车场。
(2)公交线路的首班车和末班车时刻,如果是上下行线路需要分别设置主站和副站的首、末班时刻。
(3)公交线路里程信息,上下行线路需分别设置上行和下行的里程信息。
(4)线路分时段的时段发车数和最小发车数(如果是上下行线路需要分别设置主站和副站)。
(5)线路分时段的单程周转时间,对于上下行线路需要分别设置上行和下行的时段单程时间。
(6)线路分时段车辆的最小停站时间,最优停站时间,最大停站时间,如果是上下行线路需要分别设置主站和副站的分时段车辆停站时间。
(7)早晚、晚饭的吃饭时间段和吃饭时长。
(8)设置线路的班次信息,假设线路的总车辆数为M,则设置M个班次,每辆车对应一个班次,班次号分别为[1,2,3..M],设置每个班次的班型(双班、高峰班、单班)及班次一天的总发车次数,高峰班可以分别设置上午班和下午班的车次数;同时需要设置班次的开始时刻,对于高峰班可以分别设置早高峰和晚高峰的开始时刻,并设置班次出场和入场场站。
(9)线路高峰和平峰时段开始结束时刻的设置,可以分别进行早高峰和晚高峰两个高峰时段的设置。
基于上述描述,图2示例性的示出了本发明实施例提供的一种公交线路行车计划生成方法的流程,该流程可以由公交线路行车计划生成装置执行,该装置可以位于上述服务器100内,也可以是上述服务器100。
如图2所示,该流程具体包括:
步骤201,获取公交线路的首、末班时刻和时段发车数量。
为了能够更好的自动生成满足约束条件的公交线路行车计划,需要获取一些参数,其中,公交线路的首、末班时刻和时段发车数量是必需的,该公交线路的首、末班时刻和时段发车数量可以是工作人员输入的,也可以是根据公交线路预设的。
在本发明实施例中时段是按照首、末班时刻之间的时间段进行划分的,这里可以依据经验进行划分,比如1个小时为一个时段,6:00-7:00,本发明实施例对此不做限制。
步骤202,根据所述首、末班时刻和所述时段发车数量,生成预发车时刻表。
该预发车时刻表为一个预先生成的简易时刻表,未安排的车辆班次的时刻表。在生成该预发车时刻表时,具体可以为:首先根据时段发车数量,按照间隔平均法对时段发车数量对应的时段进行划分,得到时段发车间隔,然后根据首、末班时刻和时段发车间隔,得到时段内各车次的发车时刻,生成预发车时刻表。在使用间隔平均法对每一个时段进行划分时,可能会出现不整除的现象,此时需要将余数进行调整。
举例来说,根据获取的首、末班时刻和时段发车数生成全天的未挂班次号的预发车时刻表[t1,t2,t3,…,tn-1,tn],未挂班次号也就是未安排班次号,其中车次总数为N,其中t1为首班时刻,tn为末班时刻。具体方法为:时段6:00-7:00的时段发车数为8个,那么按照间隔平均的方法可以获得此时段的所有发车间隔分别为[8,8,8,9,9,9,9],对应的该时段的发车时刻分别为[6:00,6:08,6:16,6:24,6:33,6:42,6:51,7:00],这里导致发车时间间隔不一致的原因是发车数不能被时段跨度整除,仍有余数,余数被分配到首部或者末尾。余数分配的原则为:如果该时段的下一个时段的平均发车间隔大于该时段,那么余数被分配到该时段的尾部,反之分配到该时段的首部。
需要说明的是,在时段交接处采用发车时间间隔平滑过渡方法避免大的间隔变化。预发车时刻表涵盖线路首末班,并满足时段计划安排的车次数,如果线路为上下行线路需要分别生成上行和下行的预发车时刻表。
步骤203,对所述预发车时刻表进行校验,并确定出校验后的预发车时刻表中相邻车次的发车间隔。
在得到上述预发车时刻表之后,为了能得到更优化的时刻表,还需要进行校验,也可以称之为是对车次数进行校验。在具体校验时,若预发车时刻表中各车次的一圈时间内包含的车次数小于等于公交线路上的配车数,则确定校验通过,否则将本圈时间内删除第一数量的车次,并对本圈时间内剩余车次的发车时刻进行重新划分。其中,各车次的一圈时间为各车次的发车时刻与公交线路上车辆的第一运行时间和第一站停时间之和。该第一运行时间和第一站停时间可以依据经验进行设置,例如,该第一运行时间可以为该公交线路上车辆的最优运行时间,该第一站停时间可以为最优站停时间,该站停时间为公交车辆在停车场停靠的时间。在本发明实施例中,一圈时间表示一辆车从一次发车时刻到另一次发车时刻间的时间,例如车辆A本车次发车时刻为10点,第一运行时间为50分钟,第一站停时间为10分钟,则车辆A的一圈时间可以用[10:00,11:00]来表示,其中,11:00是车辆A下一次的发车时刻。此时统计[10:00,11:00]内的车次数,如果该车次数小于等于公交该线路上配车数,说明其满足要求,不需要进行处理。上述第一数量为一圈时间内包含的车次数与公交线路上的配车数的差值。
在得到校验预发车时刻表之后,将预发车时刻表中相邻车次的发车时刻相减就可以得到该相邻车次的发车间隔。
举例来说,对生成的预发车时刻表[t1,t2,t3,…,tn-1,tn]做车次数校验,方法为根据线路配车数M,对预发车时刻表每一圈时间内的车次数做校验,如图3,迭代计算预时刻表每一圈时间内(Tstart,Tend)的车次数P,Tstart为每一分圈的开始时间,Tend为Tstart加上Tstart时刻线路的最优运行时间和Tstart时刻的最优停站时间,如果P<=M满足条件不做处理,如果P>M表示当前一圈内发车总数大于配车数,则在本圈内时刻表中删除(P-M)个车次,并对删除车次范围内的时刻表的局部区域发车时间重新平滑处理,直至最后一个分圈校验结束。
根据校验后的预发车时刻表计算相邻车次的间隔,可以获取全天详细的相邻车次的发车间隔[Δt1,Δt2,Δt3...Δtn-2,Δtn-1],总个数为N-1,其中Δti=ti-ti-1。需要说明的是,此处的相邻车次的发车间隔只作为后续计划生成的参考数值,在迭代生成过程中根据需要进行局部调节。
步骤204,根据所述相邻车次的发车间隔和所述首班时刻,确定所述公交线路上各车次的发车时刻。
使用相邻车次的发车间隔[Δt1,Δt2,Δt3...Δtn-2,Δtn-1],开始逐个重新生成发车时刻表的发车时刻。例如生成发车时刻ti,如果i=1表示生成第一个车次的发车时刻,那么直接选取线路的首班时刻;如果i>1,则发车时刻ti等于上一发车时刻ti-1加上发车间隔[Δt1,Δt2,Δt3...Δtn-2,Δtn-1]中第i个发车间隔,即ti=ti-1+Δti,从而可以确定出该公交线路上各车次的发车时刻。
步骤205,为所述公交线路上各车次的发车时刻安排班次,生成所述公交线路的行车计划。
在确定公交线路上各车次的发车时刻之后,就可以为各车次的发车时刻安排班次了。此时需要先获取满足预设条件的班次列表,若满足预设条件的班次列表不为空,则按照班型属性将满足预设条件的班次列表划分为双班列表、单班列表和高峰班列表,按照各车次的发车时刻的顺序,依次从双班列表、单班列表和高峰班列表中按照班次号选取班次安排到各车次的发车时刻上,生成公交线路的行车计划。这里的班型属性可以为双班属性、单班属性和高峰班属性,该属性是车辆的属性,也就是班次的属性。在安排班次时,优先从双班列表中选取班次号最小的班次,例如,双班列表中包括的班次号为3、5、9、11、12等。先将3号班次安排到车次1,然后5号班次安排到车次2,9号班次安排到车次3。如果双班列表中的班次安排完了,则再从单班列表中按班次号从小到大选取班次,高峰班次亦如此。
若满足预设条件的班次列表为空,则将相邻车次的发车间隔增大第一预设时间,重新确定公交线路上各车次的发车时刻。该第一预设时间可以依据经验设置,例如,可以为1分钟、2分钟等。
举例来说,对生成的车次的发车时刻ti安排班次号,方法为首先获取当前所有的满足条件的班次列表L如果L不为空,那么将L按照班型属性划分为双班列表L1,单班列表L2,高峰班列表L3。优先从L1中选取班次号最小的班次,如果L1为空则从L2中选取班次最小的班次,如果L1和L2都为空,则从高峰班列表L3中选取班次号最小的班次。如果L为空,表示当前没有任何班次满足条件,则增大发车间隔Δti=Δti+1(1分钟)重新计算发车时刻ti的值,并给发车时刻ti设置一个补偿标记f,补偿标记f等于1,代表发车时刻ti调节了原有的发车间隔。
如果发车时刻ti的补偿标记f为1,那么对发车时刻ti和发车时刻ti之前若干个发车时刻进行间隔平均调整,使调整后的间隔更加均匀,并将发车时刻的发车间隔[Δt1,Δt2,Δt3...Δtn-2,Δtn-1]中第i+1个发车间隔设置为Δti+1=Δti+1-1,补偿上一个发车间隔的增大。
需要说明的是,上述预设条件包括下列条件之一或任意组合:班次的上班时间早于等于车次的发车时刻,班次已经安排的车次数小于计划的总车次数,班次的上一圈的发车时刻与上一圈的运行时间、站停时间之和早于车次的发车时刻,若车次的发车时刻位于早晚饭时段,则班次的站停时间大于等于第一吃饭时长。
例如,预设条件可以为:
(1)班次j的上班时间必须早于等于发车时刻ti。
(2)班次j已经安排车次数小于此班次计划的总车次数,对于高峰班班型,如果班次j的上午班车次数已经安排完毕,此时如果发车时刻ti早于班次j的下午班上班时间,那么班次j不不满足条件,反之如果发车时刻ti晚于等于班次j的下午班上班时间,则班次j符合条件。
(3)班次上一圈的发车时间+上一圈的运行时间+站停时间小于发车时刻ti,其中站停时间可以在不小于最小站停时间的情况下进行调节,上圈的运行时间可以在不小于最小运行时间的前提下进行调节。
(4)如果发车时刻ti位于早、晚饭时段中则班次的停站时间需要大于等于最小吃饭时长限制。
(5)对于上下行线路要检查班次发车后是否超过对面场站的末班发车时间,判断是否能够继续发车返回参数的收车场站。
需要说明的是,如果上述预设条件都满足,在选择符合预设条件的班次类别时,是可以通过贪心算法来实现的,也就是满足所有预设条件的班次为最优的班次。
可选的,在上述生成公交线路的行车计划之后,还需要确定行车计划中的高峰时段的发车数是否小于预设的高峰车次数,若是,则将位于高峰时段之前的平峰时段的车次减少第二数量,重新生成所述公交线路的行车计划。该第二数量可以依据经验进行设置。
例如,早晚高峰排队结束后核查早晚高峰时段的发车数是否满足早高峰车次总数的要求,如果小于早高峰车次总数的要求,那么减少当前高峰时段之前的平峰时段的计划车次数重新进行计算,直至满足高峰时段计划车次数或者平峰时段车次数等于最小发车数不能再减少为止。
可选的,在生成所述公交线路的行车计划之后,还需要确定行车计划中的末班车的时刻是否等于获取的公交线路的末班时间,若否,则调整行车计划中的最后一个车次,否则,不用调整。
检查末班车的时刻,如果末班车的时刻不等于获取的公交线路的末班时间,那么调整生成的时刻表的最后一个车次的发车时刻tn,如果发车时刻tn>末班时刻,则删除最后一个车次的发车时刻tn,并将发车时刻tn-1设置为末班车的时刻,并对发车时刻tn-1和发车时刻tn-1之前的若干车次的发车时刻进行间隔的平均调整。如果发车时刻tn<末班时刻,则将发车时刻tn设置为末班车的时刻,并对发车时刻tn和发车时刻tn之前的若干车次的发车时刻进行间隔的平均调整。
上述实施例表明,获取公交线路的首、末班时刻和时段发车数量,根据首、末班时刻和时段发车数量,生成预发车时刻表,对预发车时刻表进行校验,并确定出校验后的预发车时刻表中相邻车次的发车间隔,根据相邻车次的发车间隔和所述首班时刻,确定公交线路上各车次的发车时刻,为公交线路上各车次的发车时刻安排班次,生成公交线路的行车计划。基于首、末班时刻和时段发车数量,可以自动生成行车计划,提高了行车计划编制的效率、提升了行车计划于实际线路情况的匹配度,提高了乘车公交出行的满意度,提高了公交资源的利用率。
本发明实施例中提供的公交线路行车计划生成方法具体如下技术效果:
1、根据公交线路参数信息,高峰时段划分、分时段站停时间、分时段的运行时间、分时段的发车数信息,采用局部贪心算法逐步自动生成公交线路行车计划,提高了行车计划的编制的准确性和效率。
2、本方法利用时段间隔和车次数产生全天的参考发车间隔,根据时段发车数分圈迭代逐步生成行车计划、在生成时刻的同时安排班次,减少了传统行车计划自动生成的复杂性。
本发明实施例在于通过根据公交线路的输入参数信息,如首末班时间、高峰时间段划分、分时段的最小站停时间、分时段的车辆运行时间、分时段的发车车次数和发车间隔、班次和班型划分等信息、逐步迭代生成全天的公交行车计划,极大的提高了行车计划编制的效率、提升了公交计划于实际线路情况的匹配度,提高了乘车公交出行的满意度,提高了公交资源的利用率,具有现实的应用价值和应用效果。
基于相同的技术构思,图4示例性的示出了本发明实施例提供的一种公交线路行车计划生成装置,该装置可以执行公交线路行车计划生成的流程。
如图4所示,该装置包括:
获取单元401,用于获取公交线路的首、末班时刻和时段发车数量;
生成单元402,用于根据所述首、末班时刻和所述时段发车数量,生成预发车时刻表;
确定单元403,用于对所述预发车时刻表进行校验,并确定出校验后的预发车时刻表中相邻车次的发车间隔;以及根据所述相邻车次的发车间隔和所述首班时刻,确定所述公交线路上各车次的发车时刻;
所述生成单元402,还用于为所述公交线路上各车次的发车时刻安排班次,生成所述公交线路的行车计划。
可选的,所述生成单元402具体用于:
根据所述时段发车数量,按照间隔平均法对所述时段发车数量对应的时段进行划分,得到所述时段发车间隔;
根据所述首、末班时刻和所述时段发车间隔,得到时段内各车次的发车时刻,生成预发车时刻表。
可选的,所述确定单元403具体用于:
若所述预发车时刻表中各车次的一圈时间内包含的车次数小于等于所述公交线路上的配车数,则确定校验通过;否则将本圈时间内删除第一数量的车次,并对本圈时间内剩余车次的发车时刻进行重新划分;其中,所述各车次的一圈时间为所述各车次的发车时刻与所述公交线路上车辆的第一运行时间和第一站停时间之和。
可选的,所述生成单元402具体用于:
获取满足预设条件的班次列表;
若所述满足预设条件的班次列表不为空,则按照班型属性将所述满足预设条件的班次列表划分为双班列表、单班列表和高峰班列表;按照所述各车次的发车时刻的顺序,依次从所述双班列表、所述单班列表和所述高峰班列表中按照班次号选取班次安排到所述各车次的发车时刻上,生成所述公交线路的行车计划;
若所述满足预设条件的班次列表为空,则将所述相邻车次的发车间隔增大第一预设时间,重新确定所述公交线路上各车次的发车时刻。
可选的,所述预设条件包括下列条件之一或任意组合:
班次的上班时间早于等于车次的发车时刻;
班次已经安排的车次数小于计划的总车次数;
班次的上一圈的发车时刻与上一圈的运行时间、站停时间之和早于车次的发车时刻;
若车次的发车时刻位于早晚饭时段,则班次的站停时间大于等于第一吃饭时长。
可选的,所述确定单元403还用于:
在生成所述公交线路的行车计划之后,确定所述行车计划中的高峰时段的发车数是否小于预设的高峰车次数;
若是,则将位于所述高峰时段之前的平峰时段的车次减少第二数量,重新生成所述公交线路的行车计划。
可选的,所述确定单元403还用于:
在生成所述公交线路的行车计划之后,确定所述行车计划中的末班车的时刻是否等于所述获取的公交线路的末班时间;
若否,则调整所述行车计划中的最后一个车次。
可选的,所述确定单元403具体用于:
若所述最后一个车次的发车时刻晚于所述末班时间,则删除所述最后一个车次,并将位于所述最后一个车次之前的车次的发车时刻确定为所述末班车的时刻,对所述最后一个车次之前的车次以及位于所述最后一个车次之前的车次之前第三数量的车次之间的发车间隔进行平均调整;
若所述最后一个车次的发车时刻早于所述末班时间,则对所述最后一个车以及位于所述最后一个车次之前的第三数量的车次之间的发车间隔进行平均调整。
基于相同的技术构思,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述公交线路行车计划方法。
基于相同的技术构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述公交线路行车计划方法。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种公交线路行车计划生成方法,其特征在于,包括:
获取公交线路的首、末班时刻和时段发车数量;
根据所述首、末班时刻和所述时段发车数量,生成预发车时刻表;
对所述预发车时刻表进行校验,并确定出校验后的预发车时刻表中相邻车次的发车间隔;
根据所述相邻车次的发车间隔和所述首班时刻,确定所述公交线路上各车次的发车时刻;
为所述公交线路上各车次的发车时刻安排班次,生成所述公交线路的行车计划。
2.如权利要求1所述的方法,其特征在于,所述根据所述首、末班时刻和所述时段发车数量,生成预发车时刻表,包括:
根据所述时段发车数量,按照间隔平均法对所述时段发车数量对应的时段进行划分,得到所述时段发车间隔;
根据所述首、末班时刻和所述时段发车间隔,得到时段内各车次的发车时刻,生成预发车时刻表。
3.如权利要求1所述的方法,其特征在于,所述对所述预发车时刻表进行校验,包括:
若所述预发车时刻表中各车次的一圈时间内包含的车次数小于等于所述公交线路上的配车数,则确定校验通过;否则将本圈时间内删除第一数量的车次,并对本圈时间内剩余车次的发车时刻进行重新划分;其中,所述各车次的一圈时间为所述各车次的发车时刻与所述公交线路上车辆的第一运行时间和第一站停时间之和。
4.如权利要求1所述的方法,其特征在于,所述为所述公交线路上各车次的发车时刻安排班次,生成所述公交线路的行车计划,包括:
获取满足预设条件的班次列表;
若所述满足预设条件的班次列表不为空,则按照班型属性将所述满足预设条件的班次列表划分为双班列表、单班列表和高峰班列表;按照所述各车次的发车时刻的顺序,依次从所述双班列表、所述单班列表和所述高峰班列表中按照班次号选取班次安排到所述各车次的发车时刻上,生成所述公交线路的行车计划;
若所述满足预设条件的班次列表为空,则将所述相邻车次的发车间隔增大第一预设时间,重新确定所述公交线路上各车次的发车时刻。
5.如权利要求4所述的方法,其特征在于,所述预设条件包括下列条件之一或任意组合:
班次的上班时间早于等于车次的发车时刻;
班次已经安排的车次数小于计划的总车次数;
班次的上一圈的发车时刻与上一圈的运行时间、站停时间之和早于车次的发车时刻;
若车次的发车时刻位于早晚饭时段,则班次的站停时间大于等于第一吃饭时长。
6.如权利要求1至5任一项所述的方法,其特征在于,在生成所述公交线路的行车计划之后,还包括:
确定所述行车计划中的高峰时段的发车数是否小于预设的高峰车次数;
若是,则将位于所述高峰时段之前的平峰时段的车次减少第二数量,重新生成所述公交线路的行车计划。
7.如权利要求1至5任一项所述的方法,其特征在于,在生成所述公交线路的行车计划之后,还包括:
确定所述行车计划中的末班车的时刻是否等于所述获取的公交线路的末班时间;
若否,则调整所述行车计划中的最后一个车次。
8.如权利要求7所述的方法,其特征在于,所述调整所述行车计划中的最后一个车次,包括:
若所述最后一个车次的发车时刻晚于所述末班时间,则删除所述最后一个车次,并将位于所述最后一个车次之前的车次的发车时刻确定为所述末班车的时刻,对所述最后一个车次之前的车次以及位于所述最后一个车次之前的车次之前第三数量的车次之间的发车间隔进行平均调整;
若所述最后一个车次的发车时刻早于所述末班时间,则对所述最后一个车以及位于所述最后一个车次之前的第三数量的车次之间的发车间隔进行平均调整。
9.一种公交线路行车计划生成装置,其特征在于,包括:
获取单元,用于获取公交线路的首、末班时刻和时段发车数量;
生成单元,用于根据所述首、末班时刻和所述时段发车数量,生成预发车时刻表;
确定单元,用于对所述预发车时刻表进行校验,并确定出校验后的预发车时刻表中相邻车次的发车间隔;以及根据所述相邻车次的发车间隔和所述首班时刻,确定所述公交线路上各车次的发车时刻;
所述生成单元,还用于为所述公交线路上各车次的发车时刻安排班次,生成所述公交线路的行车计划。
10.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至8任一项所述的方法。
11.一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810496948.9A CN108734353A (zh) | 2018-05-22 | 2018-05-22 | 一种公交线路行车计划生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810496948.9A CN108734353A (zh) | 2018-05-22 | 2018-05-22 | 一种公交线路行车计划生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108734353A true CN108734353A (zh) | 2018-11-02 |
Family
ID=63937875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810496948.9A Pending CN108734353A (zh) | 2018-05-22 | 2018-05-22 | 一种公交线路行车计划生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108734353A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110991706A (zh) * | 2019-11-15 | 2020-04-10 | 上海电科智能***股份有限公司 | 一种自动化编制公交时刻表和车辆排班计划的方法 |
CN111160720A (zh) * | 2019-12-11 | 2020-05-15 | 青岛海信网络科技股份有限公司 | 一种公交调度事件自动处置方法及装置 |
CN111210618A (zh) * | 2018-11-22 | 2020-05-29 | 南京锦和佳鑫信息科技有限公司 | 自动网联公交道路*** |
CN111709562A (zh) * | 2020-06-02 | 2020-09-25 | 广州通达汽车电气股份有限公司 | 一种公交车辆的排班时刻表的生成方法及装置 |
CN112232687A (zh) * | 2020-10-26 | 2021-01-15 | 安徽富煌科技股份有限公司 | 一种公交***支线线路排班方法 |
CN112967519A (zh) * | 2021-02-01 | 2021-06-15 | 青岛海信网络科技股份有限公司 | 一种公共交通工具调度方法和装置及设备 |
CN113053119A (zh) * | 2021-03-18 | 2021-06-29 | 重庆交通开投科技发展有限公司 | 一种基于公交运行历史数据的圈次时间预测方法 |
CN113053118A (zh) * | 2021-03-18 | 2021-06-29 | 重庆交通开投科技发展有限公司 | 一种集中调度跨线运行圈次时间的预测方法 |
CN113537650A (zh) * | 2021-09-16 | 2021-10-22 | 清华大学深圳国际研究生院 | 基于启发式算法和时变行驶时间的公交排班表生成算法 |
CN113723754A (zh) * | 2021-07-27 | 2021-11-30 | 厦门蓝斯通信股份有限公司 | 一种公交排班计划的生成方法及装置 |
CN114312925A (zh) * | 2020-09-30 | 2022-04-12 | 比亚迪股份有限公司 | 一种时刻表的离线校正方法及离线校正装置 |
CN115691092A (zh) * | 2022-11-02 | 2023-02-03 | 中咨数据有限公司 | 一种针对公交数量指标运行状态的监测方法、***及应用 |
CN115862361A (zh) * | 2023-02-09 | 2023-03-28 | 安徽交欣科技股份有限公司 | 一种基于行车计划的先进先出调度方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394011A (zh) * | 2011-10-08 | 2012-03-28 | 青岛海信网络科技股份有限公司 | 公交车自动化动态调度***及方法 |
CN104183117A (zh) * | 2014-08-01 | 2014-12-03 | 浙江工业大学 | 公交发车的控制方法 |
CN105575108A (zh) * | 2016-01-11 | 2016-05-11 | 深圳市蓝泰源信息技术股份有限公司 | 一种智能公交调度运营方法 |
CN105894219A (zh) * | 2016-06-28 | 2016-08-24 | 郑州天迈科技股份有限公司 | 公交自动排班方法 |
CN106485372A (zh) * | 2016-11-28 | 2017-03-08 | 中兴软创科技股份有限公司 | 公交线路配车数量评估与优化方法与*** |
CN107153924A (zh) * | 2017-05-11 | 2017-09-12 | 厦门卫星定位应用股份有限公司 | 一种公交智能排班生成方法 |
WO2017169181A1 (ja) * | 2016-03-28 | 2017-10-05 | パナソニックIpマネジメント株式会社 | デマンド型運行システム |
-
2018
- 2018-05-22 CN CN201810496948.9A patent/CN108734353A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394011A (zh) * | 2011-10-08 | 2012-03-28 | 青岛海信网络科技股份有限公司 | 公交车自动化动态调度***及方法 |
CN104183117A (zh) * | 2014-08-01 | 2014-12-03 | 浙江工业大学 | 公交发车的控制方法 |
CN105575108A (zh) * | 2016-01-11 | 2016-05-11 | 深圳市蓝泰源信息技术股份有限公司 | 一种智能公交调度运营方法 |
WO2017169181A1 (ja) * | 2016-03-28 | 2017-10-05 | パナソニックIpマネジメント株式会社 | デマンド型運行システム |
CN105894219A (zh) * | 2016-06-28 | 2016-08-24 | 郑州天迈科技股份有限公司 | 公交自动排班方法 |
CN106485372A (zh) * | 2016-11-28 | 2017-03-08 | 中兴软创科技股份有限公司 | 公交线路配车数量评估与优化方法与*** |
CN107153924A (zh) * | 2017-05-11 | 2017-09-12 | 厦门卫星定位应用股份有限公司 | 一种公交智能排班生成方法 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111210618A (zh) * | 2018-11-22 | 2020-05-29 | 南京锦和佳鑫信息科技有限公司 | 自动网联公交道路*** |
CN111210618B (zh) * | 2018-11-22 | 2022-06-07 | 上海丰豹商务咨询有限公司 | 自动网联公交道路*** |
CN110991706B (zh) * | 2019-11-15 | 2023-05-05 | 上海电科智能***股份有限公司 | 一种自动化编制公交时刻表和车辆排班计划的方法 |
CN110991706A (zh) * | 2019-11-15 | 2020-04-10 | 上海电科智能***股份有限公司 | 一种自动化编制公交时刻表和车辆排班计划的方法 |
CN111160720A (zh) * | 2019-12-11 | 2020-05-15 | 青岛海信网络科技股份有限公司 | 一种公交调度事件自动处置方法及装置 |
CN111709562A (zh) * | 2020-06-02 | 2020-09-25 | 广州通达汽车电气股份有限公司 | 一种公交车辆的排班时刻表的生成方法及装置 |
CN114312925A (zh) * | 2020-09-30 | 2022-04-12 | 比亚迪股份有限公司 | 一种时刻表的离线校正方法及离线校正装置 |
CN112232687A (zh) * | 2020-10-26 | 2021-01-15 | 安徽富煌科技股份有限公司 | 一种公交***支线线路排班方法 |
CN112232687B (zh) * | 2020-10-26 | 2024-05-14 | 安徽交欣科技股份有限公司 | 一种公交***支线线路排班方法 |
CN112967519B (zh) * | 2021-02-01 | 2022-05-13 | 青岛海信网络科技股份有限公司 | 一种公共交通工具调度方法和装置及设备 |
CN112967519A (zh) * | 2021-02-01 | 2021-06-15 | 青岛海信网络科技股份有限公司 | 一种公共交通工具调度方法和装置及设备 |
CN113053118A (zh) * | 2021-03-18 | 2021-06-29 | 重庆交通开投科技发展有限公司 | 一种集中调度跨线运行圈次时间的预测方法 |
CN113053119A (zh) * | 2021-03-18 | 2021-06-29 | 重庆交通开投科技发展有限公司 | 一种基于公交运行历史数据的圈次时间预测方法 |
CN113723754A (zh) * | 2021-07-27 | 2021-11-30 | 厦门蓝斯通信股份有限公司 | 一种公交排班计划的生成方法及装置 |
CN113537650B (zh) * | 2021-09-16 | 2022-02-11 | 清华大学深圳国际研究生院 | 基于启发式算法和时变行驶时间的公交排班表生成方法 |
CN113537650A (zh) * | 2021-09-16 | 2021-10-22 | 清华大学深圳国际研究生院 | 基于启发式算法和时变行驶时间的公交排班表生成算法 |
CN115691092A (zh) * | 2022-11-02 | 2023-02-03 | 中咨数据有限公司 | 一种针对公交数量指标运行状态的监测方法、***及应用 |
CN115862361A (zh) * | 2023-02-09 | 2023-03-28 | 安徽交欣科技股份有限公司 | 一种基于行车计划的先进先出调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108734353A (zh) | 一种公交线路行车计划生成方法及装置 | |
CN109034481B (zh) | 一种基于约束规划的带时间窗车辆路径问题建模及优化方法 | |
CN107580023A (zh) | 一种动态调整任务分配的流处理作业调度方法及*** | |
CN108320494B (zh) | 一种公交动态调度方法、存储介质及设备 | |
US20020082814A1 (en) | A Yard Performance Model Based on Task Flow Modeling | |
CN109034575A (zh) | 一种骑手智能调度方法 | |
CN110210652A (zh) | 一种轨道交通站点客流控制方法及装置 | |
CN109992350A (zh) | 云计算***的资源池中虚拟机的迁移方法及装置 | |
CN113435968B (zh) | 网约车派单方法、装置、电子设备及存储介质 | |
CN104517200B (zh) | 用于物流配送的能耗计算方法、配送方案获取方法和装置 | |
CN113919650A (zh) | 一种列车运行方案优化编制方法及*** | |
CN111161560B (zh) | 一种公交廊道营运秩序管理方法及装置 | |
CN111882097B (zh) | 一种车辆维护人员调度方法和*** | |
CN106204937A (zh) | 一种阶梯计价的租车费用计算***及方法 | |
CN110782053A (zh) | 分时预约调度方法、装置、设备及介质 | |
CN111160720A (zh) | 一种公交调度事件自动处置方法及装置 | |
CN105701864A (zh) | 拼出租车过程中的费用计算支付方法及其*** | |
Lee et al. | Scheduling zonal-based flexible bus service under dynamic stochastic demand and Time-dependent travel time | |
CN111476382A (zh) | 动车组检修的处理方法及装置 | |
CN108960728A (zh) | 一种配送方法和装置 | |
CN110598977A (zh) | 共享汽车调度方法及相关装置 | |
CN111539133A (zh) | 一种结合专家经验和运筹优化的单线公共车辆调度方法 | |
CN109978380A (zh) | 一种工作流处理方法和装置 | |
CN113743685B (zh) | 确定公交车时刻表的方法及电子设备 | |
CN111260106B (zh) | 运输任务分配方法、装置、设备及其存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181102 |