Está en la página 1de 4

Programación Dinámica

Se entiende como el enfoque general para la solución de los problemas en los que es
necesario tomar decisiones en etapas sucesivas. Las decisiones que se tomen en una
etapa condicionaran la evolución futura del sistema, afectando a los estados en los que
el sistema se podrá encontrar y a las decisiones que se plantearán en el futuro.
Es importante destacar que a diferencia de la programación lineal, el modelado de los
problemas de programación dinámica no sigue una forma estándar. De igual manera,
para cada problema será necesario especificar cada uno de los componentes que
caracterizan un problema de programación dinámica.
Por lo general el procedimiento que se aplica para la resolución de estas situaciones
consiste en:

Dividir el problema en subproblemas más pequeños.

Resolver estos problemas de manera óptima usando este proceso de tres pasos
recursivamente.

Usar estas soluciones óptimas para construir una solución óptima al problema
original.

Los subproblemas se resuelven a su vez dividiéndolos en subproblemas más pequeños
hasta que se alcance el caso fácil, donde la solución al problema es trivial.
Decir que un problema tiene subproblemas superpuestos es decir que se usa un mismo
subproblema para resolver diferentes problemas mayores. Por ejemplo, en la sucesión
de Fibonacci (F3 = F1 + F2 y F4 = F2 + F3) calcular cada término supone calcular F2.
Como para calcular F5 hacen falta tanto F3 como F4, una mala implementación para
calcular F5 acabará calculando F2 dos o más veces. Esto sucede siempre que haya
subproblemas superpuestos: una mala implementación puede acabar desperdiciando
tiempo recalculando las soluciones óptimas a problemas que ya han sido resueltos
anteriormente.
Ecuaciones Recursivas
Matemáticamente, una relación de recurrencia es una ecuación que define una secuencia
recursiva; cada término de la secuencia es definido como una función de términos
anteriores.
Una ecuación recurrente es un tipo específico de relación de recurrencia. Una relación
a0 , a1 , a2 , …
an
de recurrencia para la sucesión
es una ecuación que relaciona
con
alguno de sus predecesores

a0 , a1 , … an−1

. Las condiciones iniciales para la sucesión

Esta sección considera con mayor amplitud el enfoque de programación dinámica para los problemas determinísticos. Se caracteriza porque el valor asociado a los arcos es un valor probable. y sus comportamientos a veces son estudiados por los físicos y matemáticos en un campo conocido como análisis no lineal. Programación Determinística y Probabilística - Determinística: Es aquella en la cual el estado asociado en la etapa siguiente está totalmente determinado por el estado y la política de decisión de la etapa actual. en los que el estado en la etapa siguiente queda completamente determinado por el estado y la política en la etapa actual. - Probabilística: Es aquella en la cual se desarrolla de manera de incluir todos los estados y decisiones posibles en todas las etapas. por lo que a veces recibe el nombre de árbol de decisión. proporciona una manera útil de resumir las diversas posibilidades que pueden ocurrir. a1 . Reduce radicalmente la cantidad de código necesaria para construir la interfaz de usuario La información del modelo de dominio suele extraerse a partir de técnicas de reflection y metaprogramación. Resolver una relación de recurrencia consiste en determinar una fórmula explícita a (cerrada) para el término general n es decir una función no recursiva de n . y por lo tanto el valor de las rutas posibles desde el estado inicial hasta el estado final tiene un valor . Las aplicaciones construidas de esta manera se centran fuertemente en el modelo de dominio. … son valores dados en forma explícita para un número finito de términos de la sucesión. Si el árbol de decisión no es demasiado grande.a0 . Un ejemplo de una relación de recurrencia es el siguiente: x n+1=rx n (1−x n) Algunas definiciones de recurrencia pueden tener relaciones muy complejas (caóticas). Hay dos métodos para resolver relaciones recurrentes: iteración y un método especial que se aplica a las relaciones de recurrencia lineales homogéneas con coeficientes constantes. Características de la programación directa     El usuario puede manipular los objetos del dominio directamente.

así como el costo de mantenimiento y manejo . Modelos de inventario - De orden de modo constante Es un sistema de vigilancia continua. Este costo es independiente del volumen del pedido  El costo de almacenamiento representa el costo de mantener suficientes existencias en el inventario. en cualquiera de las etapas del problema. los arcos que de ese estado “s” que salen tienen la probabilidad de poder ser igual para todos o tener valores diferentes. - Clásico - Con faltantes Costos del Inventario (Costo total del inventario) = (Costo de compra) + (costo de preparación + (Costo de almacenamiento) + (costo de faltante). Estando en un estado “s” cualquiera.asociado a la probabilidad de ocurrencia de ella. Con este tipo de sistema es fácil de coordinar el embarque y la recepción de pedidos para múltiples productos pues tiene la ventaja de que se coloquen al mismo momento varios productos dentro de la empresa. Puede ser constante. Todos estos costos se deben expresar en términos del lote económico deseado y del tiempo entre los pedidos. se verifica el nivel de inventario y los pedidos se colocan únicamente en momentos especificados en el tiempo. o se puede ofrecer con un descuento que depende que depende del volumen del pedido.  El costo de compra se basa en el precio por unidad del artículo. Incluye el interés sobre el capital.  El costo de preparación representa el cargo fijo en el cual se incurre cuando se hace un pedido.

así como el costo más subjetivo de la perdida de la buena voluntad de los clientes. Incluye la perdida potencial de ingresos. Realizar compras de manera que se pueden lograr adquisiciones económicas y eficientes. Mantener un transporte eficiente de los inventarios. incluyendo las funciones de despacho y recibo. El costo de faltante es la penalidad en la cual se incurre cuando nos quedamos sin existencias. Minimizar las perdidas por daños. Objetivos del Control de Inventario          Minimizar la inversión en el inventario. Mantener un sistema eficiente de información del inventario. Mantener un inventario suficiente para que la producción no carezca de materias primas. Proporcionar informes sobre el valor del inventario a contabilidad. Minimizar los costos de almacenamiento. obsolescencia o por artículos perecederos. partes y suministros. . Hacer pronósticos sobre futuras necesidades de inventario.