一种机位分配系统及方法与流程

文档序号:22433059发布日期:2020-10-02 10:19阅读:565来源:国知局
一种机位分配系统及方法与流程

本发明涉及机场运行优化技术领域,特别是涉及一种机位分配系统及方法。



背景技术:

近年来,社会经济发展迅速,民航运输业迎来了前所未有的机遇。随着旅客人数和航班数量的增加,加大了机场对运行效率的要求,机位资源作为机场最重要的核心资源之一,逐渐成为制约机场运行效率的瓶颈。合理的机位分配方法不仅可以缓解机场机位使用的紧张状况,更有助于提高整个机场的运行效率。因此,如何在机位数量有限的条件下,对其进行合理的分配便成为提高整个机场运行效率的一个关键问题。

申请号为“201911279546.4”,名称为“停机位分配方法、装置及终端设备”的专利文献,提出的停机位分配装置包括:信息获取模块,目标约束确定模块和分配方案确定模块,融合深度学习网络的预测能力和蒙特卡洛树搜索的搜索能力,全局感知能力较强,而且在局部搜索上收敛也较快,能够减少无效搜索和试错搜索。申请号为“201710182071.1”,名称为“基于时空间维度分解的机场停机位分配方法及系统”的专利文献,提出了基于时空间维度分解的机场停机位分配系统,包括:第一划分模块,第二划分模块,处理模块和求解模块,能够将复杂的机场停机位分配的组合优化问题在基于时间与空间的维度上分解,缩小了解空间,降低了求解复杂度。

然而,现有技术尚有不足之处:第一,现有的机位分配方法对输入数据和求解结果都缺乏标准化的校验,无法保证输入数据的正确性和输出结果的可用性,从而可能会导致机位分配模型求解得到的机位分配结果发生冲突,带来不可预测的安全隐患;第二,当机场发生突发情况,例如某些机位发生事故临时不能使用或者航班需要迫降时,现有技术则不能实时在线生成/删除相应的机位分配规则约束来灵活地建立机位分配模型,而是需要重新构建模型来进行机位分配,难以满足机位分配在真是场景中实时性要求。



技术实现要素:

有鉴于此,有必要提出一种机位分配系统及方法,用于对机位分配的输入数据、输出结果进行校验,保证输入数据的正确性和输出结果的可用性,满足应对突发情况下机位分配的实时性要求。

本发明采用的一个技术方案是:提供一种机位分配系统,包括数据验证模块、规则文件生成模块、动态建模求解模块、配置文件管理模块、结果验证模块、指标计算模块、封装模块、日志记录模块和人工修改模块;

所述数据验证模块,用于对用户输入的机位数据、组合机位数据、航班数据以及任务数据进行校验;

所述规则文件生成模块,用于将用户输入的机位分配必须满足的约束转换为规则文件;

所述动态建模求解模块,用于根据输入数据和规则文件,建立机位分配数学模型并进行求解,获得对机位分配的求解结果;

所述配置文件管理模块,用于管理求解参数配置文件、规则文件、数据库配置文件和期望计算指标文件,所述管理包括删除文件和修改文件中的参数;

所述结果验证模块,用于验证所述求解结果是否满足所有规则文件中的规则,如所述求解结果不满足所有规则文件中的规则,则将所述求解结果中发生冲突的分配结果发送到人工修改模块;

所述指标计算模块,用于根据所述求解结果和期望计算指标文件计算各个指标值;

所述封装模块,用于将求解结果和所述指标计算模块计算得到的指标值进行封装;

所述日志记录模块,用于记录规则文件生成记录、求解过程时间记录、求解结果记录;

所述人工修改模块,用于将发生冲突的分配结果进行人工调整机位分配,并作为规则数据输入到规则生成模块。

进一步的,所述校验包括:

对输入数据中每一条规则进行数据自验证,若有错误则返回该条规则及相应的自验证错误类型代码;

对输入数据中每一条规则进行数据交叉验证,若有错误则返回该条规则及相应的交叉验证错误类型代码;

所述自验证错误类型包括:字段缺失;字段为空;数据格式错误;数据字段错误;数据字段值不合法;任务数据中,某航班可分配机位重复;航班数据、组合机位技术、机位数据各字段存在重复值;任务数据存在重复的任务唯一标识;任务数据中,多个航班只能停靠同一机位且时间冲突;机位数据中,某个近机位未在该航站楼所有机位中出现;机位数据中,同一个机位在多个航站楼中出现;

