100% encontró este documento útil (1 voto)
243 vistas11 páginas

Programación Dinámica

La programación dinámica es un método cuantitativo desarrollado por Richard Bellman alrededor de la década de los años 50, con la finalidad de optimizar procesos, ya que en ese momento esa era su función como trabajador de RAND Corporation. Bellman decidió emplear la palabra dinámica a está técnica, ya que deseaba analizar las variables de los problemas con respecto al tiempo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
243 vistas11 páginas

Programación Dinámica

La programación dinámica es un método cuantitativo desarrollado por Richard Bellman alrededor de la década de los años 50, con la finalidad de optimizar procesos, ya que en ese momento esa era su función como trabajador de RAND Corporation. Bellman decidió emplear la palabra dinámica a está técnica, ya que deseaba analizar las variables de los problemas con respecto al tiempo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 11

Programación Dinámica:

La programación dinámica es un método cuantitativo desarrollado por Richard


Bellman alrededor de la década de los años 50, con la finalidad de optimizar
procesos, ya que en ese momento esa era su función como trabajador de RAND
Corporation. Bellman decidió emplear la palabra dinámica a está técnica, ya que
deseaba analizar las variables de los problemas con respecto al tiempo.
La teoría, Bellman desarrolla el Principio de Optimilidad, el cual es fundamental
para la resolución adecuada de los cálculos recursivos. Él indica que “una política
11 óptima tiene la propiedad de que, independientemente de las decisiones
tomadas para llegar a un estado particular, en una etapa particular, las decisiones
restantes deben constituir una política óptima con independencia del estado
resultante de la primera decisión” . Es decir, que las decisiones futuras, para las
etapas futuras desarrollan una política óptima independiente de las decisiones de
las etapas predecesoras.
La programación dinámica tiene como finalidad encontrar una solución de un
problema de optimización en forma secuencial. A diferencia de la programación
lineal, la programación entera no es un algoritmo de solución única, sino más bien
un método para resolver un problema grande y único solventando una secuencia
de problemas más pequeños, sin importar el número de ellos. Ahora, la
programación dinámica permite resolver un problema que depende del tiempo en
forma de una continuidad de problemas de un sólo periodo, en donde los
parámetros de cada periodo dependen del periodo que se considera; es posible
que no se conozca la cuantificación de cada periodo sino hasta que éste llega.
La programación dinámica tiene como finalidad encontrar una solución de un
problema de optimización en forma secuencial. A diferencia de la programación
lineal, la programación entera no es un algoritmo de solución única, sino más bien
un método para resolver un problema grande y único solventando una secuencia
de problemas más pequeños, sin importar el número de ellos. Ahora, la
programación dinámica permite resolver un problema que depende del tiempo en
forma de una continuidad de problemas de un sólo periodo, en donde los
parámetros de cada periodo dependen del periodo que se considera; es posible
que no se conozca la cuantificación de cada periodo sino hasta que éste llega.
Características:
Características Para reconocer que se está frente a un problema que se puede
plantear como una programación dinámica, es necesario identificar su estructura:
etapa, estado y política. Adicionalmente, existen características básicas que
ayudan a distinguirlos. (Hillier, 2010,p.398). El problema a desarrollar es divisible
en etapas, las mismas que tendrán sus propias políticas de decisión.
Los estados deben estar asociados a cada etapa del problema. Asimismo, estos
pueden ser finitos o infinitos, dependerá de las condiciones posibles que presente
el problema. La política de decisión del estado actual, tiene como efecto
transformarlo en un estado inicial para la siguiente etapa. Para brindar solución al
problema, es necesario diseñar de política óptima en cada etapa.
Se plantea una política óptima independiente. Es decir, que la política óptima
tomada en las demás etapas, no condiciona a las etapas anteriores. Esto se
conoce como el Principio de Optimilidad de Bellman. La solución comienza una
vez sea identificada la política óptima de la última etapa. Existe disponibilidad de
una relación recursiva que detecte la política óptima para la etapa “n”, dada la
política óptima de la etapa siguiente “n+1”.

Etapas y estados en programación dinámica:

