Está en la página 1de 36

INVESTIGACIÓN DE OPERACIONES 2

Programación Dinámica
Conceptos básicos
Contenido
1. Introducción
2. Recursividad dinámica
3. Tipos de programas dinámicos
4. Modelos dinámicos.
5. Subdivisión del problema
6. Estructura de un programa dinámico
7. Representación de un modelo dinámico
8. Función recursvia
9. Representación y procesos de solución
10. Tableros dinámicos del proceso
11. Procesos de decisión dinámica
12. Rangos de estado y decisión por etapa
13. El problema de la diligencia
14. El problema de las inversiones
15. Bibliografía
LOGRO DE LA UNIDAD

Al finalizar la unidad, el estudiante resuelve problemas


de optimización no lineal a través de la elaboración y
solución computacional de un modelo matemático
válido de programación dinámica, para tomar la mejor
decisión en las operaciones de una empresa industrial o
de servicios.
INTRODUCCIÓN
La programación dinámica es
una técnica matemática, que
es de utilidad en muchos
tipos de problemas de
decisión.
Esta técnica se debe mucho a
Richard Bellman y sus
asociados en la Rand
Corporation.
La programación dinámica:
• Descompone un problema de optimización
en una secuencia finita de subproblemas
de optimización (problemas más
pequeños), interrelacionados entre sí.
• Luego, resuelve cada subproblema de Richard Bellman (1920-1984)
Padre de la Programación Dinámica
optimización.
• Una vez resueltos los subproblemas,
encuentra la solución óptima del problema.
Año de la publicación:1957
… RECURSIVIDAD DINÁMICA
Una cantidad positiva C se quiere
dividir en n partes de tal manera que
el producto de las n partes sea
máximo o mínimo, dependiendo del
objetivo, son resueltos de manera
secuencial.
Se usa el método de la recurrencia
para obtener la subdivisión óptima
(recursividad).
TIPO DE PROGRAMAS DINÁMICOS
Discreto Determinístico Acotada

PD

Continuo Probabilístico No acotada


MODELOS DINÁMICOS
• Problemas de la diligencia
• Problemas de la mochila
• Problemas de confiabilidad.
• Problemas de asignación de recursos.
• Problemas de producción con inventarios.
• Problemas de secuenciación:
• Agente viajero.
• Carga de máquinas.
• Programa de mantenimiento de máquinas.
• Problemas de reemplazo
• Problemas con función objetivo probabilística
• Problemas de Gestión de Réditos “Revenue Management”
SUBDIVISIÓN DE PROBLEMA
Decisiones Subdivisión en partes

Relación entre partes

dn

Sn n Sn-1
Rendimientos

Representación general de una etapa rn


ESTRUCTURA DE UN PROGRAMA DINÁMICO

1. Etapas: Partes subdividas


del problema (n)
dn
2. Estados: Relación entre
etapas (Sn) Sn n Sn-1
3. Decisión: Opciones por
etapas (dn) rn
4. Función de retorno:
Función objetivo (rn)
REPRESENTACIÓN DE UN MODELO DINÁMICO

dn dn-1 d1

Sn-1 Sn-2 S1
Sn n Sn-1
n-1 1 S0

rn rn-1 r1
FUNCIÓN RECURSIVA
fn(Sn) = Optimizar {rn(Sn,dn) 𝜏 f*n-1(Sn-1)}
Donde:
dn fn(Sn) = Función óptima del estado en la etapa n
Optimizar = Maximizar (Max) o Minimizar (Min)
rn(Sn,dn) = Rendimiento en función de estado y decisión de la etapa n
𝜏 = Aditivo (+) o Multiplicativo (x)
Sn n f*n-1(Sn-1) = La mejor decisión de la Función en la etapa anterior (n-1)
𝑛

𝑓𝑛 𝑆𝑛 = 𝑀á𝑥 𝑜 𝑀í𝑛 { ∑ 𝑟𝑛(𝑆𝑛, 𝑑𝑛)}

