航段、航节

航段概念通常分为旅客航段(Segment,通常简称为航段)和飞行航段(Leg,通常称为航节)。

 

  旅客航段通常是指能够构成旅客航程的航段,例如北京--上海--旧金山航线,旅客航程有3种可能:北京--上海、上海--旧金山和北京--旧金山。就是说旅客有这三种航段需求。而航节则是:北京--上海、上海--旧金山

    Segment是Cn2,而leg是n-1。

 

行动代码描 述封口(@)后状态及含义
DR 再确认RR 再确认
DK 直接占座HK 确认
DW 候补HL 候补
KK 确认HK 确认
KL 从候补状态确认HK 确认
SS 销售HK 确认
TK 确认,提示旅客航班时刻已更改HK 确认
TL 候补,提示旅客航班时刻已更改HL 候补
TN 申请,提示旅客航班时刻已更改HN 申请
NN 申请HN 申请
NO 航空公司不允许销售 该航段被移入PNR 的历史部分
UC 不接受候补或订座,航班已关闭 该航段被移入PNR 的历史部分
(不接受申请)
UN 航班取消 该航段被移入PNR 的历史部分
US 不接受订座(航班已关闭,可以候补) HL 候补
UU 不接受订座(可以候补) HL 候补
XL 取消候补 该航段被移入PNR 的历史部分
XX 取消确认或申请 该航段被移入PNR 的历史部分

 

基于python实现的粒子群的VRP(车辆配送路径规划)问题建模求解+源码+项目文档+算法解析,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 算法设计的关键在于如何向表现较好的个体学习,标准粒子群算法引入惯性因子w、自我认知因子c1、社会认知因子c2分别作为自身、当代最优解历史最优解的权重,指导粒子速度位置的更新,这在求解函数极值问题时比较容易实现,而在VRP问题上,速度位置的更新则难以直接采用加权的方式进行,一个常见的方法是采用基于遗传算法交叉算子的混合型粒子群算法进行求解,这里采用顺序交叉算子,对惯性因子w、自我认知因子c1、社会认知因子c2则以w/(w+c1+c2),c1/(w+c1+c2),c2/(w+c1+c2)的概率接受粒子本身、当前最优解、全局最优解交叉的父代之一(即按概率选择其中一个作为父代,不加权)。 算法设计的关键在于如何向表现较好的个体学习,标准粒子群算法引入惯性因子w、自我认知因子c1、社会认知因子c2分别作为自身、当代最优解历史最优解的权重,指导粒子速度位置的更新,这在求解函数极值问题时比较容易实现,而在VRP问题上,速度位置的更新则难以直接采用加权的方式进行,一个常见的方法是采用基于遗传算法交叉算子的混合型粒子群算法进行求解,这里采用顺序交叉算子,对惯性因子w、自我认知因子c1、社会认知因子c2则以w/(w+c1+c2),c1/(w+c1+c2),c2/(w+c1+c2)的概率接受粒子本身、当前最优解、全局最优解交叉的父代之一(即按概率选择其中一个作为父代,不加权)。
航段划分是指将线划分为一段段的飞行区域。在Python中,可以使用一些方法技术来实现航段划分。其中一个常用的方法是使用班数据的经纬度坐标信息,通过计算两个连续点之间的距离方向来确定航段的边界。可以使用Python中的数学库(如numpyscipy)来进行距离方向的计算。 首先,需要将班数据加载到Python中。可以使用pandas库来读取处理班数据。然后,根据经纬度坐标信息计算点之间的距离方向。可以使用haversine公式来计算球面上两个点之间的距离。接下来,可以设置一个阈值来确定两个点之间是否属于同一个航段。如果两个点之间的距离小于阈值,则它们属于同一个航段。最后,可以将划分后的航段保存到一个新的数据结构中,如列表或数据框。 以下是一个用Python实现航段划分的简单示例: ```python import pandas as pd import numpy as np from scipy.spatial.distance import cdist from math import radians # 读取班数据 flight_data = pd.read_csv('flight_data.csv') # 提取经纬度坐标信息 latitudes = flight_data['latitude'] longitudes = flight_data['longitude'] # 将经纬度转换为弧度 latitudes_rad = np.radians(latitudes) longitudes_rad = np.radians(longitudes) # 计算相邻点之间的距离 distances = cdist(np.vstack((latitudes_rad, longitudes_rad)).T, np.vstack((latitudes_rad, longitudes_rad)).T, metric='haversine') # 设置航段划分阈值 threshold = 50 # 假设航段之间的最大距离为50千米 # 初始化航段列表 segments = [] # 进行航段划分 current_segment = [] for i in range(len(flight_data)): if i == 0: current_segment.append(i) else: if distances[i-1, i > threshold: segments.append(current_segment) current_segment = [i] else: current_segment.append(i) # 将航段保存到数据框 segments_data = pd.DataFrame(segments, columns=['start_index', 'end_index']) # 输出航段信息 print(segments_data) ``` 以上示例代码仅提供了一个基本的航段划分的实现思路,实际应用中可能需要根据具体的需求进行适当的修改优化。航段划分的具体实现方法可能因班数据的不同而有所差异,因此在实际应用中需要结合具体的数据特点进行调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [【项目实战】Python基于RFM模型K-Means聚类算法进行空公司客户价值分析](https://blog.youkuaiyun.com/weixin_42163563/article/details/122511336)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [飞行航段数据计算.docx](https://download.youkuaiyun.com/download/huluwajiuyeyeaa/19951633)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值