PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad...

28
27 Congreso Nacional de Estadística e Investigación Operativa Lleida, 8-11 de abril de 2003 1 PROGRAMACION DINAMICA. CASOS PRACTICOS R. Pintor Departamento de Ingeniería Industrial Centro Universitario de Ciencias Exactas e Ingenierias Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: [email protected] RESUMEN Desde los inicios de la Investigación Operativa, a fines de primera mitad del siglo XX se han publicado un gran numero de libros acerca del tema. Desafortunadamente la gran mayoría de estos libros son de carácter general, esto es libros de texto los cuales abarcan las principales técnicas de Investigación Operativa (programación lineal, redes, teoría de colas, procesos markovianos, etc.) y por lo tanto, al tener que abarcar tantos temas es necesario sacrificar detalles en la explicación de cada uno de ellos. Por otra parte, la poca literatura especializada que existe (en América latina) acerca de Programación Dinámica, se ha publicado en idiomas extranjeros con modismos difíciles de comprender. Dentro de la estructura del presente trabajo se ha tratado de dejar a un lado la sofisticación matemática, sin embargo se requiere que el lector tenga conocimientos básicos de cálculo diferencial e integral, así como buenas bases de teoría de probabilidad. Palabras y frases clave: Programación Dinámica. Teoria Hamiltoniana, Origen Destino Clasificación AMS: 90c39, 49L20, 49LXX

Transcript of PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad...

Page 1: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

27 Congreso Nacional de Estadística e Investigación Operativa Lleida, 8-11 de abril de 2003

1

PROGRAMACION DINAMICA.

CASOS PRACTICOS

R. Pintor

Departamento de Ingeniería Industrial Centro Universitario de Ciencias Exactas e Ingenierias

Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: [email protected]

RESUMEN

Desde los inicios de la Investigación Operativa, a fines de primera mitad del siglo XX se han publicado un gran numero de libros acerca del tema. Desafortunadamente la gran mayoría de estos libros son de carácter general, esto es libros de texto los cuales abarcan las principales técnicas de Investigación Operativa (programación lineal, redes, teoría de colas, procesos markovianos, etc.) y por lo tanto, al tener que abarcar tantos temas es necesario sacrificar detalles en la explicación de cada uno de ellos. Por otra parte, la poca literatura especializada que existe (en América latina) acerca de Programación Dinámica, se ha publicado en idiomas extranjeros con modismos difíciles de comprender. Dentro de la estructura del presente trabajo se ha tratado de dejar a un lado la sofisticación matemática, sin embargo se requiere que el lector tenga conocimientos básicos de cálculo diferencial e integral, así como buenas bases de teoría de probabilidad. Palabras y frases clave: Programación Dinámica. Teoria Hamiltoniana, Origen Destino Clasificación AMS: 90c39, 49L20, 49LXX

Page 2: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

2

1. Introducción

Durante los años que he impartido clases del tema a los alumnos de Ingeniería Industrial, he detectado una gran dificultad en la comprensión del tema; Esto se puede deber a varias razones:

• Falta de entendimiento para analizar y comprender situaciones interrelacionadas entre sí.

• Deficiente conocimiento de Teoría de probabilidad, Álgebra y Cálculo Diferencial e Integral.

• Escasez de material de apoyo como libros, artículos, casos prácticos. Es propósito del presente trabajo abordar el tema de una forma sencilla y comprensible. Existen muchas situaciones en las cuales tomar una decisión afecta una secuencia de decisiones futuras, cada una de ellas interrelacionada con la anterior, (por ejemplo, las unidades a producir en una fabrica en el mes de mayo afecta el inventario inicial del mes de junio, y por lo tanto las unidades a producir ese mes). El analizar por separado cada una de las decisiones no es un procedimiento que garantice una optimización global de los recursos. La técnica matemática adecuada para atacar este tipo de problemas es la Programación Dinámica. Al contrario de la Programación Lineal no existe una forma estándar para formular los problemas, sino que es necesario estructurar la función objetivo para cada problema. Por ello es necesario abstraer el significado de los conceptos manejados por la P.D. para así poder discriminar aquellas situaciones que deben de ser resueltas con esta técnicas. Dado que no existe una fórmula general, a continuación se presentan diversos problemas con sus respectivas soluciones.

2. Análisis de destino a origen

La mayoría de las personas ha vivido por lo menos una vez, la experiencia de encontrarse en una sala de espera, seleccionar una revista al azar y hallar dentro de sus páginas un laberinto (Figura 2.1). Dependiendo del tiempo que uno pronostique permanecer en la sala de espera será la estrategia a seguir en la resolución. La mayoría de los lectores estarán de acuerdo en que una forma rápida de encontrar la solución al laberinto consiste en partir del destino (D), y de ahí tratar de encontrar la ruta que conduzca a alguna de las entradas o puntos de partida (Ei).

En sí, lo que se está haciendo es reducir el problema, limitándose físicamente,

y calculando resultados parciales. Para el caso del laberinto se acota el problema en una superficie menor (Figura 2.2), y se encuentran rutas alternativas desde la frontera (Puntos Ai), hacia el destino (D). Una vez encontrada la solución para esta etapa se amplia la cobertura del problema, siendo ahora necesario encontrar rutas desde la

Page 3: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

3

frontera (puntos Bi) hacia el punto D; pero como ya es sabido que los puntos Ai conducen hacia D, no es necesario efectuar todo el análisis sino simplemente unir los puntos Bi con algún Ai (Figura 2.3).

De nuevo, una vez resuelto el problema en esta etapa se amplía la cobertura

del mismo, situándose ahora en el problema original con la diferencia de que ahora se encuentra con resultados parciales. Esto es, no se buscan rutas de algún Ei a D, sino de Ei a algún Bi, ya que se conoce de antemano que todos los Bi cuentan con una ruta para llegar a D (en este caso pasando por algún Ai) (Figura 2.4).

Page 4: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

4

Page 5: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

5

El Problema de la ruta. Un caso típico gráfico para entender mejor los conceptos de la Programación

Dinámica, es el problema conocido como la ruta. Considérese el caso el caso de un chofer de un trailer, el cual debe de transportar desde A hasta B, pasando por varias ciudades en su recorrido (Figura 2.5) .

El seleccionar una ruta tiene asociado un “costo” el cual puede medirse de

distintas maneras (gastos de operación, kilómetros, tiempo de recorrido, etc.), por lo que el objetivo del chofer será el de seleccionar la ruta con el menor costo total. Para facilidad de análisis se han agrupado las doce ciudades localizadas entre los puntos A y B, en cuatro zonas; de tal manera que las ciudades Z1, Z2 y Z3 se encuentran en la zona 4, las ciudades Z4, Z5 y Z6 en la zona 3, etc. (mas adelante se explicará porque las zonas se enumeran en sentido inverso). Por lo que el chofer necesita realizar 5 decisiones referentes hacia donde dirigirse:

1) Hacia donde dirigirse encontrándose en A. 2) Hacia donde dirigirse encontrándose en la zona 4. 3) Hacia donde dirigirse encontrándose en la zona 3. 4) Hacia donde dirigirse encontrándose en la zona 2. 5) Hacia donde dirigirse encontrándose en la zona 1.

Figura 2.5 Problema de la ruta.

Sólo esta última decisión es conocida, siendo dirigirse a B. Nótese que el

resolver cada decisión independientemente de las otras no resulta en una ruta óptima, ya que primero se seleccionaría A� Z2 que es la de menor costo, terminando en la ruta A,

Zona 5 , , Zona 4 , , Zona 3 , , Zona 2 , , Zona 1 ,

Page 6: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

6

Z2, Z5, Z8, Z10, B, con un costo total de 26. La manera de solucionar el problema es muy semejante al método empleado en el laberinto:

- Análisis de objetivo a origen. - Limitar el problema, ampliándolo después de cada análisis.

Supongamos que el problema se limita a la Zona 1 (es por ello que las zonas se

enumeran en orden regresivo), significa que el chofer se podría encontrar en cualquiera de las tres ciudades Z10, Z11 y Z12. Es necesario encontrar una solución para cada una de las ciudades aunque en realidad se sabe que sólo se transitará por una de ellas. En este caso las soluciones son obvias; si el objetivo es llegar a B se deben de seguir las rutas directas, ésto es:

Ciudad

Origen Ruta Costo

Z10 Z10� B 7 Z11 Z11 � B 4 Z12 Z12 � B 5

Figura 2.6 .- Orígenes y destinos parciales

de tal manera que ya se cuenta con resultados parciales, que sin importar la forma en que se llegue ahí, ya se tiene la información necesaria para cada una de las ciudades de la Zona 1: (Figura 2.6).

• A donde dirigirse • Costo acumulado para llegar desde ese punto hasta el objetivo B.

Una vez hecho esto, se procede a ampliar la cobertura del problema,

situándose en las ciudades de Zona 2. En este caso las soluciones no son triviales ya que para cada ciudad de la zona 2 (Z7, Z8 y Z9 ) existen tres direcciones alternativas (Z10, Z11 y Z12 ), por lo que es necesario comparar las tres para seleccionar la de menor costo acumulado para transportarse desde esa ciudad hasta el destino B.

Figura 2.7 Origenes y destinos subsecuentes parciales

Ciudad Origen

Ruta Costo Ruta

Siguiente Ciudad

Costo Acumulado Siguiente CD.� B

Costo Total

Z7 Z7 � Z10 Z7 � Z11

Z7 � Z12

3 8 9

Z10 Z11

Z12

7 4 5

10� 12 14

Page 7: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

7

Figura 2.6 Solución para la Zona 1.

, Zona 5 , , Zona 4 , , Zona 3 , , Zona 2 , , Zona 1 ,

De manera que se puede apreciar que la mejor ruta alternativa suponiendo se

encuentra 1en Z7, consiste en dirigirse a Z10, de la Zona 1, con un costo de la ruta de 3 y un costo de Z10 hasta B de 7, dando un costo total acumulado para transportarse hasta B desde Z7 de 10. (Figura 2.7)

, Zona 5 , , Zona 4 , , Zona 3 , , Zona 2 , , Zona 1 ,

