CN113792996B - 基于多种群多目标蚁群算法的机组轮班方法 - Google Patents
基于多种群多目标蚁群算法的机组轮班方法 Download PDFInfo
- Publication number
- CN113792996B CN113792996B CN202111001534.2A CN202111001534A CN113792996B CN 113792996 B CN113792996 B CN 113792996B CN 202111001534 A CN202111001534 A CN 202111001534A CN 113792996 B CN113792996 B CN 113792996B
- Authority
- CN
- China
- Prior art keywords
- crew
- time
- ant colony
- members
- fairness
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000000295 complement effect Effects 0.000 claims abstract description 3
- 239000003016 pheromone Substances 0.000 claims description 47
- 230000008569 process Effects 0.000 claims description 26
- 230000010006 flight Effects 0.000 claims description 25
- 241000257303 Hymenoptera Species 0.000 claims description 12
- 230000001186 cumulative effect Effects 0.000 claims description 8
- 238000003780 insertion Methods 0.000 claims description 8
- 230000037431 insertion Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000003044 adaptive effect Effects 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 6
- 230000008020 evaporation Effects 0.000 claims description 4
- 238000001704 evaporation Methods 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 4
- 230000006978 adaptation Effects 0.000 claims description 3
- 230000002776 aggregation Effects 0.000 claims description 3
- 238000004220 aggregation Methods 0.000 claims description 3
- 230000001174 ascending effect Effects 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000003247 decreasing effect Effects 0.000 claims 1
- 230000009286 beneficial effect Effects 0.000 abstract description 5
- 230000007547 defect Effects 0.000 abstract description 2
- 238000009826 distribution Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002996 emotional effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000000969 carrier Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Educational Administration (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Primary Health Care (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于多种群多目标蚁群算法的机组轮班方法。针对现有机组轮班问题模型的不足,本发明首先从机组成员的角度出发,同时考虑调度的公平性以及成员的满意度,提出双目标机组轮班模型,然后将蚁群算法和多种群多目标框架结合设计了一种高效的多目标蚁群算法。同时,本发明提出了一种新的混合互补的启发式策略,充分利用关于公平性目标和满意度目标的启发式信息以及整合的启发式信息,有利于全面探索帕累托前沿。此外,本发明也针对两个目标分别提出两种不同类型的局部搜索,有助于提高解的质量。本发明公开的多种群多目标蚁群算法在不同规模的实际机组轮班问题上表现稳定,均能在较短时间内得到一系列优质的可行解。
Description
技术领域
本发明涉及机组轮班问题和智能计算搜索技术领域,具体涉及一种基于多种群多目标蚁群算法的机组轮班方法。
背景技术
机组调度是保障航空公司正常高效运作的一个关键环节,而由于机组调度的求解规模庞大,一般分为勤务组编排和机组轮班两个阶段来处理。勤务组编排旨在将时间和空间上可以合理衔接的航班编排成勤务组的形式,在保证飞行安全的条件下,尽可能使相邻的航班间隔时间短。编排好的勤务组从一个基地出发,且最后返回到同一个基地,一般持续3~5天。本技术关注的机组轮班问题解决的是如何在排班周期内合理地安排机组成员的执勤任务,该问题直接关系着调度的公平性和机组成员的情绪状态,对航空公司的飞行质量有着重要影响。
随着人民生活质量的不断提高,乘坐飞机出行的需求量不断增加,机组成员的情绪状态关系着飞机上所有乘客的安全。同时,由于近年来航班的急剧增加,高密度、不合理的飞行安排受到机组成员的抵制反对,所以合理高效的机组轮班至关重要。但是多数机组轮班的问题模型通常是从航空公司的角度出发,以求在完成飞行任务的条件下降低成本,却很少从机组成员的角度出发同时考虑任务安排的公平性和机组成员的满意度。
由于飞行任务的高难度和高精度,最近修订《大型飞机公共航空运输承运人运行合格审定规则》提出关于机组成员的累计飞行时间、累计执勤时间的限制以及休息时间的附加要求等等。机组轮班作为一个多约束的NP难问题,难以在多项式时间内求得最优解。随着智能计算方法的发展,通过它们来求解机组轮班问题引起了广泛的关注。然而,多数方法仅关注单个目标,缺少对各个目标因素之间的权衡,不利于在实际场景中运用。因此,当前需要一种高效的多目标智能计算方法来解决机组轮班问题。
Atoosa Kasirzadeh等人在2017年的《EURO Journal on Transportation andLogistics》提出使用列生成法解决个性化的机组轮班问题,求解目标是减低总成本,同时增加考虑每个机组成员的偏好航班和偏好假期,通过约束的方式来制定偏好满足率的下限。但是,该问题模型仍然是将成本设置为主要目标,且没有考虑到调度的公平性。另一方面,传统的数学规划方法在求解大规模的机组轮班问题时耗时较多。
发明内容
本发明的目的是为了解决现有技术中的机组轮班问题模型和方法存在的不足,提供一种基于多种群多目标蚁群算法的机组轮班方法。该机组轮班方法从机组成员的角度出发设计双目标机组轮班问题模型,采用双目标形式分别优化调度的公平性和机组成员的满意度。同时,提出将蚁群算法嵌入到多种群多目标的框架中,并利用该多目标蚁群算法解决提出的机组轮班问题。
本发明的目的可以通过采取如下技术方案达到:
一种基于多种群多目标蚁群算法的机组轮班方法,所述机组轮班方法包括以下步骤:
S1、对问题输入的勤务组pj进行预处理,得到关于勤务组pj的属性(bj,sj,ej,fj,dj,oj),其中,前面三个属性bj、sj和ej分别表示勤务组pj对应的基地、开始时间和结束时间;后面三个属性fj、dj和oj分别表示勤务组pj的飞行时间、执勤时间以及在外地过夜的时间,用于评估调度的公平性;同时,根据勤务组的开始时间进行先后排序;
S2、通过机组成员的申请,记录在该月排班周期内所有机组成员的偏好航班和假期;关于机组成员ci的属性记为(cbi,pfi,pvi,cfi,cdi,coi),其中,前面三个属性cbi、pfi和pvi分别表示成员ci对应的基地、偏好航班和偏好假期;而后面三个属性cfi、cdi和coi分别表示机组成员ci在月排班周期内的累计飞行时间,执勤时间和在外地过夜的时间;注意本发明中的机组成员仅考虑飞行员,且假设每个航班只需要一个飞行员。
S3、对蚁群算法中两个蚁群分别对应的信息素τFcolony和τScolony进行初始化,其中蚁群Fcolony用于优化调度的公平性,蚁群Scolony用于优化机组成员的满意度,值得注意的是两个蚁群分别有各自的信息素和启发式信息;同时,初始化用于存放最终得到的所有帕累托解的集合Archive为空;
S4、通过蚁群算法进行多次迭代,在每一次迭代中两个蚁群分别随机选取使用的启发式信息策略HeurStraNo,其中,启发式信息策略HeurStraNo可能是自身蚁群或外部蚁群的启发式信息,又或者是整合的启发式信息;
S5、通过蚁群算法构建路径,分别得到蚁群Fcolony和Scolony中的所有蚂蚁对应的调度安排,路径构建过程中蚂蚁每走一步均需要进行信息素的局部更新;
S6、计算蚁群Fcolony和Scolony中所有蚂蚁的适应值,并将这些蚂蚁对应的解均加入到集合Archive中;
S7、消除集合Archive中的所有可占优解,并在集合Archive中为蚁群Fcolony和Scolony分别选择进行全局更新的解GUS;然后,对挑选出来的解GUS进行局部搜索得到新的邻居解GUSnew;若新得到的解GUSnew与原来的解GUS是非占优关系,则在全局更新的解中增加GUSnew,否则GUSnew直接替代原来的解进行全局更新;
S8、根据蚁群Fcolony和Scolony各自所得到的解GUS,对蚁群所属的信息素进行全局更新;
S9、若执行时间超过最大允许的运行时间,则优化过程结束输出集合Archive,否则回到步骤S4继续进行迭代。
进一步地,所述步骤S3中对两个蚁群的信息素初始化设置如下:
其中,τ0 Fcolony是τFcolony的初始值,τ0 Scolony是τScolony的初始值,PN是所有勤务组的数量,FGS和SGS分别是对优化目标调度的公平性和机组成员的满意度用贪心算法得到的解,函数g1()用于计算公平性的适应值,具体对应的是所有机组成员在其对应的基地上三个属性值cfi、cdi和coi的标准差之和,而函数g2()用于计算机组成员的满意度,具体对应的是所有机组成员偏好航班和偏好假期的满足率之和。
进一步地,所述步骤S4中的混合互补的启发式策略如下:
其中,r是在[0,1]范围内服从均匀分布的随机数,ηFcolony(i,j)和ηScolony(i,j)分别表示蚁群Fcolony和Scolony中机组成员ci和勤务组pj之间的启发式信息,η1(i,j)和η2(i,j)分别表示优化目标为调度公平性和机组成员满意度时所设计的启发式信息,而η3(i,j)是为两个目标设计的整合启发式信息,这三种启发式信息计算方式如下:
其中,cfi,j、cdi,j和coi,j分别表示勤务组p1至pj已分配后机组成员ci的累计飞行时间,执勤时间和在外地过夜的时间,和/>分别表示已分配j个勤务组后每个机组成员的平均飞行时间,平均执勤时间和平均在外地过夜的时间;/>表示pfi,j归一化后的值,pfi,j是勤务组pj包含机组成员ci的偏好航班的数量,cvi,j是指示型变量,表示勤务组pj是否与机组成员ci的偏好假期冲突。
进一步地,所述步骤S5中路径构建过程如下:
其中,CN是机组成员的总人数,τcol(k,j)和ηcol(k,j)分别表示蚁群col中机组成员ck和勤务组pj之间的信息素和启发式信息,参数β用于平衡信息素和启发式信息之间的重要程度,q是在[0,1]范围内服从均匀分布的随机数,参数q0表示蚁群进行开发的概率,若q不超过q0,则直接选择τcol(k,j)×[ηcol(k,j)]β最大的机组成员来执行勤务组pj,否则按照下列概率进行轮盘赌选择:
其中,p(i,j)表示分配机组成员ci执行勤务组pj的概率。
进一步地,所述步骤S5中信息素的局部更新过程如下:
其中,ρ是设置在(0,1)范围内的参数,τ0 col表示蚁群col的初始信息素,在路径构建过程中,每当一只蚂蚁分配机组成员ci执行勤务组pj后马上对信息素进行局部更新,减少该路径上的信息素,使后面的蚂蚁可能为勤务组pj选择不同的机组成员,增加解的多样性。
进一步地,所述步骤S6中适应值计算过程如下:
其中,g1(X)用于评估解X的公平性,BN表示的是基地的数量,CNb表示在基地b中的机组成员数量,enob,i表示基地b中的第i个机组成员的员工号,和/>分别表示机组成员enob,i的累计飞行时间、执勤时间和在外地过夜时间,/>和/>分别表示基地b对应的平均飞行时间、平均执勤时间和平均在外地过夜时间;g2(X)用于评估解X的机组成员满意度,spvn表示满足的偏好假期数量,PVN是偏好假期的申请总数,spfn表示满足的偏好航班数量,PFN是无重复的偏好航班的申请总数。
进一步地,所述步骤S7中选择全局最优解首先对集合Archive中的所有解按照调度公平性目标值g1按升序进行排序,然后蚁群Fcolony在前|Archive|×θ个解中随机选择一个解作为GUSFcolony,而蚁群Scolony在后|Archive|×θ个解中随机选择一个解作为GUSScolony,其中θ是一个范围在(0,1)内的参数。
进一步地,所述步骤S7中局部搜索过程如下:
若解X已经满足所有申请的偏好假期,则执行针对公平性的局部搜索,否则随机选择执行针对公平性或者满意度的局部搜索,其中,针对公平性的局部搜索的过程如下:
S701、为每个基地选择三个属性值与均值的绝对偏差之和最大的机组成员C1进行调整;
S702、对成员C1进行配对得到成员C2,配对的标准是选择的机组成员与成员C1对应的三个属性值的均值与实际均值最接近;
S703、考虑直接将成员C1中时间与C2的勤务组不重叠的勤务组尝试直接插入到C2的排班表中,注意插入的过程需要考虑到约束条件,若插入后的两个成员的偏差和减少,则保留插入结果;
S704、考虑将成员C1和C2中时间重叠的勤务组进行交换,交换的过程同样需要考虑约束条件,若交换勤务组后两个成员的偏差和减少,则保留交换结果;
S705、若所有基地已经挑选成员进行调整,则该局部搜索结束,否则回到步骤S701;
另外,针对机组成员满意度的局部搜索的过程如下:
S711、为每个基地随机选择一个偏好假期没有满足的机组成员C;
S712、检查机组成员C的排班任务中与其偏好假期冲突的所有勤务组;
S713、对所有冲突的勤务组检查其他可以执行该勤务组的机组成员,且与机组成员自身的偏好假期不冲突;
S714、若上一步骤得到多个机组成员,则选择该勤务组包含最多偏好航班的成员来执行,若无则不执行勤务组的插入,继续下一步;
S715、若所有冲突的勤务组都检查完,则继续下一步,否则回到步骤S713;
S716、若所有基地已经挑选成员进行调整,则该局部搜索结束,否则回到步骤S711。
进一步地,所述步骤S8中信息素的全局更新过程如下:
τcol(i,j)=(1-ε)×τcol(i,j)+ε×Δτ(i,j)
其中,τcol(i,j)表示蚁群col中机组成员ci和勤务组pj之间的信息素和启发式信息,函数g1()用于计算公平性的适应值,函数g2()用于计算机组成员的满意度,参数ε表示信息素的蒸发率,信息素的全局更新使得解GUS的路径对应的边上的信息素增加,其他非GUS解的路径对应的边上的信息素减少,有利于加速收敛。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明提出了一种新的双目标机组轮班问题模型,从机组成员的角度出发,同时考虑任务安排的公平性和机组成员的满意度,有利于保障高质量的飞行以及机组成员的工作热情。多目标的设置更具实际价值,有利于决策者平衡各项目标从而制定计划。
(2)本发明提出了一种高效的多目标智能计算方法,将蚁群算法和多种群多目标框架结合,并提出一种新型的启发式信息策略,有利于对帕累托前沿的探索。同时,针对两个目标设计的局部搜索能够提高解的质量。该方法能在较短时间内得到满足多种复杂约束的一系列高性能帕累托解,在大规模问题上优势更加突出。
附图说明
图1是本发明实施例中机组轮班勤务组实例示意图;
图2是本发明实施例中关于勤务组属性的计算方法示意图;
图3是本发明实施例中提出的基于多种群多目标蚁群算法的机组轮班方法的流程图;
图4是本发明实施例中针对公平性的局部搜索的示意图;
图5是本发明实施例中针对满意度的局部搜索的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本实施例提出了一种基于多种群多目标蚁群算法的机组轮班方法,该机组轮班方法包括以下步骤:
T1、构建多目标的机组轮班模型
航空公司先将一系列航班组织成勤务组,机组轮班问题需要将这些勤务组分配给机组成员,如图1所示的勤务组实例。在分配的过程中首先要满足中国交通部颁布的最新规定,其次应该尽可能使得分配结果公平。本发明采用了三个指标全面评估公平性,分别是飞行时间,执勤时间以及在外地过夜时间。同时,机组成员能够申请想要执行的航班以及该月内的偏好休假时间。本发明在满足约束的条件下,尽可能保证分配的公平以及满足成员的申请,这两个优化目标的定义如下:
其中,g1(X)用于评估解X的公平性,BN表示的是基地的数量,CNb表示在基地b中的机组成员数量,enob,i表示基地b中的第i个机组成员的员工号,和/>分别表示机组成员enob,i的累计飞行时间、执勤时间和在外地过夜时间,/>和/>分别表示基地b对应的平均飞行时间、平均执勤时间和平均在外地过夜时间。而g2(X)用于评估解X的机组成员满意度,spvn表示满足的偏好假期数量,PVN是偏好假期的申请总数,类似地,spfn表示满足的偏好航班数量,PFN是无重复的偏好航班的申请总数。
T2、在解决问题前需要对输入数据进行预处理:
首先,根据勤务组的开始时间进行先后排序。然后,对问题输入的勤务组进行预处理,得到我们所需的关于勤务组pj的属性(bj,sj,ej,fj,dj,oj)。其中,前面三个属性bj,sj和ej分别表示勤务组pj对应的基地,开始时间和结束时间。后面三个属性fj,dj和oj分别表示勤务组pj的飞行时间,执勤时间以及在外地过夜的时间,用于评估调度的公平性。在图2中,关于该勤务组实例的三个属性计算方式为飞行时间fj=t1+t2+t4+t5+t6+t7+t8+t9,执勤时间dj=duty1+duty2+duty3,在外地过夜时间oj=t3。其中,图中Brief和Debrief段表示每天任务开始前的准备以及结束后的总结汇报,duty表示一天的任务,注意由于结束duty2后该成员在所属的基地休息,因此duty2和duty3之间的休息时间不算入在外地过夜时间内;
通过机组成员的申请,记录在该月排班周期内所有机组成员的偏好航班和假期。关于机组成员ci的属性记为(cbi,pfi,pvi,cfi,cdi,coi),其中,前面三个属性cbi、pfi和pvi分别表示成员ci对应的基地、偏好航班和偏好假期。而后面三个属性cfi、cdi和coi分别表示成员ci在月排班周期内的累计飞行时间,执勤时间和在外地过夜的时间;
T3、一种基于多种群多目标蚁群算法的机组轮班方法
图3给出了本发明算法的整体流程图。下面就流程图的内容分步描述整个算法的具体实施方式:
(1)对算法中两个蚁群分别对应的信息素τFcolony和τScolony进行初始化,其中蚁群Fcolony用于优化调度的公平性,而蚁群Scolony用于优化机组成员的满意度,值得注意的是两个蚁群分别有各自的信息素和启发式信息。同时,将用于存放最终得到的所有帕累托解集合Archive清空;
对两个蚁群的初始化信息素设置如下:
其中,τ0 Fcolony是τFcolony的初始值,τ0 Scolony是τScolony的初始值,PN是所有勤务组的数量,FGS和SGS分别是对优化目标调度的公平性和机组成员的满意度用贪心算法得到的解。
(2)在每一次迭代中随机选取使用的启发式信息策略HeurStraNo,等概率选择自身蚁群或外部蚁群的启发式信息,又或者是选择整合的启发式信息;
混合互补的启发式策略如下:
其中,r是在[0,1]范围内服从均匀分布的随机数,ηFcolony(i,j)和ηScolony(i,j)分别表示蚁群Fcolony和Scolony中机组成员ci和勤务组pj之间的启发式信息,η1(i,j)和η2(i,j)分别表示优化目标为调度公平性和机组成员满意度时所设计的启发式信息,而η3(i,j)是为两个目标设计的整合启发式信息,这三种启发式信息计算方式如下:
其中,cfi,j、cdi,j和coi,j分别表示勤务组p1至pj已分配后机组成员ci的累计飞行时间、执勤时间和在外地过夜的时间,和/>分别表示已分配j个勤务组后每个机组成员的平均飞行时间、平均执勤时间和平均在外地过夜的时间;/>表示pfi,j归一化后的值,pfi,j是勤务组pj包含机组成员ci的偏好航班的数量,cvi,j是指示型变量,表示勤务组pj是否与机组成员ci的偏好假期冲突。
(3)通过蚁群算法构建路径,分别得到蚁群Fcolony和Scolony中的所有蚂蚁对应的调度安排,构建完路径中的每一步均需要进行信息素的局部更新;
路径构建过程如下:
其中,CN是机组成员的总人数,τcol(k,j)和ηcol(k,j)分别表示蚁群col中机组成员ck和勤务组pj之间的信息素和启发式信息,参数β用于平衡信息素和启发式信息之间的重要程度,q是在[0,1]范围内服从均匀分布的随机数,参数q0表示蚁群进行开发的概率。若q不超过q0,则直接选择τcol(k,j)×[ηcol(k,j)]β最大的机组成员来执行勤务组pj,否则按照下列概率进行轮盘赌选择:
其中,p(i,j)表示分配机组成员ci执行勤务组pj的概率。
信息素的局部更新过程如下:
其中,ρ是设置在(0,1)范围内的参数,τ0 col表示蚁群col的初始信息素。在路径构建过程中,每当一只蚂蚁分配机组成员ci执行勤务组pj后马上对信息素进行局部更新,减少该路径上的信息素,使后面的蚂蚁可能为勤务组pj选择不同的机组成员,增加解的多样性。
(4)计算两个蚁群中所有蚂蚁的适应值,并将这些蚂蚁对应的解均加入到集合Archive中;
(5)消除集合Archive中的所有可占优解,并在Archive中为两个蚁群分别选择进行全局更新的解GUS。然后,对挑选出来的GUS进行局部搜索得到新的邻居解GUSnew。若新得到的解GUSnew与原来的GUS是非占优关系,则在全局更新的解中增加GUSnew,否则GUSnew直接替代原来的解进行全局更新;
选择全局最优解首先对集合Archive中的所有解按照调度公平性目标值g1按升序进行排序,然后蚁群Fcolony在前|Archive|×θ个解中随机选择一个解作为GUSFcolony,而蚁群Scolony在后|Archive|×θ个解中随机选择一个解作为GUSScolony,其中θ是一个范围在(0,1)内的参数。
关于局部搜索,若解X已经满足所有申请的偏好假期,则执行针对公平性的局部搜索,否则随机选择执行针对公平性或者满意度的局部搜索。其中,针对公平性的局部搜索操作的具体实例如图4所示,其中带箭头的线表示时间轴,方框代表勤务组,其上方括号内的三个值表示(fj,dj,oj),设该实例的三个属性均值为(60,102,50)。首先,需要挑选出三个属性值与均值的绝对偏差之和最大的成员,这里记为C1,其对应的最大偏差为93,并假设C1配对成员C2,配对的标准是选择的机组成员与C1对应的三个属性值的均值与实际均值最接近。此时两个成员的偏差和为169。首先尝试将成员C1要执行的勤务组直接插入到成员C2的排班表中,将勤务组p3插入后,两个成员的偏差之和降为47,因此插入成功。接着继续尝试将勤务组p4插入,此时偏差之和升到141,因此该插入不作保留。考虑完插入操作后,尝试将成员C1和C2中时间重叠的勤务组进行交换。首先将勤务组p1和p2进行交换,偏差之和为59,但仍然比47大,因此该交换不保留。接着考虑将勤务组p5和p7一起与p6进行交换,此时偏差之和降为17,本次交换成功。经过该局部搜索后,这两个成员的属性偏差和由169降到17,有利于改进公平性目标。
而针对满意度的局部搜索操作的具体实例如图5所示,其中带箭头的表示时间轴,方框表示勤务组或偏好假期,圆圈表示机组成员,圆圈上方括号内的数字表示上方的勤务组包含该成员的偏好航班数量,构件1表示处理池,用于存放与偏好假期冲突的勤务组,构件2表示闲置成员池,用于存放可以执行上方勤务组的所有机组成员。假设随机选择一个偏好假期没有满足的机组成员记为C进行调整,由于勤务组p4和p6与成员C的偏好假期冲突,均放入处理池。对于勤务组p4,机组成员c3和c5可以执行,且由于成员c5多于成员c3有3个偏好航段包含在勤务组内,因此选择成员c5执行勤务组p4。同样地,由于只有机组成员c2可以执行勤务组p6,即使成员c2在勤务组p6中没有偏好航班,仍然选择他去执行该勤务组。经过该局部搜索后,成员C申请的偏好假期得以满足。
(6)根据两个蚁群各自所得到的GUS,对蚁群所属的信息素进行全局更新;
τcol(i,j)=(1-ε)×τcol(i,j)+ε×Δτ(i,j)
其中,参数ε表示信息素的蒸发率,信息素的全局更新使得解GUS的路径对应的边信息素增加,其他非GUS解的路径对应的边信息素蒸发,有利于加速收敛。
(7)若执行时间超过最大允许的运行时间,则优化程序结束并输出Archive,否则回到步骤(2)继续进行迭代。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (4)
1.一种基于多种群多目标蚁群算法的机组轮班方法,其特征在于,所述机组轮班方法包括以下步骤:
S1、对问题输入的第j个勤务组pj进行预处理,得到关于勤务组pj的属性(bj,sj,ej,fj,dj,oj),其中,bj、sj和ej分别表示勤务组pj对应的基地、开始时间和结束时间,fj、dj和oj分别表示勤务组pj的飞行时间、执勤时间以及在外地过夜的时间,fj、dj和oj用于评估调度的公平性;同时,根据勤务组的开始时间进行先后排序;
S2、通过机组成员的申请,记录在该月排班周期内所有机组成员的偏好航班和假期,关于第i个机组成员ci的属性记为(cbi,pfi,pvi,cfi,cdi,coi),其中,cbi、pfi和pvi分别表示机组成员ci对应的基地、偏好航班和偏好假期,cfi、cdi和coi分别表示机组成员ci在月排班周期内的累计飞行时间、执勤时间和在外地过夜的时间,假设机组成员仅考虑飞行员,且假设每个航班只需要一个飞行员;
S3、对蚁群算法中两个蚁群分别对应的信息素τFcolony和τScolony进行初始化,其中蚁群Fcolony用于优化调度的公平性,蚁群Scolony用于优化机组成员的满意度,两个蚁群分别有各自的信息素和启发式信息;同时,初始化用于存放最终得到的所有帕累托解的集合Archive为空;
所述步骤S3中对两个蚁群的信息素初始化如下:
其中,τ0 Fcolony是τFcolony的初始值,τ0 Scolony是τScolony的初始值,PN是所有勤务组的数量,FGS和SGS分别是对优化目标调度的公平性和机组成员的满意度用贪心算法得到的解,函数g1()用于计算公平性的适应值,具体对应的是所有机组成员在其对应的基地上三个属性值cfi、cdi和coi的标准差之和,而函数g2()用于计算机组成员的满意度,具体对应的是所有机组成员偏好航班和偏好假期的满足率之和;
S4、通过蚁群算法进行多次迭代,在每一次迭代中两个蚁群分别随机选取使用的启发式信息策略HeurStraNo,其中,启发式信息策略HeurStraNo可能是自身蚁群或外部蚁群的启发式信息,又或者是整合的启发式信息;
所述步骤S4中启发式信息策略HeurStraNo是混合互补的,具体如下:
其中,r是在[0,1]范围内服从均匀分布的随机数,ηFcolony(i,j)和ηScolony(i,j)分别表示蚁群Fcolony和Scolony中机组成员ci和勤务组pj之间的启发式信息,η1(i,j)和η2(i,j)分别表示优化目标为调度公平性和机组成员满意度时所设计的启发式信息,而η3(i,j)是为两个目标设计的整合启发式信息,这三种启发式信息计算方式如下:
其中,cfi,j、cdi,j和coi,j分别表示勤务组p1至pj已分配后机组成员ci的累计飞行时间、执勤时间和在外地过夜的时间,和/>分别表示已分配j个勤务组后每个机组成员的平均飞行时间、平均执勤时间和平均在外地过夜的时间;/>表示pfi,j归一化后的值,pfi,j是勤务组pj包含机组成员ci的偏好航班的数量,cvi,j是指示型变量,表示勤务组pj是否与机组成员ci的偏好假期冲突;
S5、通过蚁群算法构建路径,分别得到蚁群Fcolony和Scolony中的所有蚂蚁对应的调度安排,同时对每只蚂蚁构建的路径的每一条边执行信息素的局部更新;
S6、计算蚁群Fcolony和Scolony中所有蚂蚁的适应值,并将这些蚂蚁对应的解全部加入到集合Archive中;
所述步骤S6中适应值计算过程如下:
其中,g1(X)用于评估解X的公平性,BN表示的是基地的数量,CNb表示在基地b中的机组成员数量,enob,i表示基地b中的第i个机组成员的员工号,cfenob,i、cdenob,i和coenob,i分别表示机组成员enob,i的累计飞行时间、执勤时间和在外地过夜时间,和/>分别表示基地b对应的平均飞行时间、平均执勤时间和平均在外地过夜时间;g2(X)用于评估解X的机组成员满意度,spvn表示满足的偏好假期数量,PVN是偏好假期的申请总数,spfn表示满足的偏好航班数量,PFN是无重复的偏好航班的申请总数;
S7、消除集合Archive中的所有可占优解,并在集合Archive中为蚁群Fcolony和Scolony分别选择进行全局更新的解GUS;然后,对挑选出来的解GUS进行局部搜索得到新的邻居解GUSnew;若新得到的解GUSnew与原来的解GUS是非占优关系,则在全局更新的解中增加GUSnew,否则GUSnew直接替代原来的解进行全局更新;
所述步骤S7中局部搜索过程如下:
若解X已经满足所有申请的偏好假期,则执行针对公平性的局部搜索,否则随机执行针对公平性或者满意度的局部搜索,其中,针对公平性的局部搜索的过程如下:
S701、从每个基地选择三个属性值与均值的绝对偏差之和最大的机组成员C1;
S702、对成员C1进行配对得到成员C2,配对的标准是选择的机组成员与成员C1对应的三个属性值的均值与实际均值最接近;
S703、考虑直接将成员C1中时间与C2的勤务组不重叠的勤务组尝试直接插入到C2的排班表中,注意插入的过程需要考虑到约束条件,若插入后的两个成员的偏差和减少,则保留插入结果;
S704、考虑将成员C1和C2中时间重叠的勤务组进行交换,交换的过程同样需要考虑约束条件,若交换勤务组后两个成员的偏差和减少,则保留交换结果;
S705、若所有基地已经挑选成员进行调整,则该局部搜索结束,否则回到步骤S701;
另外,针对机组成员满意度的局部搜索的过程如下:
S711、为每个基地随机选择一个偏好假期没有满足的机组成员C;
S712、检查机组成员C的排班任务中与其偏好假期冲突的所有勤务组;
S713、对所有冲突的勤务组检查其他可以执行该勤务组的机组成员,且与机组成员自身的偏好假期不冲突;
S714、若上一步骤得到多个机组成员,则选择该勤务组包含最多偏好航班的成员来执行,若无则不执行勤务组的插入,继续下一步;
S715、若所有冲突的勤务组都检查完,则继续下一步,否则回到步骤S713;
S716、若所有基地已经挑选成员进行调整,则该局部搜索结束,否则回到步骤S711;
S8、根据蚁群Fcolony和Scolony各自所得到的解GUS,对蚁群所属的信息素进行全局更新;
S9、若执行时间超过最大允许的运行时间,则优化过程结束输出集合Archive,否则回到步骤S4继续进行迭代。
2.根据权利要求1所述的基于多种群多目标蚁群算法的机组轮班方法,其特征在于,所述步骤S5中信息素的局部更新过程如下:
其中,ρ是设置在(0,1)范围内的参数,τ0 col表示蚁群col的初始信息素,在路径构建过程中,每当一只蚂蚁分配机组成员ci执行勤务组pj后马上对信息素进行局部更新,减少ci和pj对应边上的信息素。
3.根据权利要求1所述的基于多种群多目标蚁群算法的机组轮班方法,其特征在于,所述步骤S7中选择全局最优解首先对集合Archive中的所有解按照调度公平性目标值g1按升序进行排序,然后蚁群Fcolony在前|Archive|×θ个解中随机选择一个解作为GUSFcolony,而蚁群Scolony在后|Archive|×θ个解中随机选择一个解作为GUSScolony,其中θ是一个范围在(0,1)内的参数。
4.根据权利要求3所述的基于多种群多目标蚁群算法的机组轮班方法,其特征在于,所述步骤S8中信息素的全局更新过程如下:
τcol(i,j)=(1-ε)×τcol(i,j)+ε×Δτ(i,j)
其中,τcol(i,j)表示蚁群col中机组成员ci和勤务组pj之间的信息素,函数g1()用于计算公平性的适应值,函数g2()用于计算机组成员的满意度,参数ε表示信息素的蒸发率,信息素的全局更新使得解GUS的路径对应的边信息素增加,其他非GUS解的路径对应的边的信息素减少。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111001534.2A CN113792996B (zh) | 2021-08-30 | 2021-08-30 | 基于多种群多目标蚁群算法的机组轮班方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111001534.2A CN113792996B (zh) | 2021-08-30 | 2021-08-30 | 基于多种群多目标蚁群算法的机组轮班方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113792996A CN113792996A (zh) | 2021-12-14 |
CN113792996B true CN113792996B (zh) | 2023-10-03 |
Family
ID=79182375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111001534.2A Active CN113792996B (zh) | 2021-08-30 | 2021-08-30 | 基于多种群多目标蚁群算法的机组轮班方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113792996B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2328308A1 (en) * | 2009-11-27 | 2011-06-01 | Alcatel Lucent | Method for building a path according to adaptation functions using an ant colony |
CN111563659A (zh) * | 2020-04-13 | 2020-08-21 | 华南理工大学 | 基于多蚁群系统的多目标供应链配置方法 |
CN111563657A (zh) * | 2020-04-10 | 2020-08-21 | 福建电子口岸股份有限公司 | 一种通过蚁群算法结合多维度策略解决港口拖轮调度的方法 |
-
2021
- 2021-08-30 CN CN202111001534.2A patent/CN113792996B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2328308A1 (en) * | 2009-11-27 | 2011-06-01 | Alcatel Lucent | Method for building a path according to adaptation functions using an ant colony |
CN111563657A (zh) * | 2020-04-10 | 2020-08-21 | 福建电子口岸股份有限公司 | 一种通过蚁群算法结合多维度策略解决港口拖轮调度的方法 |
CN111563659A (zh) * | 2020-04-13 | 2020-08-21 | 华南理工大学 | 基于多蚁群系统的多目标供应链配置方法 |
Non-Patent Citations (2)
Title |
---|
基于蚁群算法的航班网络座位优化研究;张雯;樊玮;;计算机应用(第10期);全文 * |
繁忙机场航班降落排序的多目标优化;王世东;张越;张智海;鱼海洋;;交通运输系统工程与信息(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113792996A (zh) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110598941A (zh) | 一种基于仿生策略的粒子群优化制造系统双目标排产方法 | |
CN112862380B (zh) | 一种基于混合算法的项目型产品装配车间人员调度方法、设备及存储介质 | |
Xu et al. | Optimisation of partial collaborative transportation scheduling in supply chain management with 3PL using ACO | |
CN108287531B (zh) | 一种用于混合流水车间调度问题的改进候鸟优化方法 | |
CN110046761A (zh) | 一种基于多目标粒子群优化算法的乙醇库存补货策略 | |
CN113743874B (zh) | 一种应急物资物流配送的优化调度方法 | |
CN104077634B (zh) | 基于多目标优化的主动‑反应式动态项目调度方法 | |
CN114897379A (zh) | 一种基于信息反馈的动态生产计划排程系统及方法 | |
CN109598366B (zh) | 一种外卖配送过程的优化调度方法 | |
CN111860957B (zh) | 一种考虑二次配送和平衡用时的多车型车辆路径规划方法 | |
CN103246938A (zh) | 基于自适应蚁群优化的弹性车间调度技术 | |
CN109245152A (zh) | 一种基于多目标蚁群算法的微电网负荷分配方法 | |
CN113792996B (zh) | 基于多种群多目标蚁群算法的机组轮班方法 | |
CN114511272A (zh) | 一种用于城市即时配送的无人机配送网络优化的求解算法 | |
Xie et al. | A Two‐Workshop Collaborative, Integrated Scheduling Algorithm considering the Prescheduling of the Root‐Subtree Processes | |
CN113569484A (zh) | 基于改进人工蜂群算法的动态多目标柔性作业车间调度方法 | |
CN110991917B (zh) | 采用两阶段遗传算法的多模资源受限项目调度优化方法 | |
CN117314055A (zh) | 基于强化学习的智能制造车间生产-运输联合调度方法 | |
Liang et al. | Improved nsga2 algorithm to solve multi-objective flexible job shop scheduling problem | |
CN116300756A (zh) | 带运输机器人柔性制造车间的双目标优化调度方法及系统 | |
CN113962447B (zh) | 基于改进粒子群算法的复杂设备批量长期维修计划优化方法 | |
CN116468291A (zh) | 含电动汽车充电站的商业建筑混合能源调度方法 | |
Pei et al. | Critical review on the objective function of flexible job shop scheduling | |
Canha et al. | Models and methods of decision making in fuzzy environment and their applications to power engineering problems | |
CN104732807B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |