Sei sulla pagina 1di 11

INVESTIGACIÓN DE

OPERACIONES 2
Unidad 1: programación dinámica

-Juan Carlos Cessa Capistrán

-Andrey Sylvester Pegueros Mata


-Saraí Anastasio Pérez
-Alejandro Capistrán Moreno
Introducción
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 una 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.
La programación dinámica no cuenta con una formulación matemática estándar,
sino que se trata de un enfoque de tipo general para la solución de problemas, y las
ecuaciones específicas que se usan se deben desarrollar para que representen
cada situación individual.  Comúnmente resuelve el problema por etapas, en
donde cada etapa interviene exactamente una variable de optimización (u
optimizadora).

1.1 Características de los problemas de programación dinámica.

El problema de la diligencia es un prototipo literal de los problemas de


programación dinámica. Por tanto, una manera de reconocer una situación que se
puede formular como un problema de programación dinámica es poder identificar
una estructura análoga a la del problema de la diligencia.
Características básicas:
1.- El problema se puede dividir en etapas que requieren una política de decisión
en cada una de ellas.
2.- Cada etapa tiene cierto número de estados asociados con su inicio. Los
estados son las distintas condiciones posibles en las que se puede encontrar el
sistema en cada etapa del problema.
3.- 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.
4.- El procedimiento de solución está diseñado para encontrar una política óptima
para el problema completo.
5.- Dado el estado actual, una política óptima para las etapas restantes es
independiente de la política adoptada en etapas anteriores. Este es el principio de
optimalidad para programación dinámica.
6.- El procedimiento de solución se inicia al encontrar la política óptima para la
última etapa.
7.- 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.
La forma precisa de relación recursiva difiere de un problema a otro de
programación dinámica, pero usaremos una notación análoga a la siguiente:
N = número de etapas.
n = etiqueta para la etapa actual ( n = 1,2,…,N)
sn = estado actual para la etapa n
xn = variable de decisión para la etapa n
xn* = valor óptimo de xn (dado sn)
fn(sn,xn) = contribución a la función objetivo de las etapas n, n+1,…,N, si el
sistema se encuentra en el estado sn en la etapa n, la decisión inmediata es xn y
en adelante se toman decisiones óptimas.
fn*(sn) = fn(sn,xn*)
La relación recursiva siempre tendrá la forma:
fn*(sn) = mín fn(sn,xn) ó fn*(sn) = max fn(sn,xn)
8.- Cuando se usa esta relación recursiva, el procedimiento de solución comienza
al final y se mueve hacia atrás etapa por etapa, hasta que encuentra la política
óptima desde la etapa inicial.

1.2 Ejemplos de modelo de programación por metas.


Un repartidor de la tortillería “El Grano de Oro desea saber a que tiendas debe visitar
para que su ruta sea la más corta en distancia posible. En su viaje lleva 6 hieleras
de tortillas y en cada tienda deja 2 hileras. Como restricción siempre debe visitar la
tienda “J” así que debe seleccionar 2 tiendas de 8 posibles para en total visitar 3
tiendas. ¿Qué tiendas debe visitar para que su recorrido sea el más corto?
A continuación, se muestra las diferentes rutas posibles con sus distancias en
metros:
1.3 Programación dinámica determinista.
En este caso se profundiza sobre el enfoque de programación dinámica en los
problemas determinísticos, en donde el estado en la siguiente etapa está
completamente determinado por el estado y la política de decisión de la etapa
actual. El caso probabilístico en el que existe una distribución de probabilidad para
el valor posible del siguiente estado este se analizara más adelante.
Aplicaciones de programación dinámica determinística
Algunas de las aplicaciones de programación dinámica determinística son:
 Modelo de Volumen-Carga “Mochila”
 Modelo del tamaño de la fuerza de trabajo
 Modelo de reposición de equipos
 Modelo de inversión
 Modelos de inventarios

A continuación, se presentarán algunas de estas aplicaciones, cada una de las


cuales muestra una nueva idea en la puesta en práctica de la PD.
A medida que se presente cada aplicación, es importante prestar atención a los tres
elementos básicos de un modelo de PD:
 Definición de las etapas
 Definición de las políticas o alternativas
 Definición de los estados para cada etapa

De los tres elementos, la definición del estado por lo común es la más sutil.
Las aplicaciones que se presentan a continuación muestran que la definición de
estado varía dependiendo de la situación que se está modelando.
Ejemplo:
1.4Programación dinámica probabilista.
La programación dinámica probabilística difiere de la programación dinámica
determinística en que el estado de la etapa siguiente no queda completamente
determinado por el estado y la decisión de la política en el estado actual. En lugar
de ello existe una distribución de probabilidad para lo que será el estado siguiente.
Sin embargo, esta distribución de probabilidad todavía está completamente
determinada por el estado y la decisión de la política del estado actual. En la
siguiente figura se describe diagramáticamente la estructura básica que resulta para
la programación dinámica probabilística, en donde N denota el número de estados
posibles en la etapa n+1.
Cuando se desarrolla de esta forma para incluir todos los estados y decisiones
posibles en todas las etapas, a veces recibe el nombre de árbol de decisión. Si el
árbol de decisión no es demasiado grande, proporciona una manera útil de resumir
las diversas posibilidades que pueden ocurrir.
La programación dinámica probabilística (PDP) es una técnica matemáticamente
ú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 si queda bien determinada por el estado y la política de decisión en la
etapa actual. Por consiguiente, la diferencia entre la programación dinámica
probabilística y la programación dinámica determinística (PDD) está en que los
estados y los retornos o retribuciones en cada etapa son probabilísticos. La
programación dinámica probabilística se origina en especial en el tratamiento de
modelos estocásticos de inventarios y en los procesos markovianos de decisión.
Algunas de las aplicaciones de programación dinámica probabilística son:
 Un juego aleatorio
 Problema de inversión
 Maximización del evento de lograr una meta.
1.5 Uso de programas de computación
Adicional al programa SOLVER, incluido en EXCEL-2000 de MIcrosoft (cuya
explicación didáctica del funcionamiento del programa Solver (445 kb), se incluye
en este documento que puede ser bajado por Usted), se incorporan otros programas
que operan bajo sistema WIndows 98/ME/2000/XP, debiendo disponer de una
computadora actualizada con procesador Pentium II y superiores, memoria mínima
de 256 kb y capacidad de disco de 50
MB y los cuales pueden ser bajados a continuación:
 El programa WinQSB (3.9 Mb), cuya propiedad intelectual es del Dr. Yih-
Long Chang y es aplicable a todos los problemas de Investigación de
Operaciones. Para conocer sus usos y aplicaciones, se incorpora el MANUAL
DE USO del WINQSB.
 El programa PrgLin, cuya propiedad es de la Universidad de Lisboa
(Portugal), el cual se aplica para soluciones gráficas de problemas de dos
dimensiones.
 El programa InvOp (361 kb), desarrollado por la Universidad del Cuyo en
Argentina, se aplica para la solución de problemas relacionados con
transporte y redes.
 El programa Lingo, propiedad de Lindo Systems Inc (USA), que dado su gran
tamaño (18.9 Mb), se recomienda que Usted lo recupere directamente de la
página Web del propietario de dicha tecnología http:// www.lindo.com

Potrebbero piacerti anche