Está en la página 1de 77

Escuela Ingeniería

Industrial- USAT
Investigación de operaciones II

Semana 03: Programación Dinámica


SEMESTRE ACADÉMICO 2023

www.usat.edu.pe
Competencia

• Diseña modelos matemáticos de optimización


probabilística aplicando programación dinámica.

2 www.usat.edu.pe
FRACTALES Y RECURSIVIDAD

3 www.usat.edu.pe
Programación Dinámica

4 www.usat.edu.pe
Resolución de un problema de programación
dinámica
Para resolver un problema de programación dinámica se debe:
a. Identificar etapas, estados y variable de decisión: Cada etapa
debe tener asociada una o más decisiones (problema de
optimización).
- Cada estado debe contener toda la información relevante para
la toma de decisión asociada al periodo.
- Las variables de decisión son aquellas sobre las cuales se
debe definir su valor, de modo que se pueda optimizar el
beneficio acumulado y modificar el estado de la próxima etapa.

5 www.usat.edu.pe
Resolución de un problema de programación
dinámica
b. Describir las ecuaciones de recurrencia: Se debe indicar cómo
se acumula la función de beneficios a optimizar (función objetivo) y
cómo varían las funciones de estado de una etapaa otra.

c. Solucionar: Se debe optimizar cada sub-problema por etapas en


función de los resultados de la resolución del sub-problema
siguiente.

6 www.usat.edu.pe
Tipos de programación dinámica

7 www.usat.edu.pe
Términos

• Función de Valor Óptimo: Se puede llamar a la regla que


asigna valores a varios problemas dentro de un problema.
• Función de Política Óptima: Es la que asocia la primera mejor
decisión con cada problema.
• Relación de recurrencia o relación recursiva: Es el producto
que provoca una fórmula o grupo de fórmulas que pertenecen a
varios valores de S, basado en el principio de optimalidad.
• Condiciones limitantes: Asumidas como obvias desde el
planteamiento del problema y desde la definición de S con cálculos
necesitados como resultantes de los valores de la función de
valor óptimo S para ciertos argumentos.
8 www.usat.edu.pe
Términos

•División en etapas: Agregación de decisiones simples para


tomar una decisión compleja.
•Etapa: Se caracteriza por un conjunto de estados.
•Decisión: Transición de un estado a otro con valor económico.
El efecto de la política de decisión es en cada etapa transformar
el estado actual a otro del inicio de la etapa siguiente.
•Valor Función económica: Suma de valores económicos de las
transiciones.

9 www.usat.edu.pe
Términos

• Política: Secuencia de decisiones.


• Política óptima: Dado un estado actual, una política óptima para las
etapas restantes es independiente de la política adoptada en etapas
anteriores.
• Principio de optimalidad: La decisión inmediata óptima depende sólo
del estado actual y no de cómo se llegó ahí.
• Ecuación de recurrencia: Permite establecer la política óptima a
partir de cada estado posible.
• Ecuación funcional: Nombre de la ecuación de recurrencia cuando el
número de etapas no está acotado.
10 www.usat.edu.pe
Etapas y estados en programación dinámica

11 www.usat.edu.pe
Procedimientos

12 www.usat.edu.pe
Características

13 www.usat.edu.pe
Características de las Aplicaciones de Programación
Dinámica
• Característica 1
– El problema se puede dividir en etapas con una decisión requerida en cada
etapa.
• Característica 2
– Cada etapa tiene un número de estados asociados con ella.
• Por un estado , nos referimos a la información que se necesita en cualquier etapa para
tomar una decisión óptima.
• Característica 3
– La decisión elegida en cualquier etapa describe cómo el estado de la etapa
actual se transforma en el estado de la etapa siguiente.

www.usat.edu.pe
Características de las Aplicaciones de Programación
Dinámica
• Característica 4
– Dado el estado actual, la decisión óptima para cada una de las etapas
restantes no debe depender de estados previamente alcanzados o
decisiones previamente elegidas.
• Esta idea se conoce como el principio de optimalidad .
• Característica 5
– Si los estados del problema se han clasificado en una de T etapas, debe
haber una recursión que relacione el costo o la recompensa obtenida
durante las etapas t, t +1, …., T con el costo o la recompensa obtenida de
las etapas t+1 , t+2, …. t _

