ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓNINDUSTRIAL
Modelos Matemáticos de Optimización
I. Investigación operativa y optimización
Historia:
Historia:
ANTES DE LA II GUERRA MUNDIAL
ANTES DE LA II GUERRA MUNDIAL
Farkas
Farkas
,
,
Minkowski
Minkowski
,... (XIX);
,... (XIX);
Markov
Markov
(XIX),
(XIX),
Erlang
Erlang
(20);
(20);
Von Neumann
Von Neumann
(30)
(30)
DURANTE LA II GUERRA MUNDIAL
DURANTE LA II GUERRA MUNDIAL
1935
1935
→
→
Radar, 1937
Radar, 1937
→
→
Cooperaci
Cooperaci
ó
ó
n
n
1938
1938
→
→
Rowe
Rowe
:
:
Operational Research
Operational Research
:
:
Bawdsey
Bawdsey
RAF,...
RAF,...
→
→
British Army Operational Group
British Army Operational Group
DESPUES DE LA II GUERRA MUNDIAL
DESPUES DE LA II GUERRA MUNDIAL
Problemas Log
Problemas Log
í
í
sticos
sticos
Dantzig
Dantzig
(
(
Rand
Rand
)
)
→
→
Simplex (1947)
Simplex (1947)
Sociedades:
I. Investigación operativa y optimización
Investigaci
Investigaci
ó
ó
n Operativa:
n Operativa:
9 Es la aplicación, por grupos interdisciplinarios, del método
científico a los problemas complejos producidos en la dirección y gestión de grandes sistemas de hombres, máquinas,[...] La
principal característica consiste en construir un modelo científico del sistema del cual se pueden predecir y comparar los
resultados de las diversas estrategias, decisiones,...
El objetivo es ayudar a los responsables a determinar su política y actuaciones en forma científica.
9 Tiene por objeto ayudar a decidir, mediante el método científico,
el diseño que optimiza el funcionamiento de sistemas bajo condiciones que suelen implicar el uso de recursos escasos.
I. Investigación operativa y optimización
Optimizaci
Optimizaci
ó
ó
n
n
:
:
Determinaci
Determinaci
ó
ó
n de una alternativa de
n de una alternativa de
decisi
decisi
ó
ó
n con la propiedad de ser mejor que cualquier
n con la propiedad de ser mejor que cualquier
otra en alg
otra en alg
ú
ú
n sentido a precisar
n sentido a precisar
Elementos de un problema de optimizaci
Elementos de un problema de optimizaci
ó
ó
n:
n:
9 Función objetivo: Medida cuantitativa del funcionamiento del
sistema que se desea optimizar (maximizar o minimizar)
9 Variables: Representan las decisiones que se pueden tomar
para afectar el valor de la función objetivo.
• Variables independientes
• Variables dependientes o de estado
9 Restricciones: Representan el conjunto de relaciones
(ecuaciones e inecuaciones) que las variables están obligadas a cumplir
Resolver:
Resolver:
Encontrar valor de las variables que optimiza
Encontrar valor de las variables que optimiza
la funci
I. Investigación operativa y optimización
CLASIFICACI
CLASIFICACI
Ó
Ó
N DE M
N DE M
É
É
TODOS DE OPTIMIZACI
TODOS DE OPTIMIZACI
Ó
Ó
N:
N:
99 a) Cla) Cláásicos (programacisicos (programacióón matemn matemáática)tica)
9
9 b)b) MMetaheuretaheuríísticossticos (aproximaci(aproximacióón)n) (gen(genééticos, recocido ticos, recocido
simulado, b
simulado, búúsqueda heursqueda heuríística)stica)
PROGRAMACIÓN LINEAL (LINEAR PROGRAMMING) LP PROGRAMACIÓN LINEAL ENTERA MIXTA
(MIXED INTEGER PROGRAMMING)
MIP
PROGRAMACIÓN NO LINEAL
(NON LINEAR PROGRAMMING) NLP PROGRAMACIÓN MULTIOBJETIVO (multiobjective programming) min 0 , , , T x
n n m n m
c x
Ax b x
x c A × b
= ≥ ∈ ∈ ∈ ∈ min , 0 , , , , , T T x
n l n l m n m l m
c x d y Ax By b x y
x Z y c d A × B ×b
+ + =
≥
∈ ∈ ∈ ∈
∈ ∈ ∈
m i n ( ) ( ) 0 ( ) 0
: , : x n n m f x g x h x
l x u
f g h = ≤ ≤ ≤ → → 1
min( ( ),..., ( ))
0
, , , ( ):
k x
n n m n m n
i
f x f x Ax b
x
x c A b
II. Modelos de optimización
Modelo
Modelo
:
9 Esquema teórico, generalmente en forma matemática, de un
sistema o de una realidad compleja (por ejemplo, la evolución económica de un país), que se elabora para facilitar su comprensión y el estudio de su comportamiento.(Diccionario de la lengua española. Real Academia Española.)
9 Representación precisa de una realidad
9 Herramienta de ayuda a la toma de decisiones 9 Puede involucrar equipo multidisciplinar
Modelador
Modelador
:
especifica y desarrolla el modelo
II. Modelos de optimización
MODELADO
MODELADO
:
:
9
9
Ciencia
Ciencia
• Análisis y detección de relaciones entre datos • Suposiciones y aproximaciones a los problemas • Algoritmos específicos de solución
9
9
Arte
Arte
II. Modelos de optimización
ETAPAS EN EL DESARROLLO DE UN MODELO
ETAPAS EN EL DESARROLLO DE UN MODELO
:
:
1.
1.
Identificaci
Identificaci
ó
ó
n del problema
n del problema
2.
2.
Especificaci
Especificaci
ó
ó
n matem
n matem
á
á
tica y formulaci
tica y formulaci
ó
ó
n
n
3.
3.
Resoluci
Resoluci
ó
ó
n
n
4.
4.
Verificaci
Verificaci
ó
ó
n, validaci
n, validaci
ó
ó
n y refinamiento
n y refinamiento
5.
5.
Interpretaci
Interpretaci
ó
ó
n y an
n y an
á
á
lisis de resultados
lisis de resultados
6.
II. Modelos de optimización
1.
1.
IDENTIFICACIÓN DEL PROBLEMA
IDENTIFICACIÓN DEL PROBLEMA
Recolecci
Recolecci
ó
ó
n de informaci
n de informaci
ó
ó
n relevante
n relevante
Definici
Definici
ó
ó
n del problema en t
n del problema en t
é
é
rminos vagos
rminos vagos
Interpretaci
Interpretaci
ó
ó
n y traducci
n y traducci
ó
ó
n a t
n a t
é
é
rminos precisos
rminos precisos
Datos
Datos
son vitales, suelen ser cuello de botella
son vitales, suelen ser cuello de botella
Etapa fundamental
II. Modelos de optimización
2.
2.
ESPECIFICACI
ESPECIFICACI
Ó
Ó
N MATEM
N MATEM
Á
Á
TICA Y FORMULACI
TICA Y FORMULACI
Ó
Ó
N
N
9
Definición
de variables, ecuaciones, función objetivo,
parámetros
9
Análisis de tamaño y estructura del problema
9
Identificación de
tipo de problema
(LP, MIP, NLP,...)
9
Énfasis en precisión y belleza en la formulación
Tipos de problemas LP según su tamaño
Restricciones Variables
• Caso ejemplo 100 100
• Tamaño medio 10000 10000
• Gran tamaño 100000 100000
II. Modelos de optimización
3. RESOLUCI
3. RESOLUCI
Ó
Ó
N
N
Algoritmo
Algoritmo
de obtenci
de obtenci
ó
ó
n de soluci
n de soluci
ó
ó
n
n
ó
ó
ptima, satisfactoria,...
ptima, satisfactoria,...
Diferentes m
Diferentes m
é
é
todos de soluci
todos de soluci
ó
ó
n
n
Diferentes implantaciones del algoritmo elegido
Diferentes implantaciones del algoritmo elegido
4. VERIFICACI
4. VERIFICACI
Ó
Ó
N, VALIDACI
N, VALIDACI
Ó
Ó
N Y REFINAMIENTO
N Y REFINAMIENTO
Eliminaci
Eliminaci
ó
ó
n de errores en codificaci
n de errores en codificaci
ó
ó
n
n
Comprobaci
Comprobaci
ó
ó
n validez de simplificaciones adoptadas
n validez de simplificaciones adoptadas
Comprobaci
Comprobaci
ó
ó
n de adaptaci
n de adaptaci
ó
ó
n a la realidad
n a la realidad
Ampliaci
II. Modelos de optimización
5. INTERPRETACI
5. INTERPRETACI
Ó
Ó
N Y AN
N Y AN
Á
Á
LISIS DE RESULTADOS
LISIS DE RESULTADOS
Análisis de
sensibilidad
en parámetros de entrada
Robustez de la solución óptima
Detección de soluciones cuasióptimas atractivas
6. USO EXTENSIVO
6. USO EXTENSIVO
Etapa fundamental para el éxito de un modelo
Documentación clara, precisa y completa
III. Formulación de problemas de optimización
PROBLEMA DE TRANSPORTE
9 Minimizar el coste total de transporte de un producto desde unos
orígenes a unos destinos, satisfaciendo la demanda de cada destino sin superar la oferta disponible en cada origen.
9 Se supone todos los orígenes conectados con todos los destinos
9 oferta en el origen , demanda en el destino
9 coste unitario de transporte desde el origen al destino
¿Cómo satisfacer la demanda sin superar la oferta con mínimo
coste?
1 1
a
2
a
m a
1
b
2
b
n b
2
m
1
2
n
i
a
i
b
jj
ij
III. Formulación de problemas de optimización
PROBLEMA DE TRANSPORTE (Solución):
:cantidad transportada de origen a destino
Matriz TU (sol. lineal es entera): ij
x
i
j
1 1 1 1
min
1
1,
,
0
,
ij m n ij ij x i j n ij i j m ij j i ijc x
x
a
i
x
b
j
n
x
i j
= = = =
≤
=
=
=
≥
∀
∑ ∑
∑
∑
…
11x x12 x1n x21 x22 x2n xm1 xm2 xmn
1 1 1 1
2 1 1 1
m 1 1 1
1 1 1 1
2 1 1 1
n 1 1 1
III. Formulación de problemas de optimización
PROBLEMA DE TRANSBORDO:
9 Llevar un producto desde orígenes a destinos con puntos
intermedios en una red de N nodos con mínimo coste
9 Cada nodo i unidades ( ):
• nodo origen • nodo destino
• nodo transbordo (ni genera ni consume)
9 coste unitario de transporte de nodo i a nodo j
Solución: i
b
0
ib
>
0
ib
<
0
ib
=
ijc
0 i i b =∑
: cantidad a transportar de nodo a nodo
ij
x
i
j
1 1 1 1
min
1, ,
0
,
ij n n ij ij x i j n nij ji i
j j
ij
c x
x
x
b
i
n
x
i j
III. Formulación de problemas de optimización
PROBLEMA DE ASIGNACIÓN
9 Asignar la realización de N tareas a N personas (máquinas, etc.).
9 coste de realizar la tarea i por la persona j
9
Objetivo: Minimizar
el coste total de realizar las tareas
sujeto a
• cada tarea debe ser hecha por una sola persona • cada persona debe realizar una única tarea.
ij
c
si se asigna la tarea a la persona 1
, 0 en cualquier otro caso
ij
i j
x = ∀i j
{ } 1 1 1 1 m in
1 1, ,
1 1, ,
0, 1 ij n n ij ij x i j n ij j n ij i ij c x
x i n
x j n
III. Formulación de problemas de optimización
PROBLEMA DE LA MOCHILA (KNAPSACK):
9 Maximizar el valor total de la elección de un conjunto de
proyectos.
• Sin sobrepasar el presupuesto disponible b
• coste de cada proyecto • valor de cada proyecto
j
c
j
v
si se realiza el proyecto
1
0
en cualquier otro caso
j
j
x
=
{
}
1
1
m a x
0, 1
j
n
j j x
j n
j j j
j
v x
c x
b
x
=
=
≤
∈
∑
III. Formulación de problemas de optimización
PROBLEMA DE RECUBRIMIENTO (set covering):
9 Existen m características y n combinaciones (subconjuntos) de
características. La elección de una combinación implica realizar todas sus características.
9
Seleccionar combinaciones de modo que se cubra (posea) cada
característica al menos una vez con el mínimo coste
9 Datos:
• Matriz de pertenencia:
• coste de la combinación j
si caracteristica incluida en combinacion 1
0 si no esta incluida
ij
i j
a =
j
c
si se elige la combinación 1
0 en cualquier otro caso
j
j x =
{ }
1
1
min
1
1, ,
0,1
j n j j x j n ij j j jc x
a x
i
m
III. Formulación de problemas de optimización
Ejemplo:
Asignación de tripulaciones
9 Una compañía aérea asignar tripulaciones para cubrir sus vuelos
9 12 secuencias factibles de vuelos para una tripulación
9 Se permite más de una tripulación en un vuelo, donde la/s
tripulación/es extra viajan como pasajeros, (por convenio laboral la tripulación extra cobra como si estuviera trabajando)
9 El coste de asignación de una tripulación a cada secuencia de
vuelos se da en la última fila en unidades apropiadas
9 Objetivo: minimizar coste total de asignación para cubrir todos
los vuelos
9 Resolver el mismo problema si no se permite más de una
III. Formulación de problemas de optimización
SE C U E N C IA S F A C T IB L E S
1 2 3 4 5 6 7 8 9 1 0 1 1 1 2
S F – L A 1 1 1 1
S F – D E N V E R 1 1 1 1
S F – SE A T T L E 1 1 1 1
L A – C H IC A G O 2 2 3 2 3
L A – S F 2 3 5 5
CH IC A G O – DE N V E R 3 3 4
CH IC A G O – SE A T T L E 3 3 3 3 4
DE N V E R – S F 2 4 4 5
DE N V E R – C H IC A G O 2 2 2
SE A T T L E – S F 2 4 4 5
SE A T T L E – L A 2 2 4 4 2
CO S T E 2 3 4 6 7 5 7 8 9 9 8 9
III. Formulación de problemas de optimización
1 si se elige la secuencia
0
en cualquier otro caso
j
j
x
=
5
1 2 3 4 6 7 8 9 10 11 12
min 2x + 3x + 4x + 6x + 7x + 5x + 7x + 8x + 9x + 9x + 8x + 9x
1 4 7 10
2 5 8 11
3 6 9 12
1
1
1
0
j
x
x
x
x
x
x
x
x
x
x
x
x
x
j
+
+
+
≥
+
+
+
≥
≥
∀
+
+
+
≥
3 4 11
1 5 12
Soluciones optimas (coste 18): 1 resto 0 1 resto 0 x x x
x x x
= = =
= = =
III. Formulación de problemas de optimización
PROBLEMA DE EMPAQUETADO (set packing):
9m
proyectos agrupados enn
lotes9 Elegir un lote implica realizar todos los proyectos incluidos en él 9 beneficio de elegir el lote
j
9 Matriz de pertenencia del proyecto
i
al lotej
9 Maximizar el beneficio total de manera que cada proyecto no
puede ser elegido más de una vez j
c
si pertenece a
1
0
si no pertenece
ij
i
j
a
=
{ }
1
1
max
1
1, ,
0,1
j n j j x j n ij j jc x
a x
i
m
x
= =≤
=
∈
∑
∑
…
1 si se elige el lote
en otro caso
0
j
j
x
=
III. Formulación de problemas de optimización
PROBLEMA DE LA PARTICIÓN:
9 Similar a los problemas anteriores excepto en que
exactamente una característica (proyecto) del conjunto de
combinaciones (lotes) que la contienen debe ser elegida.
{
}
1
1
min o max
1
1,
,
0,1
j
n
j j x
j n
ij j j
j
c x
a x
i
m
x
=
=
=
=
∈
∑
III. Formulación de problemas de optimización
PROBLEMA DEL VIAJANTE (TSP):
9
Hacer un
recorrido
que pase por N ciudades sin repetir ninguna
y volviendo a la ciudad de partida de manera que la distancia
(coste) total sea mínima
.
9 Uno de los más importantes en programación matemática 9 Muchas formulaciones conocidas para él, ver Williams (1999) 9
c
ijdistancia (coste) entre ciudad i y ciudad j
9
Formulación 1 (clásica):
1 si se va de la ciudad a la ciudad0 en otro caso
ij
i j
x =
{ } { }
, min
1
1
Card( ) 1 1,..., 2 Card( ) 2
0,1
ij ij ij
x
i j ij i
ij j
ij i j U
ij
c x
x j
x i
x U U n U n
x
∈
= ∀
= ∀
≤ − ∀ ⊂ ≤ ≤ −
∈
∑ ∑
∑
III. Formulación de problemas de optimización
9
Formulación 2:
1 si se va de la ciudad a la ciudad en el tramo de recorrido
en otro caso
0
ijk
i
j
k
x
=
{
}
, , , , , 1min
1
1
1
,
0,1
ijk ij ijk
x
i j k
ijk j k ijk i k ijk j k ijk jik i i ijk
c x
x
i
x
j
x
k
x
x
j k
III. Formulación de problemas de optimización
Ejemplo:
secuenciación de trabajos en una máquina
9 Una máquina y 5 trabajos que hay que realizar en ella. 9 Tiempos ejecución:
9 Tiempos de ajuste (set-up) pasar de ejecutar trabajo
i
a trabajoj
9 Plantear el problema para determinar cuál es el menor tiempo
posible para completar los 5 trabajos y cómo hacerlo. Es un ciclo de trabajo cerrado, se repite y vuelve a comenzar.
9 ¿Cómo se haría para un ciclo de trabajo abierto?
TR1 TR2 TR3 TR4 TR5 15 13 12 14 16
TR1 TR2 TR3 TR4 TR5
TR1 2 5 1 6
TR2 3 4 2 5
TR3 4 2 3 4
TR4 5 3 6 5
III. Formulación de problemas de optimización
PROBLEMA DE COSTE FIJO:
9 Coste con un término fijo si la variable toma un valor
estrictamente positivo
9
Variable auxiliar binaria:
0
0
( )
0
jj j
j j j j
x
f x
k
c x
x
=
=
+
>
kjxj cj fj 1 0 0 0 j j j x y x > = =
(
)
, 1 1min
( )
j j
n n
j j j j j j
x y
j j
f x
k y
c x
= =
=
+
∑
∑
j j
III. Formulación de problemas de optimización
Ejemplo:
Asignación de grupos térmicos
9 Grupos térmicos a acoplar en cada hora del día (semana) tal que: • Minimizar costes de generación: costes combustible, arranque, parada
• Se suministre la demanda en cada hora
• Se mantenga un cierto nivel de reserva rodante
• Se respeten parámetros (mínimos técnicos, rampas subida y bajada)
Datos:
Dh demanda térmica en la hora h [MW]R
nivel de reserva rodante con respecto a la demanda [p.u.]t
a
término lineal coste combustible del grupo térmico t [€ /MWh]t
b término fijo del coste de combustible del grupo térmico t [€ /h]
t
ca
coste de arranque del grupo térmico t [€ ]t
cp
coste de parada del grupo térmico t [€ ]t
P potencia máxima del grupo térmico t [MW]
t
P potencia mínima del grupo térmico t [MW]
t
rs
rampa de subida del grupo térmico t [MW/h]t
III. Formulación de problemas de optimización
Variables
ht
P potencia producida por el grupo térmico t en la hora h [MW]
ht
A acoplamiento del grupo térmico t en la hora h [0,1]
ht
AR arranque del grupo térmico t en la hora h [0,1]
ht
PR parada del grupo térmico t en la hora h [0,1]
(
)
1 1
min H T t ht t ht t ht t ht
h t
a P b A ca AR cp PR
= = + + +
∑ ∑
s.a. 1 T ht h t P D = =∑
∀h Satisfacer demanda1
( )
T
t ht ht h t
P A P RD
=
− =
∑
∀h Nivel de reserva rodantet ht ht ht t
P A ≤ P ≤ A P ∀h t, Mínimos, máximos técnicos de cada grupo
1
ht h t ht ht
A −A− = AR −PR ∀h t, Acoplamientos, arranques y paradas
1 t ht h t
P −P − ≤rs ∀h t, Rampa de subida
1 t
h t ht
P − −P ≤rb ∀h t, Rampa de bajada
0
ht
III. Formulación de problemas de optimización
MODELADO DE RESTRICCIONES ESPECIALES:
9
DISYUNCIÓN:
de 2 restricciones al menos una debe darse.Debecumplirse una, no necesariamente las dos: ó
9 Modelo lineal:
• Variable binaria
• Restricciones:
equivale
9
IMPLICACIÓN:
si se da una condición obligatoriamente ha dedarse la otra
• Equivale a disyunción ( ):
( )
0
f x
≤
g x
( )
≤
0
1 obliga a ( ) 0 y relaja la otra 0 obliga a ( ) 0 y relaja la otra
g x f x δ ≤ → = ≤
{ }
1 2( )
0,1
( )
(1
)
f x
M
g x
M
δ
δ
∈
≤
−
( ) 0 ( ) 0 f x > ⇒ g x ≤
(A ⇒ B) ⇔ (noA Bo )
f x
( )
≤
0
o g x
( )
≤
0
1 2 1 2
3x +2x −18 ≤ 0 o x +4x −16 ≤0 1 2 1 { }
1 2 2
3 2 18
0,1
4 16 (1 )
x x M y
y
x x M y
III. Formulación de problemas de optimización
MODELADO DE RESTRICCIONES ESPECIALES:
9
CUMPLIR K DE N ECUACIONES:
de N ecuaciones se han decumplir al menos K, siendo K<N.
9
SELECCIONAR ENTRE N VALORES
:
Una ecuación conmúltiples posibles cotas (RHS).
1 1 1
2 1 2
1
( , , )
0
( , , )
0
( , , )
0
n
n
n
N N
f x
x
M
f x
x
M
f x
x
M
≤
≤
≤
…
…
…
{
}
1 1 1 1
2 1 2 2
1 1 ( , , ) ( , , ) 0,1 ( , , ) n N n i i i
N n N N
f x x M y
f x x M y y N k
y f x x M y
= ≤ ≤ = − ∈ ≤
∑
… … … 1 2 1( , , )n
N
d d f x x
d = … 1 1
( , , )n N i i i
f x x d y
= =
∑
… 1 1 N i i y = =III. Formulación de problemas de optimización
MODELADO DE RESTRICCIONES LÓGICAS:
P
→
Q
No P o Q
P
→
(Q y R)
(P
→
Q) y (P
→
R)
P
→
(Q o R)
(P
→
Q) o (P
→
R)
(P y Q)
→
R
(P
→
R) o (Q
→
R)
(P o Q)
→
R
(P
→
R) y (Q
→
R)
no (P o Q)
no P y no Q
III. Formulación de problemas de optimización
MODELADO EN PROGRAMACIÓN NO LINEAL:
9
Problemas de producción con elasticidad en los precios y/o costes
• Precios elásticos: cantidad se puede vender relación inversa precio
• p(x) precio unitario de venta para poder vender x unidades. Decreciente y no inferior al coste unitario de producción, c. (Típico, constante a tramos) Afecta a la función objetivo.
• Margen de contribución de la empresa:
• Costes producción: decrecientes (curva de aprendizaje) o crecientes (tiempo extra). Afecta a f. objetivo y restricciones (presupuesto)
9
Problema de transporte con descuentos por volumen
• Descuentos por cantidad: Función coste unitaria escalonada, no creciente
• Coste de embarcar x unidades: poligonal, continua, con pendiente el coste unitario en cada tramo. Agregar:
( )
( ( )
)
P x
=
p x
−
c x
( ) ( )
m n
III. Formulación de problemas de optimización
MODELADO EN PROGRAMACIÓN NO LINEAL:
9
Selección de una cartera de inversiones
• Rendimiento esperado y riesgo asociado a la inversión.
• Acciones tipo j: rendimiento esperado varianza del rendimiento
covarianza del rendimiento de las tipo i y las j precio unitario por acción
• Presupuesto disponible
• cantidad de acciones de tipo j a incluir en la cartera • Planteamiento típico:
( factor aversión al riesgo)
j
µ
jj
σ
ij
σ
j
X
j
p
b
1 1 1
max ( )
( )
( )
n n n
j j ij i j
j i j
f X
R X
β
V X
µ
X
β
σ
X X
= = =
=
−
=
∑
−
∑∑
1
0,
1,...,
n
j j j
j
P x
B
x
j
n
=
≤
≥
=
IV. Codificación de problemas de optimización
LENGUAJES DE MODELADO
9
Lenguajes de programación de
propósito general
(C,
FORTRAN, Visual Basic, C++)
9
Lenguajes o entornos de
cálculo numérico o simbólico
(hojas de cálculo, Matlab, Mathematica)
9
Programas para problemas pequeños (QSB, ORSTAT,
LPSolve,...)
9
Lenguajes algebraicos de modelado
(GAMS, AMPL,
XPRESS-MP, OPL, ECLIPSE, ILOG-Concert)
LENGUAJES ALGEBRAICOS DE MODELADO
9
Lenguajes de alto nivel diseñados para el desarrollo e
IV. Codificación de problemas de optimización
VENTAJAS LENGUAJES ALGEBRAICOS:
9 Formulación compacta modelos grandes y complejos 9 Facilitan desarrollo de prototipos
9 Mejoran productividad de modeladores 9 Estructuran buenos hábitos de modelado
9 Separan datos de estructura y de optimizadores
9 Formulación independiente del tamaño 9 Modelo independiente de optimizadores
9 Facilitan reformulación continua
9 Documentación simultánea al modelo
9 Permiten implantación de algoritmos avanzados
IV. Codificación de problemas de optimización
DESVENTAJAS LENGUAJES ALGEBRAICOS:
9 No son adecuados para usos esporádicos con problemas de
pequeño tamaño
9 No son adecuados para resolución directa problemas de
tamaño gigantesco
IV. Codificación de problemas de optimización
MODELADO EN GAMS
9 Estructura general de un modelo de optimización en GAMS
• Declaración de sets y parámetros • Variables
• Ecuaciones • Modelo
• Inclusión y manipulación de datos de entrada • Acotación e inicialización de variables
• Resolución del problema
• Lectura y presentación de resultados
TIEMPO DE EJECUCIÓN DE MODELOS EN GAMS
9 tiempo de creación
• formulación del problema específico 9 tiempo de interfaz
• comunicación entre lenguaje GAMS y optimizador
9 tiempo de optimización
IV. Codificación de problemas de optimización
EJEMPLO DE TRANSPORTE:
9 Fábricas de envasado
→
i.
9 Mercados de consumo→
j.
9
a
i:
capacidad máxima de producción de cajas eni.
9b
j:
cantidad de cajas demandadas en mercadoj.
9
c
ij:
coste de transporte de cada caja de plantai
a mercadoj.
Satisfacer la demanda de cada mercado a mínimo coste.
9 Variables:
xij: cantidad de cajas enviadas de planta i a mercado j
9 Restricciones:
• Límite de capacidad de producción de cada fábrica
• Satisfacción de la demanda de cada mercado
• Función objetivo:
ij i j
x
≤
a
∀
i
∑
ij j i
x
≥
b
∀
j
∑
m in
ij ijx i j