rn 𝑖=1
FUNCIÓN DEL ESTADO dn
Sn-1 = Sn – ωndn
Sn n Sn-1
𝑆𝑛
𝑑𝑛 ≤
𝜔𝑛 ωndn

Donde:
Sn = Estado en la etapa n Sn n Sn-1
Sn-1 = Estado en la etapa n-1
ωn = Factor de relación entre estado y decisión
dn = Decisión en la etapa n
REPRESENTACIÓN Y PROCESOS DE SOLUCIÓN
De atrás hacia adelante: Comienza en la etapa 1 y termina en la etapa n
dn dn-1 dn-2 d2 d1

Sn-1 Sn-2 Sn-3 S2 S1 S0


Sn n n-1 n-2 2 1

rn rn-1 rn-2 r2 r1
De adelante hacia atrás hacia adelante: Comienza en la etapa n y termina en la etapa 1
d1 d2 d3 dn-1 dn

S2 S3 S4 Sn-1 Sn Sn+1
S1 1 2 3 n-1 n

r1 r2 r3 rn-1 rn
TABLEROS DINÁMICOS DEL PROCESO
General: casos de atrás hacia adelante Etapa 1: n=1 (última etapa y primera de evaluación)
dn d1

Sn n Sn-1 S1 1
S0
f1(S1) = Optimizar {r1(S1,d1)}
rn
f1(S1) = Optimizar {r1(S1,d1) 𝜏 f* 0(S0)} r1
S1 d1 f1*(S1) X1
Si 𝜏 = aditivo  S0 = 0, entonces f* 0(S 0) = 0 Valor mínimo
Si 𝜏 = multiplicativo  S0 = 0, entonces f* 0(S 0) = 1


S0 = S1 – d1  d1 = S1 Valor máximo
Todo lo disponible se decide
TABLEROS DINÁMICOS DEL PROCESO
General: casos de atrás hacia adelante Etapa 2 hasta n-1 (etapas intermedias)
dn dn-1 d2

Sn n Sn-1 Sn-1 Sn-2 S2 2 S1


n-1

rn rn-1 r2

fn(Sn) = Optimizar {rn(Sn,dn) 𝜏 f* n-1(Sn-1)}


d[2 hastan-1] f[2hasta n-1]*
dn ≤ Sn/ωn S[2hasta n-1]
Valor mínimo … Valormáximo (S[2 hastan-1])
X[2hastan-1]

Sn-1 = Sn – ωndn Valormínimo

Valormáximo
TABLEROS DINÁMICOS DEL PROCESO
General: casos de atrás hacia adelante Etapa n (última etapa de evaluación, primera de decisión)
dn dn

Sn n Sn-1 Sn n-1 Sn-1

fn(Sn) = Optimizar {rn(Sn,dn) 𝜏 f* n-1(Sn-1)}


rn rn
dn ≤ Sn/ωn
Sn-1 = Sn – ωndn

dn
Sn fn*(Sn) Xn
Valor mínimo … Valor máximo
Disponible

Solución óptima del problema


TABLEROS DINÁMICOS DEL PROCESO
General: casos de atrás hacia adelante En resumen:
S1 d1 f1*(S1) X 1
dn
Valor mínimo


Sn n Sn-1
Valor máximo
Todo lo disponible se decide

rn S[2hasta n-1]
d[2 hastan-1] f[2hasta n-1]*
X[2hastan-1]
Valor mínimo … Valormáximo (S[2hastan-1])
fn(Sn) = Optimizar {rn(Sn,dn) 𝜏 f* (S )} Valormínimo
n-1 n-1
dn ≤ Sn/ωn


Sn-1 = Sn – ωndn
Valormáximo

dn
Sn fn*(Sn) Xn
Valor mínimo … Valor máximo
Disponible
PROCESO DE DECISIÓN DINÁMICA
dn
Sn fn*(Sn) Xn
Valor mínimo … Valor máximo
Disponible