, Zona 5 , , Zona 4 , , Zona 3 , , Zona 2 , , Zona 1 ,

Page 8: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

8

De igual manera se puede efectuar el análisis para las otras ciudades de la Zona 2: (figura 2.8)

Ciudad Origen

Ruta

Costo

Ruta

Siguiente Ciudad

Costo Acumulado Siguiente CD.� B

Costo Total

Z8 Z8 � Z10

Z8 � Z11 Z8 � Z12

4 7 5

Z10

Z11 Z12

7 4 5

11 11 10�

Z9 Z9 � Z10 Z9 � Z11

Z9 � Z12

2 6 5

Z10 Z11

Z12

7 4 5

9� 10 10

Una vez resuelto el problema para esta etapa es necesario pasar a la siguiente

decisión (ampliar el círculo de ciudades del laberinto), esto es, hacia donde dirigirse si se encontrara el chofer en alguna ciudad de la zona 3. Si se analizan las alternativas existen nueve rutas distintas para llegar desde Z4 hasta B, sin embargo, sólo existen tres salidas alternativas de Z4 las cuales son de nuestro interés. La forma en como se reduce el análisis es apoyarse en los resultados parciales previamente calculados de la siguiente manera:

Ciudad

Origen Ruta

Costo Ruta

Siguiente Ciudad

Costo Acumulado Siguiente CD.� B

Costo Total

Z4 Z4 � Z7

Z4 � Z8 Z4 � Z9

3 7 5

Z10

Z11 Z12

10 10 9

13� 17 14

Esto es, se consideran las tres salidas alternativas con sus costos asociados, así como los puntos próximos (ciudades dentro de la Zona 2) y los costos acumulados para llegar hasta el Destino B a partir de esos puntos (sin importar que ruta siguen). El análisis para las otras dos ciudades de la zona 3, así como para las tres ciudades de la zona 4 es similar:

Page 9: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

9

Figura 2.8 Solución para la Zona 2

Zona 3

Ciudad Origen

Ruta

Costo Ruta

Siguiente Ciudad

Costo Acumulado Siguiente CD.� B

Costo Total

Z5 Z5 � Z7 Z5 � Z8 Z5 � Z9

8 4 5

Z7 Z8 Z9

10 10 9

18 14� 14�

Z6 Z6 � Z7

Z6 � Z8 Z6 � Z9

5 6 3

Z7

Z8 Z9

10 10 9

15 16 12�

, Zona 5 , , Zona 4 , , Zona 3 , , Zona 2 , , Zona 1 ,

Page 10: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

10

Zona 4

Ciudad Origen

Ruta

Costo Ruta

Siguiente Ciudad

Costo Acumulado Siguiente CD.� B

Costo Total

Z1 Z1 � Z4

Z1 � Z5 Z1 � Z6

7 5 8

Z4

Z5 Z6

13 14 12

20 19� 20

Z2 Z2 � Z4

Z2 � Z5 Z2 � Z6

9 8 9

Z4

Z5 Z6

13 14 12

22 22 21�

Z3 Z3 � Z4

Z3 � Z5 Z3 � Z6

6 7 9

Z4

Z5 Z6

13 14 12

19� 21 21

Como se puede apreciar para efectuar los cálculos de una zona; es necesario

auxiliarse de los números siguientes correspondientes a la ciudad únicamente de la zona anterior. Por último dentro de la resolución del problema, se llega al primer punto físico de decisión, ¿hacia donde dirigirse dado que se encuentra en A?. Para fines prácticos se puede considerar que la ciudad A se encuentra localizada en la Zona 5, teniendo: (Figura 2.9).

, Zona 5 , , Zona 4 , , Zona 3 , , Zona 2 , , Zona 1 ,

Figura 2.9 Solución.

, Zona 5 , , Zona 4 , , Zona 3 , , Zona 2 , , Zona 1 ,

Page 11: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

11

Zona 5 Ciudad Origen

Ruta

Costo Ruta

Siguiente Ciudad

Costo Acumulado Siguiente CD.� B

Costo Total

A A�Z4

A� Z5 A� Z6

4 3 5

Z1

Z2 Z3

19 21 19

23� 24 24

En este punto se ha terminado la resolución del problema, ¿Pero cuál es la ruta óptima? ¿Cuál es el resultado?. La solución óptima al problema se constituye de la siguiente manera, checando las soluciones óptimas parciales (�).

6) 7)

8) Ciudad Origen

9) Ciudad Destino

10) A 11) Z1 12) Z1 13) Z5 14) Z5 15) Z8,

Z9 16) Z8 17) Z12 18) Z12 19) B 20) Z9 21) Z10 22) Z10 23) B

24) 25) 26) Como se puede apreciar existen dos rutas óptimas, 27)

• A, Z1, Z5, Z8, Z12, B • A, Z1, Z5, Z9, Z10, B

28) 29) Ambas con un costo total de 23.

El problema se podría haber resuelto originalmente ramificando un árbol con todas las opciones posibles, como se indica en la figura 2.10, calculando el valor asociado a cada rama. Sin embargo significa el calcular y evaluar 34 = 81 alternativas, al contrario del procedimiento, utilizado que solo evaluó 3 + (3 x 32) = 30 alternativas, lo que indica un considerable ahorro.

30)

Page 12: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

12

Por otra parte es importante no olvidar que la P.D. es una técnica que provee de resultados parciales. Por ejemplo, si existen variaciones:

31) Z4 B 7 Z1 5 Z5 8 B Z6 B 4 B Z4 * 9 A 3 Z2 8 Z5 * 81 ALTERN. 9 Z6 * 5 * Z4 * 6 Z3 7 Z5 * 9 Z6 B Figura 2.10 Desarrollo por árbol.

- Cambio en los costos de alguna ruta, incluida o no dentro de la ruta óptima. - Cierre y/o apertura de nuevas rutas. - Cambio en la ciudad de origen y/o destino.

Estas se pueden incorporar al problema sin perturbaciones mayores, simplemente re-calculando las ciudades afectadas, lo cual no se podría realizar si se hubiera atacado el problema ramificándolo.

Page 13: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

13

Principio de optimalidad. La Programación Dinámica tiene como base el auxiliarse de resultados

principales, y asumirlos como óptimos. En el ejemplo anterior al evaluar las alternativas para Z2, se consideraba que 13, 14 y 12 eran los costos mínimos (óptimos) para trasladarse hasta B desde ciudades Z4, Z5, Z6 respectivamente, y no se cuestionaba ni la ruta, ni los costos individuales de la misma. Este hecho se resume en el principio de óptimalidad de Bellman.

“Dado que se ha establecido una serie de resultados como las decisiones

óptimas para un estado específico dentro de una etapa, esa misma serie de resultados forman en sí decisiones óptimas para los futuros estados dentro de las etapas subsecuentes de esa ruta óptima”.

Por ejemplo para el caso de la ruta, si se considera que la ruta óptima a partir

de Z2 es la siguiente: Z2 �Z6 � Z9 �Z10 � B

32) Significa que:

- La ruta Z6 � Z9 �Z10 � B es la ruta óptima para Z6 - La ruta Z9 �Z10 � B es la ruta óptima para Z9 - La ruta Z10� B es la ruta óptima para Z10

Lo cual se puede demostrar fácilmente por contradicción, ya que sí Z9 �Z10 � B no fuera la ruta óptima para llegar a B desde Z9 significa que existiría una ruta alternativa con menor costo, (supongamos Z9 �Z12 � B), por lo que esta ruta debería ser incluida en la ruta óptima de Z2 (esto es: Z2 �Z6 �Z9 �Z12 � B) la cual a su vez tendría un menor costo asociado que la ruta original (Z2 �Z6 � Z9 �Z10 � B).

3. Identificacion de conceptos. Formulación

Como ya se mencionó en un principio no existe una fórmula general para resolver problemas por medio de P.D. pero sí existen cuatro conceptos generales, los cuales sí son posibles de identificar, significa que el problema puede ser resuelto por medio de P.D. (Figura 3.1)

Page 14: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

14

ETAPA n TRANSFORMACIÓN ETAPA n – 1

Figura 3.1 Conceptos en Programación Dinámica

• Etapas, representadas por la literal n, significan como su nombre lo indica, etapas o períodos en los cuales se debe efectuar una decisión.

• Estados, denotados por la literal Z, representan situaciones específicas, las cuales posiblemente pueden suceder dentro de una etapa. Se sabe de antemano que sólo existirá un estado Z para cada etapa n, sin embrago, es necesario considerar todos los estados posibles para así evaluar todas las alternativas.

• Transformación, es la función discriminadora. Da la pauta para poder evaluar las distintas alternativas y seleccionar la óptima. Consiste desde una simple suma hasta las funciones integrales combinadas con funciones de distribución de probabilidades.

• Resultado, representado por la literal k, consiste en la variable independiente; esto es, la variable bajo control la cual da pauta a que se presenten varias alternativas a evaluar por la transformación.

Antes de poder formular cualquier problema es necesario identificar los cuatro conceptos ya mencionados. Para el problema de la Ruta se tiene:

ESTADOS

Z ESTADOS Z

RESULTADO k

Page 15: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

15

• Etapas (n), igual a las zonas donde se tienen agrupadas ciudades. En cada zona es necesario efectuar una decisión que corresponde a la ruta próxima inmediata a seguir.

• Estados (z), corresponden a las ciudades a las cuales existen tres posibilidades para cada zona (Etapa), aunque sólo una (o posiblemente varias) estarán incluidas dentro de la solución óptima.

• Transformación, aplicada como la suma de los costos; el costo de la ruta próxima adicionado al costo acumulado de la próxima ciudad en adelante.

• Resultado (k), la variable de decisión representa en el problema el Destino o Ruta a seguir.

Una vez identificado se puede construir la fórmula:

fn (Zj) = Min CZj, ZL + fn-1 (ZL)

k

fn (Zj) = Costo mínimo acumulado para transportarse hasta B,

a partir de la ciudad Zj, la cual se encuentra localizada en la zona n.

k = Variable de decisión, rutas alternativas de salida de la ciudad Zj.

CZj, ZL = Costo para transporte de la ciudad Zj, a la ciudad ZL.