所述交叉验证错误类型包括:任务数据中,航班字段值在航班数据中不存在;任务数据中,可分配机位在机位数据中不存在;组合机位数据中,某组合机位在机位数据中不存在;任务数据中,航站楼字段与可分配机位所属航站楼不匹配;非可靠桥航班可分配机位有近机位。

进一步的,所述动态建模求解模块包括:

规则文件加载单元,用于从配置文件管理模块处加载规则文件作为模型的约束条件;

数据加载单元,用于从数据库中加载机位数据、组合机位数据、航班数据和任务数据;

求解参数加载单元,用于从配置文件管理模块处加载求解参数配置文件;

模型建立单元,用于根据机位数据、组合机位数据、航班数据、任务数据建立决策变量矩阵,再设定优化目标函数,从而建立起数学模型;

模型求解单元,用于根据求解参数配置文件配置好模型求解单元,再根据建立好的数学模型和约束条件进行模型求解,输出求解结果。

进一步的,所述模型求解单元包括:

参数初始化子单元,用于读取求解参数配置文件中的参数,配置求解单元中的参数;

第一求解子单元,用于采用首次适应算法(first-fit)或者最佳适应算法(best-fit)快速得到一个初始解;

第二求解子单元,用于基于所述初始解采用元启发式算法进行求解,得到中间解;

第三求解子单元,用于基于所述中间解采用元启发式算法进行求解,将优化目标函数值最大的解作为最优解;

所述元启发式算法包括禁忌搜索算法(tabusearch)、模拟退火算法(simulatedannealing)、延迟接受算法(lateacceptance);

所述求解单元中的参数包括第一求解子单元使用的算法、第二求解子单元、第三求解子单元使用的元启发式算法和元启发式算法的迭代终止条件;

所述迭代终止条件可以是达到迭代次数或达到迭代时长;

所述第三求解子单元采用的元启发式算法与第二求解子单元中采用的元启发式算法不同。

进一步的,所述指标计算模块包括:

期望计算指标文件加载单元,用于从配置文件管理模块处加载期望计算指标文件,并读取所述文件中写明的需要计算的指标;

指标值计算单元,用于根据求解结果和需要计算的指标计算指标值。

进一步的,所述机位数据包括航站楼、机位列表、近机位列表字段;所述组合机位数据包括资源唯一标识、资源唯一标识集合字段;所述航班数据为航空公司名称二字码构成的列表;所述任务数据包括任务唯一标识、权重值、任务开始时间、任务结束时间字段;

所述求解参数配置文件用于保存动态建模求解模块中使用的参数,包括求解线程参数、求解耗时参数、算法配置参数、算法终止条件参数、多目标权重值参数;所述规则文件是规则生成模块生成的文件,规则文件中记录的规则用于作为数学模型求解时的约束;所述数据库配置文件,可修改参数包括数据库类型、数据库地址、数据库端口号、账号密码;所述期望计算指标文件用于保存用户期望在指标计算模块中计算的指标值。

本申请还包括采用上述机位分配系统进行机位分配的方法,包括以下步骤:

s1,用户输入机位数据、组合机位数据、航班数据、任务数据到数据验证模块;

s2,数据验证模块对输入数据中的规则进行校验:若通过校验,则将输入数据中的规则发送到动态建模求解模块,否则返回未通过校验的规则及错误类型代码,用户根据返回的规则及错误类型代码,将改正后的规则重新输入到数据验证模块;

s3,用户输入规则数据到规则文件生成模块,规则文件生成模块将规则数据转换成规则文件;

s4,动态建模求解模块根据输入数据和规则文件,建立机位分配数学模型并进行求解得到对机位分配的求解结果;

s5,结果验证模块根据规则文件中的规则对求解结果进行验证:若求解结果中分配结果全部满足规则,则进入步骤s7,否则将违背规则文件中的规则的分配结果发送到人工修改模块并进入步骤s6;

s6,通过人工修改模块将所述违背规则文件中的规则的分配结果作为规则数据输入到规则生成模块,并转入步骤s4;

s7,指标计算模块根据求解结果来计算指标值;

s8,封装模块对求解结果和指标计算模块得到的结果进行封装并输出。

所述动态建模求解模块根据输入数据和规则文件,建立机位分配数学模型并进行求解得到对机位分配的求解结果包括:

规则文件加载单元从配置文件管理模块处加载规则文件作为数学模型的约束条件;

