

Proxsuite是開源,數字穩健,精確和有效的數值求解器(例如,LPS,QPS等)的集合,它植根於重新審視的原始二重性近端算法。通過Proxsuite ,我們旨在為社區可擴展的優化器提供處理密集,稀疏或無基質問題的優化器。雖然第一個目標應用程序是機器人技術,但可以在其他情況下使用Proxsuite ,而無需限制。
Proxsuite由Willow和Sierra研究小組,Inria之間的聯合研究團隊,ÉcoleNormaleSupérieurede Paris和Center National de La Recherche Scientifique積極發展和支持。
Proxsuite已經整合到:
我們準備在其他優化生態系統中整合proxsuite 。
Proxsuite很快:
Proxsuite具有多功能性,通過統一的API高級算法提供專門利用問題結構的統一API高級算法:
具有專用功能
Proxsuite是靈活的:
proxsuite是可擴展的。 Proxsuite是可靠的,經過廣泛的測試,在文獻中最嚴重的問題上表現出最佳性能。在Windows,Mac OS X,Unix和Linux上支持和測試Proxsuite 。
上一個版本的在線Proxsuite文檔可在此處找到。
Proxsuite分發給許多著名的包裹經理。
pip install proxsuite該方法可在Linux,Windows和Mac OS X上使用。
conda install proxsuite -c conda-forge該方法可在Linux,Windows和Mac OS X上使用。
brew install proxsuite該方法可在Linux和Mac OS X上使用。
來自來源的安裝在這裡介紹。
對於最快的性能,請使用以下命令在編譯簡單示例時啟用矢量化。
g++ -O3 -march=native -DNDEBUG -std=gnu++17 -DPROXSUITE_VECTORIZE examples/first_example_dense.cpp -o first_example_dense $( pkg-config --cflags proxsuite )如果您想將Proxsuite與Cmake一起使用,則以下小例子應為您提供幫助:
cmake_minimum_required ( VERSION 3.10)
project (Example CXX)
find_package (proxsuite REQUIRED)
set (CMAKE_CXX_STANDARD 17) # set(CMAKE_CXX_STANDARD 14) will work too
add_executable (example example.cpp)
target_link_libraries (example PUBLIC proxsuite::proxsuite)
# Vectorization support via SIMDE and activated by the compilation options '-march=native' or `-mavx2 -mavx512f`
add_executable (example_with_full_vectorization_support example.cpp)
target_link_libraries (example_with_full_vectorization_support PUBLIC proxsuite::proxsuite-vectorized)
target_compile_options (example_with_full_vectorization_support PUBLIC "-march=native" )如果您已經在矢量化支持下編制了Proxsuite,則還可以使用CMake Target proxsuite::proxsuite-vectorized也可以與Simde鏈接。不要忘記使用-march=native來獲得最佳性能。
ProxQP算法是一種用於求解形式的二次編程問題的數值優化方法:
在哪裡
如果您正在使用ProxQP進行工作,我們建議您引用相關論文。
ProxQP對其他商業和開源求解器的數值基準可在此處提供。
對於具有不平等和平等約束的密集凸二次程序,當要求相對較高的精度(例如,1E-6)時,就會獲得以下結果。

在y軸上,您可以在幾秒鐘內看到時間,並且在x軸維度上wrt到了生成的隨機二次問題的原始變量(生成問題的約束數量是其原始維度的一半)。對於每個維度,問題都是在不同種子上產生的,並且在連續運行的相同問題的連續運行中獲得時間。該圖顯示了生成的每個基準求解器和隨機二次程序,包括中位數(作為點)以及獲得的最小值和最大值(定義桿的幅度)。您可以看到ProxQP始終低於求解器,這意味著它是該測試的最快。
對於Maros Meszaros測試集中的嚴重問題,要求高精度(例如1E-9)時,可以獲得以下結果。

上圖報告了不同求解器的性能概況。它是基準求解器的經典。性能概況對應於解決(y軸上)作為某些運行時的函數(在X軸上,以最快的求解器的運行時的倍數來衡量)。所以越高,越好。您可以看到ProxQP解決了超過60%的問題(即
注意:所有這些結果都是用第11代英特爾(R)Core(TM)I7-11850H @ 2.50GHz CPU獲得的。
QPLAYER使能夠在標準學習體系結構中使用QP作為圖層。更確切地說,Qplayer會區分
在哪裡
Qplayer能夠學習更多結構化體系結構。例如,
如果您正在使用QPlayer進行工作,我們建議您引用相關論文。
請在此處遵循安裝程序。