Está en la página 1de 9

Programacin Dinmica

EJEMPLO 1, PD, LA RUTA MS CORTA

Unidad 1

Los Thompson viven en Nueva York, estn pensando realizar sus pr imas vacaciones via!ando en su camioneta hasta Los "ngeles e ir descansando # conociendo otros lugares, su dinero es escaso # han decidido pasar cada noche de su via!e en alguno de los hoteles $ue les o%recen un descuento, estos se localizan en las siguientes ciudades &olum'us, Nashville, Louisville, (ansas &it#, )maha, Dallas, *an +ntonio # Denver, Los Thompson sa'en $ue despu-s de conducir un d.a pueden llegar a &olum'us, Nashville o Louisville, Despu-s de conducir dos d.as pueden llegar a (ansas &it#, )maha o Dallas, Despu-s de tres d.as de conducir puede llegar a *an +ntonio o Denver, Por /ltimo, despu-s de 0 d.as de conducir pueden llegar a Los "ngeles, 1Dnde de'ern hospedarse cada noche del via!e para reducir al m.nimo el n/mero de 2illas recorridas3 Las distancias reales por carretera entre las ciudades mencionadas # la u'icacin se muestran en la Figura 1
COLUMBUS + ;; << @= < ;= < (ANSAS CIT) * ;1 < A: < ;0 <

@1 < DENVER , A: < A: < << SAN < ANTONIO 4A 1 < << < 1<5 <

NU6>+ Y)7( 1

:< <

A@ NASHVILLE < . @@ <

AA < LOUISVILLE =5 / <

OMAHA A< :0 << << 1<; < DALLAS 0

L)* +N?6L6* 1< 15: <

&onducir 1er d.a d.a 6tapa t=0 t= 3

4do, d.a 6tapa t = 1 6tapa t=4 Figura 1

5er d.a 6tapa t=2

0to, 6tapa

RESOLVIENDO EL PROBLEMA CON HOJA DE TRABAJO 7esolveremos el pro'lema de la %amilia Thompson para mostrar el proceso de solucin, 8a# cinco etapas para esta situacin de decisin, &uando #a no es posi'le tomar una decisin, despu-s de /ltima decisin tomada, a esta etapa e !e "a e! #$%er& ', Las otras etapas son numeradas secuencialmente en direccin regresiva, +s., la etapa n/mero 4 implica $ue ha# dos etapas $ue permanecen en el proceso de solucin, 8a# dos o tres estados en cada etapa de este pro'lema, 6l tiempo de entre estados esta dado en la 9igura 1, &uando no est di'u!ada una %lecha entre
1:

Programacin Dinmica

Unidad 1

dos estados, es no es posi'le realizar el via!e, es decir, esta ruta no es %acti'le, AL2ORITMO RE2RESIVO, 7esolveremos el pro'lema regresivamente, tra'a!ando de atrs hacia adelante de etapa a etapa, 6l en%o$ue tradicional ser.a empezar por el principioB primero intentar decidir si ellos de'er.an ir de Nueva York a &olum'us, Nashville o Louisville, 6sta es una decisin relativamente comple!a, por$ue es necesario considerar todas las opciones disponi'les so're las su'secuentes etapas del via!e, Plantearemos un pro'lema ms pe$ueCo # simple suponiendo $ue los Thompson estn en Denver o en *an +ntonio en la etapa 1 # el destino %inal es Los "ngeles, La estrategia es resolver un n/mero de pro'lemas de este tipo # o'tener eventualmente una solucin $ue a la larga, resuelva el pro'lema de la ruta en general, &reamos una ho!a de tra'a!o ta'la para registrar la in%ormacin $ue se necesita # tra'a!amos la ruta a trav-s de programacin dinmica, 6mpezaremos por determinar la decisin ptima para cada estado en la etapa 1B Etapa 1 en Denver # *an +ntonio solo ha# una opcin llegar a Los "ngeles, 6stas rutas tienen un tiempo de via!e de 1<5< # 15:< horas respectivamente, 6sta in%ormacin se muestra en la ta'la de programacin dinmica, Los "ngeles representa el destino %inal, no ha# tiempo adicional o %uturo $ue considerar, De esta manera el tiempo total de via!e de Denver a Los "ngeles es 1<5< # de *an +ntonio a los "ngeles de de 15:<, Dado $ue se $uiere minimizar el tiempo de via!e, por ser la /nica opcin en cada ruta esta es la seleccin ptima # est indicada por un asterisco en la ho!a de tra'a!o, Etapa +, Los Thompson podr.an estar en (ansas &it#, )maha o Dallas, 6n cual$uiera de estas ciudades ha# dos rutas para tomar, Denver # *an +ntonio con tiempos de via!e como se muestra en la Ta'la 1, Una vez $ue se llegue a Denver o a *an +ntonia ha'r $ue continuar hasta llegar a Nueva York
Ta3!a 1 H&4a "e tra3a4& "e pr&gra%a5i6# "i#7%i5a para e! pr&3!e%a "e !& T8&%p &# Etap E ta"& Nue9& Tie%p& Tie%p& Tie%p& a a5tua! e ta"& :utur& t&ta! Denver Los +ngeles 1<5< < 1<5<; 1 *an +ntonio Los +ngeles 15:< < 15:<; Etap a E ta"& a5tua! (ansas &it# + )maha Dallas Etap E ta"& a a5tua! . &olum'us Nue9& e ta"& Denver *an +ntonio Denver *an +ntonio Denver *an +ntonio Nue9& e ta"& (ansas &it# )maha Dallas Tie%p& @1< A:< ;0< :0< A:< 4A< Tie%p& @=< A:< 1<;< 4< Tie%p& :utur& 1<5< 15:< 1<5< 15:< 1<5< 15:< Tie%p& :utur& 1@0< 1;A< 1@@< Tie%p& t&ta! 1@0<; 41=< 1;A<; 455< 1=4< 1@@<; Tie%p& t&ta! 454<; 45@< 4A1<