d[2 hastan-1] f[2hasta n-1]*


S[2hasta n-1] X[2hastan-1]
Valor mínimo … Valormáximo (S[2 hastan-1])
Valormínimo

Valormáximo
S1 d1 f 1 *(S 1 ) X1
Valor mínimo


Decisiones desde la última etapa de evaluación
hacia la primera etapa, de manera recursiva Valor máximo
T o d o lo disponible se decide
RANGOS DE ESTADO Y DECISIÓN POR ETAPA

Etapa Extremos de rango Estado Decisiones


Minimo Valor mínimo Valor mínimo
1
Maximo Valor máximo Valor máximo
Minimo Valor mínimo Valor mínimo
2
Maximo Valor máximo Valor máximo


Minimo Valor mínimo Valor mínimo
n-1
Maximo Valor máximo Valor máximo
Minimo Disponible Valor mínimo
n
Maximo Disponible Valor máximo
EL PROBLEMA DE LA DILIGENCIA (RUTAS)
Se necesita conocer cual es la mejor ruta desde la estación A hasta la estación H si tiene
opciones de recorrido por las estaciones B, C…G con información de distancias (en
kilómetros) entre cada estación.
10
B E
2
5 8

10
6 12 3
A C F H
10
7
9 8

D 10 G
¿Cuál es la ruta mas corta?
Etapas: Tramos de la ruta
Estados: Estación i (A..H)
Decisión: Elegir la estación o ruta
Función de retorno: Minimizar distancia

Rangos Estado Decisión


Mínimo E H
Máximo G H

Etapa 1

Decisión F1 X1
Estado H
E 2 2 H
F 3 3 H
G 8 8 H
Rangos Estado Decisión
Mínimo B E
Máximo D G

Etapa 2

Decisión F2 X2
Estado E F G
B =10 +2 =12 =8+3=11 - 11 F
C =10+2=12 =12+3=15 =10+8=18 12 E
D - =9+3=12 =10+8=18 12 F
Etapa 3

Rangos Estado Decisión


Mínimo A B
Máximo A D

Decisión F3 X3
Estado B C D
A =5+11=16 =6+12=18 =7+12=19 16 B
d3=B d2 = F d1=H

S2=B S1=F
S3 = A 3 Sn-1
n-1 S0=H
1
r3 = 5 r2=8 r1= 3

Ruta óptima:
A–B–F-H
Ejercicio – Ruta mas corta

Un apostador de Oregón decide irse al medio oriente para unirse a la fiebre del
petróleo en Bagdad (Irak) . Tiene que hacer un viaje por avión, férreo y terrestre a
través de territorios donde existen serios peligros de ser atacados por personas de
mal vivir. El lugar de partida y destino son fijos, pero tiene muchas opciones en
cuanto a que zonas debe elegir como puntos intermedios. Se desea determinar la ruta
mas segura, con el objetivo que el costo del seguro para cualquier ruta este basada
en una evaluación de seguridad del viaje, la ruta mas segura debe ser aquella con el
costo total mas barato. ¿Cuál es la ruta que minimiza el costo total del seguro?
Etapas : Tramos de la ruta Hurgada 395
Estados : Zonas intermedias (Bruselas, Copenahue… Bagdag)
Decisión : Elegir ruta Bagdag
Función de retorno: Minimizar costo del seguro
450
Rango Estado Decisión ETAPA 1 Ismalía

Mínimo Hurgada Bagdag


Máximo Ismalía Bagdag

Decisión F1 X1
Estado Bagdag
Hurgada 395 395 Bagdag
Ismalía 450 450 Bagdag
Rango Estado Decisión
Estocolmo 185
Mínimo Estocolmo Hurgada ETAPA 2
Máximo Gdansk Ismalía 475
Hurgada
695

Decisión F2 X2 Florencia 380

Estado Hurgada Ismalía


