Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
18Activity
0 of .
Results for:
No results containing your search query
P. 1
Programación Dinámica Determinista

Programación Dinámica Determinista

Ratings: (0)|Views: 2,186 |Likes:
Published by Jean Paul Perea

More info:

Published by: Jean Paul Perea on Jun 22, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

08/16/2013

pdf

text

original

 
PROGRAMACIÓN DINÁMICA DETERMINÍSTICA
 
INTRODUCCIÓN A LA PROGRAMACIÓN DINÁMICA 
 Una forma razonable y comúnmente empleada de resolver un problema es definir o caracterizar susolución en términos de las soluciones de subproblemas del mismo. Esta idea proporciona métodoseficientes de solución para problemas en los que los subproblemas son versiones más pequeñas delproblema original. La programación dinámica es útil para resolver un problema donde se deben tomaruna serie de decisiones interrelacionadas.La programación dinámica encuentra la solución óptima de un problema con
variables,descomponiéndolo en
etapas, siendo cada etapa un
subproblema 
de una sola variable. Conviene resaltarque a diferencia de la programación lineal, el modelado de problemas de programación dinámica no sigueuna forma estándar. Así, para cada problema será necesario especificar cada uno de los componentes quecaracterizan un problema de programación dinámica.La solución de problemas mediante esta técnica se basa en el llamado
 principio de optimalidad 
que establecela idea de que
Dado el estado actual, la decisión óptima para cada una de las etapas restantes no tiene que depender de los estados ya alcanzados o de las decisiones tomadas previamente.
 Esta técnica llega a una solución trabajando hacia atrás, partiendo del final del problema hacia elprincipio, por lo que un problema enorme e inmanejable se convierte en una serie de problemas máspequeños y manejables.La programación dinámica se utiliza tanto en problemas lineales como no lineales.
 
PROGRAMACIÓN DINÁMICA DETERMINÍSTICA 
 En este tipo de programación dinámica, el
estado
de la siguiente
etapa 
está
determinado por completo
por el
estado
y la
 política de decisión 
de la
etapa actual 
. El caso probabilístico es en el cual existe una distribución deprobabilidad del valor posible del siguiente estado. Se analizará posteriormente.
 
NATURALEZA RECURSIVA DE LA PROGRAMACIÓN DINÁMICA 
 Los cálculos de programación dinámica se hacen en forma recursiva, ya que la solución óptima de unsubproblema se usa como dato para el siguiente subproblema. Para cuando se resuelve el últimosubproblema se obtiene la solución óptima de todo el problema. La forma en la que se hacen los cálculosrecursivos depende de cómo se descomponga el problema original. En particular, los subproblemas se vinculan normalmente mediante restricciones comunes. Al pasar de un subproblema al siguiente se debemantener la factibilidad de esas restricciones comunes.
 
RECURSIÓN EN AVANCE Y EN REVERSA 
Se usa la recursión en avance, cuando los cálculos se hacen de la primera etapa a la última etapa; y se usala recursión en reversa, cuando los cálculos se hacen de la última etapa a la primera etapa.Con las recursiones en avance y en reversa se obtiene la misma solución. Aunque el procedimiento enavance parece más lógico, en las publicaciones sobre programación dinámica se usa la recursión enreversa. La razón de esta preferencia es que, en general, la recursión en reversa es más eficiente desde elpunto de vista computacional.
 
 1
 
ELEMENTOS DE UN PROBLEMA DE PROGRAMACIÓN DINÁMICA 
 
 
ETAPA 
 ) Es el
 período de tiempo, lugar, fase 
o
situación 
en donde se produce un cambio debido a unadecisión ( 
 ).
 
ESTADO
 ) Muestra la situación actual del sistema cuando nos encontramos en la etapa
. En laterminología de la programación dinámica, a
se le llama estado del sistema en la etapa
. De hecho,se considera que el estado del sistema en la etapa
es la información que enlaza, conecta o vinculalas etapas, de tal modo que se puedan tomar las decisiones para las etapas restantes sin volver aexaminar cómo se llegó a las decisiones de las etapas anteriores. También se puede decir que porestado se quiere dar a entender la información que se necesita en cualquier etapa para tomar unadecisión óptima.
 
 VARIABLES DE DECISIÓN
 ) Hacen referencia a toma de decisiones (o política de decisión)que se producen en una etapa y que produce un cambio en el estado actual del sistema.
 
FUNCIÓN RECURRENTE
 f 
 ) Refleja el comportamiento del sistema en función de los estadosy de las variables de decisión:
 f 
(s 
 ,
 ).
La recursión
 
relaciona el costo o la contribución ganadadurante alguna etapa con el costo o la contribución ganada en la etapa posterior de formaacumulativa.La programación dinámica se puede describir en un diagrama como el siguiente:
 N 
= número de etapas
= etiqueta de la etapa actual
(n = 1, 2, … N)
 
