Sei sulla pagina 1di 26

Entorno de desarrollo para OPL

Aunque existen muchos lenguajes de modelado para problemas de programacin lineal, en este curso utilizaremos OPL (Optimization Programming Language), un lenguaje con una gran capacidad expresiva y un potente motor de resolucin matemtica denominado CPLEX. OPL dispone de un entorno de desarrollo (IBM ILOG CPLEX Optimization Studio) desde el que resulta muy cmodo gestionar el desarrollo y la depuracin de modelos de programacin matemtica. Los modelos resultantes se pueden integrar con facilidad en casi todos los entornos comerciales de programacin para ser gestionados desde interfaces especficas de las correspondientes aplicaciones. En este documento indicamos la forma de obtener una versin gratis y limitada del entorno, su instalacin, y su utilizacin para modelar un n pequeo peq eo problema de programacin lineal. lineal En el tema 3 de la asignatura entramos ms en detalle en el estudio de las posibilidades expresivas de OPL y su utilizacin en proyectos de programacin lineal continua y entera de mayor entidad. En los temas del mdulo III de la signatura utilizaremos OPL para desarrollar modelos de redes de transporte y de aplicaciones industriales en general, abordando la linearizacin con variables binarias de comportamientos no lineales.

1
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Descarga e instalacin del entorno de desarrollo para OPL

En las pginas siguientes describimos el proceso a seguir para descargar la versin trial del entorno interactivo (IDE) para ejecutar modelos escritos en el lenguaje OPL. Se denomina: IBM ILOG CPLEX Optimization Studio Preview Edition Trial y se encuentra en el siguiente enlace de la pgina web de IBM:

http://www-01.ibm.com/software/websphere/products/optimization/cplex-studio-preview-edition/?& p p p p p p S_TACT=109HE1MW&S_CMP=web_ibm_ws_ilg-opt_hero_cplexoptimizationstudio-ov _ _ _ _ _ g p_ _ p p

2
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Descarga e instalacin del entorno de desarrollo para OPL


Pulsando en el enlace que indica la flecha roja pasamos a un proceso de identificacin del usuario usuario. Si el usuario no est dado de alta en la pgina de IBM deber realizar el proceso correspondiente. Si ya es miembro, se procede a su identificacin con el nombre de usuario y la clave para entrar en la zona de descarga.

3
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Descarga e instalacin del entorno de desarrollo para OPL


En la zona de descarga se selecciona la versin, en nuestro caso IBM ILOG CPLEX Optimization Studio Preview Edition V12.2 for Windows 32 bits. Para ello se pulsa con el ratn donde indica la flecha roja (I agree). Despus de unos minutos de descarga se obtiene el ejecutable cplex_studio122.prev.win-x86-32.exe cuya ejecucin da lugar a la instalacin del entorno.

4
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Ejecucin de un modelo OPL en el entorno CPLEX OPTIMIZATION STUDIO


Para ejecutar el entorno de desarrollo CPLEX Studio pulsamos en el icono siguiente i i t pantalla. t ll y y aparece la

Para ejecutar un modelo OPL pasamos a la interfaz principal del entorno donde aparecen las diferentes ventanas de operacin. Para ello pulsamos donde indica la flecha roja:

5
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Aparecen las ventanas principales de la interfaz CPLEX Optimization Studio Para poder ejecutar un modelo de optimizacin tenemos que crear un proyecto en el que exista un archivo .mod con el cdigo OPL del modelo. Para ello actuamos como se indica en la siguiente pgina.

6
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Creacin de un proyecto: Seleccionamos Archivo > Nuevo > Proyecto OPL y aparece la ventana Nuevo Proyecto que p q pasamos a rellenar.

7
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Creacin de un proyecto: en la ventana Nuevo proyecto rellenar: Nombre del proyecto: primero (el nombre que queramos dar al proyecto) Ubicacin del proyecto: C:\Documents and Settings\jose\OPL (con Examinar seleccionamos la ubicacin) Descripcin: Mi proyecto OPL (cualquier comentario descriptivo del proyecto o sin rellenar) Marcar las siguientes opciones: Agregar una nueva configuracin predeterminada Crear modelo Para confirmar las opciones elegidas pulse Finalizar

8
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Creacin de un proyecto: como resultado de las opciones anteriores se crea el proyecto primero y se abre la ventana para escribir el cdigo del modelo (archivo primero.mod) que viene ya encabezado con los datos del autor como lneas de comentario (por supuesto se pueden borrar estas lneas). E l En la ventana t P Proyectos t OPL aparece el l nombre b y descripcin d i i de d nuestro t proyecto t

9
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Creacin de un proyecto: A continuacin introducimos con la ayuda del editor (por teclado o con copiar/pegar) el cdigo de nuestro modelo

10
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Creacin de un proyecto: para ejecutar el modelo realizamos las siguientes acciones en la ventana Proyectos OPL: 1. Desplegamos el contenido del proyecto pulsando sobre + a la izquierda de primero. 2. Desplegamos de la misma forma Configuraciones de ejecucin. 3. Colocando el cursor en Configuracin predeterminada pulsamos con el botn derecho del ratn. 4 En la ventana 4. entana que q e se despliega seleccionamos Ejecutar Ejec tar esta. esta

11
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Creacin de un proyecto: como no habamos guardado los recursos introducidos en el proyecto (en nuestro caso el archivo primero.mod con el modelo), aparece una ventana para que confirmemos que queremos guardarlo. Pulsamos Aceptar (Se evita este paso en ejecuciones sucesivas marcando la opcin Guardar siempre los recursos antes de lanzar)

