¿Qué es MathOpt?

MathOpt es una biblioteca para modelar y resolver problemas de optimización matemático, por ejemplo, problemas de programación lineal (LP) o problemas de programación de números enteros mixtos (MIP). MathOpt separa el modelado de la solución, lo que permite que los usuarios cambien entre métodos de solución mediante el cambio de una enumeración (y una dependencia de compilación) para seleccionar su solucionador.

Mira este video para obtener una breve introducción a MathOpt de la presentación de la conferencia JuMP de 2023.

Funciones de MathOpt

Los modelos MathOpt pueden contener lo siguiente:

  • números enteros o variables continuas
  • restricciones lineales o cuadráticas
  • objetivos lineales o cuadráticos
  • varios objetivos jerárquicos
  • Restricciones especializadas del MIP (SOS, indicador, más próximamente)
  • algunas restricciones cónicas (cono de segundo orden, más próximamente)

Los modelos se definen de forma independiente de cualquier solucionador, y los solucionadores se pueden intercambiar de forma intercambiable. MathOpt admite los siguientes solucionadores:

MathOpt proporciona bibliotecas cliente en C++ y Python para compilar tu modelo de optimización.

MathOpt admite muchas funciones avanzadas, como las siguientes:

  • Análisis de inviabilidad (Irreducible Infeasible Set o IIS), solo Gurobi
  • Solución incremental
  • Devoluciones de llamada
  • Dualidad
  • Rayos primarios y dobles
  • Soluciones dobles y primarias subóptimas
  • Eliminación de variables y restricciones
  • Inicios semicalientes (por solución o base)
  • Motivo detallado de la rescisión
  • Prioridad de la ramificación
  • Interrupción
  • Muchos parámetros independientes de solucionadores