programación dinámica -...
TRANSCRIPT
![Page 1: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/1.jpg)
Programación Dinámica
![Page 2: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/2.jpg)
Introducción a la PD El matemático Richard que se utiliza para optimizar problemas
complejos que pueden ser discretizados y secuencializados.Bellman
inventó la PD en 1953
Es una técnica que permite determinar de manera eficiente las
decisiones que optimizan el comportamiento de un sistema que
evoluciona a lo largo de una serie de etapas.
Trata de encontrar la secuencia de decisiones que optimiza el
comportamiento de un proceso múltiples etapas.
Determina la solución óptima de un problema de n variables
descomponiéndola en n etapas, con cada etapa incluyendo un
subproblema de una sola variable.
La ventaja en el aspecto de los cálculos es que optimizar una sola
variable, en vez de subproblemas de n variables.
![Page 3: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/3.jpg)
Principio de optimalidad de Bellman La principal contribución de la PD es el principio de
optimalidad, un marco de referencia para
descomponer el problema en etapas.
Dada una secuencia óptima de decisiones, toda
subsecuencia de ella es, a su vez, óptima».
Los cálculos en la PD se hacen recursivamente, en el
sentido de la solución óptima de un subproblema se
utiliza como una entrada para el siguiente subproblema.
Para el momento en que se resuelve el último
subproblema, se tiene la solución óptima para todo el
problema
![Page 4: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/4.jpg)
Características de los problemas de PD
El problema se puede dividir en etapas; cada etapa requiere una
decisión.
Cada etapa tiene un numero de estados asociados con ella.
La decisión tomada en cualquier etapa indica como se transforma
en la siguiente etapa.
Dado el estado actual, la decisión optima para cada una de las
etapas restantes no debe depender de estados previamente
alcanzados o de decisiones previamente tomadas.
Si los estados del problema se han clasificado en uno de T etapas,
debe haber una formula recursiva que relacione el costo o
recompensa durante las etapas t, t+1,…, T con el costo o
recompensa de las etapas t +1, t +2,…, T
Relación recursiva: función que relaciona las etapas Hacia atrás: define la política óptima de n conociendo n-1
Hacia adelante: define la política óptima de n+1 conociendo n
![Page 5: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/5.jpg)
Elementos de un problema de PD
![Page 6: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/6.jpg)
![Page 7: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/7.jpg)
![Page 8: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/8.jpg)
![Page 9: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/9.jpg)
![Page 10: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/10.jpg)
![Page 11: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/11.jpg)
![Page 12: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/12.jpg)
![Page 13: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/13.jpg)
![Page 14: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/14.jpg)
Sean
Sn : el estado del sistema en la etapa n
Xn : la variable de decisión en la etapa n
fn = (Sn, Xn ) una función de recursividad que define una
política óptima en la etapa n
![Page 15: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/15.jpg)
Ejemplo 1: La diligencia (stagecoach)
Es un ejemplo para ilustrar la PD, ya que hay métodos más
eficientes para hacerlo.
Un viajero quiere ir de un punto A, a un punto J a un menor
costo, siendo los costos como se describen en las tablas:
De \ A B C D
A 2 4 3
De\ A E F G
B 7 4 6
C 3 2 4
D 4 1 5
De\ A H I
E 1 4
F 6 3
G 3 3
De\ A J
H 3
I 4
![Page 16: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/16.jpg)
Sistema de caminos y costos
x1 x3 x4 x2 A
![Page 17: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/17.jpg)
Formulación del problema Sean xn (n = 1, 2, 3…p) las variables de decisión que representan el
destino inmediato de la etapa n, tal que la ruta seleccionada sea A x1
x2 … xp, donde xp será el destino J.
Sea n(s, xn) el costo total de la mejor política global para las etapas
restantes, dado que el viajero se encuentra en el estado s listo para iniciar
la etapa n y elige xn como destino inmediato.
Dados s y n, sea xn* (no necesariamente único) que minimiza n(s, xn) y
sea n* el valor mínimo de n(s, xn), entonces:
n* = min n*(s, xn) = n(s, xn*), xn
Donde n(s, xn) = costo inmediato(etapa n) + mínimo costo futuro (etapas n
+ 1 en adelante), tal que
n(s, xn) = cs, xn + n+1(s, xn*)
+
![Page 18: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/18.jpg)
Solución El objetivo es encontrar 1*(A) y la ruta correspondiente. A través de la
PD, se encuentra sucesivamente 4*(s), 3*(s), 2*(s) y finalmente
1*(s). Esto se conoce como recursividad hacia atrás.
Cuando el viajero sólo tiene una etapa por recorrer (n = 4), su ruta de
ahí en adelante está determinada por su estado actual (H o I) y su
destino final x4 = J, de manera que para esta última jornada el viaje es
s J,
Cómo 4*(s) = 4(s, J) = cs,J + 5(s, x5*)
Donde 5(s, x5*) = 0 (el viaje termina en J)
![Page 19: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/19.jpg)
n = 4
s 4*(s) x4
n = 3
s \ x3 3(s, x3) = cs,x + 4(s, x4*)
3*(s) x3*
![Page 20: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/20.jpg)
n = 4
n = 3
s 4*(s) x4
H 3 J
I 4 J
s \ x3 3(s, x3) = cs,x + 4(s, x4*)
3*(s) x3* H I
E 1 + 3 4 + 4 4 H
F 6 + 3 3 + 4 7 I
G 3 + 3 3 + 4 6 H
![Page 21: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/21.jpg)
n =
n =
s \ x2 (s, x2) = cs,x + 3(s, x3*)
2*(s) x2*
s \ x1 (s, x1) = cs,x + 2(s, x2*)
1*(s) x1*
![Page 22: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/22.jpg)
n = 2
n = 1
s \ x2 (s, x2) = cs,x + 3(s, x3*)
2*(s) x2* E F G
B 7 + 4 4 + 7 6 + 6 11 E o F
C 3 + 4 2 + 7 4 + 6 7 E
D 4 + 4 1 + 7 5 + 6 8 E o F
s \ x1 (s, x1) = cs,x + 2(s, x2*)
1*(s) x1* B C D
A 2 + 11 4 + 7 3 + 8 11 C o D
Ruta óptima:
A C E H I = 11
A D E H J = 11
A D F I J = 11
![Page 23: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/23.jpg)
Solución con WinQSB
![Page 24: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/24.jpg)
Ejemplo: asignación de brigadas médicas El WORLD HEALTH COUNCIL, se dedica a mejorar la atención
médica en los países subdesarrollados del mundo. Dispone de 5
brigadas médicas para asignarlas a tres de estos países.
El consejo necesita determinar cuántas brigadas debe asignar a cada
país (si lo hace) para maximizar la medida de la eficiencia de las
brigadas, la cual será el incremento en el promedio de vida esperado
en añose , multiplicado por la población de cada país.
![Page 25: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/25.jpg)
Formulación
Etapas: Países a los cuales se les debe asignar las
brigadas. ( n=1- País1 ); ( n=2 –País 2 ); ( n=3 -País 3).
Variable de decisión: Xn : Número de brigadas
asignadas al país n.
Estado: ¿ Qué es lo que cambia de una etapa a otra?
Sn : Número de brigadas médicas disponibles para
asignarse a los países restantes
S1 = 5, X1: 0,.., 5
S2 = S1 - X1: 0,…, 5, dependiendo de X1
S3 = S2 - X2: 0,…, 5 dependiendo de X2
![Page 26: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/26.jpg)
Función recursiva:
Sea Pi (Xi) la medida del desempeño por
asignar Xi brigadas médicas al país i,
entonces
Max Z = i=1,3 Pi (Xi )
s.a i=1,3 Xi = 5
0 ≤ Xi ≤ 5 para Xi enteros
![Page 27: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/27.jpg)
De manera general
fn(Sn, Xn) = cs,x xn + fn+1* (Xn)
Para el ejemplo
fn(Sn, Xn) = Pn (Xn) + fn+1* (Sn - Xn)
Donde la etapa n corresponde al país n
En el caso de que se asignen todas las
brigadas, el estado final (cero brigadas
para asignar) se alcanza al terminar la
etapa 3,entonces f4* = 0
![Page 28: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/28.jpg)
Utilizando una relación recursiva hacia atrás
N = 3
S3 3(S3, X3) = P3(X3) + 4* 3(S3, X3) X3
![Page 29: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/29.jpg)
N = 2
X2
S2
2(S2, X2) = P2 (X2) + 3*(S2 -X2)
f(S2) X2 0 1 2 3 4 5
![Page 30: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/30.jpg)
N = 1
X2
S2
2(S1, X1) = P1 (X1) + 2*(S1 –X1)
S2 X2 0 1 2 3 4 5
![Page 31: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/31.jpg)
![Page 32: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/32.jpg)
![Page 33: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/33.jpg)
Problema de la mochila 0/1
• Problema: Se tienen n objetos, cada uno con un peso (wi) y un
beneficio (vi), y una mochila en la que se pueden meter objetos,
con una capacidad de peso máximo M. El objetivo es maximizar
el beneficio de los objetos transportados, donde cada objeto se
puede coger entero (xi=1) o nada (xi=0).
• Es un problema NP-Completo
• Sujeto a:
![Page 34: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/34.jpg)
Problema de la mochila 0/1
Definición de la ecuación recurrente: • Sea Mochila (i, m) el problema de la mochila, considerando sólo los i
primeros objetos (de los n originales) con una capacidad de peso m.
Se puede suponer que la siguiente expresión devuelve el valor de
beneficio total: xa·va, para a = 1, j
• Se puede definir el problema de forma recurrente, en función de que se
use o no el objeto i.
• Si no se usa el objeto i: Mochila (i, m) = Mochila (i - 1, m)
• Si se usa: Mochila (i, m) = vi + Mochila (i - 1, m - wi)
• Valor óptimo:
Mochila (i, m) = max (Mochila (i-1, m), vi + Mochila (i-1, m - wi))
![Page 35: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/35.jpg)
Problema de la mochila 0/1
Casos base:
• Si (i<0) o (m<0) entonces no hay solución: Mochila (i, m) =
-
• En otro caso, si (i=0) ó (m=0) la solución es no incluir
ningún objeto: Mochila (i, m) = 0
Definición de las tablas:
• La solución del problema original será Mochila (n, M).
• Por lo tanto necesitamos una tabla: V: array [0..n, 0..M] de
enteros
• V[i, j] = Beneficio máximo usando los i primeros objetos y
peso j.
![Page 36: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/36.jpg)
Problema de la mochila 0/1
Se puede tener una tabla auxiliar de 0/1 para almacenar las decisiones parciales y recomponer la solución, o
A partir de la tabla V obtener la solución (x1, x2, ..., xn): partir de la posición V[n, M] y analizar las decisiones que se tomaron para cada objeto i.
Si (V[i, j] = V[i-1, j]) entonces la solución no usa el objeto i, xi= 0.
Si (V[i, j] = V[i-1, j-wi] + vi) entonces sí se usa el objeto i, xi= 1.
Si (V[i, j] = V[i-1, j-wi] + vi) y (V[i, j] = V[i-1, j]) entonces se puede usar el objeto i o no (existe más de una solución óptima).
Acabar cuando se llegue a un i=0 ó j=0.
![Page 37: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/37.jpg)
Problema de la mochila 0/1
Forma de rellenar las tablas:
• Inicializar los casos base.
• Para todo i, desde 1 hasta n, y j desde 1 hasta M, aplicar la
ecuación de recurrencia:
V[i, j] = max (V[i - 1, j] , V[i - 1, j - wi] + vi)
• Si j es negativo, entonces V[i, j] = -, y el máximo será el
otro término.
• Ejemplo. n= 3, M= 6, w= (2, 3, 4), v= (1, 2, 5), hay uno de cada uno de los elementos
![Page 38: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/38.jpg)
Solución
w, v
i \ j 0 1 2 3 4 5 6
0
1
2
3
i w j
0 0 0
1 2 1
2 3 2
3 4 5
i n w v
1
2
3
![Page 39: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/39.jpg)
Solución
w, v
i \ j 0 1 2 3 4 5 6
0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0
1 0, 0 0, 0 2, 1 2, 1 2, 1 2, 1 2, 1
2 0, 0 0, 0 2, 1 3, 2 3, 2 5, 3 5, 3
3 0. 0 0. 0 2, 1 3, 2 4, 5 4, 5 6, 6
i w j
0 0 0
1 2 1
2 3 2
3 4 5
i n w v
1 1 2 1
2 0 2 1
3 1 6 6
![Page 40: Programación Dinámica - humberto-r-alvarez-a.webs.comhumberto-r-alvarez-a.webs.com/IO-2/1.Programacion dinamica.pdf · Ejemplo: asignación de brigadas médicas El WORLD HEALTH](https://reader033.vdocuments.mx/reader033/viewer/2022050814/5ad495907f8b9a177c8beec9/html5/thumbnails/40.jpg)
WinQSB