12
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Creacin de un proyecto: el modelo se ejecuta y podemos ver los resultados en las siguientes ventanas: 1. Estadsticas: el valor de la funcin objetivo (12 en nuestro modelo) junto con el nmero de variables y restricciones 2. Examinador: el valor de las variables de decisin (x1 = 0 y x2 = 2.4) 3. Soluciones: vemos el valor de la funcin objetivo y llos valores de las variables

13
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Creacin de un proyecto: como consecuencia de la creacin del proyecto el sistema crea una carpeta con el nombre dado al proyecto (primero en nuestro caso) en el directorio elegido en el proceso de creacin del proyecto. Esta carpeta contendr el archivo .mod del modelo (primero.mod en nuestro caso) junto con otros archivos auxiliares asociados al proyecto. Toda la carpeta se puede copiar en otro directorio o en otra mquina, pero para su ejecucin en la nueva ubicacin tendremos que importarlo siguiendo los pasos Importacin de un proyecto OPL ya existente

14
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Creacin de un proyecto importando el modelo .mod: en la ventana Nuevo proyecto rellenar: Nombre del proyecto: segundo Ubicacin del proyecto: C:\Documents and Settings\jose\OPL Descripcin: Marcar las siguientes opciones: Agregar una nueva configuracin predeterminada Para confirmar las opciones elegidas pulse Finalizar

15
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Creacin de un proyecto importando el modelo .mod: como resultado de las opciones anteriores se crea el proyecto segundo pero en este caso no se abre la ventana para escribir el cdigo del modelo (archivo .mod) En la ventana Proyectos OPL aparece nuestro nuevo proyecto segundo. Ahora podemos importar el archivo .mod mod del modelo desde la ubicacin donde se encuentre encuentre. En nuestro caso vamos a importar el mismo archivo primero.mod que ya tenemos en la carpeta del proyecto primero. Para ello seleccionamos segundo en la ventana Proyectos OPL

16
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Creacin de un proyecto importando el modelo .mod: Archivo > Copiar archivos a proyecto

17
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Creacin de un proyecto importando el modelo .mod: aparece la ventana Importar. Con Examinar nos ubicamos en la carpeta donde se encuentra el archivo a importar (en nuestro caso la ubicacin del primer proyecto). Aparecen los archivos importables de esa carpeta y marcamos slo primero.mod. Despus pulsamos Finalizar

18
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Creacin de un proyecto importando el modelo .mod: si desplegamos el proyecto segundo en la ventana Proyectos OPL veremos que ahora contiene el archivo primero.mod que acabamos de importar. Podemos hacer que aparezca en la ventana del editor dando un doble clic con el botn izquierdo del ratn. Para ejecutarlo habr que arrastrar el archivo primero.mod de la carpeta Configuraciones de ejecucin a Configuracin 1, despus pulsar el botn derecho con el cursor en Configuracin 1, como se hizo en el caso anterior

19
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Eliminacin de un proyecto: podemos eliminar un proyecto seleccionndolo en la ventana Proyectos OPL y pulsando sobre l con el botn derecho del ratn. Se despliegan una serie de opciones. Seleccionamos Eliminar

20
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Eliminacin de un proyecto: aparece una ventana para confirmar la eliminacin con la opcin de eliminar el proyecto del disco (nos quedamos sin proyecto) o eliminarlo slo de CPLEX STUDIO con la posibilidad d poderlo de d l i importar t d de nuevo ms adelante. d l t E En nuestro t caso no l lo elinamos li d del l di disco ( (no marcamos l la casilla) y pulsamos Aceptar

21
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Eliminacin de un proyecto: como consecuencia de la eliminacin anterior vemos que el proyecto segundo no aparece en la ventana Proyectos OPL. Sin embargo, como no marcamos la opcin Suprimir contenido t id d de proyecto t en di disco, la l carpeta t d de nombre b segundo d con los l archivos hi d del l proyecto t permanecen en el correspondiente directorio donde se cre. Este proyecto se puede importar de nuevo con la opcin de la siguiente pgina.

22
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Importacin de un proyecto OPL ya existente: Archivo > Importar > Proyectos de OPL ya existentes

23
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Importacin de un proyecto OPL ya existente: aparece la ventana Importar. Con Examinar nos movemos al directorio que contenga la carpeta del proyecto a importar (en nuestro caso el directorio del proyecto segundo). En Proyectos: aparecen los proyectos importables de en ese directorio directorio. Seleccionamos los proyectos deseados (en nuestro caso segundo) y pulsamos Finalizar.

24
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Importacin de un proyecto OPL ya existente: ahora podemos observar que el proyecto segundo que acabamos de importar p aparece p en la ventana Proyectos y OPL.

25
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Recomendaciones finales
Con lo descrito en las pginas de este documento disponemos de los conocimientos mnimos para operar en el entorno de programacin de OPL. En el tema 3 desarrollaremos con mayor extensin este lenguaje. Conviene indicar que desde OPL se pueden codificar y ejecutar no slo problemas de programacin lineal (continua y entera) sino tambin problemas combinatorios de restricciones sobre dominios finitos (programacin con restricciones). Esto significa que muchas de las capacidades de expresin del lenguaje no sean vlidas para los modelos de programacin matemtica de esta asignatura. Por este motivo es recomendable utilizar en esta primera fase slo aquellas construcciones sintcticas cuya semntica sea conocida perfectamente por el alumno y correspondan, adems, a las necesidades expresivas de la materia de la asignatura.

26
J.J.RUZ,INTRODUCCINALAPROGRAMACINMATEMTICA,MSTERUNIVERSITARIOENINGENIERADESISTEMASYDECONTROL

Potrebbero piacerti anche