Investigación Operativa DESARROLLO DE MODELOS El problema Los recursos son escasos Los sistemas son cada vez más complejos Cada vez es más difícil asignar los recursos o.

Download Report

Transcript Investigación Operativa DESARROLLO DE MODELOS El problema Los recursos son escasos Los sistemas son cada vez más complejos Cada vez es más difícil asignar los recursos o.

Investigación Operativa
DESARROLLO DE MODELOS
El problema
Los recursos
son escasos
Los sistemas son cada
vez más complejos
Cada vez es más difícil asignar los
recursos o actividades de la forma más eficaz
Investigación operativa (I.O.)
• Es la aplicación del método científico para
asignar los recursos o actividades de forma
eficaz, en la gestión y organización de sistemas
complejos
• Su objetivo es ayudar a la toma de decisiones
• Requiere un enfoque interdisciplinario
Historia de la I.O.
• Se aplica por primera vez en 1780
• Antecedentes:
– Matemáticas: modelos lineales (Farkas, Minkowski)
(s.XIX)
– Estadística: fenómenos de espera (Erlang, Markov)
(años 20)
– Economía: Quesnay (x.XVIII), Walras (s.XIX), Von
Neumann (años 20)
• El origen de la I.O. moderna se sitúa en la 2ª
Guerra Mundial
Historia de la I.O.
• Al terminar la guerra, sigue el desarrollo en la
industria, debido a:
– competitividad industrial
– progreso teórico
• RAND (Dantzig)
• Princeton (Gomory, Kuhn, Tucker)
• Carnegie Institute of Technology (Charnes, Cooper)
– gran desarrollo de los ordenadores
Actualidad de la I.O.
• Sigue habiendo un gran desarrollo, en muchos
sectores, con grandes avances sobre todo en el
campo de la Inteligencia Artificial
• Más información:
– Sociedad Española de Estadística e Inv. Op. (SEIO)
• www.cica.es/aliens/seio
– Association of European O.R. Societies (EURO)
• www.ulb.ac.be/euro/euro_welcome.html
– Institute for O.R. and the Management Sci. (INFORMS)
• www.informs.org
– International Federation of O.R. Societies (IFORS)
• www.ifors.org
El método de la I.O.
• Definición del problema
• Formulación del problema y construcción del
modelo
• Resolución
• Verificación, validación, refinamiento
• Interpretación y análisis de resultados
• Implantación y uso extensivo
A lo largo de todo el proceso debe haber una interacción
constante entre el analista y el cliente
El modelado
• Es una ciencia
– análisis de relaciones
– aplicación de algoritmos de solución
• Y a la vez un arte
–
–
–
–
visión de la realidad
estilo, elegancia, simplicidad
uso creativo de las herramientas
experiencia
Definición del problema
• Consiste en identificar los elementos de
decisión
– objetivos (uno o varios, optimizar o satisfacer)
– alternativas
– limitaciones del sistema
• Hay que recoger información relevante (los
datos pueden ser un grave problema)
• Es la etapa fundamental para que las
decisiones sean útiles
Formulación del problema
• Modelo: representación simplificada de la
realidad, que facilita su comprensión y el
estudio de su comportamiento
• Debe mantener un equilibrio entre sencillez y
capacidad de representación
• Modelo matemático: modelo expresado en
términos matemáticos
– hace más claras la estructura y relaciones
– facilita el uso de técnicas matemáticas y
ordenadores
– a veces no es aplicable
Construcción del modelo
• Traducción del problema a términos
matemáticos
– objetivos: función objetivo
– alternativas: variables de decisión
– limitaciones del sistema: restricciones
• Pero a veces las relaciones matemáticas son
demasiado complejas
– heurísticos
– simulación
Tipos de modelos
• Determinísticos
– Programación
matemática
•
•
•
•
•
Programación lineal
Programación entera
Programación dinámica
Programación no lineal
Programación multiobjetivo
– Modelos de transporte
– Modelos de redes
• Probabilísticos
– Programación
estocástica
– Gestión de inventarios
– Fenómenos de espera
(colas)
– Teoría de juegos
– Simulación
Resolución
• Determinar los valores de las variables de
decisión de modo que la solución sea óptima (o
satisfactoria) sujeta a las restricciones
• Puede haber distintos algoritmos y formas de
aplicarlos
Verificación y validación
• Eliminación de errores
• Comprobación de que el modelo se adapta a la
realidad
Interpretación y análisis
• Robustez de la solución óptima obtenida:
Análisis de sensibilidad
• Detección de soluciones cuasi-óptimas
atractivas
Implantación
• Sistema de ayuda y mantenimiento
• Documentación
• Formación de usuarios
Ejemplo nº1
En una fábrica de cerveza se producen dos tipos: rubia y
negra. Su precio de venta es de 50 ptas/l y 30 ptas/l,
respectivamente. Sus necesidades de mano de obra son de
3 y 5 empleados, y de 5.000 y 2.000 ptas de materias primas
por cada 1000 l.
La empresa dispone semanalmente de 15 empleados y
10.000 ptas para materias primas, y desea maximizar su
beneficio. ¿Cuántos litros debe producir?
Formulación
Max z  50.000x1  30.000x2
s .a .
3 x1  5 x2  15
5.000x1  2.000x2  10.000
x1 , x2  0
El modelo de P.L.
Opt z  c1 x1  c2 x2    cn xn
s.a.
a11 x1  a12 x2    a1n xn  b1