350 Ismalía

Estocolmo =185+395=580 =475+450=925 580 Hurgada 320


Florencia =695+395=1090 =380+450=830 830 Ismalía Gdansk

Gdansk =350+395=745 =320+450=770 745 Hurgada


Rango Estado Decisión Bruselas
700 Estocolm
o
Mínimo Bruselas Estocolmo ETAPA 3 320
400
Máximo Dortmund Gdansk 600 695
Copenah
ue 280 Florencia

415
350
420
Dortmun 150
Gdansk
d
565

Decisión F3 X3
Estado Estocolmo Florencia Gdansk
Bruselas =700+580=1280 =400+830=1230 =600+745= 1345 1230 Florencia
Copenahue =320+580=900 =280+830=1110 =415+745=1160 900 Estocolmo
Dortmund =420+580=1000 =150+830=980 =565+745=1310 980 Florencia
Rango Estado Decisión
Mínimo Oregón Bruselas ETAPA 4 Brusela
s
Máximo Oregón Dortmund 200
Oregó 450 Copena
n hue

350
Dortmu
nd

Decisión F4 X4
Estado Bruselas Copenahue Dortmund
Oregón =200+1230=1430 =450+900=1350 =350+980=1330 1330 Dortmund

Oregón  Dortmund  Florencia  Ismalía  Bagdag


d4 =Dortmund d3 =Florencia d2=Ismalía d1 = Bagdag

S4 = Oregón S3 = Dortmund S2=Florencia S1==Ismalía


4 S0= Bagdag
3 2 1

R4=350 R3=150 R2=380 R1 = 450


EL PROBLEMA DE LAS INVERSIONES (DISTRIBUCIÓN)
Se necesita conocer como distribuir MMUS$8 de un inversionista en
unidades de MMUS$1 en distinto bancos para obtener la mejor rentabilidad
total, si cada uno de ellos le ofrece un rendimiento distinto por inversión.
Considerar la información registrada en la siguiente tabla:
Cantidad Rendimiento anual por colocaciones (MUS$)
asignada
(MMUS$) Banco A Banco B Banco C Banco D
1 8 10 7 10
2 10 11 8 13
3 13 12 9 16
4 14 13 14 18
5 17 16 16 19
¿Cómo debe invertir?
Etapas: Banco i (A..D)
Estado: Disponibilidad de capital (8 millones)
Decisión: Monto a invertir (1..5 mills) en cada banco
Función de retorno: Maximizar la rentabilidad

ETAPA 1 = Banco D

Rango Estado Decisión


Decisión F1 X1
Mínimo 1 1
Estado 1 2 3 4 5
Máximo 5 5
1 10 - - - - 10 1
2 - 13 - - - 13 2
3 - - 16 - - 16 3
4 - - - 18 - 18 4
5 - - - - 19 19 5
ETAPA 2 = Banco C

Rango Estado Decisión


Mínimo 2 1
Máximo 6 5

Decisión F2 X2
Estado 1 2 3 4 5
2 =7+10=17 - - - - 17 1
3 =7+13=20 =8+10=18 - - - 20 1
4 =7+16=23 =8+13=21 =9+10=19 - - 23 1
5 =7+18=25 =8+16=24 =9+13=22 =14+10=24 - 25 1
6 =7+19=26 =8+18=26 =9+16=25 =14+13=27 =16+10=26 27 4
ETAPA 3 = Banco B

Rango Estado Decisión


Mínimo 3 1
Máximo 7 5

Decisión F3 X3
Estado 1 2 3 4 5
3 =10+17=27 - - - - 27 1
4 =10+20=30 =11+17=28 - - - 30 1
5 =10+23=33 =11+20=31 =12+17=29 - - 33 1
6 =10+25=35 =11+23=34 =12+20=32 =13+17=30 - 35 1
7 =10+27=37 =11+25=36 =12+23=35 =13+20=33 =16+17=33 37 1

También podría gustarte