Descargar

Anuncio
ANEXO 01
GENERALIDADES DEL CPLEX
1.
CONSIDERACIONES GENERALES
La versión CPLEX 3.0 es una versión bajo DOS.
El CPLEX es una herramienta para resolver problemas de optimización lineal, o mejor conocida
Programación Lineal de la forma:
Maximizar o Minimizar:
c1x1+ c2x2 + … + cnxn
Sujeto a:
a11 + a12x2 + … + a1nxn
a21 + a22x2 + … + a2nxn
a31 + a32x2 + … + a3nxn
~ b1
~ b2
~ b3
am1 + am2x2 + … + amnxn ~ bm
Límites:
l1 < x1 < u1
ln < xn < un
Donde ~ puede ser <, >, o =, y los límites inferiores o superiores, li y ui pueden ser infinito
positivo (+ ∝ ) o negativo (- ∝).
Las constantes conocidas en el formato de programación lineal son:
ƒ
ƒ
ƒ
ƒ
Coeficientes de la función objetivo:
Coeficientes de las restricciones:
Lado derecho de las restricciones:
Límites superiores e inferiores de las variables:
Las variables (desconocidas) serían:
c1, …, cn
a11, …, amn
b1, …, bm
u1, …, un y l1, …, ln
x1, …, xn
El Linear Optmizer y el Barrier Solver del CPLEX resuelven problemas con variables
continuas, mientras que el Mixed Integer Solver permite tanto las variables continuas como las
enteras. Las variables que deben ser restringidas a valores enteros se pueden clasificar en dos
tipos:
ƒ
ƒ
2.
Binarias: son las que sólo pueden tomar el valor de 0 o 1.
Generales: son las que sólo pueden tomar valores enteros (pero cualquier entero)
PAUTAS GENERALES PARA LA UTILIZACIÓN ÁGIL DEL CPLEX
Debido a las limitaciones que tiene la versión CPLEX 3.0 para el manejo de los datos de entrada
de salida, se organizó un procedimiento que permitiera hacer un uso más práctico del software.
Los pasos que se deben ejecutar se describen a continuación:
ƒ
Se organizan previamente en Excel los formatos de 4 libros que servirán de interfases de
entrada y salida con respecto a la información que es requerida por el CPLEX y a los
resultados que arroja. Dichos libros de Excel son los siguientes:
-
01 Datos Modelo.xls: este libro contiene todos los formatos o tablas en las cuales se
descargan todos los datos requeridos por el modelo. Este es el único archivo en el
que se pueden hacer modificaciones de información.
-
02 Tablas de Datos.xls: este libro contiene la misma información que fue
descargada en el archivo 01 Datos Modelo.xls, pero de manera tal que facilite la
creación automática del archivo de texto que posteriormente será corrido en el
CPLEX. Este archivo se genera automáticamente a partir de la información que se
descargue en el archivo 01 Datos Modelo.xls, y no puede ser manipulado de ninguna
manera. Todas las modificaciones que se hagan en el archivo 01 Datos Modelo.xls
quedan automáticamente actualizadas en el archivo 02 Tablas de Datos.xls.
-
03 Coeficientes.xls: al igual que el archivo 02 Tablas de Datos.xls, este se genera
automáticamente a partir de la información que se descargue en el archivo 01 Datos
Modelo.xls y no puede ser manipulado de ninguna manera. En este archivo se arman
en forma explícita la función objetivo y restricciones de las variables, según como lo
requiere el CPLEX. Todas las modificaciones que se hagan en el archivo 01 Datos
Modelo.xls quedan automáticamente actualizadas en el archivo 02 Tablas de
Datos.xls.
-
04 Resultados Corrida.xls: este archivo es utilizado para manejar los resultados que
entrega el CPLEX una vez haya corrido el modelo, con el fin de presentar en forma
clara la propuesta del modelo.
ƒ
A partir del archivo 03 Coeficientes.xls se hace una copia de la hoja que contiene todos
los elementos del problema a un archivo de TEXTO, y en formato TEXTO, archivo que
será leído por el CPLEX. En este caso el archivo recibe el nombre de Syj_pro.txt con
formato de WORDPAD. La ruta de ubicación de este archivo de estar previamente
definida.
ƒ
Posteriormente se entra al ambiente de MS DOS
ƒ
Una vez se encuentre en el ambiente del MS DOS, se ejecuta el CPLEX así:
c > CPLEX < return >
Siempre y cuando el CPLEX esté en el directorio raíz C; si el CPLEX no está en el
directorio raíz C, entonces se escribe la ruta completa. En ese momento ya la aplicación
está corriendo, y está lista para aceptar cualquier comando del CPLEX.
ƒ
Luego se lee el archivo del problema a correr, con la siguiente sintaxis:
CPLEX < read c : \ (Ruta donde está el archivo de texto) \ syj_pro < return >
ƒ
Una vez leído el archivo de texto, ya el problema está en memoria y puede ser resuelto
por medio del siguiente comando:
CPLEX < op < return >
ƒ
Cuando el CPLEX indique que el problema ha sido resuelto, se debe ejecutar el siguiente
comando con el fin de que el CPLEX descargue la solución de cada una de las variables
en un archivo plano:
CPLEX < d sol - < return >
ƒ
En este momento el CPLEX ha terminado de resolver el problema y ha exportado la
información a una archivo de texto externo a él. Para salir del CPLEX y del MS DOS se
ejecutan los siguientes comandos:
CPLEX < q < return >
C: \ > exit < return >
ƒ
Se abre el archivo de texto CPLEX.LOG el cual se encuentra en el directorio o carpeta
donde está el CPLEX. Ese archivo es el que contiene el valor solución de las variables. Se
toma el valor de dichas variables y se pasan en forma de texto (las variables) y de número
(los resultados) a la primera hoja del libro 04 Resultados Corrida.xls. En este momento
ya se tiene el informe ejecutivo y la agenda de operación de bombas de la operación
modelada y puede ser observada e impresa a partir de la información que se encuentra en
las dos últimas hojas de este libro o archivo.
Cabe anotar que los comandos principales del CPLEX son 13 y ninguno repite la letra inicial, por
lo cual cada uno de ellos puede ser ejecutado con sólo darle las letras iniciales que se
consideren necesarias para distinguir el comando de otro o, si se quiere, el nombre completo del
comando, y es indiferentes si es en letras mayúsculas o minúsculas. Los demás comandos, los
cuales no fueron utilizados en el esquema de corrida del CPLEX, pueden ser de mucha utildad,
por lo que se recomienda que sean consultados en el manual de instrucciones del CPLEX 3.0.
Todos los cambios que se deseen hacer en los parámetros del problema, se deben hacer a partir
del archivo 01 Datos Modelo.xls, y repetir los pasos ya descritos para realizar una nueva
corrida.
Descargar