Simple-Robotics/proxsuite

The Advanced Proximal Optimization Toolbox

What it solves

ProxSuite는 최적화 문제를 위한 수치적으로 견고하고 효율적인 수치 솔버 컬렉션션을 제공합니다. 특히 선형 계획법(LPs) 및 이차 계획법(QPs)를 위한 것입니다. 이는 정밀도와 속도가 필수적인 로봇 공학과 같은 고성능 애플리케이션을 위해 밀집형, 희소형 또는 matrix-free 문제를 처리할 수 있는 확장 가능한 최적화 도구를 필요로 하는 요구를 해결합니다.

How it works

이 라이브러리는 재검토된 primal-dual proximal 알고리즘을 기반으로 구축되었습니다. 캐시 친화적(cache-friendly)이며 벡터화(vectorization)를 지원하는 C++ 템플릿 라이브러리로 구현되었습니다. 다용도성을 보장하기 위해, 다양한 행렬 분해 및 고급 warm-starting 옵션을 위한 전문화된 백엔드를 갖춘 통합 API를 제공합니다. 또한, QPLayer라는 특정 컴포넌트를 포함하고 있어, 이차 계획법(QP)을 머신러닝 아키텍처(PyTorch와 인터페이스) 내에서 미분 가능한 레이어로 사용할 수 있게 하여, QP 자체를 정의하는 파라미터를 최적화할 수 있게 합니다.

Who it’s for

주로 로봇 공학 연구자 및 엔지니어를 위해 설계되었지만, 고성능 수치 최적화가 필요한 모든 분야에 적용 가능합니다. 또한 QPLayer를 통해 구조화된 최적화 제약 조건을 학습 파이프라인에 통합하고자 하는 머신러닝 실무자에게도 유용합니다.

Highlights

  • High Performance: 캐시 친화적 설계와 벡터화 지원을 갖춘 C++ 템플릿 라이브러리.
  • Differentiable Optimization: 비대칭형(nonconvex) QPs 및 병렬 QP 배치 처리를 지원합니다.
  • Versatile Solvers: 밀집형, 희소형 또는 matrix-free 문제를 처리할 수 있습니다.
  • Broad Compatibility: Python 및 Julia 바인딩을 포함한 헤더 전용 C++ 라이브러리 (C++ 14/17/20).

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트