Programacin Dinmica
(ansas &it# )maha Dallas (ansas &it# )maha Dallas Nue9& e ta"& &olum'us Nashville Louisville ;=< A@< @@< ;1< A<< =5< Tie%p& ;;< :<< AA<

Unidad 1
1@0< 1;A< 1@@< 1@0< 1;A< 1@@< Tie%p& :utur& 454< 444< 41;< 444<; 455< 454< 41;<; 44A< 40:< Tie%p& t&ta! 4=A<; 514< 4:4<

Nashville Louisville Etap a / E ta"& a5tua! Nueva York

De los clculos previos sa'emos $ue el tiempo ptimo de via!e para Denver son 1<5< horas # a *an +ntonio 15:<, 6sto se ilustra en la etapa 1 de la Ta'la 1, # de'emos adicionarlas a las @1< horas para o'tener un tiempo total de via!e de 1@0< horas si estamos en (ansas &it#, &lculos similares pueden ser hechos para ir de (ansas a *an +ntonio con un tiempo total de 41=< De los dos tiempos de via!e, 1@0<D horas es el m.nimo, +s., los Thompson seguirn de (ansas &it# a Denver # despu-s a Los "ngeles, Un asterisco est colocado !unto a la alternativa Denver, &lculos similares pueden ser hechos para las otras ciudades en la etapa 4, Desde )maha, el tiempo m.nimo de 1;A<D horas es o'tenido por ir a Denver # despu-s a Los "ngeles, Desde Dallas la ruta ptima es ir a *an +ntonio # despu-s a Los "ngeles, la cual tiene un tiempo de via!e de 1@@<D horas, Etapa ., &ontinuamos el mismo procedimiento como en las dos primeras etapas, Para cada ciudad siempre utilizamos la in%ormacin $ue o'tuvimos de las etapas previas, 6stos clculos indican $ue los tiempos m.nimos de via!e desde &olum'us, Nashville # Louisville son 454<D, 444<D # 41;<D horas respectivamente, 6stos valores estn marcados con un asterisco en la ta'la, Etapa /, 6 iste solamente una ciudad, 6l tiempo de via!e desde Nueva York a &olum'us es de ;;< horas, a Nashville de :<< # a Louisville de AA<@, &uando estos tiempos se adicionan a los tiempos %uturos ptimos de via!e, nos proporcionan los tiempos totales de 454<, 444< # 41;< horas, +hora sa'emos $ue el tiempo m.nimo de via!e de Los "ngeles a Nueva York es de 4=A< horas, Para localizar la ruta ptima, es necesario o'servar la ho!a de tra'a!o de programacin dinmica, de a'a!o hacia arri'a etapa por etapa,
Etap E ta"& A5tua! a / Nue9a )&r< . &olum'us + (ansas &it# 1 Denver E ta"& Nue9& Opti%& &olum'us (ansas &it# Denver L& #ge!e Tie%p& ;;< @=< @1< 1<5< Tie%p& A5u%u!a"& ;;< 145< 1=0< +,0'; Tie%p& T&ta!

41

Programacin Dinmica

Unidad 1

RESOLVIENDO EL PROBLEMA CON F=RMULA RECURSIVA Los Thompson necesitan conocer la ruta ms corta entre Nueva York E1F # Los "ngeles E1<F, # para lograrlo se utilizar un avance hacia atrs usando los datos en %orma matricial o la Figura 1,
1 4 ;; < 5 :< < 0 AA < 4 5 0 6T+P+ 1 ; @=< ;=< @ A:< A@< A 1<; < @@< =5< ; @ A = @1< ;0< : A:< :0< = : 1< 1<5 < 15: <

;1< A<< 6T+P+ 4

A:< 4A< 6T+P+ 5

6T+P+ 0

Datos e presados en %orma matricial

6n la Figura 1, 8emos clasi%icado todos los 8oteles por ciudades en los $ue podr.an estar los Thompson al principio del n-simo d.a de su via!e, como ciudades de la etapa n Para identi%icar las 1< ciudades se enumeran del 1 al 1< como muestra la Figura 1
# 1 2 3 4 5 CIUDAD NUEVA )OR( COLUMBUS NASHVILLE LOUISVILLE (ANSAS CIT) > 0 , 1 1' CIUDAD OMAHA DALLAS DENVER SAN ANTONIO LOS AN2ELES

Los Thompson slo pueden estar en *an +ntonio E:F o en Denver E=F al principio del cuarto d.a Eel primer d.a comienza cuando los Thompson salen de Nueva York E1F, clasi%icamos a *an +ntonio # a Denver como ciudades de la etapa 0, Gniciaremos en marcha atrs es para encontrar la ruta ms corta hacia Los "ngeles E1<F desde cada ciudad de donde slo %alta un d.a de camino, $ue son las ciudades de la etapa 0, luego con esta in%ormacin se determina la ruta ms corta a E1<F desde la ciudad donde se ha#an recorrido dos d.as de camino Eetapa 5F, de la misma manera se procede con las ciudades $ue estn a una distancia de tres !ornadas de mane!o Eetapa 4F, Por /ltimo, slo ha# una ciudad Nueva York E1F $ue esta ale!ada cuatro !ornadas de mane!o, F&r%u!a5i6# re5ur i9a, De%iniremos $ue Cij es la distancia por carretera $ue ha# entre la ciudad i # la ciudad j en la etapa actual, es decir, C8,10=1030 indica $ue la distancia por carretera entre Denver E=F # Los "ngeles E1<F es de 1<5< 2illas, *ea ft(j) la longitud de la tra#ectoria ms corta desde la ciudad i hasta Los "ngeles E1<F, dado $ue la ciudad i es una ciudad de la etapa t ,o sea, f4(9)=1390 es la tra#ectoria ms corta de *an +ntonio E:F a los "ngeles E1<F de la etapa 0
C7!5u!& "e !a etapa / ?t=4); Trayectoria m corta a !"#"(10) $%tima etapa= 44

Programacin Dinmica f4(8)=1030; f4(9)=1390


Etapa / f4(8)=1030 = C8,10=1030 f4(9)=1390 = C9,10=1390

Unidad 1

"eE E=F Denver E:F *an +ntonio

a E1<FLos "ngeles E1<FLos "ngeles

+vanzaremos hacia atrs a las ciudades de la etapa 5, para determinar la tra#ectoria ms corta $ue ha# desde cada ciudad de etapa 5 hasta Los "ngeles,
DENVER DENVER , , 1<5 < L)* +N?6L6* 1< 15: <