am1 x1  am 2 x2    amn xn  bm
x1 , x2 , , xn  0
El modelo de P.L.
z: función objetivo
CT (c1,...,cn): vector de coeficientes de la f.o.
XT (x1,...,xn): vector de variables de decisión
A (...,aij,...): matriz de coeficientes técnicos
b (b1,...,bm): vector de demandas
Matricialmente,
Opt CTX
s.a.
AX b
x0
Forma canónica
Propiedades del modelo lineal
• Proporcionalidad
– La contribución al coste y a las restricciones es
directamente proporcional al valor de cada variable
• Aditividad
– El coste y las restricciones son la suma directa de
las variables
• Divisibilidad
– Las variables pueden dividirse en cualquier tipo de
fracción
Modelos de prog. entera
• El modelo matemático es el modelo de P.L.,
pero con algunas variables enteras
– Programación entera mixta (MIP)
• x  R+, y  Z+
– Programación entera pura (IP)
• x  Z+
– Programación binaria ó 0-1 (0-1 MIP, 0-1 IP, BIP)
• x  {0,1}: variables de asignación, lógicas
• Son problemas más complicados de resolver
que los de P.L.
• El primer algoritmo de resolución se planteó en
el año 1958 (Gomory)
Problemas típicos
•
•
•
•
•
•
•
•
•
•
•
Problema del transporte
Problema de flujo con coste mínimo en red
Problema de asignación
Problema de la mochila (knapsack)
Problema del emparejamiento (matching)
Problema del recubrimiento (set-covering)
Problema del empaquetado (set-packing)
Problema de partición (set-partitioning)
Problema del coste fijo (fixed-charge)
Problema del viajante (TSP)
Problema de rutas óptimas
Problema del transporte
Minimizar el coste total de transporte entre los centros de
origen y los de destino, satisfaciendo la demanda, y sin
superar la oferta
m
Min
n
 c
ij xij
i 1 j 1
s .a .
m
x
ij
 b j , j  1..n
i 1
n
x
xij: unidades a enviar de origen i a destino j
cij: coste unitario de transporte de i a j
ai: unidades de oferta en el punto origen i
bj: unidades de demanda en el punto destino j
Se supone oferta total igual a demanda total
ij
 ai ,i  1..m
j 1
xij  0 , xij  Z
Flujo con coste mínimo en red
Embarcar los recursos disponibles a través de la red
para satisfacer la demanda a coste mínimo
m
Min
n

cij xij
i 1 j 1
s.a.
m
m
x x
ij
j 1
ki
k 1
xij  0, xij  Z
 bi , j  1..m
xij: unidades enviadas de i a j (flujo)
cij: coste unitario de transporte de i a j
bi:recursos disponibles en un nodo i
oferta: bi>0
demanda: bi<0
transbordo: bi=0
Se supone oferta total igual a demanda total
Problema de asignación
Minimizar el coste total de operación de modo que:
- cada tarea se asigne a una y sólo una máquina
- cada máquina realice una y sólo una tarea
m
Min
n

cij xij
i 1 j 1
s .a.
m
x
ij
 1, j  1..n
i 1
n
x
j 1
ij
 1,i  1..m
xij  0,1
xij: 1 si la tarea i se hace con la máquina j
cij: coste de realizar la tarea i con máquina j
n tareas
m máquinas
Si hay más máquinas que tareas se formula
con desigualdades, y se resuelve con tareas
ficticias
Problema de la mochila
Escoger un grupo de productos que maximice el valor
total sin exceder el espacio disponible
n
Max

cjxj
j 1
n objetos
aj: espacio que ocupa el objeto j
cj: valor del objeto j
s .a.
n
a x
j
j
b
b: volumen de la mochila
j 1
x j  0,1
xj: 1 si se escoge el objeto j
Problema de emparejamiento
Distribuir un conjunto por parejas de tal forma que el
valor sea máximo. Si hay elementos sin pareja:
emparejamiento imperfecto. Si están en dos conjuntos,
emparejamiento bipartito.
2n -1 2n
Max   cij xij
i 1 j11
s.a.
i -1
 xki 
