Skip to main content
QUICK REVIEW

[论文解读] A Global Optimisation Toolbox for Massively Parallel Engineering Optimisation

Francesco Biscani, Dario Izzo|arXiv (Cornell University)|Apr 22, 2010
Distributed and Parallel Computing Systems参考文献 40被引用 78
一句话总结

本文介绍了PaGMO,一个基于C++的开源全局优化框架,配备Python绑定,专为大规模并行工程优化而设计。它通过广义岛屿模型,实现了对多种全局和局部优化算法(如差分进化、模拟退火和SNOPT)的高效协同使用,在多核系统上表现出高性能。主要贡献在于自动发现近似最优的星际轨道,包括卡西尼、土卫六-土卫二(TandEM)和信使号任务,PaGMO不仅找到了已知的最佳解,还成功恢复了信使号任务中复杂的共振引力借力飞行策略。

ABSTRACT

A software platform for global optimisation, called PaGMO, has been developed within the Advanced Concepts Team (ACT) at the European Space Agency, and was recently released as an open-source project. PaGMO is built to tackle high-dimensional global optimisation problems, and it has been successfully used to find solutions to real-life engineering problems among which the preliminary design of interplanetary spacecraft trajectories - both chemical (including multiple flybys and deep-space maneuvers) and low-thrust (limited, at the moment, to single phase trajectories), the inverse design of nano-structured radiators and the design of non-reactive controllers for planetary rovers. Featuring an arsenal of global and local optimisation algorithms (including genetic algorithms, differential evolution, simulated annealing, particle swarm optimisation, compass search, improved harmony search, and various interfaces to libraries for local optimisation such as SNOPT, IPOPT, GSL and NLopt), PaGMO is at its core a C++ library which employs an object-oriented architecture providing a clean and easily-extensible optimisation framework. Adoption of multi-threaded programming ensures the efficient exploitation of modern multi-core architectures and allows for a straightforward implementation of the island model paradigm, in which multiple populations of candidate solutions asynchronously exchange information in order to speed-up and improve the optimisation process. In addition to the C++ interface, PaGMO's capabilities are exposed to the high-level language Python, so that it is possible to easily use PaGMO in an interactive session and take advantage of the numerous scientific Python libraries available.

研究动机与目标

  • 解决航空航天轨道设计中高维、复杂工程优化问题的挑战。
  • 提供可扩展、可扩展且可重用的软件基础设施,抽象化底层并行计算细节。
  • 通过并行运行多个优化算法,实现在复杂解空间中的自动协同搜索。
  • 在真实世界的星际轨道设计问题(包括共振引力借力飞行和样本返回任务)中展示框架的有效性。
  • 利用并行计算在合理时间内大规模优化数千条任务轨道。

提出的方法

  • PaGMO作为C++库实现,采用面向对象架构,通过Python接口暴露其功能,便于使用并集成到科学计算生态系统中。
  • 框架采用广义岛屿模型进行并行化,支持不同独立优化种群之间候选解的异步迁移。
  • 原生支持广泛的全局和局部优化算法,包括遗传算法、差分进化、粒子群优化和模拟退火。
  • 通过轻量级C++包装器集成外部优化库(如SNOPT、IPOPT、NLopt、GSL),实现高性能局部求解器的无缝使用。
  • 平台支持单目标和多目标优化,支持连续、整数及混合整数变量,以及框约束和非线性约束。
  • 通过灵活的迁移算子,使不同求解器在并行运行时可交换信息,实现自动协同搜索。

实验结果

研究问题

  • RQ1统一且可扩展的软件框架能否高效管理复杂工程问题中多种全局和局部优化算法的并行执行?
  • RQ2协同的多算法优化策略在高维、多峰轨道设计问题上,能在多大程度上提升收敛速度和解的质量?
  • RQ3该框架能否在无先验知识的情况下,自动识别并收敛到已知最优解(如信使号任务中复杂的共振引力借力飞行序列)?
  • RQ4PaGMO在大规模优化任务(如对数千条小行星采样返回任务轨道进行评估)中,其扩展能力如何?
  • RQ5该框架的并行化模型能否在真实航空航天应用中显著缩短计算时间,同时保持解的质量?

主要发现

  • PaGMO通过协同的多算法方法,成功找到了卡西尼、TandEM和信使号星际轨道问题的最佳已知解。
  • 对于信使号任务,该框架识别出与水星共振引力借力飞行相关的多个解簇,对其中一个簇进行聚焦再优化后,获得了∆v约为2.3 km/s的解,显著优于初始记录的5.15 km/s。
  • 自动搜索策略结合差分进化、模拟退火和局部优化,成功缩小了解空间,并识别出信使号任务的正确轨道策略。
  • 在大规模基准测试中,PaGMO在8核系统上8小时内完成了4406条小行星会合轨道的5次优化,识别出未来采样返回任务的有前途候选方案。
  • 该框架展现出强大的可扩展性和性能,通过高效的多线程编程和岛屿模型并行化,充分利用多核架构。
  • 与Python的集成支持交互式使用,并无缝访问科学计算库,提升了易用性,同时未牺牲计算效率。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。