CN116894532B - 一种航路规划方法、装置、介质及设备 - Google Patents
一种航路规划方法、装置、介质及设备 Download PDFInfo
- Publication number
- CN116894532B CN116894532B CN202311031344.4A CN202311031344A CN116894532B CN 116894532 B CN116894532 B CN 116894532B CN 202311031344 A CN202311031344 A CN 202311031344A CN 116894532 B CN116894532 B CN 116894532B
- Authority
- CN
- China
- Prior art keywords
- gene
- route
- preset
- genes
- individuals
- 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 67
- 108090000623 proteins and genes Proteins 0.000 claims abstract description 214
- 210000000349 chromosome Anatomy 0.000 claims abstract description 84
- 230000035772 mutation Effects 0.000 claims abstract description 56
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 31
- 238000004364 calculation method Methods 0.000 claims abstract description 10
- 230000008569 process Effects 0.000 claims abstract description 10
- 238000009395 breeding Methods 0.000 claims abstract description 6
- 230000001488 breeding effect Effects 0.000 claims abstract description 6
- 238000003780 insertion Methods 0.000 claims description 84
- 230000037431 insertion Effects 0.000 claims description 84
- 108700028369 Alleles Proteins 0.000 claims description 61
- 238000012224 gene deletion Methods 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 23
- 230000001351 cycling effect Effects 0.000 claims description 15
- 230000002068 genetic effect Effects 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 10
- 230000008030 elimination Effects 0.000 claims description 9
- 238000003379 elimination reaction Methods 0.000 claims description 9
- 238000006467 substitution reaction Methods 0.000 claims description 7
- 230000008901 benefit Effects 0.000 claims description 6
- 230000004083 survival effect Effects 0.000 claims description 6
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 230000014759 maintenance of location Effects 0.000 claims description 4
- 230000000717 retained effect Effects 0.000 claims description 4
- 230000001502 supplementing effect Effects 0.000 claims description 4
- 238000004321 preservation Methods 0.000 claims description 3
- 230000006872 improvement Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000001902 propagating effect Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 108700026220 vif Genes Proteins 0.000 description 2
- 238000004891 communication 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/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- 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/10—Services
- G06Q50/26—Government or public services
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- Biophysics (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Development Economics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Primary Health Care (AREA)
- Educational Administration (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种航路规划方法、装置、介质及设备,所述方法包括:根据预设的航班起点和航班终点,获取对应的历史航路数据集;使用航路点作为基因,对历史航路数据集进行染色体编码,生成初始种群,其中,染色体长度是可变的;计算种群中每个个体的适应度,按照预设的选择概率选择出K个优良个体用于繁殖后代;按照预设的交叉概率对选择出的优良个体执行交叉操作,得到交叉后的种群;对交叉后的种群按照预设的变异概率执行变异操作,得到新一代种群;重复以上操作,直到满足迭代终止条件。本发明具有较强并行化能力,能够极大提高算法效率,并且通过将历史大数据规律融入算法计算过程,加速算法收敛,能够同时找出若干条满足条件的较优解。
Description
技术领域
本发明涉及民航飞行航路规划技术领域,尤其涉及一种航路规划方法、装置、介质及设备。
背景技术
航路网络规划技术是保障空域安全运行、空域资源高效利用的关键组成部分,随着我国民航运输产业需求的不断增长,民众出行需求不断提升,如何保障航空飞行安全,兼顾各项经济性和地理性指标,精确规划我国高空航路网络,实现空域时空资源的高效利用,是未来大规模、高密度民航运输的一个关键问题。目前,国内外大多采用Dijkstra算法与A*算法进行航路规划。当规划不带限制航路时,这类算法的确能快速计算出全局最优解;但实际运行时,必须考虑各类复杂的通行限制,前序经过的航路、空域、飞行高度,通过时间等因素,都可能会影响后续的航路选择,因此,当航线遇到的限制较多时,传统的Dijkstra算法与A*算法便难以在较短的时间内计算出满足条件的最优解。
发明内容
为了解决上述技术问题,本发明实施例提出了一种航路规划方法、装置、介质及设备,能够提高并行计算的能力,加快求解寻优的速度,同时找出若干条满足限制条件的较优路径以供用户结合实际进行选择。
为了实现上述目的,本发明实施例提供了一种航路规划方法,包括:
根据预设的航班起点和航班终点,获取对应的历史航路数据集;
使用航路中的航路点作为基因,对所述历史航路数据集进行染色体编码,生成初始种群;其中,染色体长度是可变的,所述初始种群包含若干条染色体,所述染色体是对航路进行编码后得到的,所述染色体中的基因对应于航路中的航路点;
计算所述初始种群中每个个体的适应度,用于表示个体对环境的适应能力,度量个体在种群生存的优势程度,同时判断是否满足预设的迭代终止条件,若满足,则输出适应度最大的个体作为最优航路结果;若不满足,则:
按照预设的选择概率选择出K个优良个体用于繁殖后代;其中,K为正整数;
按照预设的交叉概率对所述K个优良个体执行交叉操作,得到交叉后的种群;
对交叉后的种群按照预设的变异概率执行变异操作,得到新一代种群,并将所述新一代种群作为下一轮的初始种群返回至计算适应度的步骤,以进行重复迭代,直至满足所述迭代终止条件;
其中,所述迭代终止条件包括:迭代的次数大于等于预设的迭代次数阈值;或,连续n轮迭代得到的若干最优个体的适应度均相同,n为正整数。
进一步的,所述使用航路中的航路点作为基因,对所述历史航路数据集进行染色体编码,生成初始种群,具体包括:
比较历史航路数据集的数据量与预设的数据量阈值k;若数据量大于等于k,则从所述历史航路数据集中随机选出k条航路编码成染色体以生成初始种群,若数据量小于k,则采用随机替换部分路径法补充所述历史航路数据集,基于补充后的历史航路数据集生成初始种群;其中,k为正整数。
进一步的,所述优良个体为被选中的个体,其中,个体被选中的概率跟个体对应的适应度值有关,个体的适应度值越高,被选中的概率越大,选择策略为淘汰最差策略与保留最优策略;所述淘汰最差策略为:适应度最差的个体不保留;所述保留最优策略为:在每轮迭代中保留预设个数的适应度最高的个体。
进一步的,所述按照预设的交叉概率对所述K个优良个体执行交叉操作,得到交叉后的种群,具体为:
根据预设的交叉概率,对所述K个优良个体两两之间执行交叉操作,执行交叉操作的两个个体称为父代,交叉后产生的新个体称为子代,具体包括如下步骤:
若两个所述父代之间的相同基因的数量大于两个,则:
随机选取两个相同基因对应位置作为两个交叉点,交叉替换两个所述父代在所述两个交叉点之间的所有基因,得到两个子染色体;
判断所述两个子染色体中是否存在环路;
若不存在环路,则以所述两个子染色体作为子代;
若存在环路,则对所述两个子染色体执行去环操作,以去环操作后的两个子染色体作为子代;
若两个所述父代之间的相同基因的数量小于两个,则采用随机替换部分路径法对两个所述父代进行处理,以生成子代。
进一步的,所述随机替换部分路径法,具体包括如下步骤:
在输入的航路中选取第一航路点和第二航路点;其中,所述第一航路点相对于所述第二航路点在前;
以所述第一航路点为起点,且以所述第二航路点为终点,采用随机K最短路算法计算得到若干可替换路径,并从所述若干可替换路径中随机选择一条作为最终替换路径;
在所述输入的航路中,将所述第一航路点与所述第二航路点之间的路径替换为所述最终替换路径,以获取新航路;
判断所述新航路中是否存在环路;
若不存在环路,则对所述新航路进行编码,得到染色体;
若存在环路,则对所述新航路执行去环操作,并对去环操作后的新航路进行编码,得到染色体。
进一步的,所述变异操作包含:基因插入、等位基因替换和基因删除;
所述基因插入,具体包括:
对所述交叉后的种群中的每一个个体,基于预设的基因插入概率,判断是否对个体进行基因插入的变异操作;
对于需要进行基因插入变异操作的个体,从该染色体中随机选择一个基因插入位置,判断该基因插入位置是否有可插入的基因集,若有,则从可插入的基因集随意选择一个基因插入;若没有,则重新选择其他插入位置,循环以上操作直到完成基因插入操作,或所有位置均被遍历一遍;其中,所述判断该基因插入位置是否有可插入的基因集,具体包括:获取所述基因插入位置相邻的两个基因对应的航路点,称为第一航路点和第二航路点,若路网中同时存在所述第一航路点到第三航路点的航路边和所述第三航路点到所述第二航路点的航路边,则表示所述基因插入位置有可插入的基因集,所有第三航路点组成的集合称为第一航路点与第二航路点的插入集;
所述等位基因替换,具体包括:
对所述交叉后的种群中的每一个个体,基于预设的等位基因替换概率,判断是否对个体进行等位基因替换的变异操作;
对于需要进行等位基因替换变异操作的个体,从该染色体中随机选择一个需要替换的基因,判断该需要替换基因是否有对应的等位基因集,若有则从等位基因集中随机选择一个基因替换该需要替换基因,否则重新选择其他基因进行替换,循环以上操作直到完成等位基因替换操作,或所有基因均被遍历一遍;其中,所述等位基因集为所述插入集中的基因,所述插入集中的基因互为等位基因;
所述基因删除,具体包括:
对所述交叉后的种群中的每一个个体,基于预设的基因删除概率,判断是否对个体进行基因删除的变异操作;
对于需要进行基因删除变异操作的个体,从该染色体中随机选择一个需要删除的基因,若在这一基因删除位置的前后两个基因对应的两个航路点间存在航路边,则删除该基因,否则重新选择其他基因进行删除,循环以上操作直到完成基因删除操作,或所有基因均被遍历一遍。
进一步的,通过如下公式计算所述适应度Fit(f(w)):
其中,α为预设的第一参数,β为预设的第二参数,w为染色体所对应的航路的权重,wmin为种群中所有个体对应的最小权重,wavg为种群中所有个体对应的平均权重,g为染色体所对应的航路违反限制时的惩罚值。
本发明实施例还提供了一种航路规划装置,包括:
历史航路数据集获取模块,用于根据预设的航班起点和航班终点,获取对应的历史航路数据集;
初始种群生成模块,用于使用航路中的航路点作为基因,对所述历史航路数据集进行染色体编码,生成初始种群;其中,染色体长度是可变的,所述初始种群包含若干条染色体,所述染色体是对航路进行编码后得到的,所述染色体中的基因对应于航路中的航路点;
遗传迭代模块,包括适应度计算单元、选择单元、交叉单元和变异单元;
所述适应度计算单元,用于计算所述初始种群中每个个体的适应度,用于表示个体对环境的适应能力,度量个体在种群生存的优势程度,同时判断是否满足预设的迭代终止条件,若满足,则输出适应度最大的个体作为最优航路结果;若不满足,则:
所述选择单元,用于按照预设的选择概率选择出K个优良个体用于繁殖后代;其中,K为正整数;
所述交叉单元,用于按照预设的交叉概率对所述K个优良个体执行交叉操作,得到交叉后的种群;
所述变异单元,用于对交叉后的种群按照预设的变异概率执行变异操作,得到新一代种群;
其中,所述迭代终止条件包括:迭代的次数大于等于预设的迭代次数阈值;或,连续n轮迭代得到的若干最优个体的适应度均相同,n为正整数。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述的航路规划方法的步骤。
本发明实施例还提供了一种计算机设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的航路规划方法的步骤。
综上,本发明具有以下有益效果:
采用本发明实施例,通过将遗传算法应用于航路规划当中,利用多服务器并行计算,可以使算法效率得到极大提高,并且通过将历史大数据规律融入算法计算过程,加速算法收敛,能够同时找出若干条满足条件的较优解。
附图说明
图1是本发明提供的一种航路规划方法的一个实施例的流程示意图;
图2是本发明提供的一种航路规划装置的一个实施例的结构示意图;
图3(a)是本发明提供的交叉操作的一个实施例的示意图;
图3(b)是本发明提供的交叉操作的一个实施例的示意图;
图4是本发明提供的一种航路规划方法的另一个实施例的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请描述中,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
在本申请的描述中,需要说明的是,除非另有定义,本发明所使用的所有的技术和科学术语与属于本的技术领域的技术人员通常理解的含义相同。本发明中说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明,对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
参见图1,是本发明提供的航路规划方法的一个实施例的流程示意图,该方法包括步骤S1至S6,具体如下:
S1,根据预设的航班起点和航班终点,获取对应的历史航路数据集;
S2,使用航路中的航路点作为基因,对所述历史航路数据集进行染色体编码,生成初始种群;其中,染色体长度是可变的,所述初始种群包含若干条染色体,所述染色体是对航路进行编码后得到的,所述染色体中的基因对应于航路中的航路点;
S3,计算所述初始种群中每个个体的适应度,用于表示个体对环境的适应能力,度量个体在种群生存的优势程度,同时判断是否满足预设的迭代终止条件,若满足,则输出适应度最大的个体作为最优航路结果;若不满足,则:
S4,按照预设的选择概率选择出K个优良个体用于繁殖后代;其中,K为正整数;
S5,按照预设的交叉概率对所述K个优良个体执行交叉操作,得到交叉后的种群;
S6,对交叉后的种群按照预设的变异概率执行变异操作,得到新一代种群,并将所述新一代种群作为下一轮的初始种群返回至计算适应度的步骤,以进行重复迭代,直至满足所述迭代终止条件;
其中,所述迭代终止条件包括:迭代的次数大于等于预设的迭代次数阈值;或,连续n轮迭代得到的若干最优个体的适应度均相同,n为正整数。
示例性的,满足以下两个条件之一,迭代终止:1、迭代次数达到预设的迭代次数阈值即最大迭代次数;或者,2、最优个体的适应度的值连续n轮迭代没有更新(即连续n轮计算得到的最优个体的适应度均相同)。
作为上述方案的改进,所述使用航路中的航路点作为基因,对所述历史航路数据集进行染色体编码,生成初始种群,具体包括:
比较历史航路数据集的数据量与预设的数据量阈值k;若数据量大于等于k,则从所述历史航路数据集中随机选出k条航路编码成染色体以生成初始种群,若数据量小于k,则采用随机替换部分路径法补充所述历史航路数据集,基于补充后的历史航路数据集生成初始种群;其中,k为正整数。
示例性的,对航路进行编码是指使用航路点id作为基因,染色体为一组从起点到终点的航路点组合,路径中不允许出现环路,且由于事先无法知道最短路径所经节点数目,所以染色体长度是可变的。对于有足够历史数据的航线(即历史航路数据集的数据量足够大),可以直接使用一条航路编码后对应一条染色体,历史数据不够的航线,则采用随机替换部分路径法生成该航线的数据补充进历史航路数据集。
作为上述方案的改进,所述优良个体为被选中的个体,其中,个体被选中的概率跟个体对应的适应度值有关,个体的适应度值越高,被选中的概率越大,选择策略为淘汰最差策略与保留最优策略;所述淘汰最差策略为:适应度最差的个体不保留;所述保留最优策略为:在每轮迭代中保留预设个数的适应度最高的个体。
可以理解的是,选择操作(即选出K个优良个体)的目的是为了从当前群体中选出优良的个体,使它有机会可以保留用以繁殖后代。个体适应度值越大,其被选择的机会就越大。在本实施例中,采用淘汰最差策略与保留最优策略,即每轮迭代会保留预设个数适应度最高的个体,适应度最差的个体不保留。
作为上述方案的改进,所述按照预设的交叉概率对所述K个优良个体执行交叉操作,得到交叉后的种群,具体为:
根据预设的交叉概率,对所述K个优良个体两两之间执行交叉操作,执行交叉操作的两个个体称为父代,交叉后产生的新个体称为子代,具体包括如下步骤:
若两个所述父代之间的相同基因的数量大于两个,则:
随机选取两个相同基因对应位置作为两个交叉点,交叉替换两个所述父代在所述两个交叉点之间的所有基因,得到两个子染色体;
判断所述两个子染色体中是否存在环路;
若不存在环路,则以所述两个子染色体作为子代;
若存在环路,则对所述两个子染色体执行去环操作,以去环操作后的两个子染色体作为子代;
若两个所述父代之间的相同基因的数量小于两个,则采用随机替换部分路径法对两个所述父代进行处理,以生成子代。
示例性的,交叉操作是遗传算法中最主要的遗传操作,本实施例采用双点交叉方法。按照一定的交叉概率Pc,对K个优良个体两两之间执行交叉操作,执行交叉操作的两个个体称为父代,交叉后产生的新个体称为子代;两个父代所对应的两条航路是用于繁殖后代的两条路径,父代之间的相同基因的数量大于两个,相当于用于繁殖后代的两条路径中的相同航路点数量大于两个。
示例性的,参见图3,选中两个基因V2和V8作为两个交叉点,图3(a)中上下两条染色体的V2至V8的片段分别交叉替换后,分别得到图3(b)的两条染色体,即完成交叉操作。
作为上述方案的改进,所述随机替换部分路径法,具体包括如下步骤:
在输入的航路中选取第一航路点和第二航路点;其中,所述第一航路点相对于所述第二航路点在前;
以所述第一航路点为起点,且以所述第二航路点为终点,采用随机K最短路算法计算得到若干可替换路径,并从所述若干可替换路径中随机选择一条作为最终替换路径;
在所述输入的航路中,将所述第一航路点与所述第二航路点之间的路径替换为所述最终替换路径,以获取新航路;
判断所述新航路中是否存在环路;
若不存在环路,则对所述新航路进行编码,得到染色体;
若存在环路,则对所述新航路执行去环操作,并对去环操作后的新航路进行编码,得到染色体。
示例性的,若航路历史数据不足,则采用以下随机替换部分路径法生成初始种群:
Step1:输入一条从起点到终点的航路;
Step2:从输入的航路中随机选择第一航路点1和第二航路点2(两者之间有序,第一航路点1在前,第二航路点2在后);
Step3:分别以第一航路点1和第二航路点2为起点和终点,利用随机KSP算法(随机K最短路算法,是基于Dijkstra算法原理,当计算到终点时不停止计算,直到计算出K条从起点到目标点的路。计算时对边的权重进行扰动,使最后得到的路不是一定是按权重大小排序),计算出若干条从第一航路点1到第二航路点2之间的可替换路径;
Step4:从Step3计算的路径中,随机选择一条作为最终替换路径,用以替换第一航路点1和第二航路点2之间的航路,从而得到新航路;
Step5:判断替换后的新航路是否存在环路,如有则进行去环操作。
作为上述方案的改进,所述变异操作包含:基因插入、等位基因替换和基因删除;
所述基因插入,具体包括:
对所述交叉后的种群中的每一个个体,基于预设的基因插入概率,判断是否对个体进行基因插入的变异操作;
对于需要进行基因插入变异操作的个体,从该染色体中随机选择一个基因插入位置,判断该基因插入位置是否有可插入的基因集,若有,则从可插入的基因集随意选择一个基因插入;若没有,则重新选择其他插入位置,循环以上操作直到完成基因插入操作,或所有位置均被遍历一遍;其中,所述判断该基因插入位置是否有可插入的基因集,具体包括:获取所述基因插入位置相邻的两个基因对应的航路点,称为第一航路点和第二航路点,若路网中同时存在所述第一航路点到第三航路点的航路边和所述第三航路点到所述第二航路点的航路边,则表示所述基因插入位置有可插入的基因集,所有第三航路点组成的集合称为第一航路点与第二航路点的插入集;
所述等位基因替换,具体包括:
对所述交叉后的种群中的每一个个体,基于预设的等位基因替换概率,判断是否对个体进行等位基因替换的变异操作;
对于需要进行等位基因替换变异操作的个体,从该染色体中随机选择一个需要替换的基因,判断该需要替换基因是否有对应的等位基因集,若有则从等位基因集中随机选择一个基因替换该需要替换基因,否则重新选择其他基因进行替换,循环以上操作直到完成等位基因替换操作,或所有基因均被遍历一遍;其中,所述等位基因集为所述插入集中的基因,所述插入集中的基因互为等位基因;
所述基因删除,具体包括:
对所述交叉后的种群中的每一个个体,基于预设的基因删除概率,判断是否对个体进行基因删除的变异操作;
对于需要进行基因删除变异操作的个体,从该染色体中随机选择一个需要删除的基因,若在这一基因删除位置的前后两个基因对应的两个航路点间存在航路边,则删除该基因,否则重新选择其他基因进行删除,循环以上操作直到完成基因删除操作,或所有基因均被遍历一遍。
需要说明的是,第一航路点Vi、第二航路点Vj、第三航路点Vk和Vm;插入集、等位基因和需要删除的基因的定义如下:
插入集:若同时存在航路边Vi->Vj,Vi->Vk,Vk->Vj,,则所有Vk组成的集合为路径Vi->Vj的插入集;
等位基因:若同时存在路径Vi->Vk->Vj,Vi->Vm->Vj,则第三航路点Vk与Vm互为等位基因,可互相替换;
需要删除的基因:若存在一条航路边Vi->Vj,则对于路径Vi->Vk->Vj,第三航路点Vk是需要删除的基因。
示例性的,插入集与等位基因确定方法如下:
定义FromVi={V1,V2...V3,V4}表示航路点Vi的所有可达航路点(Vi出边对应的终点)集合,ToVj={V1,V2...V3,V4}表示可直接到达Vj的所有航路点(Vj入边对应的起点)集合;则路径Vi->Vj的插入集为集合FromVi与ToVj的交集M;M集合中的各航路点互为等位基因。
基因插入算子:按照一定的概率Pi(即基因插入概率),在两个基因(航路点)之间从插入集中随机选择一个基因(航路点)插入,插入位置随机
基因删除算子:按照一定的概率Pd(即基因删除概率),随机选择基因删除位置m,若存在航路边Vm-1->Vm+1,则删除基因Vm
等位基因替换算子:按照一定的概率Ps(即等位基因替换概率),随机选择基因替换位置m,从基因Vm的等位基因集中随机选择一个基因用来替换Vm
作为上述方案的改进,通过如下公式计算所述适应度Fit(f(w)):
其中,α为预设的第一参数,β为预设的第二参数,w为染色体所对应的航路的权重,wmin为种群中所有个体对应的最小权重,wavg为种群中所有个体对应的平均权重,g为染色体所对应的航路违反限制时的惩罚值。
可以理解的是,遗传算法在搜索进化过程中通过适应度值来评估个体优劣,作为后续遗传操作的依据。适应度反应了个体对环境适应能力的强弱,不同的问题,适应度函数的定义方式不同。
需要说明的是,本实施例中α、β的取值,取决于优化问题的数据特征。通常α取大于1的值,以人为的贬低适应度差的个体;当β=1时,适应度值在[0.5,1]之间线性变化;当β<1时,适应度值在最优解附近变化灵敏,可有效拉开最优解附近点的适应度值;当β>1时,情况与小于1时刚好相反。因此不同的优化问题,需根据需要选择合适的参数值。
一种可选的实施方式,参见图4,是本发明提供的一种航路规划方法的一个实施例的流程示意图。
参见图2,是本发明提供的航路规划装置的一个实施例的结构示意图,包括:
历史航路数据集获取模块101,用于根据预设的航班起点和航班终点,获取对应的历史航路数据集;
初始种群生成模块102,用于使用航路中的航路点作为基因,对所述历史航路数据集进行染色体编码,生成初始种群;其中,染色体长度是可变的,所述初始种群包含若干条染色体,所述染色体是对航路进行编码后得到的,所述染色体中的基因对应于航路中的航路点;
遗传迭代模块103,包括适应度计算单元301、选择单元302、交叉单元303和变异单元304;
所述适应度计算单元301,用于计算所述初始种群中每个个体的适应度,用于表示个体对环境的适应能力,度量个体在种群生存的优势程度,同时判断是否满足预设的迭代终止条件,若满足,则输出适应度最大的个体作为最优航路结果;若不满足,则:
所述选择单元302,用于按照预设的选择概率选择出K个优良个体用于繁殖后代;其中,K为正整数;
所述交叉单元303,用于按照预设的交叉概率对所述K个优良个体执行交叉操作,得到交叉后的种群;
所述变异单元304,用于对交叉后的种群按照预设的变异概率执行变异操作,得到新一代种群;
其中,所述迭代终止条件包括:迭代的次数大于等于预设的迭代次数阈值;或,连续n轮迭代得到的若干最优个体的适应度均相同,n为正整数。
本实施例提供的航路规划装置,能够执行上述任一实施例提供的航路规划方法的所有步骤与功能,在此对该装置的具体功能不作赘述。
示例性的,满足以下两个条件之一,迭代终止:1、迭代次数达到预设的迭代次数阈值即最大迭代次数;或者,2、最优个体的适应度的值连续n轮迭代没有更新(即连续n轮计算得到的最优个体的适应度均相同)。
作为上述方案的改进,所述初始种群生成模块102,具体用于:
比较历史航路数据集的数据量与预设的数据量阈值k;若数据量大于等于k,则从所述历史航路数据集中随机选出k条航路编码成染色体以生成初始种群,若数据量小于k,则采用随机替换部分路径法补充所述历史航路数据集,基于补充后的历史航路数据集生成初始种群;其中,k为正整数。
示例性的,在所述初始种群生成模块102中包括染色体编码单元201,用于对航路进行编码是指使用航路点id作为基因,染色体为一组从起点到终点的航路点组合,路径中不允许出现环路,且由于事先无法知道最短路径所经节点数目,所以染色体长度是可变的。对于有足够历史数据的航线(即历史航路数据集的数据量足够大),可以直接使用一条航路编码后对应一条染色体,历史数据不够的航线,则采用随机替换部分路径法生成该航线的数据补充进历史航路数据集。
作为上述方案的改进,通过所述选择单元302选择出的所述优良个体为被选中的个体,其中,个体被选中的概率跟个体对应的适应度值有关,个体的适应度值越高,被选中的概率越大,选择策略为淘汰最差策略与保留最优策略;所述淘汰最差策略为:适应度最差的个体不保留;所述保留最优策略为:在每轮迭代中保留预设个数的适应度最高的个体。
可以理解的是,选择操作(即选出K个优良个体)的目的是为了从当前群体中选出优良的个体,使它有机会可以保留用以繁殖后代。个体适应度值越大,其被选择的机会就越大。在本实施例中,采用淘汰最差策略与保留最优策略,即每轮迭代会保留预设个数适应度最高的个体,适应度最差的个体不保留。
作为上述方案的改进,所述交叉单元303,具体用于:
根据预设的交叉概率,对所述K个优良个体两两之间执行交叉操作,执行交叉操作的两个个体称为父代,交叉后产生的新个体称为子代,具体包括如下步骤:
若两个所述父代之间的相同基因的数量大于两个,则:
随机选取两个相同基因对应位置作为两个交叉点,交叉替换两个所述父代在所述两个交叉点之间的所有基因,得到两个子染色体;
判断所述两个子染色体中是否存在环路;
若不存在环路,则以所述两个子染色体作为子代;
若存在环路,则对所述两个子染色体执行去环操作,以去环操作后的两个子染色体作为子代;
若两个所述父代之间的相同基因的数量小于两个,则采用随机替换部分路径法对两个所述父代进行处理,以生成子代。
示例性的,交叉操作是遗传算法中最主要的遗传操作,本实施例采用双点交叉方法。按照一定的交叉概率Pc,对K个优良个体两两之间执行交叉操作,执行交叉操作的两个个体称为父代,交叉后产生的新个体称为子代;两个父代所对应的两条航路是用于繁殖后代的两条路径,父代之间的相同基因的数量大于两个,相当于用于繁殖后代的两条路径中的相同航路点数量大于两个。
示例性的,参见图3,选中两个基因V2和V8作为两个交叉点,图3(a)中上下两条染色体的V2至V8的片段分别交叉替换后,分别得到图3(b)的两条染色体,即完成交叉操作。
作为上述方案的改进,还包括随机替换部分路径模块104,用于执行所述随机替换部分路径法,具体包括如下步骤:
在输入的航路中选取第一航路点和第二航路点;其中,所述第一航路点相对于所述第二航路点在前;
以所述第一航路点为起点,且以所述第二航路点为终点,采用随机K最短路算法计算得到若干可替换路径,并从所述若干可替换路径中随机选择一条作为最终替换路径;
在所述输入的航路中,将所述第一航路点与所述第二航路点之间的路径替换为所述最终替换路径,以获取新航路;
判断所述新航路中是否存在环路;
若不存在环路,则对所述新航路进行编码,得到染色体;
若存在环路,则对所述新航路执行去环操作,并对去环操作后的新航路进行编码,得到染色体。
示例性的,若航路历史数据不足,则采用以下随机替换部分路径法生成初始种群:
Step1:输入一条从起点到终点的航路;
Step2:从输入的航路中随机选择第一航路点1和第二航路点2(两者之间有序,第一航路点1在前,第二航路点2在后);
Step3:分别以第一航路点1和第二航路点2为起点和终点,利用随机KSP算法(随机K最短路算法,是基于Dijkstra算法原理,当计算到终点时不停止计算,直到计算出K条从起点到目标点的路。计算时对边的权重进行扰动,使最后得到的路不是一定是按权重大小排序),计算出若干条从第一航路点1到第二航路点2之间的可替换路径;
Step4:从Step3计算的路径中,随机选择一条作为最终替换路径,用以替换第一航路点1和第二航路点2之间的航路,从而得到新航路;
Step5:判断替换后的新航路是否存在环路,如有则进行去环操作。
作为上述方案的改进,所述变异单元304所执行的所述变异操作包含:基因插入、等位基因替换和基因删除;
所述基因插入,具体包括:
对所述交叉后的种群中的每一个个体,基于预设的基因插入概率,判断是否对个体进行基因插入的变异操作;
对于需要进行基因插入变异操作的个体,从该染色体中随机选择一个基因插入位置,判断该基因插入位置是否有可插入的基因集,若有,则从可插入的基因集随意选择一个基因插入;若没有,则重新选择其他插入位置,循环以上操作直到完成基因插入操作,或所有位置均被遍历一遍;其中,所述判断该基因插入位置是否有可插入的基因集,具体包括:获取所述基因插入位置相邻的两个基因对应的航路点,称为第一航路点和第二航路点,若路网中同时存在所述第一航路点到第三航路点的航路边和所述第三航路点到所述第二航路点的航路边,则表示所述基因插入位置有可插入的基因集,所有第三航路点组成的集合称为第一航路点与第二航路点的插入集;
所述等位基因替换,具体包括:
对所述交叉后的种群中的每一个个体,基于预设的等位基因替换概率,判断是否对个体进行等位基因替换的变异操作;
对于需要进行等位基因替换变异操作的个体,从该染色体中随机选择一个需要替换的基因,判断该需要替换基因是否有对应的等位基因集,若有则从等位基因集中随机选择一个基因替换该需要替换基因,否则重新选择其他基因进行替换,循环以上操作直到完成等位基因替换操作,或所有基因均被遍历一遍;其中,所述等位基因集为所述插入集中的基因,所述插入集中的基因互为等位基因;
所述基因删除,具体包括:
对所述交叉后的种群中的每一个个体,基于预设的基因删除概率,判断是否对个体进行基因删除的变异操作;
对于需要进行基因删除变异操作的个体,从该染色体中随机选择一个需要删除的基因,若在这一基因删除位置的前后两个基因对应的两个航路点间存在航路边,则删除该基因,否则重新选择其他基因进行删除,循环以上操作直到完成基因删除操作,或所有基因均被遍历一遍。
需要说明的是,第一航路点Vi、第二航路点Vj、第三航路点Vk和Vm;插入集、等位基因和需要删除的基因的定义如下:
插入集:若同时存在航路边Vi->Vj,Vi->Vk,Vk->Vj,,则所有Vk组成的集合为路径Vi->Vj的插入集;
等位基因:若同时存在路径Vi->Vk->Vj,Vi->Vm->Vj,则第三航路点Vk与Vm互为等位基因,可互相替换;
需要删除的基因:若存在一条航路边Vi->Vj,则对于路径Vi->Vk->Vj,第三航路点Vk是需要删除的基因。
示例性的,插入集与等位基因确定方法如下:
定义FromVi={V1,V2...V3,V4}表示航路点Vi的所有可达航路点(Vi出边对应的终点)集合,ToVj={V1,V2...V3,V4}表示可直接到达Vj的所有航路点(Vj入边对应的起点)集合;则路径Vi->Vj的插入集为集合FromVi与ToVj的交集M;M集合中的各航路点互为等位基因。
基因插入算子:按照一定的概率Pi(即基因插入概率),在两个基因(航路点)之间从插入集中随机选择一个基因(航路点)插入,插入位置随机
基因删除算子:按照一定的概率Pd(即基因删除概率),随机选择基因删除位置m,若存在航路边Vm-1->Vm+1,则删除基因Vm
等位基因替换算子:按照一定的概率Ps(即等位基因替换概率),随机选择基因替换位置m,从基因Vm的等位基因集中随机选择一个基因用来替换Vm
作为上述方案的改进,所述适应度计算单元301,具体用于:通过如下公式计算所述适应度Fit(f(w)):
其中,α为预设的第一参数,β为预设的第二参数,w为染色体所对应的航路的权重,wmin为种群中所有个体对应的最小权重,wavg为种群中所有个体对应的平均权重,g为染色体所对应的航路违反限制时的惩罚值。
可以理解的是,遗传算法在搜索进化过程中通过适应度值来评估个体优劣,作为后续遗传操作的依据。适应度反应了个体对环境适应能力的强弱,不同的问题,适应度函数的定义方式不同。
需要说明的是,本实施例中α、β的取值,取决于优化问题的数据特征。通常α取大于1的值,以人为的贬低适应度差的个体;当β=1时,适应度值在[0.5,1]之间线性变化;当β<1时,适应度值在最优解附近变化灵敏,可有效拉开最优解附近点的适应度值;当β>1时,情况与小于1时刚好相反。因此不同的优化问题,需根据需要选择合适的参数值。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述的航路规划方法的步骤。
本发明实施例还提供了一种计算机设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的航路规划方法的步骤。
该实施例的计算机设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如航路规划程序。所述处理器执行所述计算机程序时实现上述各个航路规划方法实施例中的步骤,例如图1所示的步骤S1至S6。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述计算机设备中的执行过程。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是计算机设备的示例,并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机设备还可以包括输入输出设备、网络接入设备、总线等。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述计算机设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
综上,本发明具有以下有益效果:
采用本发明实施例,通过将遗传算法应用于航路规划当中,利用多服务器并行计算,可以使算法效率得到极大提高,并且通过将历史大数据规律融入算法计算过程,加速算法收敛,能够同时找出若干条满足条件的较优解。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (6)
1.一种航路规划方法,其特征在于,包括:
根据预设的航班起点和航班终点,获取对应的历史航路数据集;
使用航路中的航路点作为基因,对所述历史航路数据集进行染色体编码,生成初始种群;其中,染色体长度是可变的,所述初始种群包含若干条染色体,所述染色体是对航路进行编码后得到的,所述染色体中的基因对应于航路中的航路点;
计算所述初始种群中每个个体的适应度,用于表示个体对环境的适应能力,度量个体在种群生存的优势程度,同时判断是否满足预设的迭代终止条件,若满足,则输出适应度最大的个体作为最优航路结果;若不满足,则:
按照预设的选择概率选择出K个优良个体用于繁殖后代;其中,K为正整数;
按照预设的交叉概率对所述K个优良个体执行交叉操作,得到交叉后的种群;
对交叉后的种群按照预设的变异概率执行变异操作,得到新一代种群,并将所述新一代种群作为下一轮的初始种群返回至计算适应度的步骤,以进行重复迭代,直至满足所述迭代终止条件;
其中,所述迭代终止条件包括:迭代的次数大于等于预设的迭代次数阈值;或,连续n轮迭代得到的若干最优个体的适应度均相同,n为正整数;
其中,所述按照预设的交叉概率对所述K个优良个体执行交叉操作,得到交叉后的种群,具体为:
根据预设的交叉概率,对所述K个优良个体两两之间执行交叉操作,执行交叉操作的两个个体称为父代,交叉后产生的新个体称为子代,具体包括如下步骤:
若两个所述父代之间的相同基因的数量大于两个,则:
随机选取两个相同基因对应位置作为两个交叉点,交叉替换两个所述父代在所述两个交叉点之间的所有基因,得到两个子染色体;
判断所述两个子染色体中是否存在环路;
若不存在环路,则以所述两个子染色体作为子代;
若存在环路,则对所述两个子染色体执行去环操作,以去环操作后的两个子染色体作为子代;
若两个所述父代之间的相同基因的数量小于两个,则采用随机替换部分路径法对两个所述父代进行处理,以生成子代;
其中,所述随机替换部分路径法,具体包括如下步骤:
在输入的航路中选取第一航路点和第二航路点;其中,所述第一航路点相对于所述第二航路点在前;
以所述第一航路点为起点,且以所述第二航路点为终点,采用随机K最短路算法计算得到若干可替换路径,并从所述若干可替换路径中随机选择一条作为最终替换路径;
在所述输入的航路中,将所述第一航路点与所述第二航路点之间的路径替换为所述最终替换路径,以获取新航路;
判断所述新航路中是否存在环路;
若不存在环路,则对所述新航路进行编码,得到染色体;
若存在环路,则对所述新航路执行去环操作,并对去环操作后的新航路进行编码,得到染色体;
其中,所述变异操作包含:基因插入、等位基因替换和基因删除;
所述基因插入,具体包括:
对所述交叉后的种群中的每一个个体,基于预设的基因插入概率,判断是否对个体进行基因插入的变异操作;
对于需要进行基因插入变异操作的个体,从该染色体中随机选择一个基因插入位置,判断该基因插入位置是否有可插入的基因集,若有,则从可插入的基因集随意选择一个基因插入;若没有,则重新选择其他插入位置,循环以上操作直到完成基因插入操作,或所有位置均被遍历一遍;
其中,所述判断该基因插入位置是否有可插入的基因集,具体包括:获取所述基因插入位置相邻的两个基因对应的航路点,称为第一航路点和第二航路点,若路网中同时存在所述第一航路点到第三航路点的航路边和所述第三航路点到所述第二航路点的航路边,则表示所述基因插入位置有可插入的基因集,所有第三航路点组成的集合称为第一航路点与第二航路点的插入集;
所述等位基因替换,具体包括:
对所述交叉后的种群中的每一个个体,基于预设的等位基因替换概率,判断是否对个体进行等位基因替换的变异操作;
对于需要进行等位基因替换变异操作的个体,从该染色体中随机选择一个需要替换的基因,判断该需要替换基因是否有对应的等位基因集,若有则从等位基因集中随机选择一个基因替换该需要替换基因,否则重新选择其他基因进行替换,循环以上操作直到完成等位基因替换操作,或所有基因均被遍历一遍;其中,所述等位基因集为所述插入集中的基因,所述插入集中的基因互为等位基因;
所述基因删除,具体包括:
对所述交叉后的种群中的每一个个体,基于预设的基因删除概率,判断是否对个体进行基因删除的变异操作;
对于需要进行基因删除变异操作的个体,从该染色体中随机选择一个需要删除的基因,若在这一基因删除位置的前后两个基因对应的两个航路点间存在航路边,则删除该基因,否则重新选择其他基因进行删除,循环以上操作直到完成基因删除操作,或所有基因均被遍历一遍;
通过如下公式计算所述适应度Fit(f(w)):
其中,α为预设的第一参数,β为预设的第二参数,w为染色体所对应的航路的权重,wmin为种群中所有个体对应的最小权重,wavg为种群中所有个体对应的平均权重,g为染色体所对应的航路违反限制时的惩罚值。
2.如权利要求1所述的航路规划方法,其特征在于,所述使用航路中的航路点作为基因,对所述历史航路数据集进行染色体编码,生成初始种群,具体包括:
比较历史航路数据集的数据量与预设的数据量阈值k;若数据量大于等于k,则从所述历史航路数据集中随机选出k条航路编码成染色体以生成初始种群,若数据量小于k,则采用所述随机替换部分路径法补充所述历史航路数据集,基于补充后的历史航路数据集生成初始种群;其中,k为正整数。
3.如权利要求1所述的航路规划方法,其特征在于,所述优良个体为被选中的个体,其中,个体被选中的概率跟个体对应的适应度值有关,个体的适应度值越高,被选中的概率越大,选择策略为淘汰最差策略与保留最优策略;所述淘汰最差策略为:适应度最差的个体不保留;所述保留最优策略为:在每轮迭代中保留预设个数的适应度最高的个体。
4.一种航路规划装置,其特征在于,包括:
历史航路数据集获取模块,用于根据预设的航班起点和航班终点,获取对应的历史航路数据集;
初始种群生成模块,用于使用航路中的航路点作为基因,对所述历史航路数据集进行染色体编码,生成初始种群;其中,染色体长度是可变的,所述初始种群包含若干条染色体,所述染色体是对航路进行编码后得到的,所述染色体中的基因对应于航路中的航路点;
遗传迭代模块,包括适应度计算单元、选择单元、交叉单元和变异单元;
所述适应度计算单元,用于计算所述初始种群中每个个体的适应度,用于表示个体对环境的适应能力,度量个体在种群生存的优势程度,同时判断是否满足预设的迭代终止条件,若满足,则输出适应度最大的个体作为最优航路结果;若不满足,则:
所述选择单元,用于按照预设的选择概率选择出K个优良个体用于繁殖后代;其中,K为正整数;
所述交叉单元,用于按照预设的交叉概率对所述K个优良个体执行交叉操作,得到交叉后的种群;
所述变异单元,用于对交叉后的种群按照预设的变异概率执行变异操作,得到新一代种群;
其中,所述迭代终止条件包括:迭代的次数大于等于预设的迭代次数阈值;或,连续n轮迭代得到的若干最优个体的适应度均相同,n为正整数;
其中,所述按照预设的交叉概率对所述K个优良个体执行交叉操作,得到交叉后的种群,具体为:
根据预设的交叉概率,对所述K个优良个体两两之间执行交叉操作,执行交叉操作的两个个体称为父代,交叉后产生的新个体称为子代,具体包括如下步骤:
若两个所述父代之间的相同基因的数量大于两个,则:
随机选取两个相同基因对应位置作为两个交叉点,交叉替换两个所述父代在所述两个交叉点之间的所有基因,得到两个子染色体;
判断所述两个子染色体中是否存在环路;
若不存在环路,则以所述两个子染色体作为子代;
若存在环路,则对所述两个子染色体执行去环操作,以去环操作后的两个子染色体作为子代;
若两个所述父代之间的相同基因的数量小于两个,则采用随机替换部分路径法对两个所述父代进行处理,以生成子代;
其中,所述随机替换部分路径法,具体包括如下步骤:
在输入的航路中选取第一航路点和第二航路点;其中,所述第一航路点相对于所述第二航路点在前;
以所述第一航路点为起点,且以所述第二航路点为终点,采用随机K最短路算法计算得到若干可替换路径,并从所述若干可替换路径中随机选择一条作为最终替换路径;
在所述输入的航路中,将所述第一航路点与所述第二航路点之间的路径替换为所述最终替换路径,以获取新航路;
判断所述新航路中是否存在环路;
若不存在环路,则对所述新航路进行编码,得到染色体;
若存在环路,则对所述新航路执行去环操作,并对去环操作后的新航路进行编码,得到染色体;
其中,所述变异操作包含:基因插入、等位基因替换和基因删除;
所述基因插入,具体包括:
对所述交叉后的种群中的每一个个体,基于预设的基因插入概率,判断是否对个体进行基因插入的变异操作;
对于需要进行基因插入变异操作的个体,从该染色体中随机选择一个基因插入位置,判断该基因插入位置是否有可插入的基因集,若有,则从可插入的基因集随意选择一个基因插入;若没有,则重新选择其他插入位置,循环以上操作直到完成基因插入操作,或所有位置均被遍历一遍;
其中,所述判断该基因插入位置是否有可插入的基因集,具体包括:获取所述基因插入位置相邻的两个基因对应的航路点,称为第一航路点和第二航路点,若路网中同时存在所述第一航路点到第三航路点的航路边和所述第三航路点到所述第二航路点的航路边,则表示所述基因插入位置有可插入的基因集,所有第三航路点组成的集合称为第一航路点与第二航路点的插入集;
所述等位基因替换,具体包括:
对所述交叉后的种群中的每一个个体,基于预设的等位基因替换概率,判断是否对个体进行等位基因替换的变异操作;
对于需要进行等位基因替换变异操作的个体,从该染色体中随机选择一个需要替换的基因,判断该需要替换基因是否有对应的等位基因集,若有则从等位基因集中随机选择一个基因替换该需要替换基因,否则重新选择其他基因进行替换,循环以上操作直到完成等位基因替换操作,或所有基因均被遍历一遍;其中,所述等位基因集为所述插入集中的基因,所述插入集中的基因互为等位基因;
所述基因删除,具体包括:
对所述交叉后的种群中的每一个个体,基于预设的基因删除概率,判断是否对个体进行基因删除的变异操作;
对于需要进行基因删除变异操作的个体,从该染色体中随机选择一个需要删除的基因,若在这一基因删除位置的前后两个基因对应的两个航路点间存在航路边,则删除该基因,否则重新选择其他基因进行删除,循环以上操作直到完成基因删除操作,或所有基因均被遍历一遍;
通过如下公式计算所述适应度Fit(f(w)):
其中,α为预设的第一参数,β为预设的第二参数,w为染色体所对应的航路的权重,wmin为种群中所有个体对应的最小权重,wavg为种群中所有个体对应的平均权重,g为染色体所对应的航路违反限制时的惩罚值。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至3任一项所述的航路规划方法。
6.一种计算机设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述的航路规划方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311031344.4A CN116894532B (zh) | 2023-08-15 | 2023-08-15 | 一种航路规划方法、装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311031344.4A CN116894532B (zh) | 2023-08-15 | 2023-08-15 | 一种航路规划方法、装置、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116894532A CN116894532A (zh) | 2023-10-17 |
CN116894532B true CN116894532B (zh) | 2024-07-09 |
Family
ID=88309732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311031344.4A Active CN116894532B (zh) | 2023-08-15 | 2023-08-15 | 一种航路规划方法、装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116894532B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081752A (zh) * | 2011-01-27 | 2011-06-01 | 西北工业大学 | 基于自适应变异遗传算法的动态飞行路径规划方法 |
CN113487236A (zh) * | 2021-07-30 | 2021-10-08 | 大连海事大学 | 基于遗传算法的飞机排班调度方法 |
CN116129679A (zh) * | 2023-02-01 | 2023-05-16 | 中国南方航空股份有限公司 | 一种航路规划裁剪参数获取方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3862899B2 (ja) * | 1999-09-17 | 2006-12-27 | 富士通株式会社 | 最適化装置 |
-
2023
- 2023-08-15 CN CN202311031344.4A patent/CN116894532B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081752A (zh) * | 2011-01-27 | 2011-06-01 | 西北工业大学 | 基于自适应变异遗传算法的动态飞行路径规划方法 |
CN113487236A (zh) * | 2021-07-30 | 2021-10-08 | 大连海事大学 | 基于遗传算法的飞机排班调度方法 |
CN116129679A (zh) * | 2023-02-01 | 2023-05-16 | 中国南方航空股份有限公司 | 一种航路规划裁剪参数获取方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116894532A (zh) | 2023-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210373888A1 (en) | Multi-objective optimization method and system for master production plan of casting parallel workshops | |
CN110968429B (zh) | 一种有向图中的环路检测方法、装置、设备和存储介质 | |
Ahmed et al. | Multi-level Steiner trees | |
CN104866903B (zh) | 基于遗传算法的最美路径导航算法 | |
CN110704560A (zh) | 一种基于道路级拓扑的车道线组结构化的方法及装置 | |
CN116894532B (zh) | 一种航路规划方法、装置、介质及设备 | |
CN109255462B (zh) | 一种货物配送方法及装置 | |
KR20220104970A (ko) | 운송 수단과 드론을 사용한 병렬 배송의 최적 해를 탐색하기 위한 rgso 스케줄링 최적화 방법 및 시스템 | |
CN112562325B (zh) | 基于块坐标下降的大规模城市交通网络流量监测方法 | |
CN106034266B (zh) | 光路由的生成方法及装置 | |
Qin et al. | An Entropy‐Based Multiobjective Evolutionary Algorithm with an Enhanced Elite Mechanism | |
CN116539056B (zh) | 一种路径规划方法、装置和电子设备 | |
JP3751647B2 (ja) | 状態遷移の概念を導入した問題解決演算装置および方法 | |
JP3697446B2 (ja) | 状態遷移の概念を導入した問題解決演算装置および方法 | |
KR100902737B1 (ko) | 동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법 | |
Zhang et al. | Two multi-objective genetic algorithms for the QoS based routing and wavelength allocation problem in WDM network | |
JP2022120199A (ja) | 交差点状況特定方法、装置、電子機器、記憶媒体およびコンピュータプログラム | |
CN104516995A (zh) | 网络流图缩减方法和装置 | |
CN109934411B (zh) | 考虑紧急度的应急救灾智能路径规划方法及装置 | |
Fu et al. | A new approach for solving single machine total weighted tardiness (SMTWT) problem | |
CN116358594A (zh) | 一种车辆路径的规划方法和装置 | |
JP7584666B2 (ja) | 連合学習モデルの訓練方法、装置及び電子機器 | |
Stützle | The traveling salesman problem: state of the art | |
KR102371812B1 (ko) | 생물지리학적 실루엣 최적화 데이터 클러스터링 방법 및 시스템 | |
CN113791608B (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 |