scipgo es una biblioteca de código abierto que proporciona bindings en Go para SCIP, uno de los solvers no comerciales más rápidos para la programación entera mixta (MIP) y no lineal mixta (MINLP). El proyecto, desarrollado por Egoisuto Labs, es un port de la librería Rust russcip y mantiene una API compatible para facilitar la migración entre lenguajes. La herramienta permite a los desarrolladores modelar problemas complejos con variables continuas, enteras, binarias y restricciones no lineales, incluyendo árboles de expresiones y sintaxis propia de SCIP. Además, soporta la creación de plugins en Go, como reglas de ramificación y heurísticas primales, que se registran mediante un builder y manejan errores de forma segura. El diseño prioriza la seguridad: los métodos que pueden fallar ofrecen formas de panico y retorno de errores, y las consultas verifican el estado del solver para evitar comportamientos indefinidos. scipgo está diseñado para integrarse en servicios Go, permitiendo el control de contexto y la liberación explícita de memoria. Soporta resolución concurrente y aritmética racional exacta. La biblioteca requiere SCIP 10 instalado y Go 1.25 o superior, y se enlaza mediante cgo sin incluir el solver en el paquete. Incluye documentación extensa, ejemplos de programas reales y pruebas en macOS y Linux, con licencia MIT.
