Simple-Robotics/proxsuite

The Advanced Proximal Optimization Toolbox

해결하는 문제

ProxSuite는 선형 프로그래밍(LP)과 2차 프로그래밍(QP)을 포함한 최적화 문제를 위한 수치적으로 안정적이고 효율적인 수치적 소거기의 모음입니다. 밀집, 희소, 또는 행렬 없이도 처리할 수 있는 확장 가능한 최적화 도구를 제공하며, 특히 고성능 로보틱스 응용 및 기타 수치 최적화 환경에서 유용합니다.

작동 방식

이 라이브러리는 개선된 원시-이중 프록시 알고리즘을 기반으로 구축되었습니다. 캐시 친화적이고 헤더 전용인 C++ 템플릿 라이브러리로 구현되어 높은 성능을 보장합니다. 다양한 행렬 분해 백엔드를 위한 통합 API와 고급 웜스타트 옵션을 제공합니다. 또한 상자 제약 조건, 비볼록 QP, QP의 병렬 배치 해결을 위한 특수 기능도 포함되어 있습니다.

대상 사용자

로보틱스, 최적 제어, 수치 최적화 분야에서 일하는 연구자 및 엔지니어를 위한 것입니다. 프로토타이핑을 위해 Python과 Julia 바인딩을 제공하면서도, 배포 시에는 C++의 성능을 유지합니다.

주요 특징

  • 고성능: 캐시 효율성과 벡터화 지원을 최적화한 C++ 템플릿 라이브러리.
  • 다양한 소거기: 밀집, 희소, 행렬 없는 백엔드를 지원하며, 비볼록 QP 및 LP도 처리 가능.
  • 미분 가능한 최적화: QPLayer를 포함하여, PyTorch 학습 아키텍처 내에서 QP를 레이어로 사용할 수 있으며, 원시 및 이중 해에 대해 미분이 가능합니다.
  • 광범위한 통합: CVXPY, CasADi, TSID 등 다양한 생태계에 통합되어 있습니다.
  • 크로스플랫폼 지원: Windows, Mac OS X, Linux를 모두 지원합니다.

관련

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