fn-1 (ZL) = Costo mínimo acumulado para transportarse hasta B,

a partir de la ciudad ZL, la cual se encuentra localizada en la zona n-1.

Lo general de las fórmulas de P.D. es que para resolver cualquier etapa n, es necesario conocer los resultados para la etapa n – 1. (Más adelante se presentará un caso en que no ocurre esto exactamente). Por ello es indispensable definir una semilla, la cual funge como base generadora para iterar y resolver el problema.

La semilla para el caso de la ruta es fo(B) = 0, esto es, se asume que B corresponde a una zona cero, y el costo para transportarse a B dado que se encuentra en B es cero.

Page 16: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

16

Si se observa con detenimiento, cuando se fueron evaluando las alternativas para cada ciudad, lo que realmente se hizo fue seguir la fórmula, por ejemplo:

n = 3

Estado Alternativa Costo Ruta Siguiente Cd. Costo Acumulado Costo Total

Zj k CZj, ZL ZL fn-1 (ZL) fn (ZJ)

Z4 Z4 Z7 3 Z7 10 13

Z4 Z8 7 Z8 10 17

Z4 Z8 5 Z9 9 14

Por lo tanto f3 (Z4) = 13, con el resultado k = ir a Z7.

4. Problemas deterministicos

Problema de Asignación.

El Sr. Julio Vendetodo, Gerente de Ventas de una compañía que cuenta con tres tiendas, ha recibido instrucciones por parte de la Dirección de intensificar la labor de ventas y servicio al cliente para lo cual se le ha autorizado la contratación de hasta nueve vendedores extras. Julio debe decidir cuantos vendedores debe de contratar y como asignarlos a las tres tiendas, para ello elaboró una matriz de utilidades esperadas para cada tienda según se tengan cierto número de vendedores extras (Tabla 4.1). Por ejemplo, si a la tienda I no se le asigna ningún vendedor extra, ganará 4, en cambio si se le asignan 2 vendedores extra su ganancia se incrementara en 12 (16 en total).

VENDEDORES EXTRAS

TIENDA 0 1 2 3 4 5 6 7 8 9

I. 4 11 16 19 29 19 16 11 4 -5

II. 5 14 21 26 29 30 29 26 21 14

III, 4 15 24 31 36 39 40 39 36 31

Tabla 4.1 Ganancias por Tienda

Para ser un poco más entendible el problema, imagínese el lector que Julio cuenta con una camioneta en donde se encuentran los nueve vendedores, la cual visitará primero la tienda III y dejará un número determinado de vendedores, siguiendo en su camioneta

Page 17: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

17

con los vendedores restantes, (los cuáles no se sabe cuántos son, por lo que se debe considerar las posibilidades de que sean desde cero hasta nueve), pasando por la tienda II repitiendo el proceso; hasta llegar a la tienda I a asignar vendedores.

Primero identifíquese los cuatro conceptos básicos:

• Etapas, en donde se deben efectuar las decisiones, equivale a cada tienda. • Estados, situaciones físicas probables dentro de cada etapa, corresponden a los

vendedores disponibles en la camioneta (desconocido). • Transformación, función discriminatoria de alternativas, es la suma acumulada

de utilidades. • Resultado, variable bajo control, equivale al número de vendedores que puede

asignar Julio en cada tienda.

De tal manera que la fórmula final queda construida de la siguiente manera:

fn (Z) = Máx Gn (k) + fn-1 (Z-k) 0 � k � Z

fn (Z) = Máxima ganancia acumulada cuando se tienen Z . vendedores disponibles, y faltan n tiendas por visitar.

Z = Vendedores disponibles.

K = Vendedores a asignar.

Gn (k) = Ganancia en la tienda n con k vendedores

extras asignados (Tabla 1).

Z – k = Vendedores disponibles después de visitar la tienda

n y por lo tanto faltan por visitar n – 1 tiendas.

Obsérvese que en esta ocasión se ha acotado la variable de decisión k, no permitiéndose asignar más vendedores que los que se encuentran disponibles en ese momento en la camioneta (Z). La semilla para este problema es:

fo (Z) = 0

lo que significa que la utilidad a obtener con Z vendedores disponibles, cuando ya no faltan tiendas por visitar, es igual a cero.

Para resolver el problema de nuevo es necesario partir del destino hacia el origen, por lo que se debe considerar el momento en que la camioneta llega con Z vendedores disponibles a la tienda I, y Julio debe decidir cuántos vendedores asignar. Las respuestas se presentan en la Tabla 4.2, como en la mayoría de los problemas de P.D. las soluciones son directas.

Page 18: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

18

Vendedores Disponibles Asignación Ganancia Restan Gan. Acum.

Posterior Gan.

Acum.Total Z k GI (k) Z - k fo (Z – k) FI (Z) 0 0 4 0 0 4 1 1 11 0 0 11 2 2 16 0 0 16 3 3 13 0 0 19 4 4 20 0 0 20 5 4 20 1 0 20 6 4 20 2 0 20 7 4 20 3 0 20 8 4 20 4 0 20 9 4 20 5 0 20

Tabla 4.2 Asignación para la Tienda n = 1

