CN116703077A - 基于贪心算法的公交行车编制方法 - Google Patents
基于贪心算法的公交行车编制方法 Download PDFInfo
- Publication number
- CN116703077A CN116703077A CN202310629340.XA CN202310629340A CN116703077A CN 116703077 A CN116703077 A CN 116703077A CN 202310629340 A CN202310629340 A CN 202310629340A CN 116703077 A CN116703077 A CN 116703077A
- Authority
- CN
- China
- Prior art keywords
- time
- shift
- departure
- vehicle
- peak
- 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
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000005457 optimization Methods 0.000 claims abstract description 19
- 230000008569 process Effects 0.000 claims abstract description 18
- 239000011159 matrix material Substances 0.000 claims description 31
- 235000012054 meals Nutrition 0.000 claims description 30
- 239000013598 vector Substances 0.000 claims description 28
- 230000001174 ascending effect Effects 0.000 claims description 12
- 230000007704 transition Effects 0.000 claims description 6
- 238000011144 upstream manufacturing Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 claims description 3
- 230000003203 everyday effect Effects 0.000 claims description 2
- 238000010276 construction Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000002354 daily effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 206010027336 Menstruation delayed Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
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/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/06311—Scheduling, planning or task assignment for a person or group
-
- 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/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
- G06Q10/1093—Calendar-based scheduling for persons or groups
- G06Q10/1097—Task assignment
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于贪心算法的公交行车编制方法,属于智能交通调度技术领域。该方法根据城市公交运行的约束和影响因素,对于具体行车线路的所有车次排班进行调度优化。本发明所述方法基于具体行车路线的实际参数及需求目标进行了问题建模及优化求解,主要包括以下步骤:分析在公交行车过程中需要考虑的各类因素,设计排班模型,将公交行车编制问题构建成一个贪心选择问题,再基于优化目标和排班要求提出的各类约束,利用贪心算法进行求解,得到可行的优化方案,符合实际情况。
Description
技术领域
本发明属于智能交通调度技术,具体涉及一种基于贪心算法的公交行车编制方法。
背景技术
随着我国国民经济飞速发展,城市化建设不断推进,城市人口逐渐上升,日益增长的交通需求同相对滞后的交通供给之间的矛盾越发突出。城市公共交通以其运载能力大,方便、快捷等优点,成为广大出行人群的首选,也是交通管理部门的重要调控手段之一。目前,例如南京市公交线路780条左右(包含夜班线、高峰线等),运营公交车辆约8700辆,标准运营车辆3600标台,日均客流约240万人次/日。科学规划交通,合理调度资源,建设符合实际的智能交通调度技术是迫在眉睫的任务。合理的公交调度方法需要考虑到多个因素,例如每种路线的行车数量,各个峰段的路准等等,不同的因素也会对最终计划有不同的制约和影响,在得到了需要的参数之后,再根据优化的目标,最终需要得出一个满足整体行车需求的排班时间表,时间表是影响人们制定交通出行计划,进行出行方式和路径选择决策的重要信息,时间表是否合理是衡量公交系统服务水平的最直接的指标之一。同时良好的排班计划能够减少公交线路所需要的公交车车辆数目,可以有效提高公交企业的运营效率。
目前,我国的公交体系中,存在单双班机制、交接班窗口等问题,使得公交排班问题变得更加复杂,一些常规的调度方法并不能够较好地解决问题,对于影响公交调度问题的形式化描述不够全面,所以能够系统地构建公交调度模型,并且使结果切合实际,符合多方面要求的调度方法是十分必要的。
发明内容
发明目的:本发明提供一种基于贪心算法的公交行车编制方法,基于具体路线的多维信息,得到切实可行的行车调度计划,使结果既符合载客需求,同时满足繁杂的行车条件的约束,同时可实现该类公交排班调度系统或平台的构建。
为实现上述发明目的,本发明提供的技术方案如下。
一种基于贪心算法的公交行车编制方法,包括以下步骤:
(1)确定影响公交车运行的参数,包括对公交车辆及运行路线的考虑,还包括对司机工作时间和运行规则的定义,然后定义排班模型的决策变量,设计排班模型;
(2)以所有车辆运行循次最大化为目标,将公交排班问题形式化定义为一个带约束的贪心选择问题;
(3)基于排班模型及其优化目标,利用贪心算法对问题进行优化求解,先根据给定的路准以及最小停站时长、交接班时间、吃饭时间将每辆车的循次跑满,再根据约束条件删除部分循次以满足月度工时约束,最大化跑车循次数。
进一步的,步骤(1)所述具体内容如下:
首先对于在行车编制计划中需要考虑的各类输入参数进行采集,包括车辆总数、交接班时间、吃饭时间、各峰段开始/结束时间、路准(即单程行车时间)等;并且为了构建优化问题,还需要形式化定义辅助参数,所述的辅助参数为运行规则,包括将车辆分为双班、分班、独班车辆,包括单双班指示向量、独班/非独班指示向量、主/次规则指示向量。
所述的双班是指该公交车配置有两名轮值的司机,上午和下午各一名,中间需要交接班;所述的分班是指该公交车设有一名司机,且工作时间段存在中停时间;独班是指该公交车设有一名司机,不间断运行全天跑车无需交接。
对于步骤(1)的参数定义,具体如下:
n:最大可能发车循次数;
Tmax:月度最大总工时;
J:交接班时间;
Fs:上午开始吃饭时刻;
fs:上午吃饭时长;
Fx:下午开始吃饭时刻;
fx:下午吃饭时长;
Tsstart:上行峰段开始时间向量,8元素,元素表示上行第k个时段的开始时间;
Tsend:上行峰段结束时间向量,8元素,元素表示上行第k个时段的结束时间;
Txstart:下行峰段开始时间向量,8元素,元素表示下行第k个时段的开始时间;
Txend:下行峰段结束时间向量,8元素,元素表示下行第k个时段的结束时间;
Tstime:上行路准向量,8元素,元素表示上行第k个时段的路准;
Txtime:下行路准向量,8元素,元素表示下行第k个时段的路准;
Tsmin:上行最小停站时间向量,8元素,元素表示第k个时段的上行最小停站时间;
Tsmax:上行最大停站时间向量,8元素,元素表示第k个时段的上行最大停站时间;
Txmin:下行最小停站时间向量,8元素,元素表示第k个时段的下行最小停站时间;
Txmax:下行最大停站时间向量,8元素,元素表示第k个时段的下行最大停站时间;
上述的8元素是指包括早低谷、早平峰、早高峰、上平峰、下平峰、晚高峰、晚平峰、晚低谷8个峰段的开始时间。
tsmin:上午最早上班时间;
txmax:下午最晚下班时间;
tsmin:上行最早服务时间;
txmax:下行最晚服务时间。
对决策变量进行定义,包括:
发车指示矩阵Em×2n,元素eij∈{0,1}表示第i辆车的第循次是否发车(上行j为奇数,下行j为偶数);
发车时刻矩阵Xm×2n,元素xij∈Z+表示第i辆车的第循次的发车时刻(上行j为奇数,下行j为偶数,以分钟为单位);
交接班指示矩阵Jm×2n,元素jij∈{0,1}表示第i辆车的第循次是否交接班(上行j为奇数,下行j为偶数);
上下午吃饭指示矩阵元素/>表示第i辆车的第/>循次是否吃午饭,元素/>表示第i辆车的第/>循次是否吃晚饭(上行j为奇数,下行j为偶数);
其中m表示车辆总数,n表示最大可能的发车循次。
为确定最大发车循次数n,首先需要确定线路服务时长。从主站和副站中选取一个时间相对较短的作为基准服务时长,如A线路主站6:00-21:00,副站7:00-22:15,则基准服务时长为21-6=15小时;进而确定线路平均周转时间,以高峰和平峰平均路准时间(去除早晚低谷)×2+30分钟。如A线路高峰和平峰平均路准时间为60分钟,则周转时间为60×2+30=150分钟;最后确定计划循次。为线路基准时长÷周转时间。如A线路计划循次为15×60÷150=6循。若计算出的循次为小数,则上取整。
进一步的,步骤(2)所述的优化目标具体表达式如下:
最大化发车循次数,即指示矩阵Em×2n中的元素之和。
对应的行车约束如下:
1)一个循次分为上下行,一个循次的上下行只能全发车或者全不发车,有主站发车到副站,对应地就必须有副站发车返回主站;
2)除独班车外,双班和分班车每天需交接班一次,在交接班的循次前的停站时间需大于等于交接班所需时长;
3)每辆车每天需要在中午固定时段内安排一次午饭时间,傍晚固定时段内安排一次晚饭时间,在吃饭的循次前的停站时间需大于等于吃饭所需时长;
4)同一辆车的相邻发车时间间隔必须大于等于所在峰段的路准时间与最小停站时间之和,以保证发车时刻表真实可行;
5)每一线路所有主干休规则和次干休规则车辆一个月跑车的班工时之和均不能超过各自的月度最大工时;所述的主干休规则和次干休规则是指设定的两种不同工作调休方式,可以一周为周期。
6)每辆车的上午上班时间不能早于输入的最早上班时间,下午下班时间不能晚于输入的最晚下班时间;
7)所有车辆在早高峰和晚高峰必须跑车,否则对于缓解高峰客流没有意义;
8)所有车辆要求各峰段的发车间隔均匀,平峰-高峰-平峰的发班间隔平滑过度,例如:平峰15min一班,高峰6min一班,要达到15min,12min,8min,6min的平滑过度,以实现用户确定性的等车时间。
进一步的,步骤(3)中所述贪心算法的具体内容如下:
基于步骤(1)和步骤(2)构建的公交行车模型和贪心选择问题,利用贪心算法进行求解。贪心算法一般是通过将求解过程分成若干个步骤,每个步骤应用贪心原则,它并不从整体考虑最优方案,做出的选择一般是当前状态下的局部最优解,但是在问题具备贪心选择性质的情况下,最终结果是全局最优的。其基本步骤是:首先从某个初始部分解开始求解过程,进而根据局部最优策略得到下一部分解,缩小问题规模,最后将所有的解综合起来就可以得到一个整体最优解。
为了在所有行车约束下获得最大的发车循次数,应尽可能用满每天可用的班工时并最小化每辆车每一循次的周转时间。首先从第一辆车的第一循开始编制发车时间表,根据贪心原则,第一循的上行车次从主站的最早服务时间开始发车,加上对应峰段的路准和允许的最小停站时长,则可以得到第一循下行的发车时间;同理,根据下行对应峰段的路准可计算第一循下行的到站时间,进而在允许范围内选择最小停站时长,可以得到第二循次的上行的发车时间,即
x11=ts
重复此过程,不断使用贪心原则,为第一辆车的全部循次制定发车时间,但是在这个过程中需要注意,当某一循次的到站时间处于午饭时间段或晚饭时间段,将午饭矩阵对应元素/>或晚饭矩阵/>对应元素/>置为1,该循次的停站过程需要预留司机的吃饭时间,此时就不止要满足允许的最小停站时长,并且要满足停站时长大于等于吃饭时间;非独班车需要在所有循次的中段进行交接班,将交接班矩阵矩阵Jm×2n对应元素j1j置为1在交接班之前的停站时间不仅要大于等于最小停站时长,还需要大于等于司机交接班的时间。
进而开始第二辆车的计划,第一循次的上行发车时间需要做到与第一辆车的第一循的上行发车时间间隔是在所属峰段的规定范围内,平峰15分钟,高峰6分钟,平峰与高峰之间依次为12分钟、9分钟,以达到整体的发车间隔平滑过渡的要求,同理,后面每一个趟次的发车时间都要与第一辆车的对应趟次的发车时间间隔在约束条件规定的范围内,同时,每个趟次都需要采用与第一辆车相同的贪心原则,以前一趟次的发车时刻、所在峰段路准、最小停站时间或吃饭和交接班时间计算本趟次的发车时刻。除了第一循次的上行发车时间可以根据第一辆车的对应趟次发车时间得出,后面其他趟次的发车时间需要通过两种方式得到,分别是根据第一辆车对应趟次的发车时间加上所在峰段约束范围内的发车间隔得到和根据本车前一趟次的发车时间加上路准和最小停站时长或吃饭和交接班时间得到,为了能够使发车时间在满足多个约束前提下最优,取两种计算方式中的最大值作为发车时间,由此可以填满第二辆车的跑车循次;
与第二辆车同理,后面所有的车次都依据此算法求出各自跑满的循次,由此,就可以得到一个每辆车的所有循次均发车的行车方案,即发车指示矩阵Em×2n的所有元素均置1。但是这样得到的行车计划很可能是不符合班工时、最晚下班时间等相关约束要求的,所以需要算法对每辆车进行趟次的删减:
更进一步的,步骤(3)中所述贪心算法的需要对每辆车进行趟次的删减以满足所有行车约束:
首先删除所有车辆的行车计划中不符合最早上班时间和最晚下班时间约束的循次(xij≤tsmin,xij≥txmax),将发车矩阵Em×2n中对应元素eij置为0。判断此时所有车辆的跑车时间是否满足班工时约束,若满足则完成行车编制,不满足则继续删除循次。
若需继续删除,则从最后一辆车的最后一循开始删除,并且每辆车是从最后一个循次开始往前删除。根据贪心原则,删除最后一个趟次之后如果满足了班工时约束条件则结束删除操作,如果还不满足,则继续删除前一个趟次,以此类推。每次删除一个趟次后将发车矩阵Em×2n中对应元素eij置为0。
需要注意的是,由于在约束条件中对于一些时段条件下的跑车进行了规定,包括非独班车交接班后必须跑车,所有车辆必须跑早晚高峰,在删除过程中,需要注意交接班后的趟次以及早晚高峰中的趟次是不可删除的。直到满足班工时约束,则输出当前的发车矩阵Em×2n、发车时刻表Xm×2n、交接班指示矩阵Jm×2n、吃饭指示矩阵完成行车编制。
有益效果:与现有技术相比,本发明所述方法的实质性的特点和显著效果包括如下三个方面:
(1)本发明所述方法根据贪心原则在每一步尽可能求得初步最优解并且依据具体要求对初步解进行筛选优化,有助于获得高质量的行车方案。
(2)本发明能够在复杂繁多的约束条件下得到可行的最优解,省去了大量的排班系统手动操作,实现了自动化排班。
(3)本发明能根据南京公交数据排班,不仅符合行车要求,并且贴合乘客、驾驶员等实际需求。
附图说明
图1为本发明所述方法的流程图;
图2为本发明对应的求解方法示意图。
具体实施方式
为详细的说明本发明所公开的技术方案,下面结合附图及具体实施例对本发明做进一步的表述。
本发明所提供的是一种基于贪心算法的公交行车编制方法,可根据公交运营公司设定的行车编制计划的实际需求,对于具体行车线路的所有车次进行调度求解。该方法基于具体行车路线的实际参数及需求目标进行了构建约束以及优化求解,主要包括以下步骤:分析在公交行车过程中需要考虑的各类因素,将公交行车编制问题构建成一个带约束的优化问题,设计排班模型,再基于优化目标,根据排班要求提出各类约束,利用贪心算法进行求解,得到可行的优化方案,符合实际情况。
结合图1,本发明所述方法具体实施步骤及过程如下:
步骤S1,对于在行车过程中需要考虑的各类参数进行分析,定义各类参数和决策变量,设计排班模型;。
具体的,步骤(S1)包括如下过程:
首先对于在行车编制计划中需要考虑的各类参数进行分析,例如车辆总数、交接班时间、时段路准等,对这些参数进行声明,并且为了便于构建约束,还需要定义一些辅助变量,例如单双班指示变量等,为了得到可行解,对于决策变量进行定义,例如表示在具体某个区间是否发车的发车指示矩阵。
步骤S2,构建优化目标并对排班要求进行约束表达。
为了尽可能提高载客量以及运行效率,需要线路上的车辆在合理范围内尽可能多跑车次,以达到调度计划的优化。基于步骤(S1)中定义的模型,确定好优化的目标,对行车编制的具体要求进行约束,构成最终计划的解空间。
具体的,步骤(S2)包括如下过程:
步骤S201,构建以多跑循次为目标的优化问题:
其中m表示车辆总数,n表示最大发车循次,eij∈{0,1}表示第i辆车的第循次是否发车,是发车指示矩阵Em×2n中的元素。
步骤S202,对排班要求进行约束给出表达式:
在日常跑车中一个循次分为上下行,同一循次内上下行是否跑车须保持一致,故有表达式如下:
eij∈{0,1}
一辆车一天最多交接班一次并且独班没有交接情况,故有表达式如下:
jij∈{0,1}
其中jij∈{0,1}表示第i辆车的第循次是否交接班,是交接班指示矩阵Jm×2n中的元素,di为独班指示变量,元素di=1表示第i辆车为独班,di=0表示第i辆车为非独班;
在没有特殊要求的情况下,异地是不能交接班的,故有表达式如下:
由于独班只由一名司机完成工作,所以独班是没有交接的,而非独班在交接班之后必须要开始跑车,故有表达式如下:
其中表示时段指示的辅助变量,/>表示下行第k个时段的路准,J表示交接班时间;
如果独班车的当前循次前后都跑车,则继续跑,故有表达式如下:
非独班车只有在上午上班前、交接班前、下午下班前可以不跑车,故有表达式如下:
ji”={j|jij=1}
eij=1
双班的上下午跑车循次数最多差1,故有表达式如下:
其中bi为单双班指示变量,元素bi=1表示第i辆车为双班,bi=0表示第i辆车为单班;
按照常理,每辆车一天最多吃一次午饭,一次晚饭,故有表达式如下:
fij∈{0,1}
其中表示第i辆车的第/>循次是否吃午饭,/>表示第i辆车的第循次是否吃晚饭,分别是上下午吃饭指示矩阵/>中的元素;
为了不影响车辆的正常运行,午饭和晚饭的吃饭时间要在规定时间范围内,故有表达式如下:
其中Fs表示吃午饭开始时刻,Fx表示吃晚饭开始时刻;
由于吃饭时间是包含在停站时间内的,所以需要保证停站时间大于等于吃饭时长,故有表达式如下:
其中fs表示午饭吃饭时长,fx表示晚饭吃饭时长;
由于在8个不同的峰段,整体交通情况是有变化的,这也对公交车辆的运行会产生影响,所以根据所在的不同时段,停站时长应在各时段的规定范围内,故有表达式如下:
其中表示上行第k个时段的开始时间,/>表示上行第k个时段的结束时间,表示第k个时段的上行最小停站时间,/>表示第k个时段的上行最大停站时间,为下行第k个时段的开始时间,/>表示下行第k个时段的结束时间,/>表示第k个时段的下行最小停站时间,/>表示第k个时段的下行最大停站时间;
根据具体的干休规则,可以计算出每月总的班工时,为了保证车辆的运行能够满足需求,同时又不可以让公交司机的负担过重,所以总工时不超过规定的月度最大工时,故有表达式如下:
其中pi∈{0,1}表示第i辆车使用的干休规则,是主/次干休规则指示向量P的元素,Ls表示早例保时间,Lx表示晚例保时间,Tc表示出场工时,Tj表示进场工时;
上午上班时间不可早于规定的上午最早上班时间,故有表达式如下:
((1-bi)×(1-di)=1)∧((eij=1)∧((xij-L-Tc)≥tsfmin)∨(eij=0))∨
其中tsfmin表示分班上午最早上班时间,tsmin表示上行最早服务时间;
分班上午下班时间不可早于规定的上午最早下班时间,故有表达式如下:
其中si为分班指示向量,si=1表示第i辆车为分班,si=0表示第i辆车为非分班,tsfmax分班上午最早下班时间;
为了保证有足够的车辆运行以满足需求,所有车辆必须在早高峰结束前出车,故有表达式如下:
同样为了保证有足够的车辆运行以满足需求,所有车辆必须在晚高峰开始后有班次,故有表达式如下:
非独班车早高峰开始前不可下班,晚高峰结束前必须有班次,故有表达式如下:
下午下班时间不可晚于规定的下午最晚下班时间,故有表达式如下:
车辆之间的发车间隔应在对应时段的规定范围内,不同的时段路况也会导致发车间隔的不同,所以发车间隔的变化应做到平滑过渡,故有表达式如下:
/>
(eij×xi(j-1)=0)
(eij×xi(j-1)=0)
步骤S3,基于模型,利用贪心算法求解
基于步骤(1)和步骤(2)构建的模型和优化问题,利用贪心算法进行求解。贪心算法,是寻找最优解问题的常用方法,一般是通过将求解过程分成若干个步骤,每个步骤应用贪心原则,它并不从整体考虑最优方案,做出的选择一般是当前状态下的局部最优解,但是在大部分情况下,最终结果一般都是整体最优的。其基本步骤是:首先从某个初始解开始求解过程,采用迭代,当可以向求解目标更近一步时,根据局部最优策略,得到一部分解,缩小问题规模,最后完成迭代,将所有的解综合起来就可以得到一个整体最优解。
步骤S301,利用贪心算法思想使每辆车跑满循次:
如图2所示,涂色表示跑车,空白表示不跑车,首先从第一辆车的第一循开始上行跑车,根据贪心原则,在满足约束条件的前提下,选择最小的停站时长,根据上行的发车时间及对应时段的路准,则可以得到第一循下行的发车时间,同理,下行到站后,在允许范围内选择最小停站时长,再根据发车时间和路准可以得到第二循次的上行发车时间,重复此过程,不断使用贪心原则,使得第一辆车跑满循次,但是在这个过程中需要注意的是,某些停站过程中是包含了司机吃饭或者交接班的情况的,此时就不止要满足停站的最小时长,并且要满足约束条件中的停站时长大于等于吃饭时间或交接班时间;
接着开始第二辆车的计划,第一循次的上行发车时间需要做到与第一辆车的第一循的上行发车时间隔是在约束范围内的,以达到整体的发车间隔平滑过渡的要求,同理,后面每一个趟次的发车时间都要与第一辆车的对应趟次的发车时间间隔在约束条件规定的范围内,同时,每个趟次都需要采用与第一辆车同理的贪心原则,所以,除了第一循次的上行发车时间可以根据第一辆车的对应趟次发车时间得出,后面其他趟次的发车时间可以通过两种方式得到,分别是根据第一辆车对应趟次的发车时间加上约束范围内的发车间隔得到和根据本车前一趟次的发车时间加上路准和最小停站时长得到,为了能够使发车时间在满足多个约束前提下最优,取两种计算方式中更大的值作为发车时间,由此可以填满第二辆车的跑车循次;
与第二辆车同理,后面所有的车次都依据此算法求出各自跑满的循次,由此,就可以得到一个每辆车的循次跑满的行车方案,但是这样显然是不符合班工时等相关约束的,所以需要算法的第二步,在满足约束的前提下对每辆车进行趟次的删减;
步骤S302,以满足约束为条件删除趟次:
如图2所示,删除趟次的顺序是从最后一辆车往前开始删除,并且每辆车是从最后一个趟次开始往前删除,删除最后一个趟次之后如果满足了班工时约束条件则结束删除操作,如果还不满足,则继续删除前一个趟次,以此类推,需要注意的是,再删除过程中,需要注意一些趟次是不可删的,因为在约束条件中对于一些时段条件下的跑车进行了规定,例如非独班交接班后必须跑车,车辆必须在早高峰结束前出车,非独班晚高峰结束前必须要班次等;
由此,以满足班工时约束为目标,同时在满足其他约束条件的前提下,按从最后一辆车往前以及每辆车从最后一个趟次往前的顺序进行删除操作,直到满足要求,得到整体最优的方案。
Claims (6)
1.一种基于贪心算法的公交行车编制方法,其特征在于,包括以下步骤:
(1)确定影响公交车运行的参数,包括对公交车辆及运行路线的考虑,还包括对司机工作时间和运行规则的定义,然后定义排班模型的决策变量,设计排班模型;
(2)以所有车辆运行循次最大化为目标,将公交排班问题形式化定义为一个带约束的贪心选择问题;
(3)基于排班模型及其优化目标,利用贪心算法对问题进行优化求解,先根据给定的路准以及最小停站时长、交接班时间、吃饭时间将每辆车的循次跑满,再根据约束条件删除部分循次以满足月度工时约束,最大化跑车循次数。
2.根据权利要求1所述的基于贪心算法的公交行车编制方法,其特征在于,步骤(1)所述的参数包括车辆总数、交接班时间、吃饭时间、各峰段开始/结束时间和路准;其中的运行规则定义为辅助参数,用于构建优化问题;
运行规则中,包括将车辆分为双班、分班、独班车辆,辅助参数包括单双班指示向量、独班/非独班指示向量、主/次规则指示向量;
具体参数包括如下:
n:最大可能发车循次数;
Tmax:月度最大总工时;
J:交接班时间;
Fs:上午开始吃饭时刻;
fs:上午吃饭时长;
Fx:下午开始吃饭时刻;
fx:下午吃饭时长;
Tsstart:上行峰段开始时间向量,8元素,元素表示上行第k个时段的开始时间;
Tsend:上行峰段结束时间向量,8元素,元素表示上行第k个时段的结束时间,
Txstart:下行峰段开始时间向量,8元素,元素表示下行第k个时段的开始时间
Txend:下行峰段结束时间向量,8元素,元素表示下行第k个时段的结束时间;
Tstime:上行路准向量,8元素,元素表示上行第k个时段的路准
Txtime:下行路准向量,8元素,元素表示下行第k个时段的路准
Tsmin:上行最小停站时间向量,8元素,元素表示第k个时段的上行最小停站时间
Tsmax:上行最大停站时间向量,8元素,元素表示第k个时段的上行最大停站时间;
Txmin:下行最小停站时间向量,8元素,元素表示第k个时段的下行最小停站时间;
Txmax:下行最大停站时间向量,8元素,元素表示第k个时段的下行最大停站时间;
tsmin:上午最早上班时间;
txmax:下午最晚下班时间;
tsmin:上行最早服务时间;
txmax:下行最晚服务时间;
对决策变量进行定义,包括:
发车指示矩阵Em×2n,元素eij∈{0,1}表示第i辆车的第循次是否发车,上行j为奇数,下行j为偶数;
发车时刻矩阵Xm×2n,元素xij∈Z+表示第i辆车的第循次的发车时刻,上行j为奇数,下行j为偶数,以分钟为单位;
交接班指示矩阵Jm×2n,元素jij∈{0,1}表示第i辆车的第循次是否交接班,上行j为奇数,下行j为偶数;
上下午吃饭指示矩阵元素/>表示第i辆车的第/>循次是否吃午饭,元素/>表示第i辆车的第/>循次是否吃晚饭,上行j为奇数,下行j为偶数;
其中m表示车辆总数,n表示最大发车循次。
3.根据权利要求1所述的基于贪心算法的公交行车编制方法,其特征在于,步骤(1)对于排班模型设计中,为确定最大发车循次数n,首先需要确定线路服务时长,且从主站和副站中选取一个时间最短的作为基准服务时长;其次确定线路平均周转时间,以高峰和平峰平均路准时间×2+30分钟;最后确定计划循次。
4.根据权利要求1所述的基于贪心算法的公交行车编制方法,其特征在于,步骤(2)所述的优化目标具体表达式如下:
最大化发车循次数,即指示矩阵Em×2n中的元素之和;
行车约束如下:
1)一个循次分为上下行,一个循次的上下行只能全发车或者全不发车,有主站发车到副站,对应地就必须有副站发车返回主站;
2)除独班车外,双班和分班车每天需交接班一次,在交接班的循次前的停站时间需大于等于交接班所需时长;
3)每辆车每天需要在中午固定时段内安排一次午饭时间,傍晚固定时段内安排一次晚饭时间,在吃饭的循次前的停站时间需大于等于吃饭所需时长;
4)同一辆车的相邻发车时间间隔必须大于等于所在峰段的路准时间与最小停站时间之和,以保证发车时刻表真实可行;
5)每一线路所有主干休规则和次干休规则车辆一个月跑车的班工时之和均不能超过各自的月度最大工时;
6)每辆车的上午上班时间不能早于输入的最早上班时间,下午下班时间不能晚于输入的最晚下班时间;
7)所有车辆在早高峰和晚高峰必须跑车;
8)所有车辆要求各峰段的发车间隔均匀,平峰-高峰-平峰的发班间隔平滑过度,用于实现用户确定性的等车时间。
5.根据权利要求1所述的基于贪心算法的公交行车编制方法,其特征在于,步骤(3)中所述贪心算法的内容如下:
为了在所有行车约束下获得最大的发车循次数,应尽可能用满每天可用的班工时并最小化每辆车每一循次的周转时间;
首先从第一辆车的第一循开始编制发车时间表,根据贪心原则,第一循的上行车次从主站的最早服务时间开始发车,加上对应峰段的路准和允许的最小停站时长,则得到第一循下行的发车时间;
同理,根据下行对应峰段的路准可计算第一循下行的到站时间,进而在允许范围内选择最小停站时长,得到第二循次的上行的发车时间,即,
x11=ts
重复此过程,不断使用贪心原则,为第一辆车的全部循次制定发车时间,其中当某一循次的到站时间处于午饭时间段或晚饭时间段,则将午饭矩阵对应元素/>或晚饭矩阵对应元素/>置为1,该循次的停站过程需要预留司机的吃饭时间,此时就不止要满足允许的最小停站时长,并且要满足停站时长大于等于吃饭时间;非独班车需要在所有循次的中段进行交接班,将交接班矩阵矩阵Jm×2n对应元素j1j置为1在交接班之前的停站时间不仅要大于等于最小停站时长,还需要大于等于司机交接班的时间,由此可得如下表达式:
进而开始第二辆车的计划,第一循次的上行发车时间需要做到与第一辆车的第一循的上行发车时间间隔是在所属峰段的规定范围内,平峰15分钟,高峰6分钟,平峰与高峰之间依次为12分钟、9分钟,以达到整体的发车间隔平滑过渡的要求,同理,后面每一个趟次的发车时间都要与第一辆车的对应趟次的发车时间间隔在约束条件规定的范围内,同时,每个趟次都需要采用与第一辆车相同的贪心原则,以前一趟次的发车时刻、所在峰段路准、最小停站时间或吃饭和交接班时间计算本趟次的发车时刻;
除了第一循次的上行发车时间可以根据第一辆车的对应趟次发车时间得出,后面其他趟次的发车时间需要通过两种方式得到,分别是根据第一辆车对应趟次的发车时间加上所在峰段约束范围内的发车间隔得到,和根据本车前一趟次的发车时间加上路准和最小停站时长或吃饭和交接班时间得到;为了能够使发车时间在满足多个约束前提下最优,取两种计算方式中的最大值作为发车时间,由此可以填满第二辆车的跑车循次;
与第二辆车同理,后面所有的车次都依据此算法求出各自跑满的循次,由此,就得到一个每辆车的所有循次均发车的行车方案,即发车指示矩阵Em×2n的所有元素均置1;
考虑上述得到的行车计划很可能是不符合班工时、最晚下班时间在内的约束要求,故通过贪心算法对每辆车进行趟次的删减。
6.根据权利要求5所述的基于贪心算法的公交行车编制方法,其特征在于,步骤(3)中所述贪心算法的需要对每辆车进行趟次的删减以满足所有行车约束:
首先删除所有车辆的行车计划中不符合最早上班时间和最晚下班时间约束的循次(xij≤tsmin,xij≥txmax),将发车矩阵Em×2n中对应元素eij置为0;判断此时所有车辆的跑车时间是否满足班工时约束,若满足则完成行车编制,不满足则继续删除循次;
若需继续删除,则从最后一辆车的最后一循开始删除,并且每辆车是从最后一个循次开始往前删除;根据贪心原则,删除最后一个趟次之后如果满足了班工时约束条件则结束删除操作,如果还不满足,则继续删除前一个趟次,以此类推;
每次删除一个趟次后将发车矩阵Em×2n中对应元素eij置为0;
对于趟次的删减处理中,基于约束条件中对于非独班车交接班后必须跑车,所有车辆必须跑早晚高峰的约束,在删除过程中,交接班后的趟次以及早晚高峰中的趟次是不可删除的;直到满足班工时约束,则输出当前的发车矩阵Em×2n、发车时刻表Xm×2n、交接班指示矩阵Jm×2n、吃饭指示矩阵完成行车编制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310629340.XA CN116703077A (zh) | 2023-05-31 | 2023-05-31 | 基于贪心算法的公交行车编制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310629340.XA CN116703077A (zh) | 2023-05-31 | 2023-05-31 | 基于贪心算法的公交行车编制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116703077A true CN116703077A (zh) | 2023-09-05 |
Family
ID=87844411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310629340.XA Pending CN116703077A (zh) | 2023-05-31 | 2023-05-31 | 基于贪心算法的公交行车编制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116703077A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117151313A (zh) * | 2023-10-31 | 2023-12-01 | 杭州数知梦科技有限公司 | 综合多因素的公交车辆行车计划优化方法、系统及应用 |
CN117151419A (zh) * | 2023-09-22 | 2023-12-01 | 南京智慧交通信息股份有限公司 | 一种用于公交行业运营监管的智能分析方法及其系统 |
-
2023
- 2023-05-31 CN CN202310629340.XA patent/CN116703077A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117151419A (zh) * | 2023-09-22 | 2023-12-01 | 南京智慧交通信息股份有限公司 | 一种用于公交行业运营监管的智能分析方法及其系统 |
CN117151419B (zh) * | 2023-09-22 | 2024-01-30 | 南京智慧交通信息股份有限公司 | 一种用于公交行业运营监管的智能分析方法及其系统 |
CN117151313A (zh) * | 2023-10-31 | 2023-12-01 | 杭州数知梦科技有限公司 | 综合多因素的公交车辆行车计划优化方法、系统及应用 |
CN117151313B (zh) * | 2023-10-31 | 2024-02-02 | 杭州数知梦科技有限公司 | 综合多因素的公交车辆行车计划优化方法、系统及应用 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116703077A (zh) | 基于贪心算法的公交行车编制方法 | |
Zhou et al. | Collaborative optimization of vehicle and charging scheduling for a bus fleet mixed with electric and traditional buses | |
CN111915176B (zh) | 一种混合运营模式下纯电动公交车辆的排班方法及其系统 | |
Dong et al. | Integrated optimization of train stop planning and timetabling for commuter railways with an extended adaptive large neighborhood search metaheuristic approach | |
CN111325483B (zh) | 一种基于电池容量预测的电动公交车辆排班方法 | |
CN109934391B (zh) | 一种纯电动公交车辆的智能调度方法 | |
Huang et al. | Joint train scheduling optimization with service quality and energy efficiency in urban rail transit networks | |
Zhou et al. | Electric bus charging scheduling for a single public transport route considering nonlinear charging profile and battery degradation effect | |
CN102044149B (zh) | 一种基于时变客流的城市公交运营协调方法与装置 | |
CN111382947A (zh) | 一种基于贪婪禁忌搜索的车辆排班算法 | |
Zhao et al. | An integrated approach of train scheduling and rolling stock circulation with skip-stopping pattern for urban rail transit lines | |
CN111754039A (zh) | 纯电动公交线网综合集成优化设计的方法 | |
CN109544901A (zh) | 一种基于历史客流大数据的公交智能排班方法及装置 | |
CN111400662B (zh) | 一种考虑电动汽车充电需求的空间负荷预测方法 | |
CN110288168B (zh) | 一种高速动车组司机乘务交路优化编制方法及装置 | |
CN113919650A (zh) | 一种列车运行方案优化编制方法及系统 | |
Kang et al. | Last train station-skipping, transfer-accessible and energy-efficient scheduling in subway networks | |
Bao et al. | Mixed fleet scheduling method for airport ground service vehicles under the trend of electrification | |
Sung et al. | Optimizing mix of heterogeneous buses and chargers in electric bus scheduling problems | |
CN115456257A (zh) | 一种基于模块化自动驾驶公交接驳的机场旅客疏运系统 | |
Zhang et al. | An optimal operation planning model for high-speed rail transportation | |
Liu et al. | A two-stage approach with a departure time based solution representation for electric bus vehicle scheduling | |
CN114444965A (zh) | 一种单车场多线路电动公交车协同调度方法 | |
Shang et al. | Multi-depot vehicle scheduling with multiple vehicle types on overlapped bus routes | |
Shen et al. | Electric vehicle scheduling based on stochastic trip time and energy consumption |
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 |