ILOG
ILOG
ILOG
Complutense
Madrid
FACULTAD DE INFORMTICA
ndice
1.
2.
3.
4.
5.
6.
Introduccin
Historia y creacin
Lenguaje OPL
Ejemplo
Uso del lenguaje
Situacin actual
Facultad de Informtica
Universidad Complutense de Madrid
Facultad de Informtica
Universidad Complutense de Madrid
CPLEX cuenta con una amplia gama de libreras para los lenguajes
de programacin tradicionales ms importantes (C, C++, C#, Java,
Phyton, Visual Basic y FORTAN). Tambin tiene complementos para
ser usados desde las tablas de Microsoft Excel y MATLAB
UNIX: Oracle
Facultad de Informtica
Universidad Complutense de Madrid
ndice
1.
2.
3.
4.
5.
6.
Introduccin
Historia y creacin
Lenguaje OPL
Ejemplo
Uso del lenguaje
Situacin actual
Facultad de Informtica
Universidad Complutense de Madrid
2. Historia y Creacin
Originalmente desarrollado por Robert E. Bixby y ofrecida
comercialmente desde el ao 1988 con el nombre de CPLEX Optimization.
El origen de su nombre est en su primera concepcin, ya que fue
pensada para C, y tambin en el uso como algoritmo de simplex algorithm
(conocido como mtodo simplex, para la programacin lineal).
En el ao 1997 fue adquirida por ILOG.
Finalmente en el ao 2009, IBM completa la adquisicin de ILOG en la
Bolsa de Nueva York y Pars, al precio de 215 millones de euros.
Tras el ltimo cambio de propietario, obtiene el nombre de IBM ILOG
CPLEX Optimizer Studio.
En la actualidad, la versin ms reciente de la aplicacin es la 12.4.
Facultad de Informtica
Universidad Complutense de Madrid
ndice
1.
2.
3.
4.
5.
6.
Introduccin
Historia y creacin
Lenguaje OPL
Ejemplo
Uso del lenguaje
Situacin actual
Facultad de Informtica
Universidad Complutense de Madrid
3. Lenguaje OPL
A. Introduccin
B. OPL para la Programacin con
Restricciones (P.R. o CP)
C. Estructura del Modelado en OPL y
Sintaxis
Facultad de Informtica
Universidad Complutense de Madrid
3. Lenguaje OPL-Introduccin
Como ya se ha mencionado, OPL engloba muchos
campos de la programacin matemtica. Por este
motivo explicaremos brevemente algunos de los
paradigmas principales donde se enfoca.
Programacin Lineal
Programacin Cuadrtica
Programacin Con Restricciones
Facultad de Informtica
Universidad Complutense de Madrid
, -
=1
, =1
,, -
=1
= 1,2, ,
a y b son coeficientes
tcnicos conocidos
() =
, - +
=1
,, =1 =1
,, -
=1
, 1
a y b son coeficientes
tcnicos conocidos
3. Lenguaje OPL
A. Introduccin
B. OPL para la Programacin con
Restricciones (P.R. o CP)
C. Estructura del Modelado en OPL y
Sintaxis
Facultad de Informtica
Universidad Complutense de Madrid
Fase de Propagacin
de Consistencia
No
Si
FIN
Con Sol
Son Todos
Dominios
Unitarios?
Inconsistencia?
No
Si
Retroceso
Si
Existen
Dominios no
Vacos?
No
FIN
Sin Sol
Fase de Bsqueda
Facultad de Informtica
Universidad Complutense de Madrid
ILOG SOLVER
ILOG SCHEDULER
Cdigo
OPL
Facultad de Informtica
Universidad Complutense de Madrid
3. Lenguaje OPL
A. Introduccin
B. OPL para la Programacin con
Restricciones (P.R. o CP)
C. Estructura del Modelado en OPL
y Sintaxis
Facultad de Informtica
Universidad Complutense de Madrid
Datos
Variables
Funcin de optimizacin
Restricciones
Procedimiento bsicos
Facultad de Informtica
Universidad Complutense de Madrid
Facultad de Informtica
Universidad Complutense de Madrid
Facultad de Informtica
Universidad Complutense de Madrid
Restricciones
Lineales:
//-------------------------------------------10*var1 + 5*var2 <= 5;
-varX
+ 4*varY <= 50;
Restricciones
NO
Lineales:
//-------------------------------------------numero <> 4;
-varX*varY > 10;
Facultad de Informtica
Universidad Complutense de Madrid
ndice
1.
2.
3.
4.
5.
6.
Introduccin
Historia y creacin
Lenguaje OPL
Ejemplo
Uso del lenguaje
Situacin actual
Facultad de Informtica
Universidad Complutense de Madrid
Facultad de Informtica
Universidad Complutense de Madrid
Facultad de Informtica
Universidad Complutense de Madrid
decisin---------------------------------in r; //Galicia
in r; //Cantabria
in r; //Pas Vasco
in r; //Navarra
in r; //Aragn
in r; //Catalua
in r; //Asturias
in r; //Castilla y Len
in r; //La Rioja
in r; //Madrid
in r; //Castilla la Mancha
in r; //Valencia
in r; //Murcia
in r; //Andaluca
in r; //Extremadura
IBM ILOG CPLEX CP Optimization Studio -2
Restricciones
//Constraints--------------------------------------------subject to{
gal!=ast;
gal!=cyl;
ast!=cyl;
ast!=can;
can!=pva;
can!=cyl;
pva!=nav;
pva!=rio;
nav!=rio;
nav!=ara;
ara!=cat;
ara!=val;
rio!=cyl;
pva!=cyl;
cal!=val;
cyl!=mad;
cyl!=ext;
cyl!=clm;
ext!=clm;
ara!=clm;
mad!=clm;
clm!=val;
ext!=alu;
clm!=mur;
alu!=mur;
mur!=val;
rio!=ara;
ara!=cyl;
}
Facultad de Informtica
Universidad Complutense de Madrid
Facultad de Informtica
Universidad Complutense de Madrid
ndice
1.
2.
3.
4.
5.
6.
Introduccin
Historia y creacin
Lenguaje OPL
Ejemplo
Uso del lenguaje
Situacin actual
Facultad de Informtica
Universidad Complutense de Madrid
Facultad de Informtica
Universidad Complutense de Madrid
ndice
1.
2.
3.
4.
5.
6.
Introduccin
Historia y creacin
Lenguaje OPL
Ejemplo
Uso del lenguaje
Situacin actual
Facultad de Informtica
Universidad Complutense de Madrid
Situacin Actual
Ampliamente usado en la actualidad.
Conexin a Bases de datos, servidores, libreras para
C++, C y Java.
Cuenta con una plataforma de programacin,
llamado IBM ILOG CPLEX Optimizer Studio que
permite disponer de un sistema de soporte para la
toma de decisiones mediante anlisis para mejorar la
eficacia, reducir costes y aumentar la rentabilidad.
ltima versin desarrollada: 12.4.
Facultad de Informtica
Universidad Complutense de Madrid