数据加载单元从数据库中加载机位数据、组合机位数据、航班数据、任务数据;

求解参数加载单元从配置文件管理模块处加载求解参数配置文件;

模型建立单元根据机位数据、组合机位数据、航班数据、任务数据建立决策变量矩阵,再设定优化目标函数,以规则文件中的规则作为约束条件,从而建立起数学模型;

模型求解单元根据求解数学模型得到求解结果;

其中,所述模型求解单元根据求解数学模型得到求解结果的过程中,将求解过程中的当前迭代次数、各个优化指标值、优化目标函数值、求解耗时存储到日志记录模块。

本发明的有益效果是:本发明提供了一种机位分配系统及方法,通过数据验证模块对输入数据进行校验,保证输入数据的正确性和可用性;通过结果验证模块对机位分配结果的安全性、可用性进行验证,保证了机位分配结果的有效性,降低了机位分配结果的冲突的安全风险;同时,当机位分配的约束规则发生变化时,只需通过配置文件管理模块删除相应的规则文件和/或通过规则文件生成模块得到新的规则文件,无需重新构建即可快速得到可用的机位分配模型,解决了现有机场机位分配系统不能实时变更规则约束的问题,满足了机位分配应对突发情况的实时性要求,提高了机位分配的业务适应性和可扩展性。

附图说明

图1是一种机位分配系统的结构示意图。

图2是本发明提供的一种机位分配系统的交互示意图。

具体实施方式

下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。

请参阅图1和图2,本发明实施例包括:一种机位分配系统,具体包括:

数据验证模块,用于对用户输入的机位数据、组合机位数据、航班数据以及任务数据进行校验;

规则文件生成模块,用于将用户输入的机位分配必须满足的约束转换为规则文件;

动态建模求解模块,用于根据输入数据和规则文件,建立机位分配数学模型并进行求解,获得对机位分配的求解结果;

配置文件管理模块,用于管理求解参数配置文件、规则文件、数据库配置文件和期望计算指标文件;所述管理包括删除文件和修改文件中的参数;

结果验证模块,用于验证所述求解结果是否满足所有规则文件中的规则,如所述求解结果不满足所有规则文件中的规则,则将所述求解结果中发生冲突的分配结果发送到人工修改模块;

指标计算模块,用于根据所述求解结果和期望计算指标文件计算各个指标值;

封装模块,用于将求解结果和所述指标计算模块计算得到的指标值进行封装;

日志记录模块,用于记录规则文件生成记录、求解过程时间记录、求解结果记录。

所述数据验证模块对输入数据进行校验包括如下步骤:

对输入数据中每一条规则进行数据自验证,若有错误则返回该条规则及相应的自验证错误类型代码;

对输入数据中每一条规则进行数据交叉验证,若有错误则返回该条规则及相应的交叉验证错误类型代码;

所述自验证错误类型包括:字段缺失;字段为空;数据格式错误;数据字段错误;数据字段值不合法;任务数据中,某航班可分配机位重复;航班数据、组合机位技术、机位数据各字段存在重复值;任务数据存在重复的任务唯一标识;任务数据中,多个航班只能停靠同一机位且时间冲突;机位数据中,某个近机位未在航站楼包括的所有机位中出现;机位数据中,同一个机位在多个航站楼中出现;

所述交叉验证错误类型包括:任务数据中,航班字段值在航班数据中不存在;任务数据中,可分配机位在机位数据中不存在;组合机位数据中,某组合机位在机位数据中不存在;任务数据中,航站楼字段与可分配机位所属航站楼不匹配;非可靠桥航班可分配机位有近机位。

在本实施例中,自验证错误类型及自验证错误类型代码可以是:

字段缺失:aa0001、ab0001、ac0001、ad0001;

字段为空:aa0002、ab0002、ac0002、ad0002;

数据格式错误:aa0003、ab0003、ac0003、ad0003;

数据字段错误:aa0004、ab0004、ac0004、ad0004;

数据字段值不合法:aa0005、ab0005、ac0005、ad0005;

任务数据中某航班可分配机位重复:ad0006;

航班数据,组合机位数据或机位数据各字段存在重复值,任务数据存在重复的任务唯一标识分别对应:aa0007,ab0007,ac0007,ad0007;

任务数据中,多个航班只能停同一机位且时间冲突:ad0008;

机位数据中,某个近机位未在航站楼包括的所有机位中出现:ab0009;