= estado actual de la etapa
 
= variable de decisión de la etapa
 
= valor óptimo de
(dado
 )En la etapa
, el proceso se encuentra en algún estado
. Al tomar la decisión
se mueve a algún estado
n+1
 
en la etapa
n+1,
etapa en la que se habría
 
contribuido con
 f 
+1
(s 
n+1
 ),
que incluye las contribuciones delas etapas siguientes; al acumular esta cantidad con la contribución actual (por ejemplo la contribucióninmediata
 ) a la función objetivo se tiene a
 f 
(s 
 , x 
 )
como la contribución de la etapa
en adelante.Dados
, sea
el mejor valor entre todos los valores que pueda adoptar
al calcular su propio
 f 
(s 
 , x 
 )
, y sea
 f 
(s 
 )
el valor mínimo correspondiente a todos los
 f 
(s 
 , x 
 )
. Entonces:
 f 
(s 
 )
= min
 f 
(s 
 , x 
 )
=
 f 
(s 
 , x 
 )
 
donde:  f 
(s 
 , x 
 )
= costo mínimo inmediato (etapa
 ) + costo futuro mínimo (etapas
n+1
en adelante)=
+
 f 
+1
(s 
n+1
 )
 Los valores de
son los incurridos al establecer
el estado actual y 
el destino inmediato.Seleccionando el valor óptimo a la variable
*
y determinando la contribución total a la función objetivo
 f 
(s 
 )
, el procedimiento de solución se mueve atrás una etapa.
 f 
4
(s
4
 , x 
4
 ) f 
3
(s
3
 , x 
3
 ) f 
2
(s
2
 , x 
2
 )Evolución del sistema
n=1
s
1
 
n=2
s
2
 
n=3
s
3
 
n=4
s
4
 
 x 
1
2
3
 
 f 
1
(s
1
 , x 
1
 )
 x 
4
 
 
 2
A CBDFEGIHJ
23474632456313433441
 
CARACTERÍSTICAS DE UN PROBLEMA DE PROGRAMACIÓN DINÁMICA 
 Para que un problema pueda ser resuelto con la técnica de programación dinámica, debe cumplir conciertas características:
o
 
El problema puede ser dividido en
etapas 
, cada una de las cuales requiere de una
 política de decisión 
.
o
 
Cada
etapa 
se relaciona con una cierta cantidad de etapas.
o
 
Cada
etapa 
tiene cierto número de
estados 
asociados con su inicio.
o
 
La decisión óptima de cada
etapa 
depende solo del
estado actual 
y no de las decisiones anteriores.
o
 
La decisión o
 política de decisión 
tomada en una etapa determina el modo en que el estado de laetapa actual se transforma en el estado de la etapa siguiente.
 
EJEMPLO PROTOTIPO DE PROGRAMACIÓN DINÁMICA 
El siguiente problema se elaboró especialmente para ilustrar las características de la programacióndinámica e introducir la terminología empleada en ésta.
(Pudiera relacionárselo con el modelo de red de la ruta más corta, pero en realidad es éste el que utiliza la filosofía de la programación dinámica)
 
Solución: 
 
Si se tomara la decisión de ir por la ruta más barata en cada etapa, ésta sería:
 A 
 – 
B
 – 
F
 – 
I
 – 
J
conun costo total asociado de 13. Pero note que si desde el nodo A llegamos al nodo F mediante D, enlugar de ir por B el costo sería menor.
 
El evaluar todas las posibles rutas y sus costos asociados sería una tarea tediosa. Mediante laprogramación dinámica se puede hallar la solución con mucho menor esfuerzo.
 
 Variables de decisión:
 
: destino inmediato de la etapa n, donde: (n = 1, 2, 3, 4)
 
Estado:
: lugar donde se encuentra en la etapa n 
 
Ruta a seleccionar:
 A
 – 
1
 
 – 
 
 – 
3
 
 – 
4
, donde
4
= J 
 
 
Como el destino final es
 J 
y se alcanza al terminar la etapa 4, entonces
 f 
(x 
4
 ) = f 
(J) = 0
 
 
El objetivo es encontrar
 f 
1
(A)
y la ruta correspondiente. La programación dinámica la encuentra aldeterminar en forma sucesiva
 f 
4
(s 
4
 ), f 
3
(s 
3
 ), f 
(s 
 ) y f 
1
(s 
1
 )
 
 
Función recursiva:
 f 
4
(s 
4
 , x 
4
 )= c 
4
4
+ f 
(x 
4
 )
 
Tomando en cuenta el siguiente sistema de caminos,si se encuentra inicialmente en el nodo A, encontrar la trayectoria más económica para llegar al nodo J considerando que los valores que se encuentran en las ramas representan los costos de trasladarse de un nodo a otro.

Activity (18)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
chavaguti liked this
QiiQe Cortes liked this
Enrique Urueña liked this
Elkin Pérez liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->