www.usat.edu.pe
Programación Dinámica

16 www.usat.edu.pe
Nomenclatura

N = número de etapas.
n = etiqueta de la etapa actual (n = 1, 2,..., N ).
sn = estado actual de la etapa n.
xn = variable de decisión de la etapa n.

xn* = valor óptimo de xn (dado sn )


fn (sn, xn ) = contribución a la función objetivo de las etapas n, n +1,..., N, desde sn con decisión xn.
fn* (sn ) = fn (sn , xn* ) = contribución óptima, desde sn con la mejor decisión.
fn* (sn ) = min  fn (sn , xn ) o fn* (sn ) = max  fn (sn , xn )
xn xn

Etapa n Etapa n +1
xn
Estado sn sn+1 (
fn (sn , xn ) = f C(sn , xn ), fn+1
*
)
(sn+1 )
Contribución de xn
*
Valor fn (sn , xn ) C(sn , xn ) fn+1 (sn+1 )

17 www.usat.edu.pe
Asignación

18 www.usat.edu.pe
Principio de optimalidad.

• Las decisiones futuras para todas las etapas futuras constituyen


una política óptima independientemente de la política adoptada en
todas las etapas precedentes.
• El principio de optimalidad no aborda los detalles de cómo se
optimiza un subproblema. La razón es la naturaleza genérica del
subproblema. Puede ser lineal o no lineal, y la cantidad de
alternativas puede ser finita o infinita. Todo lo que hace el principio
de optimalidad es “descomponer” el problema original en
subproblemas más manejables computacionalmente.

19 www.usat.edu.pe
Problema generalizado de asignación de recursos

• El problema de determinar la asignación de recursos que


maximiza el beneficio total sujeto a la disponibilidad limitada de
recursos puede escribirse como
t =T
max  rt ( xt )
t =1
t =T
s.t.  gt ( xt)  w
t =1

donde x t debe ser un miembro de {0,1,2,...}.

www.usat.edu.pe
Problema generalizado de asignación de recursos
• Para resolver esto mediante programación dinámica, defina f t ( d )
como el beneficio máximo que se puede obtener de las
actividades t, t +1,…, T si d unidades del recurso se pueden
destinar a las actividades t, t +1, …, t
• Podemos generalizar las recurrencias a esta situación escribiendo
f T +1(d) = 0 para todo d
f t (d ) = max{rt ( xt ) + f t +1 [d − g t ( xt )]}
xt

donde x t debe ser un número entero no negativo que satisfaga


g t (x t ) ≤ d.

www.usat.edu.pe
Problema de Distribución de Esfuerzos
Grupo de problemas en el que existe sólo una clase de Recurso que debe asignarse a un número de
Actividades. El objetivo es determinar cómo distribuir el Recurso (Esfuerzo) de la forma más eficaz.
Formulación:
N = número de Actividades.
n = etiqueta de la Actividad (n = 1,2,..., N ). Orden arbitrario.
sn = (estado) Cantidad de recursos disponibles para asignarse a las Actividades n, n + 1,..., N. xn =
cantidad de recursos asignados a la Actividad n.

xn* = valor óptimo de x n (dado sn )

Etapa n Etapa n +1
xn sn+1 = sn − xn
Estado sn sn+1
Contribución de xn
*
(
fn (sn, xn ) = f C(sn, xn ), fn+1
*
(sn − x n ) )
Valor fn (sn , xn ) C(sn , xn ) f (sn+1 )
n+1

22 www.usat.edu.pe
Ejemplo: Distribución de brigadas médicas
entre países

Lo desarrollamos en Excel
23 www.usat.edu.pe
Ejemplo: Distribución de brigadas médicas
entre países

24 www.usat.edu.pe
Ejemplo: Distribución de brigadas médicas
entre países

25 www.usat.edu.pe
Descripción gráfica del
problema del Consejo
Mundial de la Salud
que muestra los estados
posibles en cada etapa,
las transiciones posibles
de los estados y las
contribuciones
correspondientes a la
medida de desempeño.