Di ta#5ia Cij etapa . C5,8=(10 C5,9=)90 C(,8=540 C(,9=940 C),8=)90 C),9=(80

"e E;F (ansas &it# E;F (ansas &it# E@F )maha E@F )maha EAF Dallas EAF Dallas

a E=F Denver E:F *an +ntonio E=F E:F E=F E:F Denver *an +ntonio Denver *an +ntonio

SAN SAN ANTONIO ANTONIO 1 1

C7!5u!& "e !a etapa . ?t=3);

Determinar f3(5) la tra#ectoria ms corta desde (ansas &it# E;F a Los "ngeles de'e ser una de las siguientesB (ANSAS (ANSAS Tra@e5t&ria 1AB Pasar de la ciudad ; a la ciudad =, # a CIT) CIT) @1 * * continuacin, tomar la ruta ms corta de la ciudad < DENVER = a la ciudad 1<, La longitud de la tra#ectoria 1 se DENVER , , ;0 representa como C58 &f4(8)"
< OMAHA OMAHA :0 << A: < A: < SAN SAN ANTONIO ANTONIO << 1 1 < 4A <

Tra@e5t&ria +AB Pasar de la ciudad ; a la ciudad : #, a continuacin, tomar la ruta mas corta desde la ciudad : a la ciudad 1<, La longitud de la tra#ectoria 4 se representa como C59 &f4(9)

