CONECTIVIDAD TECNOLOGÍAS DE OPTIMIZACIÓN€¦ · Los archivos creados son: ... vía para leer...
Transcript of CONECTIVIDAD TECNOLOGÍAS DE OPTIMIZACIÓN€¦ · Los archivos creados son: ... vía para leer...
CONECTIVIDAD TECNOLOGÍAS DE OPTIMIZACIÓN
MANUAL DEL USUARIO
ESTE DOCUMENTO CONTIENE INFORMACIÓN CONFIDENCIAL, PROPIEDAD INTELECTUAL DE DO ANALYTICS LLC. Y SE ENTREGA CON EL ENTENDIMIENTO DE QUE SE UTILIZARÁ EXCLUSIVAMENTE EN LA EVALUACIÓN Y USO DEL PRODUCTO OPTEX MATHEMATICAL MODELING SYSTEM, Y SE MANTENDRÁ EN FORMA CONFIDENCIAL, PROTEGIÉNDOLO CONTRA INSPECCIÓN DE TERCERAS PERSONAS NO AUTORIZADAS EXPLÍCITAMENTE POR DO ANALYTICS LLC.
www.doanalytics.net
Noviembre 2015
OPTEX Mathematical Modeling System
MANUAL DEL USUARIO – CONECTIVIDAD TECNOLOGÍAS DE OPTIMIZACIÓN
1
ACUERDO DE CONFIDENCIALIDAD AL LEER ESTE DOCUMENTO EL LECTOR RECONOCE QUE EL MISMO CONTIENE INFORMACIÓN CONFIDENCIAL PROPIEDAD INTELECTUAL DE DO ANALYTICS LLC Y ACEPTA QUE LO MANTENDRÁ EN FORMA CONFIDENCIAL, GUARDÁNDOLO CONTRA INSPECCIÓN DE TERCERAS PERSONAS Y DE ORGANIZACIONES NO AUTORIZADAS EXPLÍCITAMENTE POR DO ANALYTICS. EL LECTOR RECONOCE QUE LA METODOLOGÍA DE DESARROLLAR MODELOS DE PROGRAMACIÓN MATEMÁTICA BASADOS EN LA CONFIGURACIÓN DE UN SISTEMA DE INFORMACIÓN Y SU POSTERIOR PROCESAMIENTO ES PROPIA Y ORIGINAL DEL PRODUCTO OPTEX MATHEMATICAL MODELING SYSTEM (OPTEX), QUE LA MISMA FUE DESARROLLADA INICIALMENTE POR DECISIONWARE LTDA. Y QUE ACTUALMENTE ES PROPIEDAD DE DO ANALYTICS LLC. EL LECTOR ACEPTA QUE ÉL SABE QUE LEER Y/O ESTUDIAR (O FACILITAR QUE ALGUIEN LEA O ESTUDIE) ESTE DOCUMENTO CON LA INTENCIÓN DE COPIAR / CAMBIAR / MEJORAR / SIMPLIFICAR
/ DESINTEGRAR / INTEGRAR / ESPIAR (O CUALQUIER OTRA ACTIVIDAD SIMILAR) i) LA METODOLOGÍA IMPLÍCITA EN OPTEX, ii) LOS SISTEMAS DE INFORMACIÓN DE OPTEX, iii) LOS PROGRAMAS DE COMPUTADOR GENERADOS POR OPTEX, Y/O iv) LAS INTERFACES DE ACCESO ASOCIADAS A LOS PROGRAMAS QUE INTEGRAN OPTEX CORRESPONDE A UNA VIOLACIÓN DE LOS DERECHOS DE AUTOR Y DE LA PROPIEDAD INTELECTUAL DE DO ANALYTICS Y ENTIENDE QUE DOA PODRÁ TOMAR LAS ACCIONES LEGALES PERTINENTES PARA PROTEGER SUS DERECHOS. LA INFORMACIÓN CONTENIDA EN ESTE DOCUMENTO NO PODRÁ SER REVELADA A TERCEROS Y NO DEBERÁ SER COPIADA DIGITALMENTE NI FOTOCOPIADA, NI USADA NI REVELADA, EN SU TOTALIDAD O PARCIALMENTE, PARA NINGÚN OTRO PROPÓSITO DISTINTO AL USO INTERNO. ESTA RESTRICCIÓN NO LIMITA EL DERECHO DEL LECTOR PARA UTILIZAR LA INFORMACIÓN CONTENIDA EN ESTE INFORME, QUE SEA DE DOMINIO PÚBLICO O SI ES OBTENIDA DE OTRAS FUENTES SIN RESTRICCIONES. TODA LA INFORMACIÓN DEL TERCERO A LA QUE DO ANALYTICS TENGA ACCESO COMO RESULTADO DE ESTE PROCESO DE DIFUSIÓN DE LOS SERVICIOS Y DE LOS PRODUCTOS QUE OFRECE DO ANALYTICS SERÁ MANTENIDA EN FORMA ESTRICTAMENTE CONFIDENCIAL POR DO ANALYTICS Y POR LOS PROFESIONALES DE DO ANALYTICS QUE SE VINCULEN AL PROCESO. LA FORMULACIÓN ALGEBRAICA PRESENTADA EN ESTE DOCUMENTO Y EN EL SOFTWARE QUE CONTIENE LA IMPLEMENTACIÓN DE LOS MODELOS MATEMÁTICOS EN OPTEX SOLO PUEDE SER UTILIZADA CON PROPÓSITOS ACADÉMICOS Y DE APRENDIZAJE EXCLUSIVAMENTE DE OPTEX; SI SE DESEA UTILIZAR LA FORMULACIÓN ALGEBRAICA Y/O LOS PROGRAMAS DE COMPUTADOR CON PROPÓSITOS COMERCIALES SE DEBE ADQUIRIR UNA LICENCIA FORMAL DEL SOFTWARE. PARA UTILIZAR ESTE MATERIAL COMO PARTE DE UN PROCESO LIBRE SE DEBE TENER UNA AUTORIZACIÓN ESCRITA Y FIRMADA POR DO ANALYTICS. DO ANALYTICS MANTIENEN LA PROPIEDAD DE ESTE DOCUMENTO Y PODRÁ SOLICITAR SU DEVOLUCIÓN Y/O SU DESTRUCCIÓN EN CUALQUIER MOMENTO.
OPTEX Mathematical Modeling System
MANUAL DEL USUARIO – CONECTIVIDAD TECNOLOGÍAS DE OPTIMIZACIÓN
2
OPTEX Mathematical Modeling System (OPTEX) es una herramienta informática rápida que
permite desarrollar sistemas computacionales para apoyar procesos de toma de decisiones (SSD, Decision Support Systems).
A continuación, se presentan y analizan los procesos de conectividad de OPTEX, para las diferentes plataformas de modelaje que convencionalmente se soportan. Previamente se presenta un cuadro
comparativo de las características de las implementaciones de cada plataforma.
CARACTERÍSTICAS PROGRAMAS GENERADOS OPTEX
TÓPICO TECNOLOGÍA DE OPTIMIZACIÓN
C GAMS IBM
OPL/ODME AIMMS MOSEL AMPL
Lenguaje Algebraico
No Si Si Si Si Si
Servidor SQL Acceso vía OPTEX
Comandos SQL Comandos SQL Comandos SQL Comandos SQL Comandos SQL
Ejecutable Si Si
Código Fuente
Según Licencia Según Licencia Según Licencia Según Licencia Según Licencia Según Licencia
Formatos de Problemas
LP – MIP – QP LP – MIP – QP – MQP – QPQC
– MQPQC – NLP – MINLP –
MPEC
LP – MIP – QP – MQP – QPQC
– MQPQC
Librerías de Optimización
GLPK – COINMP – IBM
CPLEX – XPRESS – GUROBI
“All” solvers IBM CPLEX
TÓPICOS AVANZADO
Programación Disyuntiva
Vía IBM-CPLEX Vía Log-MIP
Optimización Paramétrica
Parcial Si
Relajación Lagrangeana
Si
Teoría de Benders
Vía COIN-MP
Priorización Variables Binarias
Si
Special Ordered Sets
Si
Generador Montecarlo
Si
Múltiples Procesadores
Según algoritmo
Según algoritmo
Según algoritmo
Validación Datos Modelo
Si
1. SOLUCIÓN VÍA C
El proceso de solución de problemas de optimización vía programa C es el siguiente:
1. Independientemente de la opción seleccionada para el manejo de datos, OPTEX convierte las tablas DBase o SQL en archivos texto con formato tabla, encabezado y campos separados por comas
(tipo csv). OPTEX solo transfiere los elementos correspondientes a los elementos que hacen parte del escenario del modelo. Los nombres de las tablas son las mismos y se incorpora la extensión .txt
2. OPTEX genera el archivo ESC__HLP con las fechas iniciales de cada período del horizonte de planificación.
OPTEX Mathematical Modeling System
MANUAL DEL USUARIO – CONECTIVIDAD TECNOLOGÍAS DE OPTIMIZACIÓN
3
3. OPTEX genera el archivo ESC__MOD el cual contiene los parámetros de control de la corrida. en
archivos texto con formato tabla, encabezado y campos separados por comas (tipo csv). Cada columna corresponde a un elemento de control, y cada fila, después de la primera, a un modelo
que se debe correr. Por medio de este archivo un usuario controla la corrida del programa C, en la
que pueden haber secuencias/ciclos de múltiples modelos. La siguiente tabla presenta un ejemplo de ESC__MOD:
SEQ,COD_MOD,COD_FOB,COD_TOP,COD_THP,REL_RES,REL_VAR,REL_FO,LIM_MIN,LIM_ITE,LIM_GAP,VAR_INI,RES_INI,ELE_INI,REG_MAX,NO_ERRORS,RAM,DISK 1, VRPTW, MICO, MIN, M, NO, NO, SI, 90, 0, 5, 6000, 3000, 25000, 10000, SI, , NO 2, VRPTX, MICO, MAX, M, NO, NO, SI, 90, 0, 5, 6000, 3000, 25000, 10000, SI, , NO
4. OPTEX genera el programa C el cual queda encadenado directamente a la librería de optimización
que se ha de utilizar, la librería NO corresponde a un parámetro de control. OPTEX compila el programa generado, de acuerdo con las instrucciones que de dan por medio de la tabla
LIBRARY.DBF. Allí se especifica el tipo de compilador a utilizar. El nombre dado al programa es
OPTEX_Model_XXXXX_Main, donde XXXXX corresponde al nombre del modelo o del SSD asociado a familia-escenario.
5. La ejecución se realiza por medio del comando
OPTEX_Model_XXXXX_Main.EXE FFFFF
donde FFFF corresponde a un archivo de control ESC__MOD que puede direccionar el usuario; si FFFF se ignora, internamente el programa C tiene una dirección apuntando al archivo creado por
OPTEX, en el directorio del escenario.
6. OPTEX_Model_XXXXX_Main realiza todo el proceso de generación matricial y conecta con el
solver que se haya indicado para resolver el problema. El control de los parámetros del solver se realiza mediante los archivos SSSSSpar.prm, donde SSSSS corresponde al código del solver que
esta encadenado al programa C.
7. OPTEX_Model_XXXXX_Main produce automáticamente archivos texto separados para los
resultados de variables y restricciones, con extensión .opt. El nombre de los archivos es VV_vvv.opt y RR_rrr.opt.
8. OPTEX recupera la información convirtiéndola en tablas DBase, o SQL, según sea el caso, y
realizando el post-procesamiento que se haya indicado.
9. OPTEX y OPTEX_Model_XXXXX_Main produce varios archivos de resultados, los cuales se
describen a continuación.
ARCHIVO CONTENIDO
C-OPTEX-Model_XXXXX
Reporte de la ventana DOS cuando esta se oculta para acelerar la corrida de la solución. El tiempo de despliegue de la ventana DOS puede llegar a ser significativo en modelos complejos, principalmente en la generación de estructuras. XXXXX corresponde al nombre del modelo o del SSD.
MATGEN.LOG LOG de mensajes, errors y warning generado por OPTEX.EXE
OPTEX_ERROR Errores en conjuntos y parámetros detectados durante el proceso de ensamble de las estructuras matriciales del (los) modelos(s) matemático(s).
OPTEX_GM LOG de mensajes, errors y warnings generado por OPTEX.EXE
OPTEX_LINK Archivo de encadenamiento entre el programa C y OPTEX.EXE
OPTEXMODEL.fff Modelo matemático generado el programa C en formato fff Los formatos disponibles son .lp, .mps, .sav. Esto permite exportar el modelo a otra plataforma. Solo es generado cuando el solver es CPLEX.
OPTEX Mathematical Modeling System
MANUAL DEL USUARIO – CONECTIVIDAD TECNOLOGÍAS DE OPTIMIZACIÓN
4
OPTEX - WIDE AREA NETWORK – SOLUCION VÍA C
Internet
SERVIDOR
DE
MODELOS
MATEMATICOS
OPTEX
DATABASE
Conectividad
Vía
Remote Access Server
OPTIMIZATION
LIBRARY
COIN-MP – IBM CPLEX
GUROBI – XPRESS -…
OPTEX
Graphic User Interface
OPTEX
Mathematical Modeling
Processor
OPTEX.C
.OPT .TXT
ODBC
ODBC
2. SOLUCIÓN VÍA GAMS
El proceso de solución de problemas de optimización vía programa GAMS es el siguiente:
1. Dependiendo de la opción seleccionada para el manejo de datos OPTEX procede a:
Datos en Programa: genera los datos para todos los conjuntos y los parámetros leídos t los
incluye en el programa GAMS. Este proceso es intensamente consumidor de memoria para modelos de gran tamaño y solo se considera prácticos en modelos pequeños con datos de
prueba.
Archivo Texto: genera los archivos “include” para todos los conjuntos y los parámetros leídos.
Este proceso es intensamente consumidor de memoria, para modelos de gran tamaño no es aconsejable. Los archivos creados son:
o I_iii.opt: asociado al índice iii o C_ccc.opt: asociado al conjunto ccc
o P_ppp.opt: asociado al parámetro ppp
OPTEX Mathematical Modeling System
MANUAL DEL USUARIO – CONECTIVIDAD TECNOLOGÍAS DE OPTIMIZACIÓN
5
OPTEX - WIDE AREA NETWORK – SOLUCION VÍA GAMS/INCLUDE
Internet
SERVIDOR
DE
MODELOS
MATEMATICOS
OPTEX
DATABASE
Conectividad
Vía
Remote Access Server
OPTIMIZATION LIBRARY
COIN-MP – IBM CPLEX
GUROBI – XPRESS -…
OPTEX
Graphic User Interface
OPTEX
Mathematical Modeling
Processor
OPTEX.GMS
.OPT .TXT
ODBC
ODBC
Link SQL: genera las instrucciones SQL todos los conjuntos y los parámetros leídos. Este
proceso no es consumidor de memoria y es el aconsejado para modelos de gran tamaño. Es la vía para leer tablas almacenadas en un libro EXCEL.
OPTEX - WIDE AREA NETWORK – SOLUCION VÍA GAMS/SQL
Internet
SERVIDOR
DE
MODELOS
MATEMATICOS
OPTEX
DATABASE
Conectividad
Vía
Remote Access Server
OPTIMIZATION LIBRARY
COIN-MP – IBM CPLEX
GUROBI – XPRESS -…
OPTEX
Graphic User Interface
OPTEX
Mathematical Modeling
Processor
OPTEX.GMS
ODBC
ODBC
2. OPTEX genera el archivo ESC__HLP con información referente a las fechas incluidas en el horizonte de planificación, incluyendo los valores de las funciones de proyección utilizadas en los
modelos OPTEX. Este archivo se ubica en el área de escenario del caso que se esta corriendo.
OPTEX Mathematical Modeling System
MANUAL DEL USUARIO – CONECTIVIDAD TECNOLOGÍAS DE OPTIMIZACIÓN
6
3. OPTEX genera el programa GAMS al cual denomina OPTEX__XXXXX.gms, donde XXXXX
corresponde al nombre del modelo asociado a familia-escenario.
4. La ejecución se realiza por medio del comando
GAMS OPTEX_ XXXXX.gms
5. Si el usuario tiene acceso al código fuente en GAMS puede ejecutar el programa desde GAMS IDE
para la solución del proceso; esto le permite modificar desde GAMS parámetros y detalles de los modelos matemáticos. En caso contrario solo tiene acceso a un programa encriptado que solo puede
cambiar OPTEX.
OPTEX Mathematical Modeling System
MANUAL DEL USUARIO – CONECTIVIDAD TECNOLOGÍAS DE OPTIMIZACIÓN
7
6. Para controlar las librerías y los algoritmos utilizados, el usuario debe configurar los archivos lll.opt,
donde lll corresponde al mnemotécnico de la librería que desea utilizar, con los parámetros de control que desea utilizar.
7. OPTEX_ XXXXX.gms produce automáticamente archivos texto separados para los resultados de variables y restricciones, con extensión .csv. El nombre de los archivos es VV_vvv.csv y
RR_rrr.csv. Adicionalmente, genera el archivo FF_fff.csv, con información referente al valor de la función objetivo y a las condiciones de parada del modelo.
8. OPTEX recupera la información convirtiéndola en tablas DBase, o SQL, según sea el caso, y realizando el post-procesamiento que se haya indicado.
9. OPTEX y OPTEX_ XXXXX.gms produce varios archivos de resultados, los cuales se describen a
continuación.
ARCHIVO CONTENIDO
MATGEN.LOG LOG de mensajes, errores y warnings generado por OPTEX.EXE
3. SOLUCIÓN VÍA IBM-OPL / IBM-ODME
El proceso de solución de problemas de optimización vía programa IBM OPL/ODME es el siguiente:
1. Independientemente de la opción seleccionada para el manejo de datos, OPTEX genera las
instrucciones SQL para los conjuntos y los parámetros leídos. Este proceso no es consumidor de memoria y es el aconsejado para modelos de gran tamaño.
2. OPTEX genera el archivo ESC__HLP con información referente a las fechas incluidas en el
horizonte de planificación, incluyendo los valores de las funciones de proyección utilizadas en los
modelos OPTEX.
3. OPTEX genera el programa OPE al cual denomina OPTEX__XXXXX.gms, donde XXXXX corresponde al nombre del modelo asociado a familia-escenario.
4. La ejecución se realiza por medio del comando
OPL OPTEX_ XXXXX.gms
5. Si el usuario tiene acceso al programa fuente GAMS puede ejecutar el programa desde OPE IDE en la solución del proceso. En caso contrario solo tiene acceso a un programa ejecutable.
6. OPTEX_ XXXXX produce automáticamente tablas SQL para los resultados de variables y restricciones, con extensión .opt. El nombre de los archivos es VV_vvv.opt y RR_rrr.opt.
7. OPTEX realiza el post-procesamiento que se haya indicado a partir de las tablas generadas por
OPL.
8. OPTEX genera archivos XML para cargar la información requerida por IBM-ODME.
OPTEX Mathematical Modeling System
MANUAL DEL USUARIO – CONECTIVIDAD TECNOLOGÍAS DE OPTIMIZACIÓN
8
OPTEX - WIDE AREA NETWORK – SOLUCION VÍA IBM-OPL
Internet
SERVIDOR
DE
MODELOS
MATEMATICOS
OPTEX
DATABASE
Conectividad
Vía
Remote Access Server
OPTIMIZATION
LIBRARY
IBM CPLEX - IBM CP
OPTEX
Graphic User Interface
OPTEX
Mathematical Modeling
Processor
OPTEX.OPL
ODBC
ODBC
4. SOLUCIÓN VÍA CPLEX INTERACTIVE
Esta opción solo es accesible a usuarios de programas C que tengan instalada la librería IBM ILOG
CPLEX. El proceso de solución de problemas de optimización es el siguiente:
1. El proceso es igual al de realizado para programas C, para los pasos 1 al 5.
2. OPTEX_Model_XXXXX_Main realiza todo el proceso de generación matricial y conecta con el
solver CPLEX para generar un archivo encriptado en formato MPS (OPTEXMODEL.MPS) que será el archivo de entrada de datos enviado a CPLEX INTERACTIVE (CPLEX.exe).
OPTEX Mathematical Modeling System
MANUAL DEL USUARIO – CONECTIVIDAD TECNOLOGÍAS DE OPTIMIZACIÓN
9
3. Se ejecuta CPLEX.EXE. Para ello OPTEX genera un archivo CPLEX.CMD que se ubica en el
escenario de trabajo y que actuará como archivo de comandos de CPLEX.EXE.
El usuario puede controlar la ejecución de CPLEX.EXE mediante la edición de la plantilla ubicada
en el directorio de plantillas de OPTEX. OPTEX remplazará en la plantilla los comodines &&&DIR, &&&GAP y &&&TIME.
OPTEX Mathematical Modeling System
MANUAL DEL USUARIO – CONECTIVIDAD TECNOLOGÍAS DE OPTIMIZACIÓN
10
4. CPLEX INTERACTIVE (CPLEX.exe) resolverá el problema y retornará la solución en un archivo tipo XML (OPTEXMODEL.SOL) y los conflictos (no factibilidades encontradas) en el archivo
OPTEXMODEL.CLP.
5. OPTEX recupera la información convirtiéndola en tablas DBase, o SQL, según sea el caso, y
realizando el post-procesamiento que se haya indicado.
OPTEX Mathematical Modeling System
MANUAL DEL USUARIO – CONECTIVIDAD TECNOLOGÍAS DE OPTIMIZACIÓN
11
OPTEX - WIDE AREA NETWORK – SOLUCION VÍA IBM-OPL
Internet
SERVIDOR
DE
MODELOS
MATEMATICOS
OPTEX
DATABASE
Conectividad
Vía
Remote Access Server
OPTEX
Graphic User Interface
OPTEX
Mathematical Modeling
Processor
CPLEX.EXE
ODBC
ODBC
OPTEXMODEL.MPSOPTEXMODEL.SOLOPTEXMODEL.CLP
5. SOLUCIÓN VÍA GUROBI INTERACTIVE
Esta opción solo es accesible a usuarios de programas C que tengan instalada la librería GUROBI.
6. SOLUCIÓN VÍA MOSEL
7. SOLUCIÓN VÍA AIMMS
8. SOLUCIÓN VÍA AMPL