Este documento resume los conceptos clave de la investigación de operaciones y la optimización, incluyendo la definición de modelos matemáticos, problemas combinatorios y de optimización. Explica el problema de las sillas y mesas como un ejemplo de programación lineal, y el problema del vendedor viajero como un problema de optimización combinatoria.
1. Investigaci´n de operaciones, modelos
o
matem´ticos y optimizaci´n
a o
Guillermo Dur´n
a
Centro de Gesti´n de Operaciones
o
Departamento de Ingenier´ Industrial
ıa
Universidad de Chile
Seminario JUNAEB-DII
Enero de 2006
2. ¿Qu´ es la Investigaci´n de Operaciones?
e o
Una definici´n que se acerca mucho a la realidad ser´ “la
o ıa
ciencia de la toma de decisiones”. Conviven en esta disciplina
profesionales de las m´s diversas ramas: ingenieros,
a
matem´ticos, computadores, economistas. Todos ellos deben
a
aprender una t´cnica fundamental: el modelamiento
e
matem´tico.
a
3. Un problema de producci´n
o
Un carpintero desea determinar la cantidad de sillas y mesas
que debe producir el pr´ximo d´ para maximizar su ganancia.
o ıa
Cuenta con 38m2 de madera y dispone de 7, 5 hs/hombre.
Se requiere de 4m2 y 1 hora/hombre para confeccionar cada
silla; y de 9, 5m2 de madera y 1 hora/hombre para
confeccionar cada mesa.
Se asume que se vende todo lo que se produce y que el
beneficio por silla es de $4, mientras que el beneficio por mesa
es de $8, 5.
¿Cu´ntas sillas y mesas debe producir?
a
4. ¿Qu´ significa hacer un modelo matem´tico?
e a
Hacer un modelo matem´tico es interpretar lo mejor posible la
a
realidad a trav´s de ciertas f´rmulas.
e o
Por ejemplo, en el problema de producci´n planteado,
o
podemos definir una variable x1 , que medir´ el n´mero de
a u
sillas, y una variable x2 , que medir´ el n´mero de mesas.
a u
Veamos como relacionar estas variables para cumplir con las
condiciones del problema.
5. El modelo de las sillas y las mesas
¿C´mo decimos en f´rmulas matem´ticas que el m´ximo
o o a a
n´mero de metros cuadrados que podemos usar es 38?
u
4 ∗ x1 + 9, 5 ∗ x2 ≤ 38
¿C´mo decimos en f´rmulas matem´ticas que el m´ximo
o o a a
n´mero de horas/hombre que podemos usar es 7, 5?
u
x1 + x2 ≤ 7, 5
6. El modelo de las sillas y las mesas
¿C´mo decimos en f´rmulas matem´ticas que el m´ximo
o o a a
n´mero de metros cuadrados que podemos usar es 38?
u
4 ∗ x1 + 9, 5 ∗ x2 ≤ 38
¿C´mo decimos en f´rmulas matem´ticas que el m´ximo
o o a a
n´mero de horas/hombre que podemos usar es 7, 5?
u
x1 + x2 ≤ 7, 5
7. El modelo de las sillas y las mesas
¿Cu´l es la funci´n de utilidad que tenemos que maximizar?
a o
m´x 4 ∗ x1 + 8, 5 ∗ x2
a
Por ultimo, el n´mero de sillas y de mesas debe ser positivo:
´ u
x1 ≥ 0; x2 ≥ 0
8. El modelo de las sillas y las mesas
¿Cu´l es la funci´n de utilidad que tenemos que maximizar?
a o
m´x 4 ∗ x1 + 8, 5 ∗ x2
a
Por ultimo, el n´mero de sillas y de mesas debe ser positivo:
´ u
x1 ≥ 0; x2 ≥ 0
11. Algo anda mal...
No podemos producir 6, 05 sillas y 1, 45 mesas!!
¿Qu´ le falta al modelo?
e
Las variables tienen que tomar valores enteros: 0, 1, 2, 3, . . .
12. Algo anda mal...
No podemos producir 6, 05 sillas y 1, 45 mesas!!
¿Qu´ le falta al modelo?
e
Las variables tienen que tomar valores enteros: 0, 1, 2, 3, . . .
13. Algo anda mal...
No podemos producir 6, 05 sillas y 1, 45 mesas!!
¿Qu´ le falta al modelo?
e
Las variables tienen que tomar valores enteros: 0, 1, 2, 3, . . .
14. Tenemos entonces un modelo de programaci´n lineal
o
entera
m´x 4 ∗ x1 + 8, 5 ∗ x2
a
Sujeto a:
4 ∗ x1 + 9, 5 ∗ x2 ≤ 38
x1 + x2 ≤ 7, 5
x1 ≥ 0; x2 ≥ 0
x1 y x2 son enteras.
16. El problema de los 4 colores
Pintar un mapa es asignarles colores a sus regiones de modo
que 2 regiones lim´
ıtrofes (con al menos un borde en com´n)
u
tengan diferente color.
Dibujen un mapa de modo de que no se pueda pintar con 3
colores.
Dibujen un mapa de modo de que no se pueda pintar con 4
colores.
17. El problema de los 4 colores
Pintar un mapa es asignarles colores a sus regiones de modo
que 2 regiones lim´
ıtrofes (con al menos un borde en com´n)
u
tengan diferente color.
Dibujen un mapa de modo de que no se pueda pintar con 3
colores.
Dibujen un mapa de modo de que no se pueda pintar con 4
colores.
18. El problema de los 4 colores
Pintar un mapa es asignarles colores a sus regiones de modo
que 2 regiones lim´
ıtrofes (con al menos un borde en com´n)
u
tengan diferente color.
Dibujen un mapa de modo de que no se pueda pintar con 3
colores.
Dibujen un mapa de modo de que no se pueda pintar con 4
colores.
19. ¿Qu´ es un problema combinatorial?
e
Es un problema en el que deben contarse una cierta cantidad de
casos, configuraciones, conjuntos, etc.
20. Ejemplos de problemas combinatoriales
El problema de programaci´n entera y el problema de los 4
o
colores son ejemplos de problemas combinatorios.
Otro ejemplo:
¿De cu´ntas formas diferentes pueden sentarse ustedes en
a
esta sala? ¿Ser´ dif´ hacer esa cuenta?
a ıcil
Hag´mosla juntos...
a
21. ¿Qu´ es un problema de optimizaci´n?
e o
Es un problema en el cual, de un conjunto de objetos cada
uno con un “valor”, se busca el objeto con “mejor” valor.
Los criterios de “mejor” pueden ser muy diversos.
10 pares de zapatos con precios y calidades diferentes. ¿Cu´l
a
compro?
22. ¿Qu´ es un problema de optimizaci´n?
e o
Es un problema en el cual, de un conjunto de objetos cada
uno con un “valor”, se busca el objeto con “mejor” valor.
Los criterios de “mejor” pueden ser muy diversos.
10 pares de zapatos con precios y calidades diferentes. ¿Cu´l
a
compro?
23. ¿Qu´ es un problema de optimizaci´n?
e o
Es un problema en el cual, de un conjunto de objetos cada
uno con un “valor”, se busca el objeto con “mejor” valor.
Los criterios de “mejor” pueden ser muy diversos.
10 pares de zapatos con precios y calidades diferentes. ¿Cu´l
a
compro?
24. ¿Qu´ es un problema de optimizaci´n combinatorial?
e o
Es un problema donde se busca la mejor opci´n entre un
o
conjunto de un n´mero finito de elementos.
u
Los elementos pueden ser generados mediante reglas que
definen el problema.
25. Ejemplos de problemas de optimizaci´n combinatorial
o
Ruteo de veh´
ıculos.
Planificaci´n de la producci´n.
o o
Asignaci´n de tareas.
o
Localizaci´n.
o
Procesamiento de tareas.
Cortes de materia prima.
Asignaci´n de tripulaciones.
o
Planificaci´n de vuelos.
o
Licitaciones.
26. Problema del vendedor viajero (PVV)
Un viajero debe recorrer cierta cantidad de ciudades y volver
finalmente a la ciudad donde vive.
¿Cu´l es el mejor recorrido?
a
El m´s corto (tambi´n podr´
a e ıamos preferir el m´s r´pido).
a a
29. Recorridos con m´s de cinco ciudades
a
¿Cu´ntos recorridos tengo en un caso con 10 ciudades?
a
181440
¿Cu´ntos recorridos tengo en un caso con 50 ciudades?
a
3041409320171337804361260816606476884437764156896
05120000000000
¿Cu´ntos recorridos tengo en un caso con 100 ciudades?
a
4666310772197207634084961942813335024535798413219
0810734296481947608799996614957804470731988078259
1431268489604136118791255926054584320000000000000
000000000
¿Cu´ntos recorridos tengo en un caso con n ciudades?
a
(n − 1)!
2
30. Recorridos con m´s de cinco ciudades
a
¿Cu´ntos recorridos tengo en un caso con 10 ciudades?
a
181440
¿Cu´ntos recorridos tengo en un caso con 50 ciudades?
a
3041409320171337804361260816606476884437764156896
05120000000000
¿Cu´ntos recorridos tengo en un caso con 100 ciudades?
a
4666310772197207634084961942813335024535798413219
0810734296481947608799996614957804470731988078259
1431268489604136118791255926054584320000000000000
000000000
¿Cu´ntos recorridos tengo en un caso con n ciudades?
a
(n − 1)!
2
31. Recorridos con m´s de cinco ciudades
a
¿Cu´ntos recorridos tengo en un caso con 10 ciudades?
a
181440
¿Cu´ntos recorridos tengo en un caso con 50 ciudades?
a
3041409320171337804361260816606476884437764156896
05120000000000
¿Cu´ntos recorridos tengo en un caso con 100 ciudades?
a
4666310772197207634084961942813335024535798413219
0810734296481947608799996614957804470731988078259
1431268489604136118791255926054584320000000000000
000000000
¿Cu´ntos recorridos tengo en un caso con n ciudades?
a
(n − 1)!
2
32. Recorridos con m´s de cinco ciudades
a
¿Cu´ntos recorridos tengo en un caso con 10 ciudades?
a
181440
¿Cu´ntos recorridos tengo en un caso con 50 ciudades?
a
3041409320171337804361260816606476884437764156896
05120000000000
¿Cu´ntos recorridos tengo en un caso con 100 ciudades?
a
4666310772197207634084961942813335024535798413219
0810734296481947608799996614957804470731988078259
1431268489604136118791255926054584320000000000000
000000000
¿Cu´ntos recorridos tengo en un caso con n ciudades?
a
(n − 1)!
2
33. Recorridos con m´s de cinco ciudades
a
¿Cu´ntos recorridos tengo en un caso con 10 ciudades?
a
181440
¿Cu´ntos recorridos tengo en un caso con 50 ciudades?
a
3041409320171337804361260816606476884437764156896
05120000000000
¿Cu´ntos recorridos tengo en un caso con 100 ciudades?
a
4666310772197207634084961942813335024535798413219
0810734296481947608799996614957804470731988078259
1431268489604136118791255926054584320000000000000
000000000
¿Cu´ntos recorridos tengo en un caso con n ciudades?
a
(n − 1)!
2
34. Recorridos con m´s de cinco ciudades
a
¿Cu´ntos recorridos tengo en un caso con 10 ciudades?
a
181440
¿Cu´ntos recorridos tengo en un caso con 50 ciudades?
a
3041409320171337804361260816606476884437764156896
05120000000000
¿Cu´ntos recorridos tengo en un caso con 100 ciudades?
a
4666310772197207634084961942813335024535798413219
0810734296481947608799996614957804470731988078259
1431268489604136118791255926054584320000000000000
000000000
¿Cu´ntos recorridos tengo en un caso con n ciudades?
a
(n − 1)!
2
35. Recorridos con m´s de cinco ciudades
a
¿Cu´ntos recorridos tengo en un caso con 10 ciudades?
a
181440
¿Cu´ntos recorridos tengo en un caso con 50 ciudades?
a
3041409320171337804361260816606476884437764156896
05120000000000
¿Cu´ntos recorridos tengo en un caso con 100 ciudades?
a
4666310772197207634084961942813335024535798413219
0810734296481947608799996614957804470731988078259
1431268489604136118791255926054584320000000000000
000000000
¿Cu´ntos recorridos tengo en un caso con n ciudades?
a
(n − 1)!
2
36. Recorridos con m´s de cinco ciudades
a
¿Cu´ntos recorridos tengo en un caso con 10 ciudades?
a
181440
¿Cu´ntos recorridos tengo en un caso con 50 ciudades?
a
3041409320171337804361260816606476884437764156896
05120000000000
¿Cu´ntos recorridos tengo en un caso con 100 ciudades?
a
4666310772197207634084961942813335024535798413219
0810734296481947608799996614957804470731988078259
1431268489604136118791255926054584320000000000000
000000000
¿Cu´ntos recorridos tengo en un caso con n ciudades?
a
(n − 1)!
2
37. ¿C´mo se resuelve un problema de optimizaci´n
o o
combinatorial?
Diferentes opciones:
Contando todos los casos y eligiendo el mejor: fuerza bruta.
Encontrando una soluci´n “relativamente buena” pero sin
o
tener garant´ de que es la mejor.
ıa
Encarando problemas m´s chicos pero con la certeza de que
a
encuentro la soluci´n ´ptima.
o o
Buscando mediante m´todos “inteligentes” encontrar la
e
soluci´n ´ptima, a´n en problemas grandes.
o o u
38. ¿C´mo se resuelve un problema de optimizaci´n
o o
combinatorial?
Diferentes opciones:
Contando todos los casos y eligiendo el mejor: fuerza bruta.
Encontrando una soluci´n “relativamente buena” pero sin
o
tener garant´ de que es la mejor.
ıa
Encarando problemas m´s chicos pero con la certeza de que
a
encuentro la soluci´n ´ptima.
o o
Buscando mediante m´todos “inteligentes” encontrar la
e
soluci´n ´ptima, a´n en problemas grandes.
o o u
39. ¿C´mo se resuelve un problema de optimizaci´n
o o
combinatorial?
Diferentes opciones:
Contando todos los casos y eligiendo el mejor: fuerza bruta.
Encontrando una soluci´n “relativamente buena” pero sin
o
tener garant´ de que es la mejor.
ıa
Encarando problemas m´s chicos pero con la certeza de que
a
encuentro la soluci´n ´ptima.
o o
Buscando mediante m´todos “inteligentes” encontrar la
e
soluci´n ´ptima, a´n en problemas grandes.
o o u
40. ¿C´mo se resuelve un problema de optimizaci´n
o o
combinatorial?
Diferentes opciones:
Contando todos los casos y eligiendo el mejor: fuerza bruta.
Encontrando una soluci´n “relativamente buena” pero sin
o
tener garant´ de que es la mejor.
ıa
Encarando problemas m´s chicos pero con la certeza de que
a
encuentro la soluci´n ´ptima.
o o
Buscando mediante m´todos “inteligentes” encontrar la
e
soluci´n ´ptima, a´n en problemas grandes.
o o u
41. Fuerza bruta
Este enfoque consiste en listar todos los casos y para cada
uno calcular su costo, identificando de este modo el caso de
costo m´s conveniente.
a
Podr´ıamos pensar que como tenemos computadores muy
eficientes y r´pidos no tendremos inconveniente en resolver
a
problema tan grandes como se nos presenten.
¡Error! Estamos ante gigantes enormemente m´s fuertes que
a
nuestros poderosos computadores.
42. Fuerza bruta
Este enfoque consiste en listar todos los casos y para cada
uno calcular su costo, identificando de este modo el caso de
costo m´s conveniente.
a
Podr´ıamos pensar que como tenemos computadores muy
eficientes y r´pidos no tendremos inconveniente en resolver
a
problema tan grandes como se nos presenten.
¡Error! Estamos ante gigantes enormemente m´s fuertes que
a
nuestros poderosos computadores.
43. Fuerza bruta
Este enfoque consiste en listar todos los casos y para cada
uno calcular su costo, identificando de este modo el caso de
costo m´s conveniente.
a
Podr´ıamos pensar que como tenemos computadores muy
eficientes y r´pidos no tendremos inconveniente en resolver
a
problema tan grandes como se nos presenten.
¡Error! Estamos ante gigantes enormemente m´s fuertes que
a
nuestros poderosos computadores.
44. Un caso con cincuenta ciudades
Supongamos que quiero resolver el problema del viajante de
comercio para 50 ciudades.
¿Cu´nto creen que tardar´ un buen computador en evaluar
a a
todos los posibles recorridos?
¡Arriesguen!
1 minuto, 1 hora, 1 d´ 1 a˜o, 1 siglo, m´s de 1 siglo.
ıa, n a
45. Resultados
31557600000 cantidad de segundos en un siglo.
6000000000 personas en el mundo (una computadora por
persona).
1000000000000 (un bill´n) de evaluaciones por segundo.
o
1.606274.093599.924056.519539.306224 cantidad de siglos en
evaluar todos los casos para 50 ciudades.
200000000 edad del universo en siglos seg´n algunas teor´
u ıas
cosmol´gicas.
o
46. M´todos aproximados: Heur´
e ısticos.
Tratan de orientarse en el universo de todas las posibles
soluciones en busca de la mejor.
Un inconveniente que tienen es que en la mayor´ de los
ıa
problemas combinatoriales en general no puedo estar seguro
de que encontr´ la mejor soluci´n.
e o
47. M´todos aproximados: Heur´
e ısticos.
Tratan de orientarse en el universo de todas las posibles
soluciones en busca de la mejor.
Un inconveniente que tienen es que en la mayor´ de los
ıa
problemas combinatoriales en general no puedo estar seguro
de que encontr´ la mejor soluci´n.
e o
48. M´todos exactos.
e
Intentan descartar familias enteras de posibles soluciones para
acelerar la b´squeda y llegar a la conclusi´n de que la mejor
u o
soluci´n que encontraron en realidad es la ´ptima.
o o
Un inconveniente que tienen es que son muy lentos, pudiendo
resolver s´lo problemas peque˜os o problemas grandes con
o n
ciertas caracter´
ısticas particulares.
¿C´mo trabajan los m´todos exactos “inteligentes”?
o e
49. M´todos exactos.
e
Intentan descartar familias enteras de posibles soluciones para
acelerar la b´squeda y llegar a la conclusi´n de que la mejor
u o
soluci´n que encontraron en realidad es la ´ptima.
o o
Un inconveniente que tienen es que son muy lentos, pudiendo
resolver s´lo problemas peque˜os o problemas grandes con
o n
ciertas caracter´
ısticas particulares.
¿C´mo trabajan los m´todos exactos “inteligentes”?
o e
50. M´todos exactos.
e
Intentan descartar familias enteras de posibles soluciones para
acelerar la b´squeda y llegar a la conclusi´n de que la mejor
u o
soluci´n que encontraron en realidad es la ´ptima.
o o
Un inconveniente que tienen es que son muy lentos, pudiendo
resolver s´lo problemas peque˜os o problemas grandes con
o n
ciertas caracter´
ısticas particulares.
¿C´mo trabajan los m´todos exactos “inteligentes”?
o e
51. Asignemos un operario distinto a cada uno de los
siguientes 3 trabajos
Trabajo 1 3 Operario 1
5
9
9
Trabajo 2 8 Operario 2
2
1
Trabajo 3 7 Operario 3
2
52. Asignemos un operario distinto a cada uno de los
siguientes 3 trabajos
Trabajo 1
3 5 9 3 5 9
Trabajo 2
8 2 9 2 9 8 8 2 9 2
Trabajo 3
2 7 2 1 7 1 2 7 1
13 12 16 8 25 18 13 12 8
53. Soluciones ´ptimas para el PVV
o
En 1954 Dantzig, Fulkerson y Johnson resolvieron un caso de
49 ciudades del PVV.
“Resolvieron” significa que D,F&J estaban seguros de que la
soluci´n que presentaban era la mejor de un conjunto de 60
o
decillones de soluciones posibles.
54. Soluci´n record (en 2001) de 15112 ciudades de Alemania
o
Resuelta en una red de 110
m´quinas en las
a
universidades de Rice y
Princeton, por Applegate,
Bixby, Chv´tal y Cook.
a
Tiempo total de c´mputo de
o
22.6 a˜os de una PC de 500
n
MHz.
Longitud total de
aproximadamente 66.000
Km (Un poco m´s de una
a
vuelta y media a la tierra
por el ecuador).
55. Soluci´n record (en 2004) de 24978 ciudades de Suecia
o
Resuelta por Applegate,
Bixby, Chv´tal, Cook y
a
Helsgaun.
Longitud total de
aproximadamente 72.500
Km.
57. Agradecimientos
A los doctores Flavia Bonomo y Pablo Coll, de la Facultad de
Ciencias Exactas y Naturales de la Universidad de Buenos
Aires, por facilitarme parte del material para la preparaci´n de
o
esta charla.