PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

23
PRESENTACIÓN: El presente informe fue elaborado con la finalidad de ampliar nuestros conocimientos sobre la Programación Dinámica y en especial sobre la Programación Dinámica Probabilística, el último viene adjuntado con un ejercicio simple y sencillo de entender y resolver.

description

Programacion dinámica

Transcript of PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

Page 1: PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

PRESENTACIÓN:

El presente informe fue elaborado con la finalidad de ampliar nuestros

conocimientos sobre la Programación Dinámica y en especial sobre la

Programación Dinámica Probabilística, el último viene adjuntado con un

ejercicio simple y sencillo de entender y resolver.

Page 2: PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

Universidad Andina del Cusco Programación Dinámica Probabilística

INTRODUCCIÓN:

La Programación Dinámica es un método de optimización de extraordinaria

versatilidad. Si bien fue desarrollada especialmente para la resolución de

problemas en Procesos de Decisión en Múltiples Pasos, diferentes

investigaciones han mostrado que las mismas ideas pueden utilizarse en otro

tipo de problemas de matemática aplicada, e incluso pueden ser útiles en el

planteo de algunas cuestiones teóricas. Habiendo 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 herramienta.

La Ecuación Funcional que se obtiene, para cada problema, a través del uso

del Principio de Optimalidad de Bellman permite, con mayor o menor esfuerzo

dependiendo del caso, establecer una recurrencia que es, en sí misma, un

algoritmo que 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 que resulte

accesible para cualquier estudiante de Licenciatura, incluso para aquellos que

no estén familiarizados con las áreas específicas de dichas aplicaciones.

Persiguiendo este fin, procuramos, en la medida en que el espacio lo permitió,

exponer todos los pasos de cada razonamiento y los elementos teóricos

básicos para su comprensión.

Por ello, primero se desarrollarán conceptos básicos, características y

elementos que 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

Page 3: PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

Universidad Andina del Cusco Programación Dinámica Probabilística

ÍNDICE:

PRESENTACIÓN:.....................................................................................................................2

INTRODUCCIÓN:.....................................................................................................................3

1. PROGRAMACIÓN DINÁMICA:......................................................................................5

1.1. CONCEPTO:..............................................................................................................5

1.2. DISEÑO DEL ALGORITMO DE PROGRAMACIÓN DINÁMICA:......................5

1.3. CONDICIONES QUE HA DE CUMPLIR:...............................................................6

1.4. CONTRASTE CON LA PROGRAMACIÓN LINEAL:..........................................6

2. PRINCIPIO DE OPTIMALIDAD:.....................................................................................6

3. CARACTERÍSTICAS:......................................................................................................7

3.1. ETAPAS:....................................................................................................................7

3.2. ESTADOS ASOCIADOS:........................................................................................7

3.3. POLÍTICA DE DECISIÓN:.......................................................................................7

3.4. PRINCIPIO DE LA OPTIMALIDAD:.......................................................................7

3.5. INICIO DE LA SOLUCIÓN:.....................................................................................8

3.6. RELACIÓN RECURSIVA:.......................................................................................8

3.7. RETROCESO:...........................................................................................................8

4. ENFOQUES:......................................................................................................................8

5. TIPOS DE PROGRAMACIÓN DINÁMICA:...................................................................8

6. PROGRAMACIÓN DINÁMICA PROBABILÍSTICA:....................................................8

6.1. CONCEPTO:..............................................................................................................8

6.2. ESTRUCTURA BÁSICA DEL PDP:.......................................................................9

6.3. CARACTERÍSTICAS DE PROBLEMAS PDP:...................................................10

6.4. EJEMPLOS:.............................................................................................................10

EJEMPLO 1:....................................................................................................................11

EJEMPLO 2:....................................................................................................................15

7. CONCLUSIONES:..........................................................................................................17

8. BIBLIOGRAFIA:..............................................................................................................17

3

Page 4: PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

Universidad Andina del Cusco Programación Dinámica Probabilística

PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

1. PROGRAMACIÓN DINÁMICA:

1.1.CONCEPTO:

Técnica de programación matemática que proporciona un

procedimiento sistémico 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 descomponiéndola 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 que una política óptima

consiste de subpolíticas óptimas, un marco de referencia para

descomponer el problema en etapas.

Se utilizan en situaciones que se necesitan tomar una serie de

decisiones consecutivas. En el área de inventarios hay algunas

situaciones en donde la política de producción que optimiza el costo de

inventario en un mes dado, entonces minimiza el costo de inventario

para todo el año.

La programación dinámica no sólo tiene sentido aplicarla por razones

de eficiencia, sino porque además presenta un método capaz de

resolver de manera eficiente problemas cuya solución ha sido abordada

por otras técnicas y ha fracasado.

La solución de problemas mediante esta técnica se basa en el llamado

principio de óptimo enunciado por Bellman en 1957 y que afirma: “Es

una secuencia de decisiones óptima subsecuencia ha de ser también

óptima”. Sin embargo, este principio no siempre es aplicable y por tanto

es necesario verificar que se cumple para el problema en cuestión.

1.2.DISEÑO DEL ALGORITMO DE PROGRAMACIÓN DINÁMICA:

Planteamiento de la solución con una sucesión de decisiones.

4

Page 5: PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

Universidad Andina del Cusco Programación Dinámica Probabilística

Definición recursiva de la solución.

Cálculo del valor de la solución óptima mediante una tabla en

donde se almacenan soluciones a problemas.

Construcción de la solución óptima haciendo uso de la

información contenida.

1.3.CONDICIONES QUE HA DE CUMPLIR:

La solución ha de ser alcanzada a través de una secuencia de

decisiones, una en cada etapa.

Dicha secuencia de decisiones ha de cumplir el principio

1.4.CONTRASTE CON LA PROGRAMACIÓN LINEAL:

No se cuenta con una formulación concreta matemática estándar para

el problema a resolver. Se trata de un enfoque de tipo general para la

solución de problemas y las ecuaciones específicas que se usan deben

desarrollar para que representen cada situación individual.

2. PRINCIPIO DE OPTIMALIDAD:

Cuando hablamos de optimizar nos referimos a buscar alguna de las

mejores soluciones de entre muchas alternativas posibles.

Dicho proceso de optimización puede ser visto como una secuencia de

decisiones que nos proporcionan la solución correcta.

Si, dada una subsecuencia de decisiones, siempre se conoce cuál es la

decisión que debe tomarse a continuación para obtener la secuencia

óptima, el problema es elemental y se resuelve trivialmente tomando una

decisión detrás de otra, lo que se conoce como estrategia voraz.

En otros casos, aunque no sea posible aplicar la estrategia voraz, se

cumple el principio de optimalidad de Bellman que dicta que «dada una

5

Page 6: PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

Universidad Andina del Cusco Programación Dinámica Probabilística

secuencia óptima de decisiones, toda subsecuencia de ella es, a su vez,

óptima».

En este caso sigue siendo posible el ir tomando decisiones elementales, en

la confianza de que la combinación de ellas seguirá siendo óptima, pero

será entonces necesario explorar muchas secuencias de decisiones para

dar con la correcta, siendo aquí donde interviene la programación dinámica.

Contemplar un problema como una secuencia de decisiones equivale a

dividirlo en problemas más pequeños y por lo tanto más fáciles de resolver

como hacemos en Divide y Vencerás, técnica similar a la de programación

dinámica.

La programación dinámica se aplica cuando la subdivisión de un problema

conduce a:

Una enorme cantidad de problemas.

Problemas cuyas soluciones parciales se solapan.

Grupos de problemas de muy distinta complejidad.

3. CARACTERÍSTICAS:

3.1.ETAPAS:

El problema se puede dividir en etapas que requieren una política de

decisión en cada una de ellas.

3.2.ESTADOS ASOCIADOS:

