LINGO - Motor de Optimización

LINGO 10: Una Versión más rápida y versátil
Esta versión incluye varias modificaciones para mejorar la performance de muchos modelos lineal y enteros, también algunas de las nuevas características se enfocan en encontrar las mejores soluciones a los problemas no lineales. La versión de LINGO 10.0, recientemente liberada incluye las siguientes mejoras y características:
Solver Dual más rápido
El solver Simplex Dual mejorado en LINGO 10.0 ofrece una substancial mejora en su performance. En una amplia variedad de problemas, el nuevo solver puede lograr una mejora de velocidad hasta de un 300%. El solver, además es más robusto, debido al manejo mejorado de modelos degenerados y numéricamente inestables.
Solver Entero mejorado
El nuevo solver entero muestra varias mejoras. Una lista parcial de las nuevas características incluyen:
Opción Probing/pre-solving más avanzado
- Pre-solving para filas que contienen todas las variables binarias
- Un generador de cortes rápido y adicional
- El redondeo heurístico mejorado
- El Nuevo solver de enumeración para modelos puros binarios
- Mas y nuevos parámetros de usuario controlables
- Performance mejorada en modelos mixtos, enteros o cuadráticos
La Capacidad de Linealización
Linealización es una herramienta de reformulación comprensiva que automáticamente convierte muchas funciones no lineales y operadores (por ejemplo, @MAX y @ ABS) a una serie lineal, matemáticamente las expresiones son equivalentes. Muchos modelos no-lineales, pueden ser completamente linealizados. Esto permite usar el solver lineal para encontrar una solución global rápidamente, lo que habría sido por otra parte un problema difícil.
Herramientas analíticas para modelos: Infactibles y No Acotados
LINGO 10.0 incluye un nuevo juego de herramientas que le permiten apuntar con precisión a aquellas restricciones que causan que un modelo sea Infactible o No Acotado. Una porción pequeña del modelo original se aísla como la fuente del problema. Esto le permite enfocar su atención en una subdivisión del modelo en busca de formulación o errores de entrada de datos. En modelos Infactibles, se lista un conjunto irreducible de restricciones inconsistentes. En los modelos No Acotados, se reporta un conjunto irreducible columnas.
La nueva característica de descomposición:
Muchos problemas lineales y entero mixtos de gran escala, tienen matrices de restricciones que son totalmente divisibles en una serie de estructuras de bloques independientes. Una nueva característica en LINGO 10.0, le dice al solver que verifique si un modelo puede ser separado en modelos independientes más pequeños. Si la descomposición total es posible, resolverá los problemas independientes secuencialmente y reportará una solución para el modelo original. Esto reduce tremendamente la velocidad de solución.
LINGO DLL mejorada:
LINGO 10.0 se ha re-diseñado para trabajar con modelos lineales, enteros, y cuadráticos. Las aplicaciones que llaman al LINGO DLL pueden proporcionar un código de error y LINGO notifica el detalle del error. Se pasan el código del error y el mensaje del texto asociado al usuario que proporcionó el callback.
Nuevo Solver Global
El solver global combina una serie de rangos acotados y técnicas de reducción de rango dentro de una estructura de ramificación y acotación para encontrar las soluciones globales para programas no lineales (no convexos). En lugar de detenerse después del primer óptimo local encontrado, el solver global buscará hasta que el óptimo global sea alcanzado.
Se requieren adquirir las opciones "nonlinear" y "global" para utilizar las capacidades de optimización globales con LINGO.
La Capacidad Multistart
Cuando el tiempo limitado hace que buscar el óptimo global sea prohibitivo, la nueva característica Multistart puede ser una herramienta poderosa para encontrar las mejores soluciones más rápidamente. Esta característica inteligente, genera un conjunto de puntos de partida en el espacio de soluciones del problema NLPs (Problema No Lineal) y entero mixto NLPs. Entonces, el solver NLP nativo selecciona un subconjunto de éstas soluciones candidatas para inicializar una serie de optimizaciones locales. Se requieren adquirir las opciones "nonlinear" y "global" para utilizar las capacidades de optimización globales con LINGO.
El Reconocimiento cuadrático y Solver
Los modelos de Programación cuadrática (QP) son una clase común de modelos no-lineales que se encuentra en las aplicaciones tales como el análisis financiero. La nueva herramienta de reconocimiento QP presente en LINGO es un pre-procesador algebraico útil que automáticamente determina si un NLP arbitrario realmente es un modelo cuadrático, entonces, pueden pasarse modelos de QP al solver cuadrático que está disponible como la parte de la opción de solver de barrera.