scipgo: bindings en Go para el solver SCIP de programación entera

Fuentes: scipgo: Go bindings for the SCIP mixed integer programming solver

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.