Como se puede observar, aunque la camioneta tuviera disponible cinco o más vendedores, no es conveniente asignar más que a cuatro ya que a partir de entonces la ganancia disminuirá.

Para la siguiente etapa los resultados ya no son tan directos (Tabla 4.3), puesto que hay que considerar todas las alternativas de asignación. Una vez evaluada la segunda etapa se encuentra el problema en el origen físico del mismo, esto es, visitar la tienda III y decidir cuántos vendedores debe de asignar. Sin embargo, en este caso no es necesario evaluar distintos valores de Z, ya que se sabe de antemano que la camioneta al llegar a la tienda III va con los nueve vendedores disponibles, lo cual simplifica los cálculos (Tabla 4.4).

Vendedores disponibles

Asignación Ganancia Restan Gan. acum. Posterior

Gan. Acum. Total

Z k G2 (k) Z - k F1 (Z – k ) F2 (Z)

0 0 5 0 4 9

1 0

1

5

14

1

0

11

4

16

18

2

0

1

2

5

14

21

2

1

0

16

11

4

21

25

25

3 0

1

5

14

3

2

19

16

24

30

Page 19: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

19

2

3

21

26

1

0

11

4

32

30

4

0

1

2

3

4

5

14

21

26

29

4

3

2

1

0

20

19

16

11

4

25

33

37

37

33

5

0

1

2

3

4

5

5

14

21

26

29

30

5

4

3

2

1

0

20

20

19

16

11

4

25

34

40

42

40

34

6

0

1

2

3

4

5

5

14

21

26

29

30

6

5

4

3

2

1

20

20

20

19

16

11

25

34

41

45

45

41

7

0

1

2

3

4

5

5

14

21

26

29

30

7

6

5

4

3

2

20

20

20

20

19

16

25

34

41

46

48

46

8

0

1

2

3

4

5

5

14

21

26

29

30

8

7

6

5

4

3

20

20

20

20

20

19

25

34

41

46

49

49

9

0

1

2

3

5

14

21

26

9

8

7

6

20

20

20

20

25

34

41

46

Page 20: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

20

4

5

29

30

5

4

20

20

49

50

Tabla 4.3 Asignación para la tienda n = 2

Vendedores disponibles Asignación Ganancia Restan Gan. Acum.

Posterior Gan. Acum.

Total

Z k G3 (k) Z - k F2 (Z – k) F3 (Z)

9 0 4 9 50 54

1 15 8 49 64

2 24 7 48 72

3 31 6 45 76

4 36 5 42 78

5 39 4 37 76

6 40 3 32 72

Tabla 4.4 Asignación para la tienda n = 3

Por lo que a partir de los resultados de las tablas 2, 3 y 4 se puede construir la solución óptima.

Tiendas Vendedores Disponibles

Vendedores Asignados Ganancias Vendedores

Restantes

III 9 4 36 5

II 5 3 26 2

I 2 2 16 0

Total 9 78

El problema de la asignación, al igual que el problema de la ruta son las características de ida y vuelta, esto es, se pueden mezclar los orígenes y destinos. Queda al lector comprobar que la ruta óptima para llegar de B a A es la misma, así como si la asignación de vendedores comenzará en la tienda I en vez de la III el resultado sería el mismo.

Page 21: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

21

Pocos son los casos que cuentan con esta característica, especialmente aquellos cuyas etapas no están relacionadas con el tiempo.

Transformaciones No – Aditivas

Para mostrar al lector un caso en el que la transformación no es una adición, considérese el siguiente problema de asignación:

La compañía “Estrellita del Éxito” se encuentra en el desarrollo de un nuevo tipo de carchofas. Para poder introducir el producto al mercado lo más rápido posible, la compañía dividió el desarrollo del producto en tres etapas:

a) Diseño del producto b) Diseño del proceso c) Comercialización

Cada una de estas etapas trabaja independientemente de las otras. Para que las nuevas carchofas sean un éxito es necesario que cada una de las etapas individuales sean un éxito. La compañía cuenta actualmente con un presupuesto que le permite contratar hasta 3 profesionistas, sin embargo, el problema consiste en como deberán asignarse a las tres etapas (asuma que no se pueden asignar parcialmente).

Para resolver este problema la Gerencia de Investigación y Desarrollo elaboró la siguiente tabla de probabilidades de falla (no – éxito).

Profesionales Etapas

Asignados A B C

0 0.40 0.30 0.20

1 0.30 0.22 0.15

2 0.22 0.15 0.13

3 0.18 0.14 0.08

Resolución: dado que se trata de un problema de asignación, los conceptos de etapas (Etapa de la Investigación A, B ó C), estados (Profesionistas disponibles) y resultados (Profesionistas a asignar), se encuentran claramente identificados, sin embargo aquí la diferencia consiste en la definición de la transformación. El objetivo se encuentra claramente definido, maximizar la probabilidad de éxito de las carchofas, y para ello es

Page 22: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

22

necesario que las tres etapas individuales sea un éxito. La probabilidad de que el proyecto sea un éxito está dada por las multiplicaciones de las probabilidades de éxito individuales de cada etapa.

P (Éxito Total) = P (Éxito A) x p (Éxito B) x P (Éxito C)

