Está en la página 1de 6

programación

dinámica

1IV15
• La programación dinámica consiste en una técnica que permite determinar de
manera eficiente las decisiones que optimizan el comportamiento de un sistema
que evoluciona a lo largo de una serie de etapas. En otras palabras, trata de
encontrar la secuencia de decisiones que optimiza el comportamiento de un
proceso.

• 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 proporciona la solución
correcta.
CONCEPTOS

• La programación dinámica es una técnica


matemática que se utiliza para la solución de
problemas matemáticos seleccionados, en los
cuales se toma un serie de decisiones en forma
secuencial.
• Proporciona un procedimiento sistemático para
encontrar la combinación de decisiones que
maximice la efectividad total, al descomponer el
problema en etapas, las que pueden ser
completadas por una o más formas (estados), y
enlazando cada etapa a través de cálculos
recursivos.
DEFINICIONES

• Etapa: es la parte del problema que posee un conjunto de alternativas mutuamente


excluyentes, de las cuales se seleccionará la mejor alternativa.
• Estado: es el que refleja la condición o estado de las restricciones que enlazan las
etapas. Representa la “liga” entre etapas de tal manera que cuando cada etapa se
optimiza por separado la decisión resultante es automáticamente factible para el
problema completo.
Características de un problema de programación dinámica

Para que un problema pueda ser resuelto mediante programación


dinámica, debe cumplir con ciertas características, como:
• El problema puede ser dividido en etapas.
• Cada etapa tiene un número de estados asociados a ella.
• La decisión óptima dé cada etapa depende sólo del estado
actual y no de las decisiones anteriores.
• La decisión tomada en una etapa determina cuál será el estado
de la etapa siguiente.
Resolución de un problema de programación dinámica

Para resolver un problema de programación dinámica se debe:


• Identificar etapas, estados y variable de decisión: Cada etapa debe tener asociada una o más
decisiones (problema de optimización).
1. Cada estado debe contener toda la información relevante para la toma de decisión asociada al
periodo.
2. Las variables de decisión son aquellas sobre las cuales se debedefinir su valor, de modo que se
pueda optimizar el beneficio acumulado y modificar el estado de la próxima etapa.
• Describir las ecuaciones de recurrencia: Se debe indicar cómo se acumula la función de
beneficios a optimizar (función objetivo) y cómo varían las funciones de estado de una etapa a
otra.
• Solucionar: Se debe optimizar cada subproblema por etapas en función de los resultados de la
resolución del subproblema siguiente.

También podría gustarte