PROGRAMACIÓN DINÁMICA
Inicialmente tenemos que los creadores de la programación dinámica fueron, Richard Bellman y G.B. Dantzig; inicialmente la programación dinámica se llama programación lineal estocástica, o bien problemas de programación lineal relacionadas con la incertidumbre.
Teniendo en cuenta lo anterior; podemos definir la programación dinámica; como una técnica matemática para la solución de una serie de decisiones en secuencia. Hay que tomar una secuencia de decisiones, con cada una de ellas que afecta las decisiones futuras.
También podemos decir que es útil para la toma de decisiones interrelacionadas; que proporciona un procedimiento sistemático para determinar la combinación de decisiones que maximiza la efectividad total.
La programación dinámica es una técnica que se usa para determinar si hay posibilidades de modificar las decisiones durante cierto período.
La programación dinámica se ocupa también de los problemas en los que el tiempo no es una variable significativa; ejemplo: Hay que tomar una decisión en la distribución de una cantidad fija de recursos entre cierto número de usos alternativos. Este problema puede resolverse descomponiéndolo en varias etapas y de ese modo la decisión final se maneja como si fuera una serie de decisiones dependientes en el transcurso del tiempo.
En contraste con la programación lineal no presenta una formulación matemática standard, en la solución de los problemas; sino que se trata de un enfoque de tipo general para su solución y las ecuaciones especificadas, que se usan, se deben desarrollar para que representen cada situación individual de cada problema. CARACTERÍSTICAS GENERALES DE LA PROGRAMACIÓN DINÁMICA 1.- Una de las características esenciales es la toma de decisiones en secuencia. 2.- El problema se puede dividir en etapas, las cuales requieren de una política de decisión, en cada una de ellas.
3.- Es necesarios conocer pocos datos para describir el problema en cada etapa. 4.- La dependencia del resultado de las decisiones de una pequeña cantidad de variables.
5.- En cualquier etapa, el resultado de una decisión, altera los valores numéricos de la pequeña cantidad de variables relacionadas con el problema.
6.- Cada etapa tiene un cierto numero de estados asociados a ella.
Estos son las distintas condiciones posibles en las que se puede encontrar el sistema en cada etapa del problema.
7.- El efecto de la política de decisión en cada etapa, es transformar el estado actual en un estado asociado con la siguiente etapa.
8.- La decisión real no aumenta ni disminuye el número de factores de los que dependen los resultados.
9.- El procedimiento de solución esta diseñado para encontrar una política de solución optima, para el problema planteado.
Cualquier problema de programación dinámica proporciona este tipo de política sobre qué hacer en todas las circunstancia posibles. A esto se debe que la decisión real que se tome al llegar a un estado en particular se llama política de decisión. El proporcionar esta información adicional más allá de especificar una solución optima(secuencia optima de decisiones), puede ser muy valiosa en muchas situaciones que incluyen el análisis de sensibilidad.
10.- La programación dinámica nos permite llegar a decisiones óptimos para los períodos o etapas que todavía están en el futuro, a pesar de las decisiones incorrectas que se hayan tomado en el período.
11.- Dado el estado actual, una política optima para las etapas restantes es independientes de la política adoptada en etapas anteriores “situación llamada principio de optimalidad”.
12.- El procedimiento de solución se inicia al encontrar la política optima para las ultimas etapas. Ya que esta prescribe la política optima de decisión para cada estado posible en esa etapa.
13.- Se establece una función recursiva que identifique la política optima para la etapa n dada la política optima para la etapa (n+1).
ESTRUCTURA DE LA PROGRAMACIÓN DINÁMICA
Todo problema de programación dinámica debe reunir los siguientes pasos:
a.- El problema se divide en etapas, con una política de decisión requerida en cada etapa.
b.- Cada etapa tiene algunos estados asociados.
c.- Cada problema debe tener una variable de estado; la cual nos dice todo lo que necesitamos saber sobre el sistema, a fin de tomar decisiones.
d.- Cada estado debe contar con una decisión, la cual es una oportunidad para cambiar las variables de estado en una forma probabilistica.
e.- El efecto de una decisión a cada etapa es transformar el estado corriente (actual), en uno asociado con la próxima etapa.
f.- Dado el estado corriente, la política óptima para las etapas que quedan es independiente a la política adoptada en etapas anteriores. En este caso “etapa anterior”, significa tiempo.
g.- El procesamiento empieza por escoger la decisión(política), óptima para cada estado de la ultima etapa.
h.- Debe tener una función RECURSIVA; la cual identifica la decisión(política), óptima para cada estado cuando quedan n-etapas, dada la decisión óptima para cada estado cuando quedan n-1 etapas.
i.- Usando esta relación recursiva, el método de solución mueve hacia atrás etapa por etapa, determinando la decisión óptima en cada etapa hasta llegar a la etapa final.
SEGÚN SU CLASIFICACIÓN
La programación dinámica puede clasificarse de las siguientes formas: 1.- Combinando la eficiencia y/o efectividad.
2.- Sumando ó multiplicando, maximizando ó minimizando la eficiencia y/o efectividad.
3.- Optimizando en una forma total la eficiencia y/o efectividad.
- De acuerdo a ello podemos decir: Que cuando la eficiencia y/o efectividad son positivas; entonces la función de las n-etapas se maximiza como por ejemplo: cuando hallamos utilidades, rentabilidad, salud, etc.
- Cuando las eficiencias y/o efectividades son negativas entonces la función de las n-etapas se minimiza, como por ejemplo: Cuando hallamos costos, probabilidades de falla o fracaso, etc.
También tenemos que según la eficiencia y/o efectividad estas pueden ser discretas o continuas.
-Se dice que una función eficiencia y/o efectividad del sistema es discreta en el contexto de la programación dinámica, cuando esta se le representa por medio de tablas.
-Se dice que una función eficiencia y/o efectividad se representa matemáticamente por medio de una función, entonces se dice que el programa dinámico es continuo.
TIPOS DE MODELOS DE PROGRAMACIÓN DINÁMICA MODELOS DETERMINISTICOS
- PRESENTA VARIABLES DISCRETAS - PRESENTA VARIABLES CONTINUAS MODELOS PROBABILISTICOS
Son aquellos modelos que toman una características similar a los procesos markovianos, es decir una evaluación de un evento en un periodo futuro.
MODELOS DETERMINISTICOS: OBJETIVO:
consiste en profundizar sobre el enfoque del tipo de problema; donde el estado en la siguiente etapa esta completamente determinado por el estado y la política de decisión de la etapa actual.
Una forma de clasificar los problemas de programación dinámica deterministica es por la forma de la función objetivo.
También podemos decir que su objetivo es minimizar la suma de las contribuciones de cada una de las etapas individuales ó maximizar esas sumas ó bien minimizar el producto de los términos.
Otra forma de clasificar los problemas deterministicos es en términos de la naturaleza del conjunto de estados, en las respectivas etapas.
- PARAMETROS ESENCIALES EN LA FORMULACION DE CUALQUIER PROBLEMA
NOTACION
N = NUMERO DE ETAPAS
n = LAS ETAPAS SON LAS DIFERENTES FUENTES CANALIZADORAS DE LOS RECURSOS A ASIGNAR.
e(n)=SON LAS DISPONIBILIDADES QUE SE POSEEN PARA ASIGNAR RECURSOS EN LA ETAPA n.
Xn= SON LAS DIFERENTES ASIGNACIONES REALIZADAS EN CADA ETAPA n
Xn*=VARIABLE OPTIMA DE Xn DADO e(n)
fn(en,Xn)= CONTRIBUCIÓN A LA FUNCIÓN OBJETIVO DE LAS ETAPAS n, n+1,...,N. SI EL SISTEMA SE ENCUENTRA EN EL ESTADO e(n) EN LA ETAPA n, LA DECISIÓN INMEDIATA ES Xn Y EN ADELANTE SE TOMAN DECISIONES OPTIMAS.
DEFINICIÓN DE LA FUNCIÓN RECURSIVA Fn(en,Xn) = MIN. [ C(en,xn) + Fn-1(Xn)]
costo o ahorro optimo del destinos costos o ahorro de costos o ahorro óptimos del estado
estado- en - al estado decisión ir de e a Xn Xn al destino cuando quedan
destino cuando posible para n-1 etapas. quedan n-1 etapas cada etapa.
DIAGRAMA DEL MODELO
ETAPA n ETAPA n+1
ESTADO: ene(n) contribución de Xn en+1
MODELOS DE UNA ETAPA Dn fn Xo Xn R Xn = Fn(Xo)
MODELO PARA n-ETAPAS
D1 D2 Dk Dn-1 Dn Xo f1 X1 f2 x2 Xk-1 fk Xk Xn-2 fn-1 Xn-1 fn Xn R1 R2 Rn-1 Rn Rk Xn = fn(Xn-1,Dn) Rn = rn(xn-1,Dn) Xn-1= fn-1(xn-2,Dn-1) Rn-1 = rn-1(xn-2,Dn-1) Xn = (fn-1(xn-2,Dn-1),Dn) Rn = rn(fn-1(xn-2,Dn-1),Dn)
TIPOS DE PROBLEMAS DE APLICACION - REDES.
- ASIGNACION DE RECURSOS. - INVENTARIOS.