机位数据中,同一个机位在多个航站楼中出现:ab0010。

交叉验证错误类型及交叉验证错误类型代码可以是:

任务数据中,航空公司字段的值在航班数据中不存在:bd0001;

任务数据中,可分配机位在合法机位数据中不存在:bd0001;

组合机位数据中,某组合机位在机位数据中不存在:bc0001;

任务数据中,航站楼字段与可分配机位所属航站楼不匹配:bd0002;

非可靠桥航班可分配机位有近机位:bd0003;

其中,a表示自验证错误,b表示交叉验证错误;a、b、c、d分别代表未通过验证的数据是航班数据、机位数据、组合机位数据、任务数据。

所述动态建模求解模块包括:

规则文件加载单元,用于从配置文件管理模块处加载规则文件作为模型的约束条件;

数据加载单元,用于从数据库中加载机位数据、组合机位数据、航班数据和任务数据;

求解参数加载单元,用于从配置文件管理模块处加载求解参数配置文件;

模型建立单元,用于根据机位数据、组合机位数据、航班数据、任务数据建立决策变量矩阵,再设定优化目标函数,从而建立起数学模型;

模型求解单元,用于根据求解参数配置文件配置好模型求解单元,再根据建立好的数学模型和约束条件进行模型求解,输出求解结果。

所述模型求解单元包括:

参数初始化单元,用于读取求解参数配置文件中的参数,配置求解单元中的参数;

第一求解子单元,用于采用首次适应算法(first-fit)或者最佳适应算法(best-fit)快速得到一个初始解;

第二求解子单元,用于基于所述初始解采用元启发式算法进行求解,得到中间解;

第三求解子单元,用于基于所述中间解采用元启发式算法进行求解,将优化目标函数值最大的解作为最优解。所述元启发式算法包括禁忌搜索算法(tabusearch)、模拟退火算法(simulatedannealing)、延迟接受算法(lateacceptance);

所述求解单元中的参数包括第一求解子单元使用的算法、第二求解子单元、第三求解子单元使用的元启发式算法及元启发式算法的迭代终止条件;

所述迭代终止条件可以是达到迭代次数或达到迭代时长;

所述第三求解子单元采用的元启发式算法与第二求解子单元中采用的元启发式算法不同。

例如,参数初始化单元读取求解参数配置文件中的参数,将第一求解子单元采用的算法设为首次适应算法;将第二求解子单元中采用的元启发式算法设置为禁忌搜索算法(tabusearch),对应的迭代终止条件为达到迭代次数1000;将第三求解子单元中采用的元启发式算法设置为模拟退火算法(simulatedannealing),对应的迭代终止条件为达到迭代时长,例如2小时。

所述指标计算模块包括:

期望计算指标文件加载单元,用于从配置文件管理模块处加载期望计算指标文件,并读取所述文件中写明的需要计算的指标;

指标值计算单元,用于根据求解结果和需要计算的指标计算指标值。

例如指标计算单元记录了需要计算的指标有靠桥率、廊桥使用率、乘客满意度。

所述机位数据包括航站楼、机位列表、近机位列表字段;

所述组合机位数据包括资源唯一标识、资源唯一标识集合字段;

所述航班数据为航空公司名称二字码构成的列表;

所述任务数据包括任务唯一标识、权重值、任务开始时间、任务结束时间字段。

例如,部分机位数据如下,表示1号航站楼的停机位的机位唯一标识为:"a106","a113","105","106","110","111","112",其中近机位的机位唯一标识为:"110","111";

{"near_tarmacs":[//近机位列表

"112","103","104"]

"tarmacs":[//机位列表

"103","104","105","106","110","111","112"],

"terminal":"1"//航站楼

}。

组合机位数据用于描述哪些机位组成一个组合机位,组合机位数据包括资源唯一标识、资源唯一标识集合字段,其中,资源唯一标识是用于标识组合机位,资源唯一标识集合用来记录所述组合机位包含的机位的机位唯一标识;

部分组合机位数据如下,表示组合机位“a106”中包括机位"105","106";

{

"a_rid":"a106",//资源唯一标识

"b_rid":[//资源唯一标识集合

"105","106"]

}。

航班数据为航空公司名称二字码构成的列表,例如航班数据可为:["ca","mu","cz","sc","zh","hu"],表示航班数据中包括中国国际航空公司、东方航空公司、中国南方航空公司、山东航空公司、深圳航空公司、海南航空公司。

