SlideShare una empresa de Scribd logo
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
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
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
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
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
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
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
Aburgo
Beburgo
Ceburgo
Eburgo
Kaburgo
Iburgo
Hacheburgo
Geburgo
Peburgo
Eleburgo
Teburgo
8
2
5
1
6
6
1
6
5
6
11
5
6
9
4
7
9
8 2
4
3
5
7
6
Aburgo
Beburgo
Ceburgo
Eburgo
Kaburgo
Iburgo
Hacheburgo
Geburgo
Peburgo
Eleburgo
Teburgo
8
2
5
1
6
6
1
6
5
6
11
5
6
9
4
7
9
8 2
4
3
5
7
6
Ejemplo de camino mínimo (1)
Programación Dinámica- 7
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
Deburgo
Efeburgo
Jotaburgo
Ereburgo
Emeburgo
5 6
5
5
4 6 5
5
8
Deburgo
Efeburgo
Jotaburgo
Ereburgo
Emeburgo
5 6
5
5
4 6 5
5
8
Tramo I Tramo II Tramo III Tramo IV Tramo V Tramo VI
 Se trata de obtener el camino (compuesto por 6 tramos) más
corto entre las ciudades Aburgo (A) y Teburgo (T)
 Las distancias entre ciudades aparecen en la red
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
−
=
= ∑
…
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
 
= +
 
 
 
= + + + =
 
 
 
= + + ∞ + = ⇒
 
 
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
= ⇒
= ⇒
= ⇒
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
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
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
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
= + − + − + −
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)
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)
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)
• 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
 
+ − 
 

= 
 
 

 
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
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
+ =
  
 − + − + ≠ ≠
  
 



= − + =



 − + =



= =
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
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:
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
 
= + + =
 
 
 
+ + =
 
 
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
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

Más contenido relacionado

PDF
Programacion dinamica final
PDF
Maurette ojea
PDF
Maurette ojea
PPTX
Programac..
PDF
6 dynamic programming
PPTX
Presentación de investigación de operaciones II
PPTX
Presentacion programacion dinamica
PPTX
Programación Dinámica
Programacion dinamica final
Maurette ojea
Maurette ojea
Programac..
6 dynamic programming
Presentación de investigación de operaciones II
Presentacion programacion dinamica
Programación Dinámica

Similar a PROGRAMACION DINAMICA Y ANALISIS DE DATOS (20)

DOCX
61178886 i-o-ii-principal
PPTX
Programacion dinamica
PDF
Programacion dinamica
PPTX
Programacion dinamica
PDF
programaciondinamica-150128212619-conversion-gate01.pdf
PDF
Asignacion
PDF
PROGRAMACIÃ_N_DINÃ_MICA[1].pdf desarrollo de ejercicios
PPTX
Programación dinamica (ea)
PPTX
Algoritmos computacionales
PPTX
Algoritmos computacionales
PPTX
Programacion dinamica jesus plaza
PPTX
pddunidos.pptx
PPTX
programacion dinámica 1
PPTX
Programación dinámica
PPTX
Pro no num Prog dinamica
PPTX
Programacion Dinamica
PDF
Dynamic programming 01
PPTX
Programacion
PPTX
Programacion dinamica
PDF
Programacion_dinámica_-_GRUPO a_1[1].pdf
61178886 i-o-ii-principal
Programacion dinamica
Programacion dinamica
Programacion dinamica
programaciondinamica-150128212619-conversion-gate01.pdf
Asignacion
PROGRAMACIÃ_N_DINÃ_MICA[1].pdf desarrollo de ejercicios
Programación dinamica (ea)
Algoritmos computacionales
Algoritmos computacionales
Programacion dinamica jesus plaza
pddunidos.pptx
programacion dinámica 1
Programación dinámica
Pro no num Prog dinamica
Programacion Dinamica
Dynamic programming 01
Programacion
Programacion dinamica
Programacion_dinámica_-_GRUPO a_1[1].pdf
Publicidad

Último (20)

