

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进行工作,我们建议您引用相关论文。
请在此处遵循安装程序。