Se han desarrollado lenguajes de modelado algebraico como AIMMS , AMPL , GAMS , MPL y otros para facilitar la descripción de un problema en términos matemáticos y vincular la formulación abstracta con sistemas de gestión de datos por un lado y algoritmos apropiados para la solución por el otro. Se han desarrollado algoritmos robustos e interfaces de lenguaje de modelado para una gran variedad de problemas de programación matemática, como programas lineales (LP), programas no lineales (NP), programas enteros mixtos (MIP), programas de complementariedad mixta (MCP) y otros. Los investigadores actualizan constantemente los tipos de problemas y algoritmos que desean utilizar para modelar en aplicaciones de dominio específicas.
La Programación Matemática Extendida ( EMP ) es una extensión de los lenguajes de modelado algebraico que facilita la reformulación automática de nuevos tipos de modelos al convertir el modelo EMP en clases de programación matemática establecidas para resolver mediante algoritmos de resolución maduros. Se pueden resolver varias clases de problemas importantes. Algunos ejemplos específicos son las desigualdades variacionales , los equilibrios de Nash , los programas disyuntivos y los programas estocásticos .
EMP es independiente del lenguaje de modelado utilizado, pero actualmente se implementa únicamente en GAMS. Los nuevos tipos de problemas modelados con EMP se reformulan con el solucionador de GAMS JAMS para tipos de problemas ya establecidos y los modelos reformulados se pasan a un solucionador de GAMS adecuado para su resolución. El núcleo de EMP es un archivo llamado emp.info donde se añaden al modelo las anotaciones necesarias para las reformulaciones.
Los problemas de equilibrio modelan cuestiones que surgen en el estudio de los equilibrios económicos en una forma matemáticamente abstracta. Los problemas de equilibrio incluyen desigualdades variacionales, problemas con equilibrios de Nash y problemas de optimización múltiple con restricciones de equilibrio (MOPEC). Utilice las palabras clave de EMP para reformular estos problemas como problemas de complementariedad mixta (MCP), una clase de problemas para los que existe una tecnología de resolución madura. Resuelva la versión de la palabra clave EMP recientemente reformulada del problema con el solucionador PATH u otros solucionadores MCP de GAMS .
Algunos ejemplos del uso de EMP para resolver problemas de equilibrio incluyen el cálculo de equilibrios de Cournot-Nash-Walras, [1] modelado de la asignación de agua, [2] [3] planificación a largo plazo de la expansión de la línea de transmisión de la red eléctrica, [4] modelado de agentes reacios al riesgo en mercados de electricidad hidrotermal con entradas inciertas en los embalses hidroeléctricos [5] y modelado de desigualdades variacionales en los mercados de energía [6].
Los problemas de optimización jerárquica son programas matemáticos con un problema de optimización adicional en sus restricciones. Un ejemplo simple es el problema de programación de dos niveles que optimiza un objetivo de nivel superior sobre restricciones que incluyen otro problema de optimización de nivel inferior. La programación de dos niveles se utiliza en muchas áreas. Un ejemplo es el diseño de instrumentos fiscales óptimos. El instrumento fiscal se modela en el nivel superior y el mercado de compensación se modela en el nivel inferior. En general, el problema de nivel inferior puede ser un problema de optimización o una desigualdad variacional . Se proporcionan varias palabras clave para facilitar la reformulación de los problemas de optimización jerárquica. Los problemas de optimización de dos niveles modelados con EMP se reformulan a programas matemáticos con restricciones de equilibrio (MPEC) y luego se resuelven con uno de los solucionadores de MPEC de GAMS (NLPEC o KNITRO ).
Los programas matemáticos que involucran variables binarias y definiciones de disyunción para modelar opciones discretas se denominan programas disyuntivos. Los programas disyuntivos tienen muchas aplicaciones, incluida la ordenación de tareas en un proceso de producción, la organización de proyectos complejos de manera que se ahorre tiempo y la elección de la ruta óptima en un circuito. Los procedimientos para extensiones de programación disyuntiva lineal y no lineal se implementan dentro de EMP. Los programas disyuntivos lineales se reformulan como programas enteros mixtos (MIP) y los programas disyuntivos no lineales se reformulan como programas enteros mixtos no lineales (MINLP). Se resuelven con el solucionador LogMIP 2.0 y posiblemente otros subsolucionadores GAMS.
Entre los ejemplos del uso de EMP para la programación disyuntiva se incluyen los problemas de programación en la industria química [7].
EMP SP es la extensión estocástica del marco EMP. Un modelo determinista con parámetros fijos se transforma en un modelo estocástico donde algunos de los parámetros no son fijos sino que están representados por distribuciones de probabilidad. Esto se hace con anotaciones y palabras clave específicas. Son posibles distribuciones de probabilidad discretas y paramétricas simples y conjuntas . Además, existen palabras clave para el valor esperado , el valor en riesgo (VaR) y el valor en riesgo condicional (CVaR). Las variables que son medidas de riesgo pueden aparecer en la ecuación objetiva o en las restricciones. EMP SP facilita la optimización de una sola medida de riesgo o una combinación de medidas de riesgo (por ejemplo, la suma ponderada del valor esperado y el CVaR). Además, el modelador puede optar por compensar las medidas de riesgo. También es posible modelar restricciones que solo se cumplen con ciertas probabilidades (restricciones de azar). Actualmente, los siguientes solucionadores GAMS se pueden utilizar con EMP SP: DE, DECIS, JAMS y LINDO . Se puede utilizar cualquier solucionador GAMS para procesar el problema equivalente determinista premuestreado .