PRESENTACIÓN:
El pres presen ente te info inform rme e fue fue elab elabor orad ado o con con la fina finalilida dad d de ampl amplia iarr nues nuestr tros os cono conoci cimie mient ntos os sobr sobre e la Prog Progra rama maci ción ón Diná Dinámi mica ca y en espe especi cial al sobr sobre e la Progra Programac mación ión Dinámi Dinámica ca Proba Probabil bilíst ística ica,, el último último viene viene adjunt adjuntado ado con un ejercicio simple y sencillo de entender y resolver.
Universidad Andina del Cusco
Programación Dinámica Probabilística
INTRODUCCIÓN:
La Programación Dinámica es un mtodo de optimi!ación de e"traordinaria versatilidad. #i bien fue desarrollada especialmente para la resolución de problemas en Procesos de Decisión en $últiples Pasos, diferentes investigaciones %an mostrado &ue las mismas ideas pueden utili!arse en otro tipo de problemas de matemática aplicada, e incluso pueden ser útiles en el planteo de algunas cuestiones teóricas. 'abiendo surgido en los inicios de la poca de las computadoras, la Programación Dinámica fue, además, concebida con un ojo puesto en esta potente %erramienta. La Ecuación (uncional &ue se obtiene, para cada problema, a travs del uso del Principio de )ptimalidad de *ellman permite, con mayor o menor esfuer!o dependiendo del caso, establecer una recurrencia &ue es, en sí misma, un algoritmo &ue resuelve el problema en cuestión. El objetivo de esta monografía es brindar un panorama relativamente amplio de las aplicaciones de la Programación Dinámica, de manera &ue resulte accesible para cual&uier estudiante de Licenciatura, incluso para a&uellos &ue no estn familiari!ados con las áreas específicas de dic%as aplicaciones. Persiguiendo este fin, procuramos, en la medida en &ue el espacio lo permitió, e"poner todos los pasos de cada ra!onamiento y los elementos teóricos básicos para su comprensión. Por ello, primero se desarrollarán conceptos básicos, características y elementos &ue posee la programación dinámica. En la segunda parte se detalla todo sobre la programación dinámica probabilística, en conjunto con un ejemplo.
2
Universidad Andina del Cusco
Programación Dinámica Probabilística
ÍNDICE: PRESENTACIÓN: 2 INTRODUCCIÓN:! 1.
PROGRAMACIÓN DINÁMICA:" 1.1.
CONCEPTO:"
1.2.
DISEÑO DEL ALGORITMO DE PROGRAMACIÓN DINÁMICA:"
1.3.
CONDICIONES QUE HA DE CUMPLIR:#
1.4.
CONTRASTE CON LA PROGRAMACIÓN LINEAL:#
2.
PRINCIPIO DE OPTIMALIDAD:#
3.
CARACTERÍSTICAS:$ 3.1.
ETAPAS: $
3.2.
ESTADOS ASOCIADOS:$
3.3.
POLÍTICA DE DECISIÓN:$
3.4.
PRINCIPIO DE LA OPTIMALIDAD:$
3.5.
INICIO DE LA SOLUCIÓN:%
3.6.
RELACIÓN RECURSIVA:%
3..
RETROCESO: %
4.
EN!OQUES:%
5.
TIPOS DE PROGRAMACIÓN DINÁMICA:%
6.
PROGRAMACIÓN DINÁMICA PRO"A"ILÍSTICA:% 6.1.
CONCEPTO:%
6.2.
ESTRUCTURA "ÁSICA DEL PDP:&
6.3.
CARACTERÍSTICAS DE PRO"LEMAS PDP:'(
6.4.
E#EMPLOS:'(
EJEMPLO 1: '' EJEMPLO 2: '"
.
CONCLUSIONES: '$
$.
"I"LIOGRA!IA: '$
!
Universidad Andina del Cusco
Programación Dinámica Probabilística
PROGRAMACIÓN DINÁMICA PRO"A"ILÍSTICA 1. PROGRAMACIÓN DINÁMICA: 1.1.CONCEPTO:
+cnica
de
programación
matemática
&ue
proporciona
un
procedimiento sistmico para determinar la combinación óptima de una serie de decisiones interrelacionadas. La programación dinámica determina la solución óptima de un problema de n variables descomponindola en n etapas, con cada incluyendo un subproblema de una sola variable. La principal contribución de la PD es el principio de optimalidad, el cual establece &ue una política óptima consiste de subpolíticas óptimas, un marco de referencia para descomponer el problema en etapas. #e utili!an en situaciones &ue se necesitan tomar una serie de decisiones consecutivas. En el área de inventarios %ay algunas situaciones en donde la política de producción &ue optimi!a el costo de inventario en un mes dado, entonces minimi!a el costo de inventario para todo el ao. La programación dinámica no sólo tiene sentido aplicarla por ra!ones de eficiencia, sino por&ue además presenta un mtodo capa! de resolver de manera eficiente problemas cuya solución %a sido abordada por otras tcnicas y %a fracasado. La solución de problemas mediante esta tcnica se basa en el llamado principio de óptimo enunciado por *ellman en -/0 y &ue afirma1 2Es una secuencia de decisiones óptima subsecuencia %a de ser tambin óptima3. #in embargo, este principio no siempre es aplicable y por tanto es necesario verificar &ue se cumple para el problema en cuestión. 1.2. DISEÑO DEL ALGORITMO DE PROGRAMACIÓN DINÁMICA:
)
Universidad Andina del Cusco
Programación Dinámica Probabilística
•
Planteamiento de la solución con una sucesión de decisiones.
•
Definición recursiva de la solución.
•
4álculo del valor de la solución óptima mediante una tabla en donde se almacenan soluciones a problemas.
•
4onstrucción de la solución óptima %aciendo uso de la información contenida.
1.3. CONDICIONES QUE HA DE CUMPLIR: •
La solución %a de ser alcan!ada a travs de una secuencia de decisiones, una en cada etapa.
•
Dic%a secuencia de decisiones %a de cumplir el principio
1.4. CONTRASTE CON LA PROGRAMACIÓN LINEAL:
5o se cuenta con una formulación concreta matemática estándar para el problema a resolver. #e trata de un enfo&ue de tipo general para la solución de problemas y las ecuaciones específicas &ue se usan deben desarrollar para &ue representen cada situación individual. 2. PRINCIPIO DE OPTIMALIDAD:
4uando %ablamos de optimi!ar nos referimos a buscar alguna de las mejores soluciones de entre muc%as alternativas posibles. Dic%o proceso de optimi!ación puede ser visto como una secuencia de decisiones &ue nos proporcionan la solución correcta. #i, dada una subsecuencia de decisiones, siempre se conoce cuál es la decisión &ue debe tomarse a continuación para obtener la secuencia
"
Universidad Andina del Cusco
Programación Dinámica Probabilística
óptima, el problema es elemental y se resuelve trivialmente tomando una decisión detrás de otra, lo &ue se conoce como estrategia vora!. En otros casos, aun&ue no sea posible aplicar la estrategia vora!, se cumple el principio de optimalidad de *ellman &ue dicta &ue 6dada una secuencia óptima de decisiones, toda subsecuencia de ella es, a su ve!, óptima7. En este caso sigue siendo posible el ir tomando decisiones elementales, en la confian!a de &ue la combinación de ellas seguirá siendo óptima, pero será entonces necesario e"plorar muc%as secuencias de decisiones para dar con la correcta, siendo a&uí donde interviene la programación dinámica. 4ontemplar un problema como una secuencia de decisiones e&uivale a dividirlo en problemas más pe&ueos y por lo tanto más fáciles de resolver como %acemos en Divide y 8encerás, tcnica similar a la de programación dinámica. La programación dinámica se aplica cuando la subdivisión de un problema conduce a1 •
9na enorme cantidad de problemas.
•
Problemas cuyas soluciones parciales se solapan.
•
:rupos de problemas de muy distinta complejidad.
3. CARACTERÍSTICAS: 3.1. ETAPAS:
El problema se puede dividir en etapas &ue re&uieren una política de decisión en cada una de ellas. 3.2. ESTADOS ASOCIADOS:
4ada etapa tiene cierto número de estados asociados con su inicio. #
Universidad Andina del Cusco
Programación Dinámica Probabilística
3.3. POLÍTICA DE DECISIÓN:
El efecto de la política de decisión en cada etapa es transformar el estado actual en un estado asociado con el inicio de la siguiente etapa. 3.4. PRINCIPIO DE LA OPTIMALIDAD:
Dado el estado actual, la política óptima para las etapas restantes es independiente de la política adoptada en etapas anteriores. La decisión inmediata óptima depende sólo del estado actual. 3.5. INICIO DE LA SOLUCIÓN:
#e inicia al encontrar una política óptima para la última etapa. 3.6. RELACIÓN RECURSIVA:
;dentifica la política óptima para la etapa n, dada cada política óptima para la etapa n<-. 3..RETROCESO:
4uando se use esta relación recursiva, el procedimiento de solución comien!a la final y se mueve %acia atrás etapa por etapa, encontrando cada ve! la política óptima para esa etapa %asta &ue se encuentre la política óptima para la etapa inicial. 4. EN!OQUES: •
+op=do>n1 El problema se divide en subproblemas, y estos se resuelven recordando las soluciones por si fueran necesarias nuevamente. Es una combinación de memori!ación y recursión.
•
*ottom=up1 +odos los problemas &ue puedan ser necesarios se resuelven de antemano y despus se usan para resolver las soluciones a problemas mayores. Este enfo&ue es ligeramente mejor en consumo de espacio y llamadas a funciones, pero a veces resulta $
Universidad Andina del Cusco
Programación Dinámica Probabilística
poco intuitivo encontrar todos los subproblemas necesarios para resolver un problema dado. 5. TIPOS DE PROGRAMACIÓN DINÁMICA: •
Programación dinámica determinística
•
Programación dinámica probabilística
6. PROGRAMACIÓN DINÁMICA PRO"A"ILÍSTICA: 6.1.CONCEPTO:
La programación dinámica probabilística ?PDP@ es una tcnica matemática útil para la toma de decisiones interrelacionadas, se presenta cuando el estado en la siguiente etapa no está determinado por completo por el estado y la política de decisión de la etapa actual. En su lugar e"iste una distribución de probabilidad para determinar cuál será el siguiente estado. #in embargo, esta distribución de probabilidad sí &ueda bien determinada por el estado y la política de decisión en la etapa actual. Por otro lado, cabe resaltar, &uA cuando el estado en la siguiente etapa está determinado por completo por el estado y la política de decisión de la etapa actual, entonces este problema corresponde a programación dinámica determinística ?PDD@. 6.2. ESTRUCTURA "ÁSICA DEL PDP:
%
Universidad Andina del Cusco
Programación Dinámica Probabilística
6.3. CARACTERÍSTICAS DE PRO"LEMAS PDP: •
El problema se puede dividir en etapas &ue re&uieran una
•
política de decisión en cada una de ellas. 4ada etapa tiene cierto número de estados asociados con su inicio.
•
El efecto de la política de decisión en cada etapa es transformar el estado actual en un estado asociado con el inicio de la siguiente etapa ?Bui!á según con una distribución de probabilidad@.
•
El procedimiento de solución está diseado para encontrar una política óptima para el problema completo, es decir, una receta para la política de decisión óptima en cada etapa para cada uno
•
de los estados posibles. Dado el estado actual, una política óptima para las etapas restantes es independiente de la política adoptada en etapas anteriores. Por lo tanto, la decisión inmediata óptima depende solo del estado actual y no de cómo se llegó a%í. Cste es el &
Universidad Andina del Cusco
Programación Dinámica Probabilística
principio de optimalidad para programación dinámica ?#ea PDD •
óPDP@. El procedimiento de solución se inicia al encontrar la política
•
óptima para la última etapa #e dispone de una relación recursiva &ue identifica la política óptima para la etapa n, dada la política óptima para la etapa n< -
•
4uando se usa esta relación recursiva, el procedimiento de solución comien!a al final y se mueve %acia atrás, etapa por etapa ?Encuentra cada ve! la política óptima para esa etapa@ %asta &ue encuentra la política óptima desde la etapa inicial.
•
Esta política óptima lleva de inmediato a una solución óptima para el problema completo, a saber, n para el estado inicial despus para el estado &ue resulta, luego para el estado &ue se obtiene, y así sucesivamente %asta para el estado resultante.
6.4.E#EMPLOS: (Ejercicio propuesto 11.4-2 del libro Investigación de operaciones - Hiller,Frederick . !ieber"an, #erald $. % EJEMPLO 1:
;magine &ue tiene /. para invertir y &ue tendrá la oportunidad de %acerlo en cual&uiera de dos inversiones ?F ó *@ al principio de cada uno de los pró"imos aos. E"iste incertidumbre respecto al rendimiento de ambas inversiones. #i se invierte en F, se puede perder todo el dinero o ?con probabilidad más alta@ obtener -. ?una ganancia de /.@ al final del ao. #i se invierte en *, se pueden obtener los mismos /. ó ?con probabilidad más baja@ -. al terminar el ao. Las probabilidades para estos eventos son las siguientes1
'(
Universidad Andina del Cusco
Programación Dinámica Probabilística
#e le permite %acer ?a lo sumo@ una inversión al ao y sólo puede invertir /cada ve!. ?4ual&uier cantidad de dinero acumulada &ueda inútil@ a@ 9tilice programación dinámica para encontrar la política de inversión &ue ma"imice la cantidad de dinero esperada &ue tendrá despus de los tres aos. b@ 9tilice programación dinámica para encontrar la política de inversión &ue ma"imice la probabilidad de tener por lo menos - despus de los tres aos.
''
Universidad Andina del Cusco
Programación Dinámica Probabilística
Por tanto la política óptima es invertir siempre en F, con una fortuna de espera despus de tres aos de G.
'2
Universidad Andina del Cusco
Programación Dinámica Probabilística
'!
Universidad Andina del Cusco
Programación Dinámica Probabilística
Por lo tanto las políticas óptimas son ?4on los números en los arcos
para representar el retorno de la inversión@. H la má"ima probabilidad de tener al menos - al final de tres aos es .0/0.
')
Universidad Andina del Cusco
Programación Dinámica Probabilística
EJEMPLO 2:
9na estudiante universitaria cuenta con 0 días para preparar los e"ámenes finales de I cursos y &uiere asignar su tiempo de estudio de la manera más eficiente posible. 5ecesita por lo menos un día para cada curso y &uiere concentrarse solo en un curso cada día por lo &ue &uiere asignar -, J, K ó I días a cada curso. 4omo %ace tiempo tomo un curso de ;nvestigación de )peraciones, decide aplicar programación dinámica para %acer estas asignaciones &ue ma"imicen el total de puntos obtenidos en los I cursos. Estima &ue las distintas opciones en días de estudio le redituaran puntos de calificación según la siguiente tabla1
Número
Puntos de califcación
de días
estimados Curso 2 3
1
4
( ( ( 1 ! " 2 2 " " ) 3 # # $ 4 $ & % *esuelva este +roblema con Programación Dinámica
( # $ & &
0
Eta+a ) ,) ' 2 ! )
-).,/ # $ & &
0) ' 2 ! )
Eta+a ! ,!1! ' 2 ! ) "
'
2
!
)
-!.,!/
0! ' 2 ! !5)
23#4% 23$4& 23&4'' 23&4''
)3#4'( )3$4'' )3&4'!
$3#4') $3$4')
%3#4')
% '( '! ')
'
2
!
)
-2.,/
02
&3%4'$
'! '" '% '&
' ' ' '
Eta+a 2 ,212 ' 2 ! ) " #
"3%4'! "3'(4'" "3'!4'% "3')4'&
"3%4'! "3'(4'" "3'!4'%
#3%4') #3'(4'#
'"
Universidad Andina del Cusco
Programación Dinámica Probabilística
Eta+a ' ,'1' $
' !3'&422
2 "3'%42!
! #3'"42'
) $3'!42(
-'.,/ 2!
0' 2
,67UCI6N: Curso' 2
Curso2 '
Curso! !
Curso) '
'#
Universidad Andina del Cusco
Programación Dinámica Probabilística
. CONCLUSIONES: •
La programación dinámica ?#ea PDD ó PDP@ es una tcnica muy útil para tomar una sucesión de decisiones interrelacionadas.
•
e&uiere la formulación de una relación recursiva apropiada para cada problema individual. #in embargo, proporciona grandes a%orros computacionales en comparación con la enumeración e"%austiva para encontrar la mejor combinación de decisiones, en especial cuando se trata de problemas grandes.
•
Es práctica para aplicarlas en programas como el solver en E"cel, de fácil utili!ación para %allar las rutas más óptimas en el proceso de fabricación, ejecución, etc.
•
#irve como ayuda para la facilidad de obtención de información en el estudio de mercados.
$. "I"LIOGRA!IA: •
%ttp1MM>eb.ing.puc.clMNjabaierMiicJ//JMprogdin.pdf
•
%ttp1MM>>>.Oonradloren!.edu.coMimagesMstoriesMsumadigitalmatema ticasMProgramacionQJDinamica.PD(
•
%ttp1MM>>>.lcc.uma.esMNavMLibroM4FP/.pdf
•
%ttp1MMeprints.uanl.m"MKRM-M-J0/GR.PD(
•
%ttps1MMes.scribd.comMdocM/IGRRGMProgramacion=dinamica= probabilistica
•
%ttp1MM>>>.escuelauniversitaria.clMapuntesMProgramacionDinamica.pdf
'$