Permítanme agregar CVXGEN: Generación de código para la optimización convexa a la mezcla. Es un generador de código para resolver QP * específicos *. No es un solucionador de QP genérico, aunque puede resolver cualquier problema que sea representable por QP (siempre que se cumplan algunas restricciones prácticas).
En términos de velocidad, probablemente sea el solucionador de QP más rápido que encontrará para su problema específico, ya que generará un código personalizado para resolver ese QP. (Genera un solucionador personalizado para su problema específico). Puede llevar un tiempo generar el código personalizado, pero una vez que ese código ha sido generado y compilado, el solucionador real se ejecuta bastante rápido.
No es compatible con la computación distribuida.
- Aprendí algo de teoría de la probabilidad, pero aún me cuesta leer el aprendizaje automático: una perspectiva probabilística. ¿Qué libro de texto de teoría de probabilidad me recomiendan para estudiar el aprendizaje automático?
- ¿De qué maneras alguien puede obtener ingresos del aprendizaje automático (trabajo por cuenta propia)?
- ¿Qué hace la capa en línea y la capa de línea cercana del sistema Netflix para recomendación?
- Cuando uno usa la función de pérdida al cuadrado para la regresión, ¿significa que asume implícitamente que está agregando ruido gaussiano con la misma varianza?
- ¿Cuál es la diferencia entre PyTorch, Caffe y TensorFlow?
En cuanto a la facilidad de uso, debe aprender un nuevo idioma (es pequeño) para especificar su QP, pero una vez que lo aprende, es muy fácil especificar QP. El resultado final es una pieza de código ANSI C y un Makefile, que, creo, debería compilarse sin problemas en la mayoría de las máquinas.
Debo señalar que CVXGEN tiene algunos inconvenientes serios: no funciona en problemas de tamaño mediano (una matriz KKT con 5000 o menos nonzeros hará que el codegen falle) y cada vez que cambien las dimensiones del problema, debe codificar nuevamente.
Y en aras de la divulgación completa, he trabajado con el tipo que escribió el código para CVXGEN, así que estoy un poco parcial. :-pags