Por lo que la función objetivo a maximizar es:

fn (Z)

=

Máx Pn (k) x fn-1 (Z – k)

0 � k � Z

fn (Z) = Probabilidad de que el proyecto sea un éxito, dado que se cuenta con Z vendedores disponibles y se han considerado n etapas de la investigación.

Pn (k) = Probabilidad de que la etapa n sea un éxito dado que se asignaron k profesionales

Quedando el resto de los conceptos definidos de igual manera que en el problema anterior. Sin embargo, es necesario efectuar otro cambio, corresponde a la semilla, ya que una semilla definida igual a cero provocaría que la multiplicación de las probabilidades redundara en cero.

fo (Z) = 1

corresponde al lector desarrollar la fórmula y encontrar la solución.

Problema del Empaque

Otro problema clásico de la Programación Dinámica es el conocido con el nombre del Problema del Empaque, el cual consiste en tener que empacar o cargar un trailer con artículos de distinto valor y “peso”, pudiéndose definir esto como peso físico (Kg.), espacio (metros cuadrados), volumen (metros cúbicos), inversión ($), etc. Lo importante del problema es que el trailer tiene un límite físico en cuanto a la cantidad “peso” máximo a cargar, y el objetivo del dueño del transporte consiste en maximizar el valor de la carga sujeto a la restricción del peso del trailer.

Este tipo de problemas se puede fácilmente identificar como uno de programación entera donde:

Máx f = C1X1 + C2X2 + ...+ CnXn Sujeto a A1X1 + A2X2 + ... + AnXn � b

Xi = entera i= 1, 2, ..., n

Page 23: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

23

En donde:

Xi = Cantidad de artículos i a comprar Ci = Valor unitario del artículo i Ai = Peso unitario del artículo i b = Capacidad máxima del trailer

Sin embargo, es de todos conocido lo problemático de trabajar con algoritmos de programación entera, por lo que a continuación se resolverá el problema utilizando programación dinámica.

Para poder entender más rápidamente la resolución, imagínese el lector, al igual que en el problema de asignación, que el trailer tiene que visitar varias bodegas. Cada una de estas bodegas contiene varias unidades de un artículo i (suficientes para llenar el trailer) y sólo de ese artículo. De tal manera que el chofer tiene que decidir cuántas unidades de ese artículo debe cargar. Identificando los cuatro conceptos básicos se tiene:

• Etapas, donde se efectúan las decisiones, corresponden a cada bodega, es decir, a cada tipo de artículo.

• Estados, situación física probable dentro de cada etapa, equivale a los kgs. disponibles de carga del trailer.

• Transformación, función discriminatoria de alternativas, suma de utilidades. • Resultado, variable bajo control, cantidad de artículos a cargar.

Formulando el problema de la siguiente manera:

Fn (Z) = Máx [kVn + fn-1 (Z – kWn)] 0 � k � ||Z / Wn||

Fn (Z) = Utilidad máxima acumulada cuando se cuenta con Z kgs. disponibles de carga en el camión, y faltan n bodegas por visitar.

K = Número de artículos a asignar. Wn = Peso unitario del artículo n. Vn = Valor unitario del artículo n. ||x|| = Entero menor o igual a x.

Fo (Z) = 0

Asignando valores a las literales considérese:

Page 24: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

24

N = Artículos (A, B, C y D) Wn = 40, 30 15 y 8 respectivamente Vn = 40, 25, 10 y 5 respectivamente Z = Capacidad máxima de carga del trailer igual a 100

Estrictamente hablando es necesario considerar 00 distintos estados para cada etapa, al variar de un kg. en uno hasta la capacidad máxima del trailer. Sin embargo, analizando los pesos unitarios de los artículos se puede apreciar que los tres primeros son múltiplos de cinco, por lo que los estados se pueden ir variando de cinco en cinco kgs. En la tabla 4.5 se muestran los resultados para la primera etapa (artículo A), mientras que en las tablas 4.6 y 4.7 se presentan los resultados para la segunda y tercera etapa respectivamente.

Antes de considerar todas las alternativas posibles, es recomendable analizar cuales de ellas pueden ser eliminadas de antemano. Por ejemplo: pese a que es posible cargar hasta tres productos de B, ¿Esto es más conveniente que dos artículos de A?. Definitivamente no, ya que dos artículos de A valen más que tres de B (80 vs. 75) a menor peso total (80 vs. 90). De igual manera se pueden eliminar varias alternativas quedando sólo las siguientes a considerar:

• Cero, uno o dos artículos de A • Cero, uno o dos artículos de B • Cero o un artículo de C • Cero o un artículo de D

Como en los anteriores problemas, analizar la última etapa es muy sencillo, ya que no es necesario considerar los distintos estados alternativos puesto que el estado alternativo inicial es conocido. Para el problema en cuestión, éste corresponde a 100 kg. disponibles, por lo que:

Z k K(5) K(8) F3 (Z-8k) F4 (Z) 100 0 0 0 90 90

1 5 8 80 85

Kilogramos Disponibles

Carga Asignada

Valor Carga

Carga Consumida

Utilidad Posterior

