开发者生态
morning
节省航空燃油
2026-09-16
1 阅读
约9分钟阅读
marklit
字号:
一架从纽瓦克自由国际机场 (EWR) 直飞达芬奇-菲乌米奇诺机场 (FCO) 的波音 787-9 梦想飞机在 8.5 小时的飞行中可能需要 6.8 万美元的航空燃油。根据风况调整飞行路径可以减少燃油消耗,并可能节省数千美元。 Jeppesen 等公司在这一领域提供了产品,但 Scikit-decide 与代尔夫特理工大学教授构建的窄体和宽体燃油消耗模型以及 NOAA 的风数据一起提供了开源解决方案。 Scikit-decide 已经开发了六年。它是强化学习、自动规划和调度的框架。该项目可以优化飞行路径、重新组织航空公司员工时间表并计算无人机群路径。 OpenAP是由孙俊子博士开发的飞机性能模型和工具包。孙博士拥有空中交通管理博士学位,除此之外,他还在荷兰代尔夫特理工大学担任终身助理教授,教授该主题的课程。 Scikit-decide 的最佳飞行路径求解器可以配置为使用不同的燃油消耗模型。在这篇文章中,我将比较使用空客 A320 和 OpenAP 燃油消耗模型飞行的两条飞行路线。我的工作站 我使用的是 5.7 GHz AMD Ryzen 9 9950X CPU。它有 16 个核心和 32 个线程以及 1.2 MB 的 L1、16 MB 的 L2 和 64 MB 的 L3 缓存。它附有液体冷却器,并安装在宽敞的全尺寸 Cooler Master HAF 700 电脑机箱中。该系统配备 96 GB DDR5 RAM,主频为 4,800 MT/s,以及第五代 Crucial T700 4 TB NVMe M.2 SSD,读取速度高达 12,400 MB/s。 SSD 上有一个散热器,有助于降低温度。这是我系统的C盘。该系统由 1,200 瓦、完全模块化的 Corsair 电源供电,并安装在华擎 X870E Nova 90 主板上。我在 Windows 11 Pro 上通过 Microsoft 的 Ubuntu for Windows 运行 Ubuntu 24 LTS。如果您想知道为什么我不运行基于 Linux 的桌面作为主要工作环境,我仍然使用 Nvidia GTX 1080 GPU,它在 Windows 上有更好的驱动程序支持,而 ArcGIS Pro 仅本地支持 Windows。安装先决条件 在这篇文章中我将使用 Python 3.12 和 jq。 $ sudo add-apt-repository ppa:deadsnakes/ppa $ sudo apt update $ sudo apt install \ jq \ python3-pip \ python3.12-venv 我将设置一个 Python 虚拟环境并安装 scikit-decide,以及 OpenAP 开放飞机性能模型和 OpenTop(也是由 Sun 博士开发的飞行轨迹工具包)。 $ python3 -m venv ~/.flight_planning $ source ~/.flight_planning/bin/activate $ pip install \ 'scikit-decide[all]' \ 'openap[all]' \ opentop 以上至少需要 8 GB 的存储容量。这些是已安装的软件包。 $ pip install pipdeptree $ pipdeptree -d0 lz4 == 4.4.5 openevolve == 0.3.2 opentop == 2.6.0 pip == 24.0 pipdeptree == 4.2.5 plado == 0.1.6 pygeodesy == 26.9.9 pygrib == 2.1.8 pyRDDLGym - gurobi == 0.2 pyRDDLGym - jax == 3.1 pyRDDLGym - rl == 0.2 pytz == 2026.3 。 post1 ray == 2.37.0 rddlrepository == 2.2 sb3_contrib == 2.3.0 scikit - 决定 == 1.1.1 scikit - 图像 == 0.26.0 tensorboardX == 2.6.5 torch - 几何 == 2.8.0 。 post1 typer == 0.27.2 Unified - Planning == 1.2.0 up - enhsp == 0.0.27 up_fast_downward == 0.5.2 up - pyperplan == 1.1.0 z3 -solver == 5.1.0.0 在这篇文章中我将使用 DuckDB 及其 H3 、 JSON 、 Lindel 、 Parquet 和 Spatial 扩展。 $ cd ~ $ wget -c https://github.com/duckdb/duckdb/releases/download/v1.5.4/duckdb_cli-linux-amd64.zip $ unzip -j duckdb_cli-linux-amd64.zip $ chmod +x duckdb $ ~/duckdb 从社区安装 h3 ;从社区安装 lindel ;安装 json ;安装镶木地板;安装空间;我将设置 DuckDB 在每次启动时加载每个已安装的扩展。 .timer on .width 180 LOAD h3;加载林德尔;加载 json;装载镶木地板;加载空间;本文中的地图是使用 QGIS 版本 4.2.1 渲染的。 QGIS 是一款可在 Windows、macOS 和 Linux 上运行的桌面应用程序。近年来,该应用程序越来越受欢迎,每月约有 2200 万次来自世界各地的用户启动。边界和地名源自《自然地球》。海洋边界源自海洋区域。 OpenAP 的飞机类型 我将首先克隆 OpenAP 存储库。 $ git clone https://github.com/junzis/openap 不包括单元测试和实用脚本,这个包中有 3,369 行 Python 代码。 OpenAP 的模型依赖于与其代码库打包在一起的大量数据集。这些涵盖了各种各样的飞机。以下是飞机制造商的数量。 $ grep -ho '飞机:.*[a-z] ' \ openap/data/aircraft/*.yml \ |剪切-d''-f2\|排序 \ | uniq -c | | sort -rn 17 波音 13 空中客车 5 巴西航空工业公司 1 湾流 1 塞斯纳 这些是空中客车 A380-800 的属性。 $ cat openap/data/aircraft/a388.yml 飞机:空客 A380-800 mtow:560000 mlw:386000 oew:27700
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