De igual %orma se procede para las dos ciudades restantes de )maha E@F # Dallas EAF como se muestra en la sig, Ta'la Etapa f4(j) Ci,j 2.nimo Tra#ectoria 'i tanci f3(t)= a Ci,j . j=8, 9 &f4(j)= en 2illas ms corta f4(8)=10 (10& ?*DB?,DB f3(5)= C5,8=(10 C5,8 &f4(8) 1-/'; 30 1030 C ?1'D min
f4(9)=13 C5,9=)90 C5,9 &f4(9) )90& +1,'

DALLAS DALLAS 0 0

45

Programacin Dinmica
90 f4(8)=10 30 f4(9)=13 90 f4(8)=10 30 f4(9)=13 90

Unidad 1
1390C 540& 1030C 940& 1390C )90& 1030C 2)0& 1390C

f3(() =min

C(,8=540 C(,9=940 C),8=)90 C),9=2)0

C(,8 &f4(8) C(,9 &f4(9) C),8 &f4(8) C),9 &f4(9)

1*0'; +..' 1,+' 1--';

?-DB?,DB ?1'D

f3()) =min

?0DB?1DB ?1'D

6l asterisco EDF indica la seleccin de arco $ue alcanza la tra#ectoria ms corta de la ciudades ;, @ # A a la 1<, este resultado se o'tiene con los resultados de la etapa anterior f 4 ( 8) y f 4 ( 9 ) ,
C7!5u!& "e !a etapa + ?t=2)