任务数据包括任务唯一标识、权重值、任务开始时间、任务结束时间字段,;例如任务数据:

{

"al":"ca",//航班

"eto":"2019-08-14t07:00:00",//任务结束时间

"list":[

{"rid":"105"},

{"rid":"110"},

{"rid":"104"},

{"rid":"810"}

],

"sal":2000,//权重值

"sto":"2019-08-14t01:40:00",//任务开始时间

"tid":"1162204181273038848"//任务唯一标识

},

上述任务数据实例表示任务唯一标识为"1162204181273038848",权重值为2000,开始时间为"2019-08-14t01:40:00",结束时间在"2019-08-14t07:00:00",可以停放"list"字段中的任何一个机位上。

所述求解参数配置文件用于保存动态建模求解模块中模型求解用到的参数,包括求解线程参数、求解耗时参数、算法配置参数、算法终止条件参数、多目标权重值参数;

所述规则文件为规则生成模块生成的文件,规则文件中记录的规则用于作为数学模型求解时的约束;

规则文件包括两种:一种是每次进行机位分配都要用上的规则文件,例如机型限定约束、进出港时间间隔约束、组合机位约束:同一时间,组合机位中父机位和子机位不能同时使用,但子机位之间可以同时使用;另一种是临时添加规则得到的规则文,用于应对突发情况,例如用于航班迫降、抢险救灾任务新增的规则。

所述数据库配置文件中可修改参数包括数据库类型、数据库地址、数据库端口号、账号密码;

所述期望计算指标文件用于保存用户期望在指标计算模块中计算的指标值。

在另一个实施例中,提供了一种采用所述的一种机位分配系统进行机位分配的方法,包括以下步骤:

s1,用户输入机位数据、组合机位数据、航班数据、任务数据到数据验证模块;

s2,数据验证模块对输入数据中的规则进行校验:若通过校验,则将输入数据中的规则发送到动态建模求解模块,否则返回未通过校验的规则及错误类型代码,用户根据返回的规则及错误类型代码,将改正后的规则重新输入到数据验证模块;

s3,用户输入规则数据到规则文件生成模块,规则文件生成模块将规则数据转换成规则文件;

s4,动态建模求解模块根据输入数据和规则文件,建立机位分配数学模型并进行求解得到对机位分配的求解结果;

s5,结果验证模块根据规则文件中的规则对求解结果进行验证:若求解结果中分配结果全部满足规则,则进入步骤s7,否则将违背规则文件中的规则的分配结果发送到人工修改模块并进入步骤s6;

s6,通过人工修改模块将所述违背规则文件中的规则的分配结果作为规则数据输入到规则生成模块,并转入步骤s4;

s7,指标计算模块根据求解结果来计算指标值;

s8,封装模块对求解结果和指标计算模块得到的结果进行封装并输出。

所述步骤s4动态建模求解模块根据输入数据和规则文件,建立机位分配数学模型并进行求解得到对机位分配的求解结果包括:

规则文件加载单元从配置文件管理模块处加载规则文件作为数学模型的约束条件;

数据加载单元从数据库中加载机位数据、组合机位数据、航班数据、任务数据;

求解参数加载单元从配置文件管理模块处加载求解参数配置文件;

模型建立单元根据机位数据、组合机位数据、航班数据、任务数据建立决策变量矩阵,再设定优化目标函数,以规则文件中的规则作为约束条件,从而建立起数学模型;

模型求解单元根据求解数学模型得到求解结果;

其中,所述模型求解单元根据求解数学模型得到求解结果的过程中,将求解过程中的当前迭代次数、各个优化指标值、优化目标函数值、求解耗时存储到日志记录模块。

例如,封装模块对求解结果和指标计算模块得到的结果进行封装如下:

{"index":[

{"name":"s1",

"value":"0.93"},

{"name":"s2",

"value":"0.80"},

{"name":"s3",

"value":"0.84"}

],

"tasks":[

{"tid":"1162204181273038848",

"rid":"110"},

{"tid":"1143112219986374658",

"rid":"503n"}

]

}

其中,期望计算指标为靠桥率、廊桥率、整体分配满意度三个指标,对应的代码分别是s1、s2、s3,指标计算模块得到的指标值分别为0.93、0.80、0,84;任务唯一标识为“1143100135408013312”的任务分配得到的机位资源为“110”,任务唯一标识为“1143112219986374658”的任务分配得到的机位资源为“503n”。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1