Subido por FABIO VALENTIN SUPO MARTINEZ

NOTAS DE PROGRAMACIÓN DINÁMICA

Anuncio
Programación Dinámica
Investigación de operaciones II
INSTITUTO TECNOLÓGICO DE TEPIC
MATERIA:
INVESTIGACION DE OPERACIONES II
NOTAS DE PROGRAMACIÓN
DINÁMICA
DEPARTAMENTO DE INGENIERIA INDUSTRIAL
ELABORADAS POR:
M.C. HECTOR MARTINEZ RUBIN CELIS
M.C. Héctor Martínez Rubin Celis
1/31
Programación Dinámica
Investigación de operaciones II
CASO
FABRICA DE TORTILLAS "MI TIERRA"
La fábrica de tortillas "Mi Tierra" es una pequeña compañía ubicada en Tuxpan, Nay. En ella se
producen varios productos de harina de maíz y trigo. Principalmente, estos productos son tortillas de
maíz y trigo. Las tortillas de maíz son utilizadas en enchiladas, tacos y tostadas; las tortillas de
harina se utilizan normalmente en los burritos.
El gerente de "Mi Tierra" ha estado trabajando para obtener un contrato con una de las compañías de
comida rápida tipo mexicana más importante la "Taco-Tec". La semana pasada fue informado que la
compañía "Taco-Tec" había decidido comprar 200 cajas de tortillas de harina a "Mi Tierra" en cada
uno de los próximos 7 meses (cada caja contiene 1000 tortillas de harina) a un precio fijo.
El gerente inmediatamente empezó a calcular las ganancias que "Mi tierra" pueda tener, llegando a
la conclusión de que la compañía hará $1000 cada mes si "mi Tierra" produce exactamente la
cantidad necesitada ese mes. Después de un momento de juicio, el gerente calculo también la
ganancia por producir más del número de cajas necesitadas para un solo mes. El hizo esto pensando
que las tortillas de harina pueden ser producidas y congeladas por un máximo de 4 meses. "Mi
Tierra" puede producir más tortillas para un solo mes si se trabaja tiempo extra y contratando más
ayuda. Esto no tendrá efecto en la producción de otros productos y se comporta igual en todos los
meses.
El gerente ha calculado las ganancias para la producción de varias cantidades de tortillas, o como
son llamados TAMAÑOS DE LOTE, como a continuación se muestra;
Tamaño del lote
(Cajas)
200
400
600
800
Ganancia
$1000
$2500
$3750
$4750
Debido a la combinación de factores económicos y de almacenaje, existen economías de escala en la
producción del tamaño de lote grande, pero también existen los costos de congelar las tortillas y los
costos resultantes del deterioro de algunas tortillas. Pasando de un período de 2 meses, el deterioro
por congelación se incrementa marcadamente.
Debido a que el gerente desea obtener la mayor ganancia posible para "Mi Tierra" en un contrato de
7 meses con "Taco-Tec", el desea producir el tamaño de lote que conducirá a la ganancia total
máxima.
Se busca optimizar una función objetivo:
Programación Lineal, considera respuestas en fracciones, pero este problema incluye soluciones de
tamaño de lote exacto. Además P.L. no siempre considera decisiones sobre el tiempo y el problema
de producción de tortillas requiere ser separado en una secuencia de decisiones.
M.C. Héctor Martínez Rubin Celis
2/31
Programación Dinámica
Investigación de operaciones II
Este problema requiere una secuencia de decisiones que sean realizadas con respecto al tiempo, y los
parámetros (demanda, ganancias, etc.) son asumidos ser conocidos con certeza.
La primera pregunta a hacerse es que tanto producir cada mes tal que sean maximizadas las
ganancias totales para un período de planeación de 7 meses considerando la restricción de producir
al máximo hasta 4 meses en adelantado a la demanda debido a que los productos se echan a perder
después de 4 meses.
Sea:
w1 = Número de veces que la demanda de un mes es producida (200 cajas).
w2 = Número de veces que la demanda de dos meses es producida (400 cajas).
w3 = Número de veces que la demanda de tres meses es producida (600 cajas).
w4 = Número de veces que la demanda de cuatro meses es producida (800 cajas).
Usando estas definiciones el problema es formulado de la manera siguiente:
Maximizar
1000w1+ 2500w2+ 3750w3+ 4750w4
Sujeto a;
w1+ 2w2+ 3w3+ 4w4 = 7
wi = 0,1,2,3,... para toda i
Este problema parece uno de Programación Lineal, pero debido a los requerimientos de que las
variables wi tengan valores discretos este problema pudiera ser resuelto como no de Programación
Entera, pero ya que este es un problema de secuencia de tiempo se pudiera utilizar una técnica
denominada Programación Dinámica.
Programación Dinámica enfoca este problema como una secuencia de decisiones y trabaja para
tomar una serie de decisiones que conduzcan a las mayores ganancias sujeto a cualquier restricción
que exista en el problema.
Tabla de decisiones del séptimo mes
Mes
7
Demanda
200
Opciones de
producción
200
M.C. Héctor Martínez Rubin Celis
Ganancia
inmediata
$1000
Demanda
restante
0
Mejor
ganancia
sobre la
demanda
restante
0
Ganancia
total
$1000 *
3
Programación Dinámica
Investigación de Operaciones II
Tabla de decisiones del sexto mes
Mes
6
Demanda
400
Opciones de
producción
Ganancia
inmediata
Demanda
restante
Mejor
ganancia
sobre la
demanda
restante
Ganancia
total
$2000
200
$1000
200
$1000
400
$2500
0
0
$2500 *
Tabla de decisiones del quinto mes
Mes
Demanda
Opciones de
producción
Ganancia
inmediata
Demanda
restante
Mejor
ganancia
sobre la
demanda
restante
Ganancia
total
5
600
200
$1000
400
$2500
$3500
400
$2500
200
$1000
$3500
600
$3750
0
0
$3750 *
Tabla de decisiones del cuarto mes
Mes
Demanda
Opciones de
producción
Ganancia
inmediata
Demanda
restante
Mejor
ganancia
sobre la
demanda
restante
Ganancia
total
4
800
200
$1000
600
$3750
$4750
400
$2500
400
$2500
$5000 *
600
$3750
200
$1000
4750
800
$4750
0
0
$4750
Tabla de decisiones del tercer mes
M.C. Héctor Martínez Rubin Celis
4
Programación Dinámica
Investigación de Operaciones II
Mes
Demanda
Opciones de
producción
Ganancia
inmediata
Demanda
restante
Mejor
ganancia
sobre la
demanda
restante
Ganancia
total
3
1000
200
$1000
800
$5000
$6000
400
$2500
600
$2750
$6250 *
600
$3750
400
$2500
$6250 *
800
$4750
200
$1000
$5750
Tabla de decisiones del segundo mes
Mes
Demanda
Opciones de
producción
Ganancia
inmediata
Demanda
restante
Mejor
ganancia
sobre la
demanda
restante
Ganancia
total
2
1200
200
$1000
1000
$6250
$7250
400
$2500
800
$5000
$7500 *
600
$3750
600
$3750
$7500 *
800
$4750
400
$2500
$7250
Tabla de decisiones inicial (primer mes)
Mes
Demanda
Opciones de
producción
Ganancia
inmediata
Demanda
restante
Mejor
ganancia
sobre la
demanda
restante
Ganancia
total
1
1400
200
$1000
1200
$7500
$8500
400
$2500
1000
$6250
$8750 *
600
$3750
800
$5000
$8750 *
800
$4750
600
$3750
$8500
El programa de máximas ganancias es:
Producir
M.C. Héctor Martínez Rubin Celis
5
Programación Dinámica
mes 1 400
mes 2 0
mes 3 400
mes 4 0
mes 5 600
mes 6 0
mes 7 0
400
0
600
0
0
400
0
600
0
0
400
0
400
0
Investigación de Operaciones II
cajas
"
cajas
"
cajas
"
"
PROGRAMACION DINAMICA
DEFINICION:
Es la técnica matemática (procedimiento de optimización) que es particularmente aplicable a
problemas que requieren una secuencia interrelacionadas de decisiones.
Cada decisión transforma la actual situación en una nueva situación.
El valor de la secuencia de decisiones es generalmente igual a la suma de valores de las decisiones
individuales y las situaciones en la secuencia.
En contraste con la Programación Lineal (P.L.) no existe una formulación matemática estándar para
los problemas de Programación Dinámica (P. D.). La PROGRAMACION DINAMICA es un tipo
general de enfoque para resolver problemas y la ecuación particular debe ser desarrollada
(elaborada) para enfrentar (corresponder) a cada situación individual.
Por lo tanto cierta habilidad es requerida para reconocer cuando los problemas pueden ser resueltos
usando PROGRAMACION DINAMICA y como estos pueden ser resueltos (afrontados).
Esta habilidad puede ser probablemente desarrollada con la exposición de una amplia variedad de
aplicaciones de PROGRAMACION DINAMICA y es estudio de lo que todas las situaciones tienen
en común
H
Ejemplo de un problema de camino simple;
E
3
2
L
5
5
1
C
I
4
Suponga que usted vive en una ciudad cuyas calles están
A
distribuidas de la manera siguiente:
1
F
7
0
D
G
2
J
B
1
8
P
2
4
Todas las calles son de un solo sentido y que el número
K
mostrado en el mapa representa el esfuerzo (usualmente
tiempo y algunas veces costo de distancia) requerido para atravesar cada bloque
M.C. Héctor Martínez Rubin Celis
2
M
2
5
3
2
2
A
1
O
3
4
N
2
6
Programación Dinámica
Investigación de Operaciones II
individualmente.
Se desea encontrar el mínimo de esfuerzo total para ir de A a B. Este problema puede ser resuelto
enumerando todos los posibles caminos de A a B; sumando esfuerzos, bloque tras bloque de cada
camino y escogiendo la suma más pequeña.
Existen 20 caminos diferentes ,100 adiciones y 19 comparaciones.
⎡ N ⎤
⎢ N/2 ⎥
⎣
⎦
No. de caminos diferentes = 20
[N - 1] ⎡⎢
N ⎤
⎥
⎣ N/2 ⎦
⎡ N ⎤
⎢ N/2 ⎥ - 1
⎣
⎦
Numero de adiciones = 100
Numero de comparaciones = 19
donde N es el numero de etapas (vértices) de A a B. (numero de elementos a sumar)
A esta enumeración se le denomina FUERZA BRUTA
Aplicando PROGRAMACION DINAMICA
Denote
Sc como el esfuerzo mínimo de C a B.
SD como el esfuerzo mínimo de D a B.
No se sabe si ir diagonalmente hacia arriba o diagonalmente hacia abajo; adicionalmente se conocen
2 números;
a)
El esfuerzo total requerido para llegar a C a B por el mejor camino (mínimo esfuerzo).
b)
El esfuerzo total requerido para llegar de D a B por el mejor camino.
Se añade Sc el esfuerzo requerido para ir de A a C obteniendo el esfuerzo requerido de el mejor
camino empezando diagonalmente hacia arriba. Lo mismo se le hace a SD mas el esfuerzo para ir de
A a D pero diagonalmente hacia abajo.
Se comparan las sumas para encontrar el esfuerzo total mínimo la primera mejor decisión. Pero Sc y
SD aun son desconocidas. Sin embargo una de las principales ideas de PROGRAMACION
DINAMICA a hecho una inofensiva aparición.
M.C. Héctor Martínez Rubin Celis
7
Programación Dinámica
I)
Investigación de Operaciones II
Únicamente los esfuerzos a lo largo del mejor camino de C a B y de D a B son relevantes
para los cálculos anteriores y los esfuerzos de los restantes caminos (9 de cada uno) no
necesitan ser calculados.
Esta observación es llamada El principio de Optimalidad el cual dice;
El mejor camino de A a B tiene la propiedad de que cualesquiera que sea la decisión inicial
en A, el camino restante a B, empezando del próximo punto después de A, debe ser el mejor
camino desde ese punto a B.
Principio de optimalidad de Bellman;
Un camino óptimo tiene la siguiente propiedad;
Una vez que el primer paso es tomado, los pasos restantes deberán ser una solución óptima para el
nuevo problema, con un reducido número de etapas
ahora escribiendo la formula
1+Sc
SA = min
0+SD
esta justifica lo anterior enunciado
II)
La segunda de las principales ideas dice que mientras los dos números Sc y SD son
desconocidos inicialmente, se puede calcular Sc si son desconocidos SE y SF (mínimo
esfuerzo de E y F a B.)
7+SF
5+SE
Sc= min
y
4+SF
SD =min
3+SG
Para poder obtener SE,SF y SG es necesario calcular SI, SJ, SH y SK y estos dependen de SL, SM y SN los
cuales a su vez dependen de So y SP.
SO y SP pueden ser fácilmente calculados y trabajado en forma de Retroceso (hacia atrás) de O y P a
A podemos obtener los deseados cálculos.
SO=2
SP=1
2+SO =4 ←
SL =5+SO=7
SM= min
M.C. Héctor Martínez Rubin Celis
8
Programación Dinámica
Investigación de Operaciones II
8+SP =9
SH =3+SL=10
SN= 4+SP = 5
SK=2+SN=7
SJ =min
2+SM = 6 ←
2+SN = 7
3+SL = 10
SI= min
4+SM = 8 ←
2+SH = 12
SE= min
1+SI = 9←
1+SI = 9
SF= min
2+SJ = 8 ←
5+SJ = 11
7+SF = 15
SG= min
SD =min
4+SK = 11←
3+SG = 14 ←
5+SE = 14
1+SC = 13
SC=min
SA =min
4+SF = 12 ←
0+SD = 14 ←
Punto óptimo próximo de cada punto inicial
PO =B
PP =B
PL =O
PM =O PN =P
PH =L
PI =M
PE =I
PF =J
PA =C
PD =G
PJ =M
PK =N
PG =J o K
Pc =F
CAMINO OPTIMO
A - C - F - J - M - O - B; 1 + 4 + 2 + 2 + 2 + 2 = 13
Lo común en todos los problemas de PROGRAMACION DINAMICA es;
M.C. Héctor Martínez Rubin Celis
9
Programación Dinámica
Investigación de Operaciones II
I)
Un dado problema como un todo puede ser resuelto si los valores de las mejores soluciones
de ciertos subproblemas pueden ser determinados (principio de Optimalidad).
II)
La realización de que si uno empieza en o cerca del final del problema como un todo , los
subproblemas son tan simples como tener soluciones triviales.
TERMINOLOGIA:
Podemos nombrar a la regla que asigna valores a varios subproblemas FUNCION DE VALOR
OPTIMO. La función S es el valor óptimo y A en SA es el argumento de la función S.
La regla que asocia la primera mejor decisión con cada problema (la función P) es llamada
FUNCION DE POLITICA OPTIMA.
El principio de optimalidad produce o genera una formula o conjunto de formulas que relacionan
varios valores de S. Esta formula es llamada RELACION DE RECURRENCIA (RELACION
RECURSIVA).
El valor de la función de valor óptimo S para ciertos argumentos es asumida como obvia desde el
establecimiento del problema y desde la definición de S con cálculos requeridos. Estos valores
obvios son llamados CONDICIONES LIMITANTES.
ETAPAS Y ESTADOS EN PROGRAMACION DINAMICA
Una variable describe cuantas decisiones hasta cierto momento han sido tomadas y si el número total
de decisiones es fijo entonces el número de etapas será igual al número de decisiones.
Las variables restantes que describen la actual situación dadas por las variables de etapa son
llamadas variables de estado que en general son las variadas posibles condiciones en las cuales el
sistema se encuentra en esa etapa del problema y el número de estados puede ser finito o infinito.
*Identificar etapas y estados en el ejemplo.
M.C. Héctor Martínez Rubin Celis
10
Programación Dinámica
Investigación de Operaciones II
Xn variable de estado
dn decisión
fn retorno en la etapa n
La decisión en cada etapa es que tanto asignar
La variable de estado sucesivas Xn ,Xn+1 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 este estado dn .
Las variables de estado relacionan el presente estado con el previo.
Las variables de estado permiten calcular la restante cantidad de recursos escasos.
I) Retroceso
Procedimientos en Programación Dinámica
II) Avance
I) En Retroceso
Condiciones terminales fijas
Se realiza el cálculo de valores numéricos desde la línea terminal al punto inicial
II) En Avance
Condiciones Iniciales fijas
Se realiza el cálculo de valores numéricos desde la línea inicial al punto final.
Ejemplos
La notación simple particular para el problema del camino simple, transforma el mapa de la ciudad
en un sistema de coordenadas. Ahora el punto A tiene las coordenadas (0,0), B tiene (6,0) e I tiene
(3,1) etc.
La función de valor óptimo es ahora una función de un par de números (x,y).
*Programación en Retroceso
S(x,y)= El valor del camino de mínimo-esfuerzo conectando el vértice (x,y)con el vértice terminal
(6,0)
M.C. Héctor Martínez Rubin Celis
11
Programación Dinámica
Investigación de Operaciones II
Definamos;
au(x,y) como el esfuerzo asociado con el arco conectando el vértice (x,y) con el vértice
(x+1,y+1)(u significa flecha hacia arriba).
ad (x,y) como el esfuerzo del arco que va diagonalmente hacia abajo de (x,y) a (x+1,y-1) (d
significa hacia abajo).
au (x,y) o ad (x,y) = ∞ si no existe tal arco en nuestra red ejemplo:
au(7,8) = ∞ , Ad(4,2)= ∞
El principio de optimalidad nos da la siguiente relación recursiva
au(x,y)+S (x+1,y+1)
S(x,y)=min
ad (x,y)+S(x+1,y-1)
Condición limitante
S(6,0)=0
Si se pide formulación de
PROGRAMACION DINAMICA para un problema se refiere a;
1)
Definir la función apropiada de valor óptimo incluyendo definición especifica de los
argumentos y el significado del valor de la función.
2)
Escribir la relación de recurrencia apropiada.
3)
Anotar la condición limitante apropiada.
*Programación de Avance
S(x,y)= El valor del camino de mínimo-esfuerzo
conectando el vértice inicial con el vértice (x,y)
vértice (x,y) con el vértice inicial (0,0)
M.C. Héctor Martínez Rubin Celis
o el
12
Programación Dinámica
Investigación de Operaciones II
Relación Recursiva
au (x-1,y-1)+S(x-1,y-1)
S(x,y)=min
ad (x-1,y+1)+S(x-1,y+1)
Condición limitante S(0,0)=0
Otro enfoque de Programación Dinámica:
(Programación en avance)
Programación Dinámica empieza con una pequeña porción del problema y encuentra la solución
óptima para ese pequeño problema. Entonces gradualmente agranda el problema, encontrando la
corriente solución óptima de el problema previo, hasta que el prob. Original es resuelto
enteramente.
Definamos:
Xn(n = 1, 2,3,4,5,6)sean las variables de decisión del inmediato destino en la etapa n. La ruta será
seleccionada 1=>X1=>X2=>X3=> X4=> X5=>X6
Sea fn (s,xn) el costo total de la política general de las etapas restantes, dado que nos encontramos en
s y seleccionamos Xn como el destino inmediato dado s y n , sea Xn* el valor de Xn que minimiza
fn(s,Xn )y sea fn*(s) el valor mínimo correspondiente de fn(s,Xn) por esto fn*(s)=fn(s,Xn*)
PROGRAMACION DINAMICA resuelve el problema encontrando f6(s)*, f5(s)*, f4(s)*, f3(s)*,
f2(s)* y f1(s)*. Entonces;
Relación recursiva:
fn(s,Xn)=dS,Xn+fn+1*(Xn)
Condición limitante:
f6(s,X6)=f(X6)
M.C. Héctor Martínez Rubin Celis
13
Programación Dinámica
X6
Investigación de Operaciones II
Decisión
f6(s,X6)=f(X6)
Decisión
X5 f5(s,X5)=dSx5+f6(X5)*
s f6(x6)* X6
B
O 2 O
s
O
L
5+2=7
-
7
O
M
2+2=4
8+1=9
4
O
4+1=5
5
P
Variable
de
Estado
P
1
P
N
X4
S
H
I
J
K
S
E
F
G
S
C
D
M
4+4=8
2+4=6
-
N
f4*(s) X4*
10
L
8
M
2+5=7 6
M
2+5=7 7
N
f3(s,X3)=dSX3+f4(x3)*
H
2+10=12
-
X2
-
dec. opt. dist.min opt.
f5(s)*
X5 *
f4(s,X4)=dSX4+f*5(X4)
L
3+7=10
3+7=10
-
X3
P
I
1+8=9
1+8=9
-
J
K
f3(S)* X3*
9
I
2+6=8
8
J
5+6=11 4+7=11 11
JoK
f2(s,X2)=dSX2+f3(X2)*
E
F
5+9=14 4+8=12
7+8=15
G
3+11=14
f2(S)* x2*
12 F
14 G
X1 f(s,X1)=dsX1+f(X1)*
S
C
O
f1(S)* x1*
A
1+12=13 0+14=14
13 C
RUTA A - C - F - J - M - O - B
Produciendo un costo total de 13
*Tarea resolver estos problemas en avance y retroceso respectivamente.
M.C. Héctor Martínez Rubin Celis
14
Programación Dinámica
Investigación de Operaciones II
REEMPLAZO DE EQUIPO
Sea;
N = numero de unidades en el período planeado tiempo en unidades discretas
Reemplazar
Piezas de equipo;
Mantener.
Xi = antigüedad del equipo al principio del problema
P = precio de nuevo equipo
C(i)= costo de operación por un año cuando el equipo tiene i años de antigüedad al principio del
período
C(i)= ∞
 pone un máximo a la antigüedad del equipo