&on los valores m.nimos de la etapa 5 f3(5)=1(40, f3(()=15)0, f3())=1((0, se avanza marcha atrs una etapa ms # se calculan las tra#ectorias ms cortas de las ciudades 4, 5 # 0, respectivamente a Los "ngeles mediante, f2(2), f2(3) y f2(4), Para f2(2) la tra#ectoria ms corta desde &olum'us E4F a Los "ngeles de'e ser una de las siguientesB
COLUMBU COLUMBU S S + + @= < ;= < (ANSAS (ANSAS CIT) CIT) * * ;1 < A: < OMAHA OMAHA A< << 1<; < DALLAS DALLAS 0 0

Tra@e5t&ria 1AB Pasar de la ciudad 4 a la ciudad ;, # a continuacin, tomar la ruta ms corta de la ciudad = a la ciudad 1<, La longitud de la tra#ectoria 1 se representa como C25 &f2(2)" Tra@e5t&ria +AB Pasar de la ciudad 4 a la ciudad @, # a continuacin, tomar la ruta ms corta de la ciudad = a la ciudad 1<, La longitud de la tra#ectoria 1 se representa como C2( &f2(3)"

A@ NASHVILLE NASHVILLE < . . @@ <

Tra@e5t&ria .AB Pasar de la ciudad 4 a la ciudad A, # a continuacin, tomar la ruta ms corta de la ciudad : a la ciudad 1<, La longitud de la tra#ectoria 1 se representa como C2) &f2(4)" De igual %orma se procede para las dos ciudades restantes de Nashville E5F # Louisville E0F como se muestra en la sig, Ta'la

LOUISVILL LOUISVILL =5 E E < / /

40

Programacin Dinmica f3(j) j=5, (, )

Unidad 1 Ci,j &f3(j)=


(80& 1(40C )90& 15)0C 1050& 1((0C 580& 1(40C )(0& 15)0C ((0& 1((0C 510& 1(40C )00& 15)0C 830& 1((0C

Etapa +

Ci,j

f2(t)=

2.nimo en 2illas +.+';


45@< 4A1<

f2(2)=m f3(5)=1(4 C2,5=(80 C2,5 &f3(5) 0 in


f3(()=15) 0 f3())=1(( 0 f3(5)=1(4 0 f3(()=15) 0 f3())=1(( 0 f3(5)=1(4 0 f3(()=15) 0 f3())=1(( 0 C2,(=)90 C2,( &f3(()

Tra#ectoria ms corta ?+DB?*DB?,DB ?1'D

C2,)=1050 C2,) &f3()) C3,5=580 C3,(=)(0 C3,)=((0 C4,5=510 C4,(=)00 C4,)=830 C3,5 &f3(5) C3,( &f3(() C3,) &f3()) C4,5 &f3(5) C4,( &f3(() C4,) &f3())

f2(3) =min

+++';
455< 454<

?.DB ?*DB?,DB

?1'D

f2(4) =min

+1*';
44A< 40:<

?/DB ?*DB?,DB

?1'D

&lculos de la etapa 1

&onocemos los valores m.nimos de la etapa 4, f2(2)=2320, f2(3)=2220, f2(4)=2150, avanzamos marcha atrs una etapa ms # determinar f1(1) # la tra#ectoria ms corta de la ciudad 1 a la ciudad 1<, La /ltima tra#ectoria de'e comenzar pasando por la ciudad 4, la 5 o la 0,
COLUMBUS COLUMBUS + + ;; <<

Tra@e5t&ria 1AB Pasar de la ciudad 1 a la ciudad 4, # a continuacin, tomar la ruta ms corta de la ciudad ; a la ciudad 1<, La longitud de la tra#ectoria 1 se representa como C12 &f1(1)" Tra@e5t&ria +AB Pasar de la ciudad 1 a la ciudad 5, # a continuacin, tomar la ruta ms corta de la ciudad ; a la ciudad 1<, La longitud de la tra#ectoria 1 se representa como C13 &f1(1)"

NU6>+ Y)7( 1

:< <

NASHVILLE NASHVILLE . .

AA < LOUISVILLE LOUISVILLE / /

Tra@e5t&ria .AB Pasar de la ciudad 1 a la ciudad 0, # a continuacin, tomar la ruta ms corta de la ciudad ; a la ciudad 1<, La longitud de la tra#ectoria 1 se representa como C14 &f1(1)"

Etapa 1 f1(1)= min

f2(j) j=2, 3, 4
f2(2)=2 320 f2(3)=2

Ci,j
C1,2=5 50 C1,3=9

f3(t)=
C1,2 &f2(2) C1,3

Ci,j &f4(t)=
550& 2320C 900& 4;

2.nimo Tra#ectoria ms en 2illas corta +,0';


514<

?1DB?+DB?*DB?,DB ?1'D

Programacin Dinmica
220 f2(4)=2 150 00 C1,4=) )0 &f2(3) C1,4 &f2(4) 2220C ))0& 2150C

Unidad 1

4:4<

+l traducir los identi%icadores num-ricos a nom'res de ciudades, vemos $ue la ruta ms corta de Nueva York a Los "ngeles pasa por Nueva York, &olum'us, (ansas &it#, Denver # Los "ngeles, 6sta tra#ectoria tiene una longitud f1 (1) = 2870 millas, 6n el e!emplo 1 hu'iera sido ms %cil determinar la distancia ms corta enumerando todas las tra#ectorias posi'les $ue e isten E5D5D4 H 1= tra#ectoriasF, con PD no se a'revio mucho el pro'lema, sin em'argo con en redes ms comple!as la PD es ms e%icaz para determinar una tra#ectoria m.nima $ue la enumeracin e pl.cita de todas las tra#ectorias Para comprenderlo, considere la red de la 9ig, 4, 6n esta red es posi'le via!ar de cual$uier nodo en la etapa k a cual$uier nodo en la etapa k I 1, *ea cij la distancia entre el nodo i # el j

9igura 4 *uponga $ue deseamos determinar la distancia ms corta entre el nodo 1 # el 4A, Una manera de resolver este pro'lema es la enumeracin e pl.cita de todas las tra#ectorias, 8a# ;D;D;D;D; H 5,14; tra#ectorias posi'les del nodo 1 al 4A, *e necesitan ; sumas para determinar la longitud de cada tra#ectoria, 6ntonces, si se enumeran en %orma e pl.cita las longitudes de todas las tra#ectorias, se necesitar.an 3.125 * 5 = 15625 sumas, *uponga $ue usamos la programacin dinmica para determinar la distancia ms corta entre el nodo 1 # el nodo 4A, *ea f t ( i ) la longitud de la tra#ectoria ms corta desde el nodo i al nodo 4A, dado $ue el nodo i est en la etapa t Para determinar la distancia ms corta del nodo 1 al 4A, comenzamos calculando
f 6 ( 22 ), f 6 ( 23), f 6 ( 24 ), f 6 ( 25) y f 6 ( 26 )

6sto no necesita suma alguna, + continuacin determinamos


4@

Programacin Dinmica

Unidad 1

f 5 (17 ), f 5 (18), f 5 (19), f 5 ( 20 ) y f 5 ( 21) Por e!emplo, para calcular f 5 ( 21) se utiliza la siguiente ecuacin recursivaB

f 5 ( 21) = mn{c21, j + f 6 ( j )}
j

( j = 22, 23, 24, 25, 26)

4A

También podría gustarte