Utilidad Acumulada

Z k k (40) k (40) fo (Z – 40k) f1 (Z) 100 2 80 80 0 80 95 2 80 80 0 80 90 2 80 80 0 80 85 2 80 80 0 80 80 2 80 80 0 80

Page 25: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

25

75 1 40 40 0 40 70 1 40 40 0 40 65 1 40 40 0 40 60 1 40 40 0 40 55 1 40 40 0 40 50 1 40 40 0 40 45 1 40 40 0 40 40 1 40 40 0 40 35 0 0 0 0 0 30 0 0 0 0 0 25 0 0 0 0 0 20 0 0 0 0 0 15 0 0 0 0 0 10 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0

Tabla 4.5 Solución Etapa n = 1 (artículo A)

Kilogramos Disponibles

Carga Asignada

Valor Carga

Carga Consumida

Utilidad Posterior

Utilidad Acumulada

Z k k (40) k (40) fo (Z – 40k) f1 (Z) 100 0

1 2

0 25 50

0 30 60

80 40 40

80 65 90

95 0 1 2

0 25 50

0 30 60

80 40 0

80 65 50

90 0 1 2

0 25 50

0 30 60

80 40 0

80 65 50

85 0 1 2

0 25 50

0 30 60

80 40 0

80 65 50

80 0 1 2

0 25 50

0 30 60

80 40 0

80 65 50

75 0 1 2

0 25 50

0 30 60

40 40 0

40 65 50

70 0 1 2

0 25 50

0 30 60

40 40 0

40 65 50

65 0 1 2

0 25 50

0 30 60

40 0 0

40 25 50

60 0 1 2

0 25 50

0 30 60

40 0 0

40 25 50

55 0 0 0 40 40

Page 26: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

26

1 25 30 0 25

50 0 1

0 25

0 30

40 0

40 25

45 0 1

0 25

0 30

40 0

40 25

40 0 1

0 25

0 30

0 0

40 25

35 0 1

0 25

0 30

0 0

0 25

30 0 1

0 25

0 30

0 0

0 25

25 0 0 0 0 0 20 0 0 0 0 0 15 0 0 0 0 0 10 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0

Tabla 4.6 Solución Etapa n = 2 (Artículo B)

Kilogramos Disponibles

Carga Asignada

Valor Carga

Carga Consumida

Utilidad Posterior

Utilidad Acumulada

Z k k (40) k (40) fo (Z – 40k) f1 (Z) 100 0

1 0

10 0

15 90 80

90 90

95 0 1

0 10

0 15

80 80

80 90

90 0 1

0 10

0 15

80 65

80 75

85 0 1

0 10

0 15

80 65

80 75

80 0 1

0 10

0 15

80 50

80 60

75 0 1

0 10

0 15

65 50

65 60

70 0 1

0 10

0 15

65 40

65 50

65 0 1

0 10

0 15

50 40

50 50

60 0 1

0 10

0 15

50 40

50 50

55 0 1

0 10

0 15

40 40

40 50

50 0 1

0 10

0 15

40 25

40 35

45 0 1

0 10

0 15

40 25

40 35

40 0 1

0 10

0 15

40 0

40 10

35 0 0 0 25 25

Page 27: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

27

1 10 15 0 10

30 0 1

0 10

0 15

25 0

25 0

25 0 1

0 10

0 15

0 0

0 10

20 0 1

0 10

0 15

0 0

0 10

15 0 1

0 10

0 15

0 0

0 10

10 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0

Tabla 4.7 Solución Etapa n = 3 (Artículo C)

En la tabla 4.8 se resume el problema con los resultados parciales, en donde se pueden leer las soluciones:

ARTICULO D C B A SOLUCION I 0 0 2 1 SOLUCION II 0 1 0 2

Ambas soluciones tienen asociado un valor total de carga de 90, con la diferencia que la primera solución agota totalmente los 100 kgs. disponibles, mientras que la segunda sólo consume 95 kgs.

El problema del empaque se puede complicar si se agrega una restricción, por ejemplo máximo volumen de carga. En este caso el problema de la dimensionalidad se presenta, ya que es necesario definir la función objetivo no sólo en términos de los kgs. disponibles, sino también en los metros cúbicos disponibles. Esto ocasiona que en vez de trabajar con matrices de segundo orden para cada etapa, es necesario agregar una dimensión. Una manera de solucionar este problema es por medio de multiplicadores de Lagrange, sin embargo, debido a que su aplicación es limitada y no siempre se presentan las condiciones favorables para su uso, no se tratarán.

Page 28: PROGRAMACION DINAMICA. CASOS PRACTICOSweb.udl.es/usuaris/esi2009/treballs/05_2_2.pdf · Universidad de Guadalajara, 44930 Guadalajara, Jalisco, México E-mail: ... se ha publicado

28

Dedicatoria.

Esta presentación se las dedico a mi esposa Maria Esther Bravo Zúñiga , y a mis hijos, Rafael, y Ricardo González Bravo. Por todo su apoyo y comprensión durante el desarrollo de esta investigación.

Ing. Rafael González Pintor

CUCEI. Departamento Ingeniería Industrial

Universidad de Guadalajara.