1. Programación dinámica
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
Programación dinámica
José María Ferrer Caja
Universidad Pontificia Comillas
2. Introducción
La programación dinámica estudia un conjunto de
problemas de optimización y la herramienta
matemática para resolverlos
Engloba problemas secuenciales en los que hay
que adoptar decisiones en etapas sucesivas con el
fin de optimizar una función objetivo
Programación Dinámica- 1
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
fin de optimizar una función objetivo
Se trata de elaborar una política o estrategia que
englobe las decisiones a tomar en cada uno de los
posibles estados del sistema
La decisión a adoptar en cada etapa debe tener en
cuenta el estado actual y los costes que se deriven
en las sucesivas etapas
3. Elementos
Etapas o fases en que se divide el horizonte temporal
Variables de estado xk: Representan las situaciones que
puede presentar el sistema en cada etapa k
Variables de control uk: Representan las decisiones que
pueden adoptarse en cada etapa k
Ligaduras g(xk, uk)=0: Restricciones que relacionan las
Programación Dinámica- 2
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
Ligaduras g(xk, uk)=0: Restricciones que relacionan las
variables en cada etapa
Transiciones xk+1= φ(xk, uk): Indica como se pasa de una
etapa a la siguiente
Política o Estrategia: Secuencia de decisiones para
cada una de las etapas y cada uno de los estados
Función de costes f: Evalúa las decisiones particulares
y las políticas completas
4. Principio de optimalidad de Bellman
Toda política óptima debe estar formada por
subpolíticas óptimas
Cualquier subsecuencia de una secuencia óptima de
decisiones es también óptima para el subproblema
correspondiente
Dado un estado cualquiera, la política óptima para las
siguientes etapas no depende de las decisiones pasadas
Programación Dinámica- 3
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
Toda la información sobre el pasado está resumida en el
estado en el que se encuentra el sistema
El principio de optimalidad de Bellman es la base de
la metodología de la programación dinámica: Uso
de la recursión
5. Planteamiento general de un problema aditivo
Coste de adoptar la decisión u en el estado x de la etapa k
( )
0 0
0
1
min ( )
( , )
, 0
,
k k
k
N
x u
u
k
k k k k
k k k
k k k k
J f x c
x x u
g x u
x X u U
φ
=
+
= =
=
=
∈ ∈
∑
c
Programación Dinámica- 4
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
Coste de adoptar la decisión uk en el estado xk de la etapa k
Coste acumulado desde el estado inicial x0
Ecuaciones de ligadura en la etapa k
Ecuaciones de transición entre etapas consecutivas
Conjunto de estados posibles en la etapa k
Conjunto de decisiones posibles en la etapa k
k k
x u
c
0 0
( )
f x
( )
, 0
k k k
g x u =
1
( , )
k k k k
x x u
φ
+
=
k
X
k
U
6. Recursión hacia atrás para un problema aditivo
Planteamiento para obtener la política óptima desde el estado
xk de la etapa k conociendo los costes de las políticas óptimas
desde todos los estados que se puedan alcanzar en la
{ }
* *
1 1
( ) min ( )
k k
k
k k x u k k
u
f x c f x
+ +
= +
Programación Dinámica- 5
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
desde todos los estados que se puedan alcanzar en la
siguiente etapa
De forma análoga se plantea la recursión hacia atrás
7. Clasificación de problemas
Según el grado de certidumbre de estados y costes
Determinista o estocástico
Según el tipo de variables de estado
Variables discretas o continuas
Según el número de etapas
Finito o infinito
Programación Dinámica- 6
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
Finito o infinito
Según la función de coste
Aditivo, multiplicativo, etc.
Según el procedimiento de recursión empleado
Recursión hacia adelante o hacia atrás
9. Ejemplo de camino mínimo (2)
Elementos del problema:
Conjunto de etapas → {0,1,2,3,4,5,6}
Variables de estado → x0 ϵ {A}, x1 ϵ {B,C,D}, x2 ϵ {E,F},
x3 ϵ {G,H,I,J}, x4 ϵ {K,L,M}, x5 ϵ {P,R}, x6 ϵ {T}
Coste del tramo k → ck (xk-1, xk)
Coste del camino mínimo hasta la ciudad Y → g(Y)
Función de coste global
Programación Dinámica- 8
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
Función de coste global
Resolveremos el problema por recursión hacia adelante,
calculando los caminos mínimos desde la ciudad A hasta cada
una de las demás ciudades.
El proceso finalizará cuando lleguemos a la ciudad T
( ) ( )
6
0 1 6 1
1
, , , ,
k k k
k
G x x x c x x
−
=
= ∑
…
10. Ejemplo de camino mínimo (3)
Etapa 1
Calculamos los caminos mínimos hasta las ciudades del tramo 1
Etapa 2
Calculamos los caminos mínimos hasta las ciudades del tramo 2
( ) 8; ( ) 6; ( ) 5
g B g C g D
= = =
( ) ( ) ( )
min ,
g E g x c x E
= +
Programación Dinámica- 9
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( )
1
1 2 1
2 2 2
min ,
min , , , , ,
min 8 2,6 1,5 6 7
x
g E g x c x E
g B c B E g C c C E g D c D E
ACE
= +
= + + + =
= + + + = ⇒
( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( )
1
1 2 1
2 2 2
min ,
min , , , , ,
min 8 5,6 ,5 5 10
x
g F g x c x F
g B c B F g C c C F g D c D F
ADF
= +
= + + + =
= + + ∞ + = ⇒
11. Ejemplo de camino mínimo (4)
Etapa 3
( ) ( ) ( )
( ) ( ) ( ) ( )
2
2 3 2
3 3
min ,
min , , ,
min 7 1,10 6 8
x
g G g x c x G
g E c E G g F c F G
ACEG
= + =
= + + =
= + + = ⇒
( )
( )
13
14
g H ACEH
g I ACEI
= ⇒
= ⇒
Programación Dinámica- 10
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
Etapa 4
( )
( )
14
13
g I ACEI
g J ACEJ
= ⇒
= ⇒
( )
( )
( )
15
17
20
g K ACEGK
g L ACEJL
g M ACEIM
= ⇒
= ⇒
= ⇒
12. Ejemplo de camino mínimo (5)
Etapa 5
Etapa 6
Para terminar, calculamos el camino mínimo hasta la ciudad T
( ) 19
( ) 21
g P ACEJLP
g R ACEJLR
= ⇒
= ⇒
( ) ( ) ( )
*
min , , , , , , min ( ) ,
G T G x x x x x x x g x c x T
= = +
Programación Dinámica- 11
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
El camino mínimo es la secuencia ACEJLPT, con coste total 25
( ) ( ) ( )
( ) ( )
5
*
0 1 2 3 4 5 6 5 6 5
6 6
min , , , , , , min ( ) ,
min ( ) , , ( ) , min 19 6,21 5 25
x
G T G x x x x x x x g x c x T
g P c P T g R c R T
= = +
= + + = + + =
A
B
F
D
E
C
G
H
I
J
K
L
M
R
T
P
13. Modelos de asignación unidimensional
El objetivo es determinar la forma óptima de repartir un
recurso K entre diversas actividades x1, x2, …, xn
( ) ( ) ( ) ( )
1 2 1 1 2 2
1 2
max , , ,
sujeto a
;
0
n n n
n
i
F x x x f x f x f x
x x x K
x i
= + + +
+ + + =
≥ ∀
… …
…
;
Programación Dinámica- 12
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
beneficio o ingreso por asignar xi unidades de recurso a
la i-ésima actividad
Hipótesis
Los ingresos procedentes de distintas actividades pueden ser
medidos con una misma unidad
El ingreso total es la suma de los ingresos de cada actividad
El ingreso procedente de una actividad es independiente de las
decisiones practicadas en las otras actividades
i
( )
i i
f x
14. Modelos de asignación. Ejemplo (1)
Una empresa quiere promocionar un producto en cuatro zonas:
I, II, III y IV. Dispone de 9 millones para invertir en publicidad
Se conocen en cada zona las ganancias correspondientes a cada
una de las posibles inversiones
;
Inversión 0 1 2 3 4 5 6 7 8 9
Zona I 0 0.5 0.6 0.8 1.1 1.3 1.4 1.46 1.5 1.52
Zona II 0 0.4 0.48 0.6 0.78 0.91 1 1.05 1.1 1.1
Programación Dinámica- 13
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
A cada zona se le debe asignar una cantidad entera de millones
Zona II 0 0.4 0.48 0.6 0.78 0.91 1 1.05 1.1 1.1
Zona III 0 0.6 0.71 0.9 1.08 1.26 1 1.48 1.6 1.6
Zona IV 0 0.3 0.45 0.7 0.85 0.95 1.02 1.07 1.13 1.13
15. Modelos de asignación. Ejemplo (2)
fi (xi) → ganancia obtenida en la zona i con una inversión de xi
millones
Se trata de maximizar el beneficio total:
Se deben verificar las restricciones
;
( ) ( ) ( ) ( ) ( )
1 2 3 4 1 1 2 2 3 3 4 4
, , ,
F x x x x f x f x f x f x
= + + +
9 ; 0,
x x x x x x
+ + + = ≥ ∈
Programación Dinámica- 14
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
yi → inversión acumulada en las i primeras zonas. Se cumple
La función objetivo se puede expresar como
gi (yi) → ganancia acumulada (óptima) hasta la zona i para una
inversión acumulada yi
1 2 3 4
9 ; 0,
i i
x x x x x x
+ + + = ≥ ∈
1
i i i
x y y −
= −
( ) ( ) ( ) ( ) ( )
1 2 3 4 1 1 2 2 1 3 3 2 4 3
, , , 9
F y y y y f y f y y f y y f y
= + − + − + −
16. Modelos de asignación. Ejemplo (3)
Para la resolución se usa un algoritmo recursivo (hacia adelante)
• Inicialización:
• Ley recursiva para la zona i
• Tabla de beneficios óptimos para las zonas I y II
;
( )
0 0 0
0 0
g y , y
= =
( ) ( ) ( )
1
1 1 1
0
max
i i
i i i i i i i
y y
g y g y f y y
−
− − −
≤ ≤
= + −
( ) ( ) ( )
3
4 3 3 4 3
0 9
9 max 9
y
g g y f y
≤ ≤
= + −
(Zona IV)
Programación Dinámica- 15
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
• Tabla de beneficios óptimos para las zonas I y II
y1, x2, y2 0 1 2 3 4 5 6 7 8 9
g1(y1)=f1(x1) 0 0.5 0.6 0.8 1.1 1.3 1.4 1.46 1.5 1.52
f2(x2)=f2(y2-y1) 0 0.4 0.48 0.6 0.78 0.91 1 1.05 1.1 1.1
g2(y2) 0 0.5 0.9 1 1.2 1.5 1.7 1.8 1.9 2.08
Política
óptima para
las zonas I y II
(0,0) (1,0) (1,1) (2,1) (3,1) (4,1) (5,1) (6,1) (5,3) (5,4)
17. Por ejemplo, g2(3) se ha obtenido:
• Tabla de beneficios óptimos para las zonas I, II y III
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
2 1 2 1 2 1 2 1 2
3 max 0 3 , 1 2 , 2 1 , 3 0
max[0 0.6, 0.5 0.48, 0.6 0.4, 0.8 0] 1
g g f g f g f g f
= + + + + =
= + + + + =
Modelos de asignación. Ejemplo (4)
;
y2, x3, y3 0 1 2 3 4 5 6 7 8 9
Programación Dinámica- 16
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
g2(y2) 0 0.5 0.9 1 1.2 1.5 1.7 1.8 1.9 2.08
f3(x3)=f3(y3-y2) 0 0.6 0.71 0.9 1.08 1.26 1.4 1.48 1.6 1.6
g3(y3) 0 0.6 1.1 1.5 1.61 1.8 2.1 2.3 2.41 2.6
Política óptima
para las zonas I
y II
(0,0) (1,0) (1,1) (2,1) (3,1) (4,1) (5,1) (6,1) (5,3) (5,4)
Política óptima
para las zonas I,
II y III
(0,0,0) (0,0,1) (1,0,1) (1,1,1) (1,1,2) (3,1,1) (4,1,1) (5,1,1) (5,1,2) (5,1,3)
18. Por ejemplo, g3(3) se ha obtenido:
• Tabla de beneficios óptimos para las 4 zonas
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
3 2 3 2 3 2 3 2 3
3 max 0 3 , 1 2 , 2 1 , 3 0
max[0 0.9, 0.5 0.71, 0.9 0.6, 1 0] 1.5
g g f g f g f g f
= + + + + =
= + + + + =
Modelos de asignación. Ejemplo (5)
;
y3, x4, y4 0 1 2 3 4 5 6 7 8 9
g (y ) 0 0.6 1.1 1.5 1.61 1.8 2.1 2.3 2.41 2.6
Programación Dinámica- 17
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
Como los ingresos son positivos, interesa repartir los 9 millones. No ha
sido necesario calcular los beneficios obtenidos repartiendo menos
g3(y3) 0 0.6 1.1 1.5 1.61 1.8 2.1 2.3 2.41 2.6
f4(x4)=f4(y4-y3) 0 0.3 0.45 0.7 0.85 0.95 1.02 1.07 1.13 1.13
g4(y4) 2.8
Política óptima
para las zonas I,
II y III
(0,0,0) (0,0,1) (1,0,1) (1,1,1) (1,1,2) (3,1,1) (4,1,1) (5,1,1) (5,1,2) (5,1,3)
Política óptima (4,1,1,3)
19. • La solución óptima consiste en asignar 4 millones a la zona I, 1
millón a las zonas II y III y 3 millones a la zona IV
• El beneficio es de 2.8
El número de políticas posibles para este problema es
Modelos de asignación. Ejemplo (6)
;
9 4 1 12
220
CR
+ −
= = =
Programación Dinámica- 18
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
Para el problema general de asignación
4,9
220
9 9
CR
= = =
,
1
n K
n K
CR
K
+ −
=
20. Caminos óptimos sobre redes Manhattan.
Planteamiento
El objetivo es encontrar el camino de longitud
mínima(o tiempo mínimo) entre 2 puntos situados en
los extremos SO y NE de una red cuadrada m x n
;
(3,2)
(3,3)
B
(0,3) (1,3) (2,3)
3
3
3
3 2
2
2
2
1
1
1
1 3
3
3
3
3
3
3
3
4
4
4
4
Programación Dinámica- 19
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
En cada etapa el movimiento ha de ser hacia la
derecha o hacia arriba
O (1,0) (3,0)
O
(0,1)
5
5
5
5
1
1
1
1 3
3
3
3
6
6
6
6
2
2
2
2
4
4
4
4
3
3
3
3
2
2
2
2 3
3
3
3
3
3
3
3
21. Caminos óptimos sobre redes Manhattan.
Nomenclatura y algoritmo recursivo
A(i,j) → tiempo en recorrer el tramo ascendente del nodo (i,j-1) al
nodo (i,j)
D(i,j) → tiempo en recorrer el tramo horizontal del nodo (i-1,j) al
nodo (i,j)
t(i,j) → tiempo mínimo empleado desde O al nodo (i,j)
El problema tiene m+n fases
En cada fase k los estados posibles son los nodos (i,j) que
;
Programación Dinámica- 20
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
cumplen i +j=k
Los tiempos t(i,j) se calculan recursivamente mediante las
fórmulas
El problema estará resuelto cuando se calcule t(m,n)
( )
( ) ( ) ( ) ( )
( ) ( )
( ) ( )
min 1, , , , 1 , , 0, 0
, 1, , , si 0
, 1 , , si 0
(0,0) ( ) 0
i j k
t i j D i j t i j A i j j i
t i j t i j D i j j
t i j A i j i
t t O
+ =
− + − + ≠ ≠
= − + =
− + =
= =
22. Caminos óptimos sobre redes Manhattan.
Ejemplo (1)
;
(3,2)
(3,3)
B
B
B
B=(3,4)
(0,2)
(0,3)
(0,4) (1,4) (2,4)
(1,3) (2,3)
(1,2) (2,2)
5
5
5
5 4
4
4
4 3
3
3
3
1
1
1
1
6
6
6
6
3
3
3
3
2
2
2
2
2
2
2
2
4
4
4
4
3
3
3
3
4
4
4
4
2
2
2
2
5
5
5
5
3
3
3
3
Fase 1
Fase 2
Fase 3
Fase 4
Fase 5
Fase 6
Fase 7
Programación Dinámica- 21
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
O=
O=
O=
O=(0,0) (1,0) (2,0) (3,0)
(3,1)
(3,2)
(0,1)
(0,2) (1,2) (2,2)
(1,1) (2,1)
5
5
5
5
5
5
5
5
1
1
1
1 3
3
3
3 6
6
6
6
6
6
6
6
3
3
3
3
2
2
2
2 4
4
4
4 4
4
4
4
4
4
4
4
3
3
3
3
1
1
1
1
2
2
2
2 3
3
3
3 4
4
4
4
3
3
3
3
Fase 0
Fase 1
23. Caminos óptimos sobre redes Manhattan.
Ejemplo (2)
Aplicación del algoritmo recursivo (hacia adelante)
;
Fase 1 Vértice t(i,j) Decisión
(0,1) 3 A (arriba)
(1,0) 2 D (derecha)
Fase 2 Vértice t(i,j) Decisión
(0,2) 7 A
(3,2)
(3,3)
B
B
B
B=(3,4)
(0,2)
(0,3)
(0,4) (1,4) (2,4)
(1,3) (2,3)
(1,2) (2,2)
5
5
5
5 4
4
4
4 3
3
3
3
1
1
1
1
6
6
6
6
3
3
3
3
2
2
2
2
2
2
2
2
4
4
4
4
3
3
3
3
4
4
4
4
2
2
2
2
5
5
5
5
3
3
3
3
Fase 1
Fase 2
Fase 3
Fase 4 Fase 5
Fase 6
Fase 7
Programación Dinámica- 22
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
(2,1) min (1,1) (2,1), (2,0) (2,1)
min 3 4,5 3 7
t t D t A
= + + =
+ + =
(1,1) 3 A
(2,0) 5 D
Fase 3 Vértice t(i,j) Decisión
(0,3) 10 A
(1,2) 6 A
(2,1) 7 D
(3,0) 9 D
O=
O=
O=
O=(0,0) (1,0) (2,0) (3,0)
(3,1)
(3,2)
(0,1)
(0,2) (1,2) (2,2)
(1,1) (2,1)
5
5
5
5
5
5
5
5
1
1
1
1 3
3
3
3 6
6
6
6
6
6
6
6
3
3
3
3
2
2
2
2 4
4
4
4 4
4
4
4
4
4
4
4
3
3
3
3
1
1
1
1
2
2
2
2 3
3
3
3 4
4
4
4
3
3
3
3
Fase 0
Fase 1
Por ejemplo:
24. Caminos óptimos sobre redes Manhattan.
Ejemplo (3)
;
Fase 4 Vértice t(i,j) Decisión
(0,4) 12 A
(1,3) 11 A
(2,2) 9 D
(3,1) 11 D
(3,2)
(3,3)
B
B
B
B=(3,4)
(0,2)
(0,3)
(0,4) (1,4) (2,4)
(1,3) (2,3)
(1,2) (2,2)
5
5
5
5 4
4
4
4 3
3
3
3
1
1
1
1
6
6
6
6
3
3
3
3
2
2
2
2
2
2
2
2
4
4
4
4
3
3
3
3
4
4
4
4
2
2
2
2
5
5
5
5
3
3
3
3
Fase 1
Fase 2
Fase 3
Fase 4 Fase 5
Fase 6
Fase 7
Fase 5 Vértice t(i,j) Decisión
Programación Dinámica- 23
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
O=
O=
O=
O=(0,0) (1,0) (2,0) (3,0)
(3,1)
(3,2)
(0,1)
(0,2) (1,2) (2,2)
(1,1) (2,1)
5
5
5
5
5
5
5
5
1
1
1
1 3
3
3
3 6
6
6
6
6
6
6
6
3
3
3
3
2
2
2
2 4
4
4
4 4
4
4
4
4
4
4
4
3
3
3
3
1
1
1
1
2
2
2
2 3
3
3
3 4
4
4
4
3
3
3
3
Fase 0
Fase 1
(1,4) 14 A
(2,3) 13 A
(3,2) 15 D
Fase 6 Vértice t(i,j) Decisión
(2,4) 17 A
(3,3) 15 D
Fase 7 Vértice t(i,j) Decisión
(3,4) 20 D
(3,4) min (2,4) (3,4), (3,3) (3,4)
min 17 3,15 6 20
t t D t A
= + + =
+ + =
25. Caminos óptimos sobre redes Manhattan.
Ejemplo (4)
;
La solución óptima se reconstruye desde el final al principio:
(3,4) D (2,4) A (2,3) A (2,2) D (1,2) A (1,1) A (1,0) D (0,0)
(3,3)
B
B
B
B=(3,4)
(0,3)
(0,4) (1,4) (2,4)
(1,3) (2,3)
5
5
5
5 4
4
4
4 3
3
3
3
6
6
6
6
3
3
3
3
2
2
2
2 4
4
4
4
Programación Dinámica- 24
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
O=
O=
O=
O=(0,0) (1,0) (2,0) (3,0)
(3,1)
(3,2)
(3,3)
(0,1)
(0,2)
(0,3) (1,3) (2,3)
(1,2) (2,2)
(1,1) (2,1)
5
5
5
5
5
5
5
5
1
1
1
1
2
2
2
2
4
4
4
4
3
3
3
3 2
2
2
2
5
5
5
5
1
1
1
1 3
3
3
3 6
6
6
6
3
3
3
3
6
6
6
6
3
3
3
3
2
2
2
2 4
4
4
4 4
4
4
4
4
4
4
4
3
3
3
3
1
1
1
1
2
2
2
2 3
3
3
3 4
4
4
4
3
3
3
3
26. Caminos óptimos sobre redes Manhattan.
Eficiencia del algoritmo
El número de caminos posibles en la red es
Para el ejemplo hay 35 caminos
Cada camino requiere m+n–1 operaciones básicas, para
comparar los caminos se necesitan Cm+n,m-1 operaciones
En el ejemplo, 35 x 6 = 210 operaciones más 34 comparaciones= 244
Con el algoritmo recursivo propuesto, hay que analizar todos los
;
,
m n m
m n
C
m
+
+
=
Programación Dinámica- 25
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
D
D
D
DEPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE
EPARTAMENTO DE O
O
O
ORGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN
RGANIZACIÓN I
I
I
INDUSTRIAL
NDUSTRIAL
NDUSTRIAL
NDUSTRIAL
Con el algoritmo recursivo propuesto, hay que analizar todos los
nodos menos el inicial, (m+1)x(n+1)-1 nodos
En cada nodo con i=0 o j=0 se realiza 1 operación (1 suma)
En el resto de nodos se realizan 3 operaciones (2 sumas y una
comparación)
En el ejemplo, 5x4-1=19 nodos a evaluar
En 7 de ellos, 1 operación → 7 operaciones
En 12 de ellos, 3 operaciones → 36 operaciones
En total: 43 operaciones básicas