DOCX
Estratégias de Ventas para WhatsApp paso a paso
PDF
Principios d. Anatomía y no se que más poner jaja
PPTX
CRITERIOS DE UN SERVICIO DE INTENSIVO presen.pptx
PDF
JsjsjskkskskskskskksjskwiwUltradiano.pdf.pdf
PDF
Estrategia de apoyo realizada por juan pablo
PDF
Manual de presentacion de la aplicacion Plugbot
PPTX
GOOGLE SHEETS IMPORTANCIA Y CARACTERISITICAS
PPTX
DIAPOSITIVA DE ADELA CORTINA - RAMOS ALANIA ANA MARIA.pptx
PPTX
Sistema Cardiovascular, funciones, partes
PPTX
Tema 9 Diapositivas Descomposicion Trata de Personas.pptx
PDF
PROGRAMA CALEB. par la iglesia es un programa
PDF
Ranking de potencias geopolíticas revisado al año (2025).pdf
PDF
TEST DE ORIENTACION VOCACIONAL DILAN MAHECHA
PPTX
D.4. Ciclos Mq While - Máximos - Mínimos.pptx
PPT
Estadistica descriptiva e inferencial para procesos industriales y de desarrollo
PPT
RESOLUCION ALTERNATIVA DE CONFLICTOS 3 CONT.ppt
PDF
Mapa mental de cultura social Historia Economica
PDF
Proyecto Interdisciplinario alimentos saludables
PDF
Proyecto Bootcamp - Entregables y Documentación.pdf
PPTX
Diapos.pptxcscscscscscscscscscscscscscscsc
Estratégias de Ventas para WhatsApp paso a paso
Principios d. Anatomía y no se que más poner jaja
CRITERIOS DE UN SERVICIO DE INTENSIVO presen.pptx
JsjsjskkskskskskskksjskwiwUltradiano.pdf.pdf
Estrategia de apoyo realizada por juan pablo
Manual de presentacion de la aplicacion Plugbot
GOOGLE SHEETS IMPORTANCIA Y CARACTERISITICAS
DIAPOSITIVA DE ADELA CORTINA - RAMOS ALANIA ANA MARIA.pptx
Sistema Cardiovascular, funciones, partes
Tema 9 Diapositivas Descomposicion Trata de Personas.pptx
PROGRAMA CALEB. par la iglesia es un programa
Ranking de potencias geopolíticas revisado al año (2025).pdf
TEST DE ORIENTACION VOCACIONAL DILAN MAHECHA
D.4. Ciclos Mq While - Máximos - Mínimos.pptx
Estadistica descriptiva e inferencial para procesos industriales y de desarrollo
RESOLUCION ALTERNATIVA DE CONFLICTOS 3 CONT.ppt
Mapa mental de cultura social Historia Economica
Proyecto Interdisciplinario alimentos saludables
Proyecto Bootcamp - Entregables y Documentación.pdf
Diapos.pptxcscscscscscscscscscscscscscscsc
Publicidad

PROGRAMACION DINAMICA Y ANALISIS DE DATOS

  • 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
  • 8. Aburgo Beburgo Ceburgo Eburgo Kaburgo Iburgo Hacheburgo Geburgo Peburgo Eleburgo Teburgo 8 2 5 1 6 6 1 6 5 6 11 5 6 9 4 7 9 8 2 4 3 5 7 6 Aburgo Beburgo Ceburgo Eburgo Kaburgo Iburgo Hacheburgo Geburgo Peburgo Eleburgo Teburgo 8 2 5 1 6 6 1 6 5 6 11 5 6 9 4 7 9 8 2 4 3 5 7 6 Ejemplo de camino mínimo (1) Programación Dinámica- 7 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 Deburgo Efeburgo Jotaburgo Ereburgo Emeburgo 5 6 5 5 4 6 5 5 8 Deburgo Efeburgo Jotaburgo Ereburgo Emeburgo 5 6 5 5 4 6 5 5 8 Tramo I Tramo II Tramo III Tramo IV Tramo V Tramo VI Se trata de obtener el camino (compuesto por 6 tramos) más corto entre las ciudades Aburgo (A) y Teburgo (T) Las distancias entre ciudades aparecen en la red
  • 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