Cada etapa tiene cierto número de estados asociados con su inicio.

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:

6

Page 7: PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

Universidad Andina del Cusco Programación Dinámica Probabilística

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:

Se inicia al encontrar una política óptima para la última etapa.

3.6.RELACIÓN RECURSIVA:

Identifica la política óptima para la etapa n, dada cada política óptima

para la etapa n+1.

3.7.RETROCESO:

Cuando se use esta relación recursiva, el procedimiento de solución

comienza la final y se mueve hacia atrás etapa por etapa, encontrando

cada vez la política óptima para esa etapa hasta que se encuentre la

política óptima para la etapa inicial.

4. ENFOQUES:

Top-down: El problema se divide en subproblemas, y estos se

resuelven recordando las soluciones por si fueran necesarias

nuevamente. Es una combinación de memorización y recursión.

Bottom-up: Todos los problemas que puedan ser necesarios se

resuelven de antemano y después se usan para resolver las

soluciones a problemas mayores. Este enfoque es ligeramente mejor

en consumo de espacio y llamadas a funciones, pero a veces resulta

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

7

Page 8: PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

Universidad Andina del Cusco Programación Dinámica Probabilística

6. PROGRAMACIÓN DINÁMICA PROBABILÍSTICA:

6.1.CONCEPTO:

La programación dinámica probabilística (PDP) es una técnica

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 existe una distribución de probabilidad para determinar cuál

será el siguiente estado. Sin embargo, esta distribución de probabilidad

sí queda bien determinada por el estado y la política de decisión en la

etapa actual.

Por otro lado, cabe resaltar, qué; 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 BÁSICA DEL PDP:

8

Page 9: PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

Universidad Andina del Cusco Programación Dinámica Probabilística

6.3.CARACTERÍSTICAS DE PROBLEMAS PDP:

El problema se puede dividir en etapas que requieran una

política de decisión en cada una de ellas.

Cada 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 (Quizá según con una distribución de

probabilidad).

El procedimiento de solución está diseñado 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ó ahí. Éste es el

principio de optimalidad para programación dinámica (Sea PDD

óPDP).

El procedimiento de solución se inicia al encontrar la política

óptima para la última etapa

Se dispone de una relación recursiva que identifica la política

óptima para la etapa n, dada la política óptima para la etapa n+ 1

Cuando se usa esta relación recursiva, el procedimiento de

solución comienza al final y se mueve hacia atrás, etapa por

etapa (Encuentra cada vez la política óptima para esa etapa)

hasta que 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

después para el estado que resulta, luego para el estado que se

obtiene, y así sucesivamente hasta para el estado resultante.

6.4.EJEMPLOS:

9

Page 10: PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

Universidad Andina del Cusco Programación Dinámica Probabilística

(Ejercicio propuesto 11.4-2 del libro Investigación de operaciones - Hiller,Frederick S.

Lieberman, Gerald J. )

EJEMPLO 1:

Imagine que tiene $ 5.000 para invertir y que tendrá la oportunidad de

hacerlo en cualquiera de dos inversiones (A ó B) al principio de cada uno

de los próximos años.

Existe incertidumbre respecto al rendimiento de ambas inversiones. Si

se invierte en A, se puede perder todo el dinero o (con probabilidad más

alta) obtener$ 10.000 (una ganancia de $ 5.000) al final del año.

Si se invierte en B, se pueden obtener los mismos $ 5.000 ó (con

probabilidad más baja) $ 10.000 al terminar el año.

Las probabilidades para estos eventos son las siguientes:

Se le permite hacer (a lo sumo) una inversión al año y sólo puede

invertir $ 5000cada vez. (Cualquier cantidad de dinero acumulada

queda inútil)

a) Utilice programación dinámica para encontrar la política de inversión

que maximice la cantidad de dinero esperada que tendrá después de

los tres años.

b) Utilice programación dinámica para encontrar la política de inversión