Cuando una variable describe cuántas decisiones han sido tomadas hasta cierto
momento y si el número total de decisiones es fijo, el número de etapas será igual
al número de decisiones. Las variables de estado, que son las posibles
condiciones variadas en las cuales el procedimiento se encuentra en esa etapa del
problema y el número de estados, pueden ser finitas o infinitas. La decisión en
cada etapa es el resultado de asignar un número de veces las variables de estado
sucesivas Xn, Xn+1 que están unidas a través de la ecuación recursiva que
calcula los valores de Xn+1 usando el valor de Xn y la decisión en el estado dn.
Las variables de estado pertenecen al presente estado con el anterior y permiten
calcular la restante cantidad de recursos escasos. En programación dinámica
existen dos procedimientos: 1. En retroceso: Caracterizado por tener unas
condiciones terminales fijas y el cálculo de valores numéricos se realiza desde la
línea terminal al punto inicial. 2. En avance: Caracterizado por tener unas
condiciones iniciales fijas y el cálculo de valores numéricos se realiza desde la
línea inicial al punto final.
Tipos de Enfoque

Programación Dinámica Determinística


El enfoque determinístico consiste en que el estado de la siguiente etapa se
encuentra determinado por completo con respecto al estado y la decisión que
posee la etapa actual. A continuación, un diagrama que representa la estructura
básica de la programación dinámica determinística.
Programación Dinámica Probabilística
En este enfoque, el valor del estado de la siguiente etapa y política de decisión
queda completamente determinado mediante una distribución probabilística. A
continuación, un diagrama que representa la estructura básica de la programación
dinámica probabilística

Ejercicios:
Problema 1:
Se dispone de 6 brigadas para asignar a tres sectores. El aumento de la productividad en los sectores
depende de la asignación, y es la que se indica en el cuadro siguiente:
Núm.brigadas asign. \ sector Sector-1 Sector-2 Sector-3

0 0 0 0

1 12 14 13

2 25 19 21

3 30 37 32

4 40 49 48
¿Cuántas brigadas asignar a cada sector para hacer máxima la suma de aumento de la
productividad?.

Una brigada no asignada no tiene valor asociado en la productividad. Esto equivale a decir que
el valor al horizonte de una brigada no asignada es de cero, ya que ese valor no influye sobre el
valor de la función objetivo.

Solución:

Las etapas: Son tres etapas

Los Estados: Son el número de brigadas disponibles al inicio de la etapa.

Estado inicial: Es uno sólo, y es tener 6 brigadas disponibles.

Variables de decisión: Son 3, indicadas por: X1 , X2 , X3 y el valor de ellas es un elemento del


conjunto: 0,1,2,3, 4 

El modelo: P: Máx (  f (Xi ); i=1,2,3) s.a: X1+X2+X3  6 ; Xi 0,1,2,3,4; i=1,2,3.

Los cálculos: n=3 S \ X3 F3* X3*

6 48 4

5 48 4

4 48 4

3 32 3

2 21 2

1 13 1

0 0 0

n=2 S \ X2 4 3 2 1 0 F2* X2*

6 49+21=70 37+32=69 19+48=67 14+48=62 0+48 70 4

5 49+13=62 37+21=58 19+32=51 14+48=62 0+48 62 1-4

4 49+ 0=49 37+13=50 19+21=40 14+32=46 0+48 50 3

3 - 37+0=37 19+13=32 14+21=35 0+32 37 3

2 - - 19+ 0=19 14+13=27 0+21 27 1


n=1 S \ X1 4 3 2 1 0 F1* X1 *

6 40+27=67 30+37=67 25+50=75 12+62=74 0+70=70 75 2

Respuesta: Optimo =75; Solución óptima: X1*=2; X2*=3; X3*=1

Respuesta: La mayor productividad posible es de 75 y se logra asignando 2 brigadas al sector 1, 3


brigadas al sector 2 y 1 brigada al sector 3.

PROBLEMA 2 :

En el transcurso de los cuatro siguientes años, durante cierto proceso de producción, se desea saber
cuándo remplazar una máquina o seguir conservándola con la finalidad de encontrar lo más
beneficioso para la empresa. Inicialmente se tiene una máquina con tres años de antigüedad
trabajando en la producción. Los datos respecto a la maquina los obtenemos en la siguiente tabla:

t I(t) C(t) R(t)


Tiempo Ingreso Costo de Valor de
(años) (miles de $) operación ( $ ) Recuperación ( $ )
0 20000 200 -
1 19000 600 80000
2 18500 1200 60000
3 17200 1500 50000
4 15500 1700 30000
5 14000 1800 10000
6 12200 2200 5000

Considerar que:
 El costo de una máquina nueva es $100000.
 Toda máquina con 6 años de antigüedad debe reemplazarse.
 Terminado el horizonte de planeación, la máquina debe venderse.
Como esta es la última etapa, la máquina debe venderse, y no hay contribuciones posteriores.
El estado de la etapa n es la antigüedad t de la máquina al inicio del año n, entonces:

Etapa 4
t Conservar Reemplazar Solución óptima
s4 I(t) - C(t) + R(t +1) I(0) + R(t) +R(1) - 100000 - C(0) f4*(s4) x4*
1 19000-600+60000=78400 20000+80000+80000-100000-200=79800 79800 R
2 18500-1200+50000=67300 20000+60000+80000-100000-200=59800 67300 C
3 17200+1500+30000=45700 20000+50000+80000-100000-200=49800 49800 R
6 Se debe reemplazar 20000+5000+80000-100000-200=4800 4800 R

Etapa 3
t Conservar Reemplazar Solución óptima
s3 I(t) - C(t) + f4(t +1) I(0) + R(t) - 100000 - C(0) + f4*(1) f3*(s3) x3*
1 19000-600+67300=85700 20000+80000-100000-200+79800=79600 85700 C
2 18500-1200+49800=67100 20000+60000-100000-200+79800=59600 67100 C
5 14000-1800+4800=17000 20000+10000-100000-200+79800=9600 17000 C
Etapa 2
t Conservar Reemplazar Solución óptima
s2 I(t) - C(t) + f3(t +1) I(0) + R(t) - 100000 - C(0) + f3*(1) f2*(s2) x2*
1 19000-600+67100=85500 20000+80000-100000-200+85700=85500 85500 C o R
4 15500-1700+17000=30800 20000+30000-100000-200+85700=35500 35500 R

Etapa 1
t Conservar Reemplazar Solución óptima
s1 I(t) - C(t) + f2(t +1) I(0) + R(t) - 100000 - C(0) + f2*(1) f1*(s1) x1*
3 17200-1500+35500=51200 20000+50000-100000-200+85500=55300 55300 R

PROBLEMA 3:

Una empresa requiere tener una máquina que trabaje durante los 5 años siguientes. En la actualidad
tiene una máquina nueva. La compañía podría conservar la máquina o venderla al empezar cada
año y comprar una nueva. Una máquina nueva cuesta 5000 dólares. Los ingresos obtenidos con la
máquina, el costo de mantenimiento y el valor de salvamento que se puede obtener al venderla al
final del año, dependen de la edad de la máquina (véase tabla). Puede utilizarse una máquina hasta
un máximo de tres años de antigüedad.

Utilice la programación dinámica para maximizar la utilidad neta ganada durante los seis años
siguientes.

AÑO 0-1 AÑO 1-2 AÑO 2-3


Ingresos ($) 4500 3000 1500
Costos de operación ($) 500 700 1100
Valor de salvamento al final del año 3000 1800 500

ETAPAS: Años
ESTADOS: Edad de la máquina
ALTERNATIVAS: Conservar, Reemplazar

Como esta es la última etapa, la máquina debe venderse, y no hay contribuciones


posteriores.
El estado de la etapa n es la antigüedad t de la máquina al inicio del año n, entonces:

Etapa 6
t Conservar Reemplazar Solución óptima
s6 I(t) - C(t) + R(t +1) I(0) + R(t) +R(1) - 5000 - C(0) f6*(s6) x6*
1 3000-700+1800=4100 4500+3000+3000-5000-500=5000 5000 R
2 1500-1100+500=900 4500+1800+3000-5000-500=3800 3800 R
3 Se debe reemplazar 4500+500+3000-5000-500=2500 2500 R

Etapa 5
t Conservar Reemplazar Solución óptima
s5 I(t) - C(t) + f6*(t +1) I(0) + R(t) - 5000 - C(0) + f6*(1) f5*(s5) x5*
1 3000-700+3800=4100 4500+3000-5000-500+5000=7000 7000 R
2 1500-1100+2500=2900 4500+1800-5000-500+5000=5800 5800 R
3 Se debe reemplazar 4500+500-5000-500+5000=4500 4500 R

Etapa 4
t Conservar Reemplazar Solución óptima
s4 I(t) - C(t) + f5*(t +1) I(0) + R(t) - 5000 - C(0) + f5*(1) f4*(s4) x4*
1 3000-700+5800=8100 4500+3000-5000-500+7000=9000 9000 R
2 1500-1100+4500=4900 4500+1800-5000-500+7000=7800 7800 R
3 Se debe reemplazar 4500+500-5000-500+7000=6500 6500 R

Etapa 3
t Conservar Reemplazar Solución óptima
s3 I(t) - C(t) + f4*(t +1) I(0) + R(t) - 5000 - C(0) + f4*(1) f3*(s3) x3*
1 3000-700+7800=10100 4500+3000-5000-500+9000=11000 11000 R
2 1500-1100+6500=6900 4500+1800-5000-500+9000=9800 9800 R

Etapa 2
t Conservar Reemplazar Solución óptima
s2 I(t) - C(t) + f3*(t +1) I(0) + R(t) - 5000 - C(0) + f3*(1) f2*(s2) x2*
1 3000-700+9800=12100 4500+3000-5000-500+11000=13000 13000 R

Etapa 1
t Conservar Reemplazar Solución óptima
s1 I(t) - C(t) + f2*(t +1) I(0) + R(t) - 5000 - C(0) + f2*(1) f1*(s1) x1*
0 3000-700+13000=15300 - 15300 C
PROBLEMA 4.

Una empresa tiene los siguientes datos de demanda de su producto:


Mes Demanda
1 1
2 3
3 2
4 4
¿Cuántas unidades debe fabricar en el mes? Sabiendo que:
o Durante el mes que se producen algunas unidades se incurre en un costo fijo de $30.
o El costo variable es de $10 por cada unidad fabricada.
o Al final de cada mes se genera un costo de almacenamiento de $5 por cada unidad.
o Las limitaciones de capacidad permiten una producción máxima de 5 unidades.
o El tamaño del almacén restringe un inventario final máximo de 4 unidades cada mes.
o Se dispone de 0 unidades al principio del primer mes.

Características:
 Se conoce la demanda de cada mes al principio del mes 1.
 Se debe determinar cuántas unidades deben producirse teniendo en cuenta que la capacidad de
fabricación es limitada.
 La demanda de cada período debe satisfacerse a tiempo con el inventario o la producción actual.
Durante cada período donde la producción tiene lugar se genera un costo fijo, así como un costo
variable por unidad.
 Se tiene capacidad limitada de almacenamiento. Se genera un costo de almacenamiento por unidad
al inventario final de cada período.
 El objetivo es minimizar el costo total por cumplir con la demanda de cada período.

Modelo de revisión periódica: El inventario se conoce al final de cada período, y se toma la decisión
sobre la producción.

Etapa 4 (demanda=4)
f4(s4,x4)=30+10x4 Solución óptima
s4
x4 = 0 x4 = 1 x4 = 2 x4 = 3 x4 = 4 f4*(s4) x4*
0 - - - - 30+40 70 4
1 - - - 30+30 - 60 3
2 - - 30+20 - - 50 2
3 - 30+10 - - - 40 1
4 0+0 - - - - 0 0

Etapa 3 (demanda=2)
Solución
f3(s3,x3)= 5(y3+x3-d3)+30+10x3+f4*(y3+x3-d3)
s3 óptima
x3 = 0 x3 = 1 x3 = 2 x3 = 3 x3 = 4 x3 = 5 f3*(s3) x3*
0 - - 0+50+70=120 5+60+60=125 10+70+50=130 15+80+40=135 120 2
1 - 0+40+70=110 5+50+60=115 10+60+50=120 15+70+40=125 20+80+0=100 100 5
2 0+0+70=70 5+40+60=105 10+50+50=110 15+60+40=115 20+70+0=90 - 70 0
3 5+0+60=65 10+40+50=100 15+50+40=105 20+60+0=80 - - 65 0
4 10+0+50=60 15+40+40=95 20+50+0=70 - - - 60 0
Etapa 2 (demanda=3)
Solución
f2(s2,x2)= 5(y2+x2-d2)+30+10x2+f3*(y2+x2-d2)
s2 óptima
x2 = 0 x2 = 1 x2 = 2 x2 = 3 x2 = 4 x2 = 5 f2*(s2) x2*
0 - - - 0+60+120=180 5+70+100=175 10+80+70=160 160 5
1 - - 0+50+120=170 5+60+100=165 10+70+70=150 15+80+65=160 150 4
2 - 0+40+120=160 5+50+100=155 10+60+70=140 15+70+65=150 20+80+60=160 140 3
3 0+0+120=120 5+40+100=145 10+50+70=130 15+60+65=140 20+70+60=150 - 120 0
4 5+0+100=105 10+40+70=120 15+50+65=130 20+60+60=140 - - 105 0

Etapa 1 (demanda=1)
Solución
f1(s1,x1)= 5(y1+x1-d1)+30+10x1+f2*(y1+x1-d1)
s1 óptima
x1 = 0 x1 = 1 x1 = 2 x1 = 3 x1 = 4 x1 = 5 f1*(s1) x1*
0 - 0+40+160=200 5+50+150=205 10+60+140=210 15+70+120=205 20+80+105=205 200 1

También podría gustarte