Académique Documents
Professionnel Documents
Culture Documents
JJ
II
Page 1 of 100
Go Back
Full Screen
Close
Quit
jlopez@eisc.univalle.edu.co
8 de noviembre de 2003
Generalidades
La programacion Dinamica :
Home Page
Title Page
Contents
JJ
II
Page 2 of 100
Go Back
Full Screen
Close
Quit
Generalidades (Cont.)
Home Page
Title Page
Contents
JJ
II
Page 3 of 100
Go Back
Full Screen
Close
Quit
Generalidades (Cont.)
Home Page
Title Page
Contents
JJ
II
Page 4 of 100
Go Back
Full Screen
Close
Quit
Generalidades (Cont.)
Home Page
Title Page
Contents
JJ
II
Page 5 of 100
Utilizando proramaci
on dinamica se solucionan
problemas de optimizacion como:
? El problema de planificacion en una fabrica de automoviles.
? Multiplicacion de una sucesion de matrices.
? Construir un arbol de busqueda binaria que se optimo.
Go Back
Full Screen
Close
Quit
La Planificaci
on de una lnea de ensamble de
Autom
oviles
La Corporacion Colonel Motors produce automoviles en una fabrica que tiene dos lneas de
ensamble.
Home Page
Estado S 1,1
Title Page
Linea de
ensamble 1
Contents
JJ
II
Page 6 of 100
Go Back
Full Screen
Close
a1,1
Estado S 1,2
a1,2
Estado S 1,3
a1,3
Estado S 1,4
a1,4
a1,n
x1
e1
Entrada
chasis
t 1,1
t 1,2
t 1,3
t 2,1
t 2,3
e2
Linea de
ensamble 2
2,2
t 1,n1
. . . .
completado
Salida
t 2,n1
x2
a2,1
Estado S 2,1
a2,2
Estado S 2,2
a2,3
Estado S 2,3
a2,4
Estado S 2,4
a1,n1
a1,n
Quit
La Planificaci
on de una lnea de ensamble de
Autom
oviles
El chass del automovil entra en cada lnea de ensamble, se adicionan al chass las parte necesarias en
cada estado del proceso, que nos lleva a construir
finalmente el automovil :
Home Page
Title Page
Contents
JJ
II
Page 7 of 100
Go Back
Full Screen
Close
Quit
La Planificaci
on de una lnea de ensamble de
Autom
oviles
? El tiempo requerido por un estado Si,j en el ensamble se representa por ai,j .
Home Page
Title Page
Contents
JJ
II
Page 8 of 100
Go Back
Full Screen
Close
Quit
Determinar que estados elegir de la lnea 1 y que estados elegir de la lnea 2 en orden, tal que se mnimize el
tiempo total que toma la construccion de un automovil.
La Planificaci
on de una lnea de ensamble de
Autom
oviles
En el ejemplo siguiente el tiempo total para construir un automovil se encuentra eligiendo los estados
1, 3 y 6 de la lnea 1 y los estados 2, 4 y 5 de la lnea 2.
Estado S 1,1
Home Page
Title Page
Estado S 1,2
Linea de
ensamble 1
Estado S 1,3
Estado S 1,4
Estado S 1,5
Estado S 1,6
4
3
Contents
JJ
II
Entrada
chasis
completado
Salida
Page 9 of 100
Go Back
Linea de
ensamble 2
8
Estado S 2,1
Full Screen
Close
Quit
f [j] 9
1
Estado S 2,2
Estado S 2,3
Estado S 2,4
18 20 24 32 35
f [j] 12 16 22 25 30 37
2
f* = 38
Estado S 2,5
Estado S 2,6
l [j]
l [j] 1
1
2
l* = 1
La Planificaci
on de una lnea de ensamble de
Autom
oviles
Home Page
Title Page
Contents
JJ
II
Page 10 of 100
Go Back
Full Screen
Close
Quit
La Planificaci
on de una lnea de ensamble de
Autom
oviles
1. Supongamos que la ruta mas corta al estado S1,j
es a traves del estado S1,j1.
2. Supongamos que la ruta mas corta al estado S1,j
es a traves del estado S2,j1.
Home Page
Title Page
Contents
JJ
II
Page 11 of 100
Go Back
Full Screen
Close
Quit
La Planificaci
on de una lnea de ensamble de
Autom
oviles
Podemos concluir que un ruta corta para llegar al
estado S1,j es a traves del estado j 1 de la lnea 1 o
2:
Home Page
Title Page
Contents
JJ
II
Page 12 of 100
Go Back
Full Screen
Close
Quit
La Planificaci
on de una lnea de ensamble de
Autom
oviles
Etapa 2: Una soluc
on recursiva
Home Page
Title Page
Contents
JJ
II
Page 13 of 100
Go Back
Full Screen
Close
Quit
La Planificaci
on de una lnea de ensamble de
Autom
oviles
Realizamos los calculos de fi[j] para j = 2, 3, ..., n
(i = 1, 2) y obtenemos la ecuacion recursiva :
Home Page
e1 + a1,1
si j = 1
min(f1 [j 1] + a1,j , f2 [j 1] + t2,j1 + a1,j ) si j 2
e2 + a2,1
si j = 1
min(f2 [j 1] + a2,j , f1 [j 1] + t1,j1 + a2,j ) si j 2
fi [j] =
Title Page
Contents
f2 [j] =
JJ
II
Page 14 of 100
Go Back
Full Screen
Close
Quit
La Planificaci
on de una lnea de ensamble de
Autom
oviles
Etapa 3 : Calculo del tiempo
A continuacion mostraremos el algoritmo recursivo de
las ecuaciones anteriormente mencionadas :
Home Page
Title Page
Contents
JJ
II
Page 15 of 100
Go Back
Full Screen
Close
Quit
La Planificaci
on de una lnea de ensamble de
Autom
oviles
Home Page
Title Page
Contents
JJ
II
Page 16 of 100
Go Back
Full Screen
Close
Quit
La Planificaci
on de una lnea de ensamble de
Autom
oviles
Etapa 4: Construcci
on de una buena ruta
Home Page
Title Page
Para calcular los valores de fi[j], f , li[j]yl, necesitamos construir la secuencia de estados utilizando la
mejor ruta para la fabricacion del automovil.
Contents
JJ
II
Page 17 of 100
Go Back
Full Screen
Close
Quit
Multiplicaci
on de una Sucesi
on de Matrices
Home Page
Title Page
1. (A1(A2(A3A4))),
Contents
JJ
II
2. (A1((A2A3)A4)),
3. ((A1A2)(A3A4)),
Page 18 of 100
Go Back
Full Screen
Close
Quit
4. ((A1(A2A3))A4),
5. (((A1A2)A3)A4)
La multiplicacion de matrices es asociativa.
Multiplicaci
on de una Sucesi
on de Matrices
Utilizando el algoritmo estandar de multiplicacion
de matrices:
Home Page
Title Page
Contents
JJ
II
Page 19 of 100
Go Back
Full Screen
Close
Quit
Multiplicaci
on de una Sucesi
on de Matrices
Home Page
Title Page
Contents
JJ
II
Page 20 of 100
Go Back
550
de |{z}
A1 . (A2.A3) 10 100 50 = 50000 = 75000
| {z }
10100
10050
2. Costo de |{z}
A1 . |{z}
A2 10 100 5
= 5000 +
10100 1005
Full Screen
Close
Quit
Costo de A
.A}2 . (A3) 10 5 50 = 2500 = 7500
| 1{z
|{z}
105
550
Multiplicaci
on de una Sucesi
on de Matrices
El problema de la multiplicaci
on de una sucesi
on
de matrices (MSM) es:
Home Page
Title Page
? entrada: Una sucesion < A1, . . . , An > de n matrices, donde la matriz Ai, 1 i n, tiene dimension pi1 pi
Contents
JJ
II
Page 21 of 100
Go Back
Full Screen
Close
Quit
? Salida: La manera optima de multiplicar las matrices (optima = mnimo numero de multiplicaciones)
Note que la salida se puede ver como una manera
de poner parentesis a la expresion A1A2 . . . An de tal
suerte que indique en que orden realizar las multiplicaciones.
En el caso del ejemplo anterior, una solucion optima
(la unica en este caso) fue: (A1A2)A3.
Multiplicaci
on de una Sucesi
on de Matrices
Una solucion ingenua al problema MSM:
Home Page
Title Page
Contents
JJ
II
Page 22 of 100
Go Back
Full Screen
Close
Quit
Multiplicaci
on de una Sucesi
on de Matrices
Tratemos de aplicar otra tecnica: Programacion
Dinamica.
Etapa 1: Estructura de una soluci
on
optima
Home Page
Title Page
Contents
JJ
II
Page 23 of 100
Go Back
Full Screen
Close
Quit
Multiplicaci
on de una Sucesi
on de Matrices
Home Page
Observaci
on clave: La solucion para el problema A1..k implcita dentro de una solucion optima para
A1..n, es una solucion optima para ese subproblema
(A1..k ).
Title Page
Contents
JJ
II
Page 24 of 100
Go Back
Full Screen
Close
Quit
Entonces: toda solucion optima para el problema A1..n, contiene dentro de s, soluciones optimas para
los subproblemas encontrados.
Propiedad de las subestructuras
optimas dentro
de soluciones
optimas, es uno de los sellos de la
viabilidad de una solucion por programacion dinamica.
Multiplicaci
on de una Sucesi
on de Matrices
Home Page
Title Page
Contents
JJ
II
Etapa 2: Soluci
on recursiva
La estructura descrita anteriormente nos permite
concluir que los subproblemas que se presentaran
para calcular la solucion optima seran del estilo:
Ai..j , 1 i < j n
Sea m[i, j], el mnimo numero de multiplicaciones
necesarias para calcular Ai..j , entonces lo esencial del
problema es calcular m[1, n], para esto definamos
m[i, j] recursivamente como :
Page 25 of 100
Go Back
m[i, j] =
0
si i = j
minik<j {m[i, k] + m[k + 1, j] + pi1 pk pj } si i < j
Full Screen
Close
Quit
Para ayudar a construir una solucion optima definiremos otra matriz, s, tal que:
s[i, j] = k si m[i, j] = m[i, k] + m[k + 1, j] + pi1pk pj
Multiplicaci
on de una Sucesi
on de Matrices
Etapa 4: Calcular el costo (valor) de una
soluci
on
optima
Home Page
Title Page
Contents
JJ
II
Page 26 of 100
Go Back
Full Screen
Close
Quit
Multiplicaci
on de una Sucesi
on de Matrices
Home Page
Title Page
6
Contents
JJ
II
4
3
Page 27 of 100
Go Back
1
Full Screen
Close
Quit
15,125
11,875
9,375
A1
A2
2
10,500
7,125
A3
A4
A5
6
0
A6
Multiplicaci
on de una Sucesi
on de Matrices
Entonces, el algoritmo para calcular m[i, j] segun
los esquemas anteriores sera:
Home Page
Title Page
Contents
JJ
II
Page 28 of 100
Go Back
Full Screen
Close
Quit
Multiplicaci
on de una Sucesi
on de Matrices
La complejidad de esta solucion es trivial O(n3).
Se puede demostrar que es (n3), es decir (n3).
Home Page
Title Page
Contents
JJ
II
Page 29 of 100
Go Back
Full Screen
Close
Quit
Miremos un ejemplo :
Matriz
A1
A2
A3
A4
A5
A6
Orden
30 35
35 15
15 5
5 10
10 20
20 25
Multiplicaci
on de una Sucesi
on de Matrices
Etapa 4: Construir una soluci
on
optima
Home Page
Title Page
Contents
JJ
II
Page 30 of 100
Go Back
Full Screen
Close
Quit