t(i)= valor de cambio el equipo al principio del período, donde i es antigüedad del equipo cuando el
cambio se realiza
S(i)= Valor de rescate recibido por el equipo con antigüedad i al final de N año
Máxima edad (antigüedad)del equipo≤X1 + N
X= Antigüedad del equipo al principio de la etapa
Problema; especificar una decisión en cada etapa para minimizar el costo total.
Estados; antigüedad del cierto equipo al principio de la etapa
Sea; S(x,n)=mínimo costo total hasta el final de período N-esimo dada la antigüedad del corriente
equipo en X al principio de la etapa n.
1≤n≤N
0≤X≤ N+1
condiciones limitantes:
S(X,N+1)=-S(X) valor de rescate
Reemplazar
S(X,n)=min
Mantener
P-t(X)+C(0)+S(1,n+1)
C(X)+S(X+1,n+1)
Donde:
P-t(x) Reemplazo
C(0) Mantenimiento
S(1,n+1)C. a la próxima etapa
C(x) Mantener
S(X+1,n+1) a la próxima etapa
M.C. Héctor Martínez Rubin Celis
15
Programación Dinámica
Investigación de Operaciones II
Ejemplo:
Período Planeado 4 años
Antigüedad del equipo al año 0 = 2 años
Costo de nuevo equipo $100
Costo de mantenimiento Valor de rescate
Valor considerado a cambio
C(0)=50
t(0)=80
C(1)=60
t(1)=60
C(2)=100
t(2)=40
C(3)=140
t(3)=20
C(4)=200
t(>3)=0
Para i >5 C ( i ) =  ∞
Condiciones limitantes:
M.C. Héctor Martínez Rubin Celis
16
Programación Dinámica
s(0)=-80
s(1)=-60
Investigación de Operaciones II
s(2)=-40
100+S(3,1)=340
S(2,0)=
s(3)=-20
s(4)=0
140+S(4,2)=310
S(3,1)=min
110+S(1,1)=300 ←
130+S(1,2)=240←
200+S(5,3)=290
60+S(2,2)=190←
S(4,2)=min
S(1,1)=min
150+ S(1,3)=170←
90+S(1,2)=200
100+S(3,3)=170
S(2,2)=min
110+S(1,3)=130←
∞

S(5,3)=min
150-60=90←
60+S(2,3)=110←
140-s(4)=140
S(1,2)=min
S(3,3)=min
90+S(1,3)=110←
130-s(1)=130-60=70←
100-S(3)=100-20=80
S(2,3)=min
110-S(1)=110-60=50←
60-S(2)=60-40=20←
S(1,3)=min
90-S(1)=90-60=30
11 21 31 41
R - M - R - M Período de decisión con un costo de 300
Problema:
Una planta de energía eléctrica tiene un proyecto de generación por 5 años en los cuales se dará
mantenimiento al equipo utilizado. El mantenimiento podrá ser dado por 3 equipos diferentes y el
costo de mantenimiento dependerá del equipo y del año de antigüedad del proyecto (los 3 equipos
proporcionan un eficiente servicio por igual). Los costos de mantenimiento son:
Equipo
año
I
II
III
1
3
4
6
2
4
5
7
3

6
9
4

8
10
5


11
Los costos de cambiar de política para el mantenimiento son
todo cambio a III cuesta 7
M.C. Héctor Martínez Rubin Celis
17
Programación Dinámica
Investigación de Operaciones II
todo cambio a II cuesta 6
todo cambio a I cuesta 4
Encuentre la mejor política de mantenimiento para el proyecto, la cual minimiza el costo total del
mismo.
Sea S(n,i) mínimo costo del equipo i en el año n.
n(i)+S(n-1,i) no cambio de equipo
S(n.i)=min
n(i)+R(i)+S(n-1,i) cambio de equipo
Equipo II
I
4II
III
1
3I 7I
X X
X
9II 15II 23II
6III 13III 22III 32III 41II
2
3
4
Para toda j<i
j Equipos previos a i
5
n
Otro enfoque de solución:
Sea
S(n,i)= Mínimo costo del equipo i en el año n.
C(n,i)=Costo de mantenimiento del equipo i en el año n
R(j,i)= Costo por cambio del equipo j al equipo i
Relación recursiva:
S(n-1,i)+C(n,i)
no cambio de equipo
S(n.i)=min
S(n-1,i)+C(n,i)+R(j,i) cambio de equipo
Etapa 1
Equipo Equipo anterior
actual I
II
III
I
3
II
4
III
Etapa 2
Equipo
Mejor
s(1,i) decisión
3
I
4
II
6
6
III
Equipo anterior
M.C. Héctor Martínez Rubin Celis
Mejor
18
Programación Dinámica
Investigación de Operaciones II
actual
I
II
III
I
3+4=7
3+6+5=14
3+3+7=17
Etapa 3
Equipo
actual
I
II
III
Equipo anterior
I
II
∞
9+4+∞=∞
7+6+6=19
9+6=15
7+9+7=23
9+9+7=25
III
13+4+∞=∞
13+5+6=25
13+9=22
s(3,i)
15
22
Etapa 4
Equipo
actual
I
II
III
Equipo anterior
I
II
∞
∞
∞
15+8=23
∞
15+10+7=32
III
∞
22+8+6=36
22+10=32
s(3,i)
23
32
Etapa 5
Equipo
actual
I
II
III
Equipo anterior
I
II
∞
∞
∞
∞
∞
23+11+7=41
Costo Total = 41
Etapa 1
2
Decisión
II
II
4+4+4=12
4+5=9
4+7+7=18
3
II
4
II
III
6+4+4=14
6+6+5=17
6+7=13
s(2,i)
7
9
13
decisin
I
II
III
Mejor
decisión
II
III
Mejor
decisión
II
II o III
Mejor
III
∞
∞
32+11=43
5
II
s(3,i)
41
decisión
II
III
ASIGNACION DE RECURSOS
El problema mas simple de localización de recursos consiste en que se nos dan X unidades de un
recurso y se nos dice que este recurso debe ser distribuido entre N actividades. Se nos proporcionan
M.C. Héctor Martínez Rubin Celis
19
Programación Dinámica
Investigación de Operaciones II
N tablas de datos ri(x) (para i=1,...N) y X=0,1,...X) que representan el retorno por localizar X
unidades del recurso en la actividad i.
El problema consiste en localizar todas las X unidades del recurso en las actividades de tal manera
que el retorno total sea máximo.
N
∑ri (x)
i=1
Sujeto a;
N
∑Xi =X, El coeficiente asociado a Xi es la unidad y no aparece
i=1
Xi ≥ 0 y Enteros
Formulación de Programación Dinámica
Habiendo designado las actividades arbitrariamente (números fijos) desde 1 a N, se toman X
unidades del recurso y primero localizamos X1 unidades en la actividad 1. Entonces localizamos X2
unidades de las restantes X-X1 unidades del recurso a la actividad 2, entonces X3 unidades del
recurso a la actividad 3, etc.
Función de Valor Óptimo
S( X,K)=/K(X) es el máximo retorno obtenido desde las actividades K hasta N, dadas X unidades del
recurso restantes para ser asignadas.
La variable de estado será la asignación total hecha hasta ahora. Y K puede definirse como el
número de actividades hasta ahora consideradas.
Relación Recursiva
S(X,K)=/k(X)=Max [rK(XK)+/K+1(X- Xk}]
S(X,K)=Max [rK(XK)+S(X-XK , K+1)]
Donde Xk= 0,1,...,X y es la asignación en la actividad K y fk(x) debe ser calculada para
Xk=0,1,...,X
La condición limitante fN(x)=rN(x)
Ejemplo:
Max 3x12+ 4x22+ 5x32
Sujeto a;
x1+ x2+ x3≤4
x´s ≥ 0 y Enteros
M.C. Héctor Martínez Rubin Celis
20
Programación Dinámica
Investigación de Operaciones II
Retorno
r1= 3x12
r2= 4x22
r3= 5x32
Etapa 1 (Variable x1)
f1(4)
=
0
0+f2(4)=80 ←
1
3+f2(3)=48
2
12+f2(2)=32
3
27+f2(1)=32
4
Etapa 2 (Variable x2 )
f2(4)
f2(3)
f2(2)
=
=
=
48+f2(0)=48
0
0+f3(4)=80 ←
1
4+f3(3)=49
2
16+f3(2)=36
3
36+f3(1)=41
4
64+f3(0)=64
0
0+f3(3)=45 ←
1
4+f3(2)=24
2
16+f3(1)=21
3
36+f3(0)=36
0
0+f3(2)=20 ←
1
4+f3(1)=9
2
16+f3(0)=16
M.C. Héctor Martínez Rubin Celis
21
Programación Dinámica
f2(2)
Investigación de Operaciones II
0
0+f3(1)=5 ←
1
4+f3(0)=4
=
Etapa 3 (Variable x3 )
r3(4)=f3(4)=80
r3(3)=f3(3)=45
r3(2)=f3(2)=20
r3(1)=f3(1)=5
r3(0)=f3()=0
←
Asignación Optima: x1=0, x2=0, x3=4 con un Retorno Optimo de 80
Caso: existe un coeficiente Ci≠1
Solución de problemas de programación lineal o no lineal con un recurso aplicando
programación Dinámica:
N
Max ∑ri Xi
i=1
ri ←Retorno por asignar Xi unidades
Sujeto a;
N

∑ Ci Xi ≤x , donde Ci ←Coeficiente de Xi en la restricción
i=1
Xi≥0 y enteros
Cada ecuación corresponde a un recurso limitado en disponibilidad.
Solución óptima;
M.C. Héctor Martínez Rubin Celis
22
Programación Dinámica
Investigación de Operaciones II
Encontrar la actividad para la cual ri (Xi ) es máxima, considere que la actividad Xi puede tomar
valores enteros de 0,1,...,X/Ci y a estos se les denomina valor de la variable de Decisión
f(X)=Max rK(XK)+fK+1(X - CKXK)
XK=0,1,...X/CK
XK ← Cantidad máxima asignada
ri (Xi)←función de retorno para la condición limitante fN(X)=rN(X/CN)
Modelo:
Max r1(X1)+ r2X2)+...+ rn(Xn)
Sujeto a;

C1X1+ C2X2 + .. . .+ CnXn ≤ X
X´s ≥ 0 y Enteros
Problema:
Max 2X13- 3X1+ X22 -4X2+ X3
Sujeto a;
4X1+ 2X2+3X3≤15
X1,X2,X3 Enteros no negativos (  ≥0 y Enteros )
Retorno:
r1(X1)=2X13 -3X1
r2(X2)=X22-4X2
r3(X3)=X3
r1(X1)+f2(15-C1X1)
Analiza X1
0
f1(15)= Max 1
2
3
Analiza X2
C1(X1)=4
C2(X2)=2
C3(X3)=3
r1(0)+/2(15)= 0+/2(15)=21
r1(1)+/2(11)=-1+/2(11)=5
r1(2)+/2(7) =10+/2(7) =12
r1(3)+/2(3) =45+/2(3) =46 ←
r2(X2)+f3(15-C3X3)
M.C. Héctor Martínez Rubin Celis
23
Programación Dinámica
/2(15)= Max
/2 (11)=max
/2 (7)=max
/2 (3)=max
0
1
2
3
4
5
6
7
Investigación de Operaciones II
0+/3 (15)=5
-3+/3 (13)=1
-4+/3 (11)=-1
-3+/3(9)=0
0 +/3 (7)=2
5+/3 (5)=6
12+/3 (3)=13
21+/3 (1)=21 ←
r2(X2)+f3(11-C3X3)
0 0+/3 (11)=3
1 -3+/3 (9)=0
2 -4+/3 (7)=-2
3 -3+/3 (5)=-2
4 0+/3 (3)=1
5 5+/3 (1)=5 ←
r2(X2)+f3(7-C3X3)
0 0 +/3 (7)=2 ←
1 -3 +/3 (5)=-2
2 -4 +/3 (3)=-3
3 -3 +/3 (1)=-3
r2(X2)+f3(3-C3X3)
0 0+/3 (3)= 1 ←
1 -3+/3 (1)=-3
Analiza X3
/3 (15)=5
/3 (13)=4
/3 (11)=3
/3 (9) =3
/3 (7) =2
/3 (5 )=1
/3 (3 )=1
/3 (1 )=0
Asignar
3→X1
0→X2
1→X3
Caso: Varias restricciones
Cuando existe más de una restricción (Recurso ) la función de política óptima cambia a;
M.C. Héctor Martínez Rubin Celis
24
Programación Dinámica
Investigación de Operaciones II
fk(X)=max[rK(XK)+fK+1(X- max{X- Ci kXk}]
Donde Xk= Min{X / Ci k}, y es el coeficiente de la variable Xk en la ecuación i
Ejemplo:
Max Z = 13x1- X21-5X22+30.2X2+ 10X3-2.5X23
Sujeto a;
X1+ X2
≤5
es equivalente a
2X1+ 4X2+ 5X3≤10
2X1+ 2X2 ≤10
En 2X1+ 4X2+ 5X3  ≤10 por cada unidad asignada en X1 se consumen 2, por cada unidad
asignada en X2 se consumen 4, por cada unidad asignada en X3 se consumen 5.
Los valores de las variables estarán comprendidos de la forma siguiente
Valores posibles
0 ≤X1≤5
x1=0,1,2,3,4,5
0 ≤X2≤2
x2=0,1,2
x3=0,1,2
0 ≤X3≤2
R1(x1)=13X1-X21 R2(X2)=-5X22+30.2X2
f1(10)=Max
0
1
2
3
4
5
0+/2(1,0)=40.2
12+/2(8)=52.2
22+/2(6)=47.2
30+/2(4)=55.2←
36+/2(2)=36
40+/2(0)=40
f2(10)=max
0 0+/3 (10)=10
1 25.2+/3(6)=32.7
2 40.4+/3(2)=40.2←
f2(8)=max
0 0+/3(8)=7.5
1 25.2+/3(4)=25.2
2 40.4+/3(0)=40.2←
R3(X3)=10X3-2.5X23
30+ f2(10- Max{1(3),2(3)}=30+ f2(10-6)=30+ f2(4)
30+ f2(10- Max{1(4),2(4)}=30+ f2(8-6)=36+ f2(2)
0 0+/3(6)=7.5
f2(6)=max
1 1+/3(2)=25.2←
0 0+/3(4)=0
f2(4)=max
1 25.2+/3(0)=25.2←
M.C. Héctor Martínez Rubin Celis
25
Programación Dinámica
Investigación de Operaciones II
f2(2)=0
f3(10)= max
f3(8)= max
0 0
1 7.5
2 10←
5X3=10 X3=1
0 0
1 7.5←
f3(4)= 0←
2
5X3=8 X3=1
f3(2)= 0←
0 0
f3(6)= max
f3(0)= 0←
5X3=6 X3=1
1 7.5←
X1=3,
X2=1, X3=0
PROBLEMA DE ASIGNACION DE RECURSOS
En el I.T.T. se tiene un promedio del 47% de calificación en lectura de los alumnos de nuevo
ingreso. Si se contratan 5 maestros especiales en Educación y estos son asignados a las tres
carreras con el promedio más bajo de lectura para mejorar la habilidad en general de los
estudiantes en esas carreras. ¿Como deberán ser asignados estos maestros tal que se maximice la
efectividad en lectura por parte de los alumnos en estas carreras?
Porcentaje de incremento en el nivel de lectura
Carrera
No. de Maestros
A B C
Xn es el No. de maestros disponibles para
asignar en la etapa n.
0
0
0
0
dn es el No. de maestros asignados en la
1
6
9 12
etapa n.
2
10 14 18
Xn-1 = Xn - dn Es la relación recursiva.
3
15 18 21
4
18 20 21
5
20 20 21
Secuencia de la asignación
Asignar => Asignar =>
en A
en B
M.C. Héctor Martínez Rubin Celis
Asignar
en C
26
Programación Dinámica
3 Etapas
Etapa 1
Etapa 2
Etapa 3
Investigación de Operaciones II
Carrera C
Carrera B
Carrera A
ETAPA 1 (Carrera C)
Variable de
Retorno
Decisión
Retorno
Estado X1
Inmediato óptima d1
óptimo
─────────────────────────
0
0
0
0
1
12
1
12
2
18
2
18
3
21
3
21
4
21
3o4
21
5
21
3,4 o 5
21
ETAPA 2 (Carrera B)
Variable de
Decisión (d2)
Estado X2
0 1
2
3
4
5
────────────────────────────
0
0 1
12 9+0
2
18 9+12 14+0
3
21 9+18 14+12 18+0 4
21 9+21 14+18 18+12 20
5
21 9+21 14+21 18+18 20+12 20
Retorno Decisión
óptimo óptima d2*
0
12
21
27
32
36
0
0
1
1
2
3
ETAPA 3 (Carrera C)
Retorno Decisión
Variable de
Decisión (d3)
Estado
óptimo óptima
X3
0
1
2
3
4
5
d3 *
──────────────────────────
5
0+36 6+32 10+27 15+21 18+12 20+0
38
1
Asignar:
1 maestro => A
2 maestros => B
2 maestros => C
Efectividad Total = 38
M.C. Héctor Martínez Rubin Celis
Efectividad
6
14
18
27
Programación Dinámica
Investigación de Operaciones II
Otro enfoque al problema anterior
fn(x) = Max [ Eixi + fn-1( X-xi ) ] Relación recursiva
Donde;
En es la efectividad por asignar maestros en la etapa n
xn Son el número de maestros asignados en la etapa n
X es la cantidad de recursos a asignar
Etapa 1 (Carrera A)
f1(0) = 0 ; f1(1) = 12 ; f1(2) = 18; f1(3) = 21 ; f1(4) = 21
Etapa 2 (Carrera B)
0 0+ f1(5) = 21
1 9+ f1(4) = 30
f2(5) = Max 2 14+ f1(3) = 35
f2(4) = Max
3 18+ f1(2) = 36 ←
4 20+ f1(1) = 32
5 20+ f1(0) = 20
f2(3) = Max
f2(1) = Max
0 0+ f1(3) = 21
1 9+ f1(2) = 27 ←
2 14+ f1(1) = 26
f2(2) = Max
3 18+ f1(0) = 18
0 0+ f1(4) = 21
1 9+ f1(3) = 30
2 14+ f1(2) = 32 ←
3 18+ f1(1) = 30
4 20+ f1(0) = 20
0 0+ f1(2) = 12
1 9+ f1(1) = 21 ←
2 14+ f1(0) = 14
0 0+ f1(1) = 12 ←
1 9+ f1(0) = 9
Etapa 3 (Carrera C)
0 0+ f2(5) = 36
1 6+ f2(4) = 38 ←
f3(5) = Max 2 10+ f2(3) = 37
3 15+ f2(2) = 29
4 18+ f2(1) = 30
5 20+ f2(0) = 20
Etapas Carreras
Efectividad
1
C
18
2
B
14
3
A
6
Total de efectividad = 38
CONFIABILIDAD COMPONENTES EN SERIE
Una compañía fabricante de T.V. estereos y radios se enfrenta a un serio problema en uno de sus
productos debido a que las ventas de este han sido muy bajas. Después de ciertas investigaciones
realizadas se ha encontrado que las causas son debidas a que la vida del cinescopio es muy baja
M.C. Héctor Martínez Rubin Celis
28
Programación Dinámica
Investigación de Operaciones II
(corta) y para resolver el problema se deberá aumentar la vida de uso del cinescopio.
El cinescopio esta formado por 3 unidades en serie y en el cual, cada unidad puede estar formada por
1,2 o 3 partes en paralelo. El cinescopio fallara si alguna de las unidades falla, entonces se deseara
aumentar la confiabilidad del cinescopio (probabilidad de que el cinescopio trabaje después de haber
transcurrido cierto tiempo t).
El costo del cinescopio esta restringido a $1000.00, y los costos de las partes por unidad ya
instaladas son;
MATRIZ DE COSTOS
Partes
1
2
3
Unidad
1 2 3
200 300 100
400 500 200
500 600 300
Etapa 1 R1 costo
1
.5 200
2
.75 400
3
.875 500
Etapa 2 R2 costo Etapa 3
1 .7
300
1
2 .91 500
2
3 .973 600
3
R3 costo
.6
100
.84
200
.936
300
Ri← Confiabilidad
.75
.7
.6
.75
.91
.84
M.C. Héctor Martínez Rubin Celis
29
Programación Dinámica
.875
Investigación de Operaciones II
.973
.936
Reemplazar componentes individuales por componentes paralelos en bloque
Costo total aceptable $10
Max R(X1)*R2(X2)*R3 (X3 )
X11
tómese la mejor elección X1, X2, y X3 tal que se
maximice la confiabilidad
X21
X31
y enteros
CK es el Costo asignado a K unidad con cierto número de partes
C1(X1)+C2(X2)+C3(X3)10
Etapas = diferentes unidades de componentes
Estados = diferentes partes de la unidad.
/K(X)= Valor de la función
XK =numero de partes de cierta unidad
fK(XK)=Max rK(XK)/K+1(X-XK)
Max R1(X1)*R2(X2)*R3(X3)
Sujeto a;
C1(X1)+C2(X2)+C3(X3) 10
XS0 y Enteros
Partes
1 .5*/2 (8)=.4259
f1(10)=MAX 2 .75*/2(6)=.4914
3 .875*/2(5)=.5127 ←
Partes
f2(8)=max
1 .7*/3(5)=.6552
2 .91*/3(3)=.85176 ←
3 .973*/3(2)=.78708
M.C. Héctor Martínez Rubin Celis
30
Programación Dinámica
Investigación de Operaciones II
Partes
f2(6)=max
1 .7*/3(3)=.6552←
2 .91*/3(1)=.546
3 .973*/3(0)=no factible
Partes
f2(5)=max
1 .7*/3(2)=.588←
2 .91*/3(0)=no factible
Partes
f3(5)=max
Partes
f3(3)=max
Partes
f3(2)=max
1 .6
2 .84
3 .936←
1 .6
2 .84
3 .936←
1 .6
2 .84←
Partes
f3 (1)= 1 .6
3 Partes al componente 1 Costo 5
1 Partes al componente 2 Costo 3
2 Partes al componente 3 Costo 2
───
$10
Confiabilidad total del Cinescopio .5127
M.C. Héctor Martínez Rubin Celis
31
Descargar