Simple-Robotics/proxsuite

The Advanced Proximal Optimization Toolbox

What it solves

ProxSuite は、最適化問題、特に線形計画法 (LPs) および二次計画法 (QPs) のための、数値的に堅牢で効率的な数値解法器のコレクションを提供します。高精度と速度が essential な ロボット工学のような高性能アプリケーションにおいて、高密度、疎、または行列なし (matrix-free) な問題を扱えるスケーラブルな最適化器のニーズに応えます。

How it works

本ライブラリは、再検討された primal-dual proximal アルゴリズムに基づいています。キャッシュに優しい (cache-friendly) C++ テンプレートライブラリとして実装されており、ベクトル化 (vectorization) をサポートしています。汎用性を確保するため、統一された API を提供し、異なる行列分解と高度な warm-starting オプションのための専門化されたバックエンドを提供します。また、QPLayer と呼ばれる特定のコンポーネントが含まれており、これによって二次計画法 (QP) を微分可能レイヤーとして機械学習アーキテクチャ (PyTorch とのインターフェース) 内で使用することができ、QP 自体を定義するパラメータの最適化を可能にします。

Who it’s for

主にロボット工学の研究者やエンジニア向けに設計されていますが、高性能な数値最適化を必要とするあらゆる分野に適用可能です。また、QPLayer を通じて構造化された最適化制約を学習パイプラインに統合したい機械学習の実務家にも有用です。 \n## Highlights

  • High Performance: キャッシュに優しい設計とベクトル化をサポートする C++ テンプレートライブラリ。
  • Versatile Solvers: 高密度、疎、または行列なし (matrix-free) な問題、および非凸 (QP) と並列処理された QP バッチを扱えます。
  • Differentiable Optimization: QPLayer を含み、QPs と LPs を機械学習アーキテクチャ (PyTorch) のレイヤーとして統合できます。
  • Broad Compatibility: Python と Julia へのバインディングを備えた、ヘッダーのみの C++ ライブラリ (C++ 14/17/20)。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト