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
ひとこと要約

本論文では、大規模な並列設計を目的としたオープンソースのC++ベースのグローバル最適化フレームワークPaGMOを提示する。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.

研究の動機と目的

  • 宇宙飛行機器の軌道設計における高次元で複雑なエンジニアリング最適化問題を解決すること。
  • 低レベルの並列化の詳細を隠蔽するスケーラブルで拡張可能かつ再利用可能なソフトウェアインfraを提供すること。
  • 複数の最適化アルゴリズムを並列に実行することで、複雑な解空間の自動的かつ協調的な探索を可能にすること。
  • 共鳴飛越やサンプルリターンミッションを含む、実世界の惑星間軌道設計問題におけるフレームワークの有効性を実証すること。
  • 並列計算を活用して、数千のミッション軌道を合理的な時間内に大規模に最適化することを可能にすること。

提案手法

  • PaGMOはオブジェクト指向アーキテクチャを備えたC++ライブラリとして実装され、科学的計算スタックとの統合を容易にするためにPythonインターフェースを提供する。
  • 並列化には一般化されたアイランドモデルを採用し、独立した最適化アルゴリズムの集団間で非同期的に候補解を移行可能にする。
  • 遺伝的アルゴリズム、微分進化、粒子群最適化、シミュレーテッドアニーリングなど、幅広いグローバルおよびローカル最適化アルゴリズムをネイティブでサポートする。
  • SNOPT、IPOPT、NLopt、GSLなどの外部最適化ライブラリは、薄いC++ラッパーを介して統合され、高性能なローカルソルバーのシームレスな使用を可能にする。
  • 連続変数、整数変数、混合整数変数に加え、ボックス制約および非線形制約をサポートする単一および多目的最適化を実装する。
  • 異なるソルバーが並列に実行されている間、柔軟な移行演算子を用いて情報交換を可能にすることで、自動的かつ協調的な探索を実現する。

実験結果

リサーチクエスチョン

  • RQ1統一的で拡張可能なソフトウェアフレームワークは、複雑なエンジニアリング問題における多様なグローバルおよびローカル最適化アルゴリズムの並列実行を、効率的に管理できるか?
  • RQ2協調的でマルチアルゴリズムの最適化戦略は、高次元でマルチモーダルな軌道設計問題において、収束性と解の品質をどの程度向上できるか?
  • RQ3事前に知識がなくても、フレームワークは既知の最良解(例:メッセンジャー探査ミッションの複雑な共鳴飛越シーケンス)を自動的に特定し、収束できるか?
  • RQ4PaGMOは、小惑星サンプルリターンミッションのための数千の惑星間軌道を評価するような大規模最適化タスクに、どの程度効果的にスケーリングできるか?
  • RQ5フレームワークの並列化モデルは、実世界の航空宇宙応用において、解の品質を維持したまま、計算時間を顕著に短縮できるか?

主な発見

  • PaGMOは、協調的でマルチアルゴリズムのアプローチを用いて、カッシーニ、TandEM、メッセンジャーの惑星間軌道問題の最良解を成功裏に特定した。
  • メッセンジャー探査ミッションに関しては、水星における共鳴飛越に関連する複数の解クラスタを同定し、そのうちの1つのクラスタに対して局所的再最適化を実施した結果、Δvが約2.3 km/sの解が得られ、初期の記録(5.15 km/s)を著しく上回った。
  • 微分進化、シミュレーテッドアニーリング、および局所最適化を組み合わせた自動探索戦略により、解空間が効果的に削減され、メッセンジャー探査ミッションの正しい軌道戦略が同定された。
  • 大規模なベンチマークでは、PaGMOは8コアシステム上で8時間で4406件の小惑星到着軌道(各5回ずつ)を最適化し、将来のサンプルリターンミッションの有望候補を同定した。
  • フレームワークは強力なスケーラビリティとパフォーマンスを示し、効率的なマルチスレッドプログラミングとアイランドモデルによる並列化を活用してマルチコアアーキテクチャを効果的に活用した。
  • Pythonとの統合により、インタラクティブな使用が可能になり、科学的ライブラリへのシームレスなアクセスが可能となり、計算効率を損なわずに使いやすさが向上した。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。