Académique Documents
Professionnel Documents
Culture Documents
PROGRAMACIN DINMICA
Conviene resaltar que a diferencia de la programacin lineal, el modelado de problemas de programacin dinmica no sigue una forma estndar. As, para cada problema ser necesario especificar cada uno de los componentes que caracterizan un problema de
programacin dinmica.
El procedimiento general de resolucin de estas situaciones se divide en el anlisis recursivo de cada una de las etapas del problema, en orden inverso, es decir comenzando por la ltima y pasando en cada iteracin a la etapa antecesora. El anlisis de la primera etapa finaliza con la obtencin del ptimo del problema.
Para que un problema pueda ser resuelto con la tcnica de programacin dinmica, debe cumplir con ciertas caractersticas:
**Naturaleza secuencial de las decisiones: El problema puede ser dividido en etapas. **Cada etapa tiene un numero de estados asociados a ella. **La decisin ptima de cada etapa depende solo del estado actual y no de las decisiones anteriores. **La decisin tomada en una etapa determina cual ser el estado de la etapa siguiente. En sntesis, la poltica ptima desde un estado s de la etapa i a la etapa final esta constituida por una decisin que transforma s en un estado s0 de la etapa i +1 y por la poltica ptima desde el estado s0 hasta la etapa final.
1. El problema se puede dividir por etapas, que requieren una decisin en cada una de ellas. 2. Cada etapa tiene cierto nmero de estados asociados a su inicio. Estados son las diferentes condiciones posibles en las que se puede encontrar el sistema en cada etapa. 3. El efecto de la decisin en cada etapa, es transformar el estado actual en un estado asociado con el INICIO de la siguiente etapa. 4. El procedimiento pretende hallar la poltica ptima para el problema completo. Esto quiere decir, la poltica a emplear desde cualquier posible estado del problema. 5. Dado el estado actual, la poltica ptima desde este estado es independiente de las polticas adoptadas en las etapas anteriores. (la solucin depende nicamente del estado actual y no de cmo se lleg all). PRINCIPIO DE OPTIMALIDAD EN P.D, (Richard Bellman, 1957) 6. El procedimiento de solucin termina cuando se obtiene la poltica ptima de la ltima etapa (por lo general la solucin en esta etapa es trivial)
En el diseo Divide y Vencers veamos que para resolver un problema lo dividamos en subproblemas independientes, los cuales se resolvan de manera recursiva para combinar finalmente las soluciones y as resolver el problema original. El inconveniente se presenta cuando los subproblemas obtenidos no son independientes sino que existe solapamiento entre ellos; entonces es cuando una solucin recursiva no resulta eficiente por la repeticin de clculos que conlleva. En estos casos es cuando la Programacin Dinmica nos puede ofrecer una solucin aceptable. La eficiencia de esta tcnica consiste en resolver los subproblemas una sola vez, guardando sus soluciones en una tabla para su futura utilizacin.
La Programacin Dinmica no slo tiene sentido aplicarla por razones de eficiencia, sino porque adems presenta un mtodo capaz de resolver de manera eficiente problemas cuya solucin ha sido abordada por otras tcnicas y ha fracasado. Donde tiene mayor aplicacin la Programacin Dinmica es en la resolucin de problemas de optimizacin. En este tipo de problemas se pueden presentar distintas soluciones, cada una con un valor, y lo que se desea es encontrar la solucin de valor ptimo (mximo o mnimo).
7. Siempre se dispone de una relacin recursiva (esto es lo que permite trabajar las decisiones interrelacionadas).
8. Cuando se tiene una relacin recursiva como la de la funcin, el procedimiento de solucin hacia atrs inicia en la ltima etapa y se mueve hacia la primera, etapa por etapa Xi fi Fi (Xi)= c Xi + fi-1 *( Xi-1) fiXi * Xi*
El Problema de la Diligencia
Un cazafortunas desea ir de Missouri a California en una diligencia, y quiere viajar de la forma ms segura posible. Tiene los puntos de salida y destino conocidos, pero tiene mltiples opciones para viajar a travs del territorio. Se entera de la posibilidad de adquirir seguro de vida como pasajero de la diligencia. El costo de la pliza estndar (cij ) se muestra en la tabla de la siguiente:
Diagrama.
A J
BCD A 2 4 3 B C D
B C D
E F G
H E F G
EF G 7 4 6 3 2 4 4 1 5
I
J
1 4 6 3 3 3
H 3 I 4
Por P.D la solucin sera entonces ir desde el estado actual (cualquiera que sea) y llegar a su destino final (estado J) al costo cij Se hace lo mismo para cada jornada (etapa), ensanchando el problema. As encontramos la solucin ptima del lugar al que debe dirigirse teniendo en cuenta la informacin de la iteracin anterior.
Formulacin. Sea Xi ( i = 1,2,3,4 ) las variables que representan el destino inmediato en la etapa n. Luego la ruta seleccionada ser: A X1 X2 X3 X4 Donde X4 = J
Sea fi ( Xi) el costo total de la mejor poltica global para las etapas restantes, dado que el agente se encuentra en el estado S, listo para iniciar la etapa n y se dirige a Xi como destino inmediato. Dados S y i , sea Xi* el valor de Xi (no necesariamente nico), que minimiza fi ( Xi) , y sea fi*(S) el valor mnimo correspondiente de fi (Xi) entonces:
Fi *(X) = Min Xifi(S, Xi) = fi (Xi*) fi(S, Xi) = Costo inmediato (etapa n) +Mnimo costo futuro (etapa i+1 en adelante) = cs , xi + fi+1* (Xi) =Costos por ir de la ciudad i al destino j + Costo ptimo acumulado
Etapa n=3
El cazafortunas tiene 2 etapas por recorrer (n=3). Suponga que sale de E. E H (1) + f4*(H) = f3(E)= cE ,H + f4*(H) = 4 I (4) + f4*(I) = f3(E)= cE ,I + f4*(I) = 8
Luego f3 *(E) = 4 y X3* = H En general para la etapa 3 se tiene:
X3 S E F G
f3 *(X3) X3*
4 7 6
H I H
Etapa n=2 En la segunda etapa, el cazafortunas tiene 3 jornadas por recorrer (n=2). que sale de C. E(3) + f3*(E) = f2(C)= c C ,E + f3*(E) = 7 C F(2) + f3*(F) = f2(C)= c C ,F + f3*(F) = 9 G(4)+ f3*(G) = f2(C)= c C ,G+ f3*(G) = 10
Luego f2 *(C) = 7 y X2 * = E En general para la etapa 2 se tiene:
X2 S B C D f2 (X2)= cS ,X2+ f3 *( X2) E F G 11 11 12 7 9 10 8 8 11 f2 *(S) X2* 11 7 8 E, F E E, F
Etapa n=1 En la primera etapa, el cazafortunas tiene toda la jornadas por recorrer (n=1). Necesariamente debe salir de A. B(2) + f2*(B) = f1(A)= c A ,B + f2*(B) = 13 A C(4)+ f2*(C) = f1(A)= c A ,C + f2*(C) = 11 D(3)+ f2*(D) = f1(A)= c A ,D+ f2*(D) = 11
Luego f1 *(A) = 11 y X1 * = C,D
X1 S A f1 ( X1)= cS ,X1+ f2 *( X1) B C D 13 11 11 f1 *(S) X1* 11 C, D
C D
F G I