que maximice la probabilidad de tener por lo menos $ 10000 después

de los tres años.

10

Page 11: PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

Universidad Andina del Cusco Programación Dinámica Probabilística

11

Page 12: PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

Universidad Andina del Cusco Programación Dinámica Probabilística

Por tanto la política óptima es invertir siempre en A, con una fortuna de

espera después de tres años de $ 9800.

12

Page 13: PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

Universidad Andina del Cusco Programación Dinámica Probabilística

13

Page 14: PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

Universidad Andina del Cusco Programación Dinámica Probabilística

Por lo tanto las políticas óptimas son (Con los números en los arcos

para representar el retorno de la inversión).

Y la máxima probabilidad de tener al menos $ 10000 al final de tres

años es 0.757.

14

Page 15: PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

Universidad Andina del Cusco Programación Dinámica Probabilística

EJEMPLO 2:

Una estudiante universitaria cuenta con 7 días para preparar los exámenes finales de 4 cursos y quiere asignar su tiempo de estudio de la manera más eficiente posible. Necesita por lo menos un día para cada curso y quiere concentrarse solo en un curso cada día por lo que quiere asignar 1, 2, 3 ó 4 días a cada curso. Como hace tiempo tomo un curso de Investigación de Operaciones, decide aplicar programación dinámica para hacer estas asignaciones que maximicen el total de puntos obtenidos en los 4 cursos. Estima que las distintas opciones en días de estudio le redituaran puntos de calificación según la siguiente tabla:

Número de días

Puntos de calificación estimados

Curso

1 2 3 4

0 0 0 0 0

1 3 5 2 6

2 5 5 4 7

3 6 6 7 9

4 7 9 8 9

Resuelva este problema con Programación Dinámica.

Etapa 4

S4 F4(S) X4

1 6 1

2 7 2

3 9 3

4 9 4

Etapa 3

S3/x3 1 2 3 4 F3(S3) X3

1

15

Page 16: PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

Universidad Andina del Cusco Programación Dinámica Probabilística

2 2+6=8 8 1

3 2+7=9 4+6=10 10 2

4 2+9=11 4+7=11 7+6=14 13 3

5 2+9=11 4+9=13 7+7=14 8+6=14 14 3,4

Etapa 2

S2/x2 1 2 3 4 F2(S) X2

1

2

3 5+8=13 13 1

4 5+10=15 5+8=13 15 1

5 5+13=18 5+10=15 6+8=14 18 1

6 5+14=19 5+13=18 6+10=16 9+8=17 19 1

Etapa 1

S1/x1 1 2 3 4 F1(S) X1

7 3+19=22 5+18=23 6+15=21 7+13=20 23 2

SOLUCION:

Curso1 Curso2 Curso3 Curso4

2 1 3 1

16

Page 17: PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

Universidad Andina del Cusco Programación Dinámica Probabilística

7. CONCLUSIONES:

La programación dinámica (Sea PDD ó PDP) es una técnica muy útil

para tomar una sucesión de decisiones interrelacionadas.

Requiere la formulación de una relación recursiva apropiada para

cada problema individual. Sin embargo, proporciona grandes ahorros

computacionales en comparación con la enumeración exhaustiva

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 Excel, de

fácil utilización para hallar las rutas más óptimas en el proceso de

fabricación, ejecución, etc.

Sirve como ayuda para la facilidad de obtención de información en el

estudio de mercados.

8. BIBLIOGRAFIA:

http://web.ing.puc.cl/~jabaier/iic2552/progdin.pdf

http://www.konradlorenz.edu.co/images/stories/

suma_digital_matematicas/Programacion%20Dinamica.PDF

http://www.lcc.uma.es/~av/Libro/CAP5.pdf

http://eprints.uanl.mx/3096/1/1020070586.PDF

https://es.scribd.com/doc/54086068/Programacion-dinamica-

probabilistica

http://www.escuelauniversitaria.cl/apuntes/

ProgramacionDinamica.pdf

17