k 1
2n
 xij  1, i  1..2n
j i 1
xij  0,1
xij=1 si los elementos i y j son pareja
cij: valor de la pareja i-j
i<j
Problema de recubrimiento
Minimizar el coste de las actividades que en su conjunto
cubren todas las características al menos una vez
n
Min  c j x j
j1
s.a.
n
a
j1
ij
m características
n actividades
xj=1 si la actividad j se realiza
x j  1, i  1..m
x j  0,1
cj: coste unitario de la actividad j
aij=1 si la característica i está en la actividad j
A: matriz de incidencia
Problema de empaquetado
Maximizar el beneficio total de forma que hay que elegir
conjuntos completos de actividades, y que no se realice
una actividad dos veces
n
Min  c j x j
j1
s.a.
n
a
j1
ij
m actividades
n conjuntos de actividades
xj=1 si se elige el subconjunto j
x j  1, i  1..m
x j  0,1
cj: beneficio por realizar el conjunto j
aij=1 si el conjunto j incluye la actividad i
A: matriz de incidencia
Problema de partición
Si en el problema de recubrimiento o en el de
empaquetado las desigualdades se cambian por
igualdades
n
Min  c j x j
j1
s.a.
n
a
j1
ij
m actividades
n conjuntos de actividades
xj=1 si se elige el subconjunto j
x j  1, i  1..m
x j  0,1
cj: beneficio por realizar el conjunto j
aij=1 si el conjunto j incluye la actividad i
A: matriz de incidencia
Problema del coste fijo
Decidir la cantidad de cada producto de modo que se
minimicen los costes de producción y se satisfaga la
demanda
n
m
Min  c j x j   f k yk
j1
k 1
s.a.
n
x
j1
ij
n
a
j1
kj
xij: unidades del producto j
cj: coste unitario de producción de j
 bj
yk=1 si se usa la instalación k
fk: coste de arranque de la instalación k
akj=1 si el producto j usa la instalación k
x j  M k yk , k  1..m
bj: demanda del producto j
M: número lo suficientemente grande
xij  0, yk  0,1
Problema del viajante
Encontrar un circuito que visite exactamente una vez
cada ciudad empezando en la primera y que tenga
longitud mínima
Min
c
ij xij
(i, j) A
s .a .
x
ij
 1 ,j  V
i/(i,j) A
x
ij
j/(i,j) A
 1,i  V
xij  0 ,1
xij=1 si de i va directamente a j
cij: distancia entre i y j
A: conjunto de arcos
V: conjunto de nodos
x
ij  1,U
( i , j )A / iU , jV U
x
ij 
( i , j )A / iU , jU
V / 2  U  V 2
U  1,U  V / 2  U  V  2
n
Min
 c
ij xijk
k 1 (i, j) A
s .a .
n
 x
ijk
 1,j  V
i/(i, j) A k 1
n
 x
ijk
 1,i  V
j/(i, j) A k 1
x
ijk
1
(i, j) A
x
i/(i, j) A
ijk

xijk  0 ,1
x
r/(j,r) A
jrk 1 ,j  V ,k
Problema de rutas
n
Min
n
m
m
n
 c  x   c  x
ij
i 0 j 0
ijk
k
k 1
k 1
ojk
j 1
s .a .
n
m
 x
 1, j  1..n
ijk
i  0 k 1
n
ijk
i 0
n
N: clientes
M: vehículos
n
x x
jik
 0 ,j ,k
i 0
n
q  x
i
i 1
n
Minimizar el coste total,
visitando todos los clientes
ijk
 Qk ,k
j 0
n
 t
n
ij xijk

i 0 j 0
n
s x
i
i 1
ijk
 d 0k  r0k ,k
j 0
n
x
ojk
 1, k  1..m
j 1
m
 x
iS jS k 1
ijk
 S  1,2  S  N  2
xijk=1 si el vehículo k visita j después de i
cij: coste unitario de transporte de i a j
dij: distancia de i a j
tij: tiempo de i a j
qi: demanda
si: tiempo de descarga
i: prioridad
Qk: capacidad
rok, dok: período tiempo disponible
ck: coste fijo por uso
Formulación con var. binarias
Restricciones disyuntivas
f ( x)  0
ó
g ( x)  0
f ( x)   f
g ( x)  (1   ) g
K de N alternativas deben darse
f1 ( x )   1 f1
f 2 ( x)   2 f 2
f n ( x)   n 2 f n
N

j 1
j
 N  K ,  0,1
Restricciones condicionales
f ( x)  0  g ( x)  0
equiv. a
Decisiones contingentes
xy
yx
f ( x)  0 ó g ( x)  0