26 www.usat.edu.pe
27 www.usat.edu.pe
Estructura básica del problema del Consejo
Mundial de la Salud.

28 www.usat.edu.pe
Solución

29 www.usat.edu.pe
Descripción gráfica de la
solución de
programación dinámica
del problema del Consejo
Mundial de la Salud.

Al asignar las brigadas


de esta manera, si se
siguen las flechas
oscuras desde el estado
inicial, se obtiene la
solución óptima

30 www.usat.edu.pe
Problema de la Mochila

31 www.usat.edu.pe
Problema de la Mochila

• El modelo de la mochila tiene que ver clásicamente con el hecho de


determinar los artículos más valiosos que un combatiente carga en
una mochila. El problema representa un modelo de asignación de
recursos general en el cual se utilizan recursos limitados por varias
actividades económicas.
• El objetivo es maximizar el rendimiento total. La ecuación recursiva
(hacia atrás) se desarrolla para el problema general de asignar n
artículos a una mochila con capacidad de peso W.
• Sea mi la cantidad de unidades del artículo i en la mochila, y defina ri
y wi como el ingreso unitario y el peso del artículo i.
• El problema general se representa como:
32 www.usat.edu.pe
Modelo General

33 www.usat.edu.pe
Ecuación Recursiva

34 www.usat.edu.pe
Ejemplo

Fuente: Mundo IO
35 www.usat.edu.pe
Procedimiento

• Variables de Estado: • Conjunto Decisión:


s1: Número de Artículos (1..8) d: Número de unidades
s2: Capacidad Disponible en contenedor(kg) de llevar de s1
DS={0,1,2}
• Estado Inicial:
• Data:
s1=1 s2=2000
Peso(s1),Utilidad(s1)
• Transición:
• Restricción:
sn1=s1+1 sn2=s2-Peso(s1)*d
Sn1<=4+1; sn2>=0
• Valor Asociado:
• Contorno:
Ad(s)= Utilidad(s1)*d
f(s)=0
36 www.usat.edu.pe
Solución en P4

Report name: Solution


Model name: Model2 , date: 3/05/2021 , time: 21:16:01

Optimal Value Function, f(s) = 18300


Number of solutions = 1
s1 s2 p(s) f(s)
Solution 1 1 2000 2 18300
2 1000 1 6700
3 200 0 0
4 200 0 0
5 200 - 0

37 www.usat.edu.pe
Solución en P4

38 www.usat.edu.pe
Problema – Problema de la Mochila
• Un escalador se está preparando para una larga caminata por una pendiente
peligrosa. Puede manejar hasta T libras en su mochila que lleva a la espalda.
Tiene N artículos (numerados del 1 al N) que puede incluir en su mochila, y
cada artículo j pesa w (j) libras. Ha calculado un valor numérico b (j) que
representa el valor de supervivencia de cada articulo j. El problema de
optimización es seleccionar los artículos que debe colocar en la mochila, para
que pueda obtener el máximo valor de supervivencia. Los datos de este
problema son:
• N = 8 artículos, T = 13 libras

39 www.usat.edu.pe
Representación en red del problema

40 www.usat.edu.pe
Ejemplo

• Un barco de 4 toneladas puede cargarse con uno o más de tres


artículos. La siguiente tabla da el peso unitario, wi, en toneladas y
el ingreso unitario en miles de dólares, ri, para el artículo i. El
objetivo es determinar la cantidad de unidades de cada artículo
que maximizará el rendimiento total.

• Como el peso unitario wi y el peso máximo W son enteros, el


estado xi asume sólo valores enteros
41 www.usat.edu.pe
Etapa 03
• El peso exacto a ser asignado a la etapa 3 (artículo 3) no se
conoce con anticipación pero puede suponer uno de los valores 0,
1,…, y 4 (porque W = 4 toneladas y w3 = 1 tonelada).
• Un valor de m3 es factible sólo si w3m3 <= x3. Por lo tanto se
excluyen todos los valores no factible(con w3m3 > x3). El ingreso
para el artículo 3 es 14m3. En consecuencia, la ecuación
recursiva para la etapa 3 es:

42 www.usat.edu.pe
Tabla para la Etapa 03

43 www.usat.edu.pe
Etapa 02

44 www.usat.edu.pe
Etapa 01

45 www.usat.edu.pe
Solución

La solución óptima se determina como sigue:


• Dado que W = 4 toneladas, del estado 1, x1= 4, se da la alternativa
óptima ; es decir que en el barco se cargarán dos unidades del
artículo 1.
• Esta asignación deja x2 = x1-2m2=4-2x2=0, para las etapas 2 y 3.
De la etapa 2, x2=0 da por resultado, m2=0 , lo cual deja x3= x2-
3m2 = 0 - 3 x 0=0 unidades para la etapa 3.
• Luego, a partir de la etapa 3, x3 = 0 da m3=0. Por lo tanto, la
solución óptima completa es m1=2, m2=0, m3=0, y el rendimiento
asociado es$62,000.
46 www.usat.edu.pe
Problema de la mochila : @GIN-@BIN

artículo peso Rating


1 1 2
2 3 9
3 4 3
4 4 8
5 4 10
6 1 6
7 5 4
8 10 10
www.usat.edu.pe
Lingo

48 www.usat.edu.pe
Ejemplo Generalizado de Asignación

www.usat.edu.pe
PRODUCCIÓN - INVENTARIOS

50 www.usat.edu.pe
UN PROBLEMA DE INVENTARIO

La programación dinámica se puede utilizar para resolver


un problema de inventario con las siguientes
características:
1. El tiempo se divide en periodos, siendo el periodo actual el
periodo 1, el siguiente periodo 2 y el periodo final T. Al
comienzo del período 1, se conoce la demanda durante cada
período.
2. Al comienzo de cada período, la empresa debe determinar
cuántas unidades debe producir. La capacidad de producción
durante cada período es limitada.
www.usat.edu.pe
UN PROBLEMA DE INVENTARIO

3. La demanda de cada período debe cumplirse a tiempo con el


inventario o la producción actual. Durante cualquier período en
el que se lleva a cabo la producción, se incurre en un costo fijo
de producción, así como en un costo variable por unidad.
4. La empresa tiene una capacidad de almacenamiento limitada.
Esto se refleja en un límite en el inventario al final del período.
Se incurre en un costo de mantenimiento por unidad en el
inventario final de cada período.
5. El objetivo de la empresa es minimizar el costo total de cumplir a
tiempo con las demandas de los períodos 1, 2, …., T.
www.usat.edu.pe
UN PROBLEMA DE INVENTARIO
• En este modelo, la posición del inventario de la empresa se revisa
al final de cada período y luego se toma la decisión de
producción.
• Tal modelo se llama modelo de revisión periódica .
• Este modelo contrasta con el modelo de revisión continua en el
que la empresa conoce la posición de su inventario en todo
momento y puede realizar un pedido o comenzar la producción en
cualquier momento.

www.usat.edu.pe
PROBLEMA DE PRODUCCIÓN Y CONTROL DE
INVENTARIOS
En este modelo, la posición del inventario de la empresa se revisa
al final de cada período (por ejemplo, al final de cada mes) y luego
se toma la decisión de producción.
Este modelo se denomina modelo de revisión periódica. Este
modelo contrasta con los modelos de revisión continua en los que
la empresa conoce su posición de inventario en todo momento y
puede hacer un pedido o comenzar la producción en cualquier
momento.

54 www.usat.edu.pe
PROBLEMA DE PRODUCCIÓN Y CONTROL DE
INVENTARIOS
Supongamos que desarrollamos pronósticos de la demanda de un producto en
particular durante varios períodos y nos gustaría decidir una cantidad de
producción para cada uno de los períodos de modo que la demanda puede ser
satisfecha a un costo mínimo.
Hay que tener en cuenta dos costos: Producción y Inventarios. Se supone que se
hace una preparación de la producción serán constantes. Por ello no se
considera este costo.
Permitimos que los costos de producción y inventario varíen entre períodos. Esta
disposición hace el modelo más flexible porque también permite la posibilidad de
utilizar diferentes instalaciones para la producción y el almacenamiento en
diferentes períodos. Las restricciones de capacidad de producción y
almacenamiento, que pueden variar según los períodos, se incluirán en el
modelo.
55 www.usat.edu.pe
Adoptamos el notación siguiente:

56 www.usat.edu.pe
Problema de Inventario

FUNCIÓN DE TRANSFORMACIÓN
57 www.usat.edu.pe
PARA UN PROBLEMA DE 04 ETAPAS - GENERAL

59 www.usat.edu.pe
Ejemplo 02

• Una fábrica de motocicletas, recientemente a recibido un pedido


de uno de sus nuevos modelos, los cuales deben ser fabricados
de manera paralela a la línea de producción en lotes de 10
unidades, razón por la cual se solicita que planifique la producción
de acuerdo a la siguiente información. Se debe cumplir en su
totalidad con la demanda.
Costo Unitario
Producción Costo Unitario
Periodo Demanda de
Máxima de Producción
Almacenamiento
Enero 0 20 210 10
Febrero 20 40 230 10
Marzo 40 50 200 10
Abril 30 20 240 10
60 www.usat.edu.pe
Diagrama

https://www.youtube.com/watch?v=PniwGVOX0w4&t=2209s&ab_channel=AlvaroJesusNinaLaura
Lo desarrollamos en Excel
61 www.usat.edu.pe
Funciones

función uso

@FOR Es utilizado para generar conjuntos de restricciones

@SUM Calcula la suma de una expresión sobre todos los


miembros de un conjunto
@MIN Calcula el mínimo de una expresión sobre todos los
miembros de un conjunto
@MAX Calcula el máximo de una expresión sobre todo los
miembros de un conjunto

www.usat.edu.pe
Usando funciones de dominios para variables

Tipos variables definición

@GIN Variable entera

@BIN Variable binaria

@FREE Cualquier valor

@BND Rango para la


variable

www.usat.edu.pe
Operadores lógicos reconocidos por LINGO
son :
• #EQ# igual
• #NE# distinto
• #GE# mayor o igual que
• #GT# mayor
• #LT# menor que
• #LE# menor o igual que

64 www.usat.edu.pe
Problema Propuesto: Inventario revisión
periódica
Una compañía sabe que la demanda durante cada uno de los próximos cuatro meses
es como se indica: mes 1, 1 unidad; mes 2, 3 unidades; mes 3, 2 unidades; mes 4, 4
unidades.
Durante un mes en el cual se producen algunas unidades, se incurre en un costo
preliminar de 3 US$. Además, hay un costo variable de 1 dólar por cada unidad que se
fabrica. Al final de cada mes, se genera un costo de almacenamiento de 50 centavos
por cada unidad disponible.
Las limitaciones en la capacidad permiten producir durante cada mes un máximo de 5
unidades. Las dimensiones de la bodega de la compañía restringen el inventario final
de cada mes a 4 unidades, cuando mucho.
Suponga que se dispone de 0 unidades al principio del primer mes.
La empresa desea determinar un plan de producción que cumpla con toda la demanda
a tiempo y minimice la suma del costo de producción y del costo de almacenamiento
durante los cuatro meses.
66 www.usat.edu.pe
Modelo de reemplazo
de equipo

71 www.usat.edu.pe
Modelo de reemplazo de equipo

• Las máquinas que permanecen mucho tiempo en servicio incurren


en un alto costo de mantenimiento y pueden ser reemplazadas
después de una cierta cantidad de años en operación. La situación
tiene que ver con determinar la edad más económica de una
máquina.
• Supongamos que el problema de reemplazo de una máquina abarca
n años. Al inicio de cada año, una máquina o se mantiene en servicio
un año más, o es reemplazada por una nueva. Sean r(t), c(t) y s(t) el
ingreso anual, el costo de operación y el valor de desecho,
respectivamente, de una máquina de t años. El costo de adquisición
de una máquina nueva en cualquier año es I.
72 www.usat.edu.pe
Los elementos del modelo de PD son los
siguientes:
1. La etapa i está representada por el año i, i = 1, 2,…, n.
2. Las alternativas en la etapa (año) i son conservar (K) o reemplazar (R) la máquina al inicio del
año i.
3. El estado en la etapa i es la edad de la máquina al inicio del año i. Dado que la máquina tiene t
años al inicio del año i, defina

73 www.usat.edu.pe
Ejemplo 04

• Una compañía necesita determinar la política de reemplazo para


una máquina que a la fecha tiene tres años de edad, durante los
siguientes 4 años (n =4). Una máquina de 6 años de edad debe
ser reemplazada. El costo de una máquina nueva es de $100,000.
La siguiente tabla da los datos del problema.

74 www.usat.edu.pe
Representación de la edad de una máquina
como una función del año de decisión
La determinación de los valores factibles para la edad de la
máquina es algo complicada. La figura resume la red que
representa el problema. Al inicio del año 1 tenemos una máquina
de 3 años de edad. Podemos o reemplazarla (R), o bien
conservarla (K) durante otro año. Si el reemplazo ocurre, la nueva
máquina tendrá un año de edad al inicio del año 2; de lo contrario,
la máquina conservada tendrá 4 años de edad. La misma lógica
aplica al inicio de los años 2 a 4. Si una máquina de un año de edad
es reemplazada al inicio de los años 2,3 y 4, su reemplazo tendrá un año
de edad al inicio del año siguiente. Asimismo, al inicio del año 4, una
máquina de 6 años de edad debe ser reemplazada, y al final del año 4
(final del horizonte de planificación), desechamos (S) la máquina.
La red muestra que al inicio del año 2 las posibles edades de la máquina
son 1 y 4 años. Al inicio del año 3 las posibles edades son 1,2 y 5 años, y
al inicio del año 4 las posibles edades son 1,2,3 y 6 años. La red también
supone que la máquina será desechada al inicio del año 5
independientemente de la edad.

75 www.usat.edu.pe
Esquema

76 www.usat.edu.pe
Solución

La solución de la red mostrada en la figura equivale a encontrar la


ruta más larga (es decir, el ingreso máximo) a partir del inicio del
año 1 hasta el final del año 4. Utilizaremos la forma tabular para
resolver el problema. Todos los valores están en miles de dólares.
Observemos que si una máquina se reemplaza en el año 4 (es
decir, al final del horizonte de planificación), su ingreso incluirá el
valor de rescate, s(t), de la máquina reemplazada y el valor de
desecho, s(1), de la máquina de reemplazo. Además, si en el año 4
una máquina de t años de edad se conserva, su valor de rescate
será s(t + 1)

77 www.usat.edu.pe
78 www.usat.edu.pe
79 www.usat.edu.pe
Solución del ejemplo

80 www.usat.edu.pe
Conclusiones:

• Un problema de optimización que se pueda dividir en


etapas y que sea dinámico en el tiempo puede
resolverse por programación dinámica.
• Las soluciones se pueden ver de manera parcial.
• Si es posible se validan los resultados usando otros
métodos de solución como programación lineal, no
lineal, entera o teoría de redes.

81 www.usat.edu.pe
Conclusiones:

• La principal ventaja de la programación dinámica es su estrategia


de solución de “divide y vencerás".
• Usando programación dinámica, un gran y complejo problema se
puede dividir en una secuencia de menor problemas
interrelacionados.
• Resolviendo el más pequeño problemas secuencialmente, la
solución óptima a la se encuentra un problema mayor.

82 www.usat.edu.pe
Bibliografía

Adaptado de:
• Winston, W. L., & Goldberg, J. B. (2005). Investigación de operaciones: aplicaciones y
algoritmos (Vol. 4). Mexico, Mexico: Thomson.
• Carlos Monardes,(2020), Programación Dinamica, Presentación académica: Disponible en:
https://n9.cl/nu40b
• Hillier, F. S. (2015). Investigación de operaciones.
• Render, B., Stair, R. M., & Hanna, M. E. (2006). Métodos cuantitativos para los negocios.
Pearson Educación.Anderson, D. R., Sweeney, D. J., Williams, T. A., Camm, J. D., & Martin,
K. (2011). Métodos cuantitativos para los negocios. Cengage Learning.
• Bertsekas,D.P., "Dynamic Programming; Deterministic and Stochastic Models"Academic
Press, 1987
• Rojas,C(2020), Webinar, Mundo IO, Programación Dinámica con P4. Disponible en:
https://n9.cl/ve8ac
83 www.usat.edu.pe

También podría gustarte