SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
INSTITUTO TECNOLÓGICO DE
ALVARADO
PROGRAMACI
ÓN
DINÁMICA
INVESTIGACIÓN DE OPERACIONES
II
PROGRAMACIÓN DINÁMICA 1
CONTENIDO
Introducción……………………………………………………………………………………………2
Programación Dinámica……………………………………………………………………………….3
1.1 Características de los problemas de programación dinámica……………………………………...3
1.2 Ejemplos de programación dinámica……………………………………………………………...4
El problema de la diligencia…………………………………………………………………………...4
1.3 Programación dinámica determinista……………………………………………………………...8
Aplicaciones de programación dinámica determinística………………………………………………8
Modelo del tamaño de la fuerza de trabajo……………………………………………………………9
Modelo de reposición de equipo……………………………………………………………………..11
1.4 Programación dinámica probabilista……………………………………………………………..15
Aplicaciones de programación dinámica probabilísticas…………………………………………….15
Un juego aleatorio……………………………………………………………………………………16
1.5 Uso de programas de computación………………………………………………………………19
Bibliografía…………………………………………………………………………………………...24
PROGRAMACIÓN DINÁMICA 2
Introducción
La PD fue desarrollada por Richard Bellman y G B Dantzing. Sus importantes
contribuciones sobre esta técnica cuantitativa de toma de decisiones se publicaron en 1957
en un libro del primer autor denominado “Dynamic Programming” (Princeton University
Press. Princeton, New Jersey) (Domínguez, 2000).Inicialmente a la PD se le denominó
programación lineal estocástica ó problemas de programación lineal con incertidumbre.
La programación dinámica (PD) determina la solución óptima de un problema de n
variables descomponiéndola en n etapas, con cada etapa incluyendo un sub problema 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 sub políticas óptimas, un marco de
referencia para descomponer el problema en etapas.
La programación dinámica es una técnica que se puede aplicar para resolver muchos
problemas de optimización. La mayor parte de las veces, la programación dinámica obtiene
soluciones con un avance en reversa, desde el final de un problema hacia el principio con
lo que un problema grande y engorroso se convierte en una serie de problemas más
pequeños y más tratables.
Así, la programación dinámica se puede definir como una técnica matemática útil que
resuelve una serie de decisiones secuenciales, cada una de las cuales afecta las
decisiones futuras. Proporciona un procedimiento sistemático para determinar la
combinación de decisiones que maximiza la efectividad total (Taha, 2004).
En contraste para el problema de programación dinámica, trata de un enfoque de tipo
parcial para la solución de problemas y las ecuaciones específicas que se usan se deben
desarrollar para que represente cada situación individual.
PROGRAMACIÓN DINÁMICA 3
PROGRAMACIÓN DINÁMICA
1.1 Características de los problemas de programación dinámica
Las características de la programación dinámica se emplean para formular e identificar la
estructura de los problemas de este tipo.
A continuación se presentarán estas características básicas que distinguen a los
problemas de programación dinámica.
1. El problema se puede dividir en etapas que requieren una política de decisión en
cada una de ellas. En muchos problemas de programación dinámica, la etapa es la
cantidad de tiempo que pasa desde el inicio del problema, en ciertos casos no se
necesitan decisiones en cada etapa.
2. Cada etapa tiene un cierto número de estados asociados a ella. Por estado se
entiende la información que se necesita en cualquier etapa para tomar una decisión
óptima.
3. 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 (tal vez de acuerdo a una distribución de
probabilidad).
4. El procedimiento de solución está diseñado para encontrar una política óptima para
el problema completo, es decir, una receta para las decisiones de la política óptima
en cada etapa para cada uno de los estados posibles.
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
óptimalidad para la programación dinámica). En general en los problemas de PD, el
conocimiento del estado actual del sistema expresa toda la información sobre su
comportamiento anterior, y esta información es necesario para determinar la política
óptima de ahí en adelante.
6. El procedimiento de solución se inicia al encontrar la política óptima para la última
etapa. La política óptima para la última etapa prescribe la política óptima de decisión
para cada estado posible en esa etapa.
7. Se dispone de una relación recursiva que indica la política óptima para la etapa
dada la política optima para la etapa (n+1)
A pesar de esta característica, los problemas que pueden ser atacados con la PD tienen
otras dos propiedades adicionales:
 Sólo un número reducido de variables se debe conocer en cualquier etapa con el fin
de describir al problema. En efecto, los problemas de la PD se caracterizan por la
dependencia de los resultados derivados de decisiones sobre un número reducido
de variables.
 El resultado de una decisión en cualquier etapa altera los valores numéricos de un
número reducido de variables relevantes al problema. La decisión actual ni
PROGRAMACIÓN DINÁMICA 4
incrementa ni decrementa el número de factores sobre los cuales depende el
resultado. Así, para la siguiente decisión en la secuencia, el mismo número de
variables se considera (Hillier, 1991).
En un problema de PD una serie de decisiones se deben tomar en una secuencia dada.
Cuando esto se cumple, una política óptima se debe perseguir. No importa cuáles fueron
los estados y decisiones iniciales, las decisiones restantes constituirán una política óptima
con respecto al estado resultante de la primera decisión.
1.2 Ejemplos de Modelo de Programación Dinámica.
El problema de la diligencia.
Un problema construido especialmente por el Profesor H M Wagner de la Universidad de
Stanford para ilustrar las características e introducir la terminología de la PD es el
problema de la diligencia.
Este problema se refiere a un vendedor mítico que tuvo que viajar hacia el oeste utilizando
como medio de transporte una diligencia, a través de tierras hostiles, en el último cuarto del
siglo XIX. Aún cuando su punto de partida y destino eran fijos, tenía un número
considerable de opciones para elegir qué estados (o territorios que posteriormente se
convirtieron en estados) recorrer en su ruta.
En la figura 1 se muestran las rutas posibles, en donde cada estado se representa por un
bloque numerado.
Figura 1. Sistema de caminos para el problema de la diligencia.
PROGRAMACIÓN DINÁMICA 5
De la ilustración se puede observar que el viaje se puede realizar en 4 etapas, partiendo
del estado 1 hasta su destino en el estado 10:
 Primera etapa: estados 1 y (2, 3, 4)
 Segunda etapa: estados (2, 3,4) y (5, 6, 7)
 Tercera etapa: estados (5,6,7) y (8, 9)
 Cuarta etapa: estado (8,9) y10
Puesto que se ofrecían seguros de vida a los pasajeros de las diligencias, este vendedor
no quiso dejar pasar la oportunidad y se propuso determinar la ruta más segura. Como el
costo de cada póliza se basaba en una evaluación cuidadosa de la seguridad de ese
recorrido, la ruta más segura debía ser aquella con la póliza de seguro de vida más barata.
El costo de la póliza estándar para el viaje en diligencia del estado i al j se muestra en
figura 1 como una etiqueta en los caminos (flechas) para ir de un estado a otro.
Así la pregunta central es: ¿cuál ruta (conjunto de caminos) minimiza el costo total de la
póliza?, para contestar esta pregunta es necesario hacer notar que, el procedimiento poco
inteligente de seleccionar el camino más barato ofrecido en cada etapa sucesiva no
necesariamente conduce a una decisión óptima global.
La PD parte de una pequeña porción del problema y encuentra la solución óptima para ese
problema más pequeño. Entonces gradualmente agranda el problema, hallando la solución
óptima en curso a partir de la anterior, hasta que se resuelve por completo el problema
original.
A continuación se explican los detalles involucrados en la implementación de esta filosofía
general. La idea es calcular el costo mínimo (acumulativo) de la póliza de seguros entre los
dos estados de cada etapa y después utilizar esos costos como datos de entrada para la
etapa inmediata siguiente.
CÁLCULOS PARA LA ETAPA 1
Considerando los estados asociados con la etapa 1, se puede ver que los estados 2, 3 y 4
están conectados cada uno con el estado inicial 1 por una sola flecha como se puede
apreciar en la figura 2. Por consiguiente, para la etapa 1 se tiene
Figura 2 etapa 1: estados 2, 3,4
conectados con el estado inicial
1
PROGRAMACIÓN DINÁMICA 6
Costo mínimo al estado 2 = 2 (desde el estado 1)
Costo mínimo al estado 3 = 4 (desde el estado 1)
Costo mínimo al estado 4 = 3 (desde el estado 1)
CÁLCULOS PARA LA ETAPA 2
Después se avanza a la etapa 2 para determinar los costos
mínimos
(Acumulativos) para los estados 5, 6 y 7 como se aprecia en la
figura 3.
Considerando primero al estado 5, se ve que existen tres alternativas; a saber (2,5), (3,5),
(4,5).
Esta información, junto con los costos mínimos de los estados 2, 3 y 4 (figura 4)
determinan el costo mínimo (acumulativo) para el estado 5 como:
De forma similar para el estado 6 (figura 5), se tiene:
Figura 3
Etapa 2: estados 5, 6, 7
conectados con los estados 2, 3,
Figura 4
Etapa 2: Estados 5
conectado con los
estados 2, 3, 4.
Figura 5
Etapa 2: Estados 6
conectado con los estados
PROGRAMACIÓN DINÁMICA 7
Finalmente para el estado 7 (figura 6), se tiene:
CÁLCULOS PARA LA ETAPA 3
Para los cálculos se toman los datos de la figura 5.7
Figura 6
Etapa 2: Estados 7 conectados con
los estados 2, 3, 4.
PROGRAMACIÓN DINÁMICA 8
CÁLCULOS PARA LA ETAPA 4
Para los cálculos se toman los datos de la figura yuttty|5558
En resumen, el costo mínimo total desde el estado 1 al estado 10 es
de 11.
El estado 10 se puede alcanzar desde los estados 8 y 9.
Figura 7
Etapa 3: estados 8, 9 conectados con
los estados 5, 6, 7.
Figura 8
Etapa 4: Estados 10
conectados con los estados
8, 9
PROGRAMACIÓN DINÁMICA 9
Si se elige el estado 9, este proviene de haber elegido el estado 6, el cual a su vez de
haber elegido el estado 4 y finalmente el estado 1.
 Es decir la ruta óptima es: 1, 4, 6, 9,10
Si se elige el estado 8, este proviene de haber elegido el estado 5, el cual a su vez de
haber elegido el estado 4 o el 3.
 Si se elige el estado 4, la ruta óptima es: 1, 4, 5, 8,10.
 Si se elige el estado 3, la ruta óptima es: 1, 3, 5, 8,10
Por lo tanto existen 3 rutas óptimas a elegir ya que la tres implican el costo mínimo total
que es 11.
1.3 Programación Dinámica Determinística (PDD)
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.
PROGRAMACIÓN DINÁMICA 10
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.
Sin embargo, a medida que se presente cada aplicación, resultará útil considerar las
siguientes preguntas:
 ¿Qué relaciones unen las etapas?
 ¿Qué información se necesita para tomar decisiones factibles en la etapa actual,
sin reexaminar las decisiones que se tomaron en las etapas anteriores?
La experiencia indica que la comprensión del concepto de estado se puede mejorar
cuestionando la “validez” de la forma que dicta la intuición.
Se sugiere intentar una definición de estado diferente que pueda parecer “más lógica” y
utilizarla en los cálculos recursivos.
Con el tiempo, se descubrirá que las definiciones que se presentan en las siguientes
aplicaciones proporcionan la forma correcta para resolver el problema.
Mientras tanto, el proceso mental propuesto deberá mejorar la comprensión del concepto
de estado.
Modelo del tamaño de la fuerza de trabajo
En algunos proyectos de construcción, las contrataciones y los despidos se ejercen para
mantener un número de empleados que satisfaga las necesidades del proyecto. Debido a
que las actividades tanto de contratación como de despido incurren en costos adicionales,
¿cómo se debe mantener el número de empleados a todo lo largo de la vida del proyecto?
Supóngase que el proyecto se ejecutara durante el lapso de n semanas, y que la fuerza de
trabajo mínima requiere en la semana i es
bi
. Sin embargo, de acuerdo con los
parámetros de costos, podría ser más económico dejar que fluctué el tamaño de la fuerza
de trabajo. Como
xi
es la cantidad de trabajadores empleados en la semana i, en esa
semana i se puede incurrir en dos costos:
C1(xi−b1)
, el costo de mantener el exceso de
personal;
xi−bi yC2(xi−xi−1)
, el costo de contratar,
xi−xi−1
trabajadores adicionales.
Los elementos del modelo de programación dinámica se definen como sigue:
PROGRAMACIÓN DINÁMICA 11
Ejemplo:
Un contratista constructor estima que la fuerza de trabajo necesaria durante las próximas 5
semanas será de 5, 7, 8, 4 y 6 trabajadores, respectivamente. La mano de obra en exceso
que se conserve le costara $300 por trabajador semanalmente, y la nueva contratación en
cualquiera semana tendrá un costo fijo de $400 más $200 por trabajador y por semana.
Los datos del problema se resumen como sigue:
PROGRAMACIÓN DINÁMICA 12
PROGRAMACIÓN DINÁMICA 13
Modelo de reposición de equipo
Mientras más tiempo este en servicio una máquina, su costo de mantenimiento es mayor y
su productividad menor. Cuando la máquina llegue a cierta antigüedad será más
económico reemplazarla. Es así que entonces el problema se reduce a determinación de la
antigüedad más económica de una máquina.
Supóngase que se estudia el problema de reposición de la máquina durante un lapso de n
años. Al inicio de cada año, se debe decidir si mantener la maquina en servicio por un año
más o reemplazarla por una nueva. Sean r(t), c(t), los ingresos y el costos de operación
anuales, y s(t) el valor de recuperación de una maquina con t años de antigüedad. El costo
de adquisición de una máquina nueva en cualquier año es I.
Los elementos del modelo de programación dinámica son:
Ejemplo:
PROGRAMACIÓN DINÁMICA 14
Una empresa debe determinar la política óptima, durante los próximos 4 años (n=4), de
reemplazo de una máquina, que en la actualidad tiene 3 años. La tabla 1 muestra los
datos del problema. La empresa establece que toda máquina que tenga 6 años de edad
debe reemplazarse. El costo de una maquina nueva es $100,000.
La determinación de los valores factibles de la edad de la máquina en cada etapa requiere
de algo de ingenio. En la Tabla 2 se resume la red que representa el problema. Al iniciar el
año 1 se tiene una máquina de 3 años de antigüedad. Se puede reemplazarla (R) o
conservarla (k) durante otro año. Al inicia el año 2, si hay reemplazo, la maquina nueva
tendrá 1 año de edad; en caso contrario, la máquina actual tendrá 4 años de antigüedad.
Los mismos razonamientos se aplican al iniciar los años 2 o 4. Si se reemplaza una
maquina con 1 año de antigüedad al iniciar los años 2 y 3, su reposición tendrá 1 año de
antigüedad al inicio del año siguiente. También, al iniciar el año 4, se debe reemplazar una
máquina con 6 años de servicio, y al final del año 4 se desechan las máquinas, con
recuperación S.
Tabla 1.
Años con relación a sus
utilidades, costos y valor de
PROGRAMACIÓN DINÁMICA 15
La red indica que al comenzar el año 2, las edades posibles de las maquinas son de 1 4
años.
Para el comienzo del año 3, las antigüedades posibles son 1, 2 y 5 años, y para el
comienzo del año 4, las antigüedades posibles son 1, 2, 3 y 6 años.
La solución de la red de la Tabla 2 equivale a determinar la ruta más larga, del inicio del
año 1 al final del año 4. Se iniciara la forma tabular para resolver el problema. Todos los
valores son en miles de $. Nótese que si se reemplaza una máquina en el año 4 (es decir,
al final del horizonte de planeación) los ingresos incluirán el valor de recuperación, s(t), de
la máquina reemplazada y el valor de recuperación, s(1) de la máquina de repuesto.
Tabla 2
Representación de la
edad de la maquina en
función del año de
decisión.
PROGRAMACIÓN DINÁMICA 16
La Tabla 3 se resume el orden en el cual se obtiene la solución óptima. Al iniciar el año 1, la
decisión óptima para t=3 es reemplazar la máquina. Así, la máquina nueva tendrá 1 año al
iniciar el año 2, y t=1 al iniciar el año 2 determina conservarla o reemplazarla. Si se
reemplaza, la nueva máquina tendrá 1 año al inicial el año 3; en caso contrario, la maquina
conservada tendrá 2 años. El proceso se continúa de esta forma hasta llegar al año 4.
PROGRAMACIÓN DINÁMICA 17
1.4 Programación Dinámica Probabilística (PDP)
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.
En este apartado se presentará algunos ejemplos generales, con objeto de hacer resaltar
la naturaleza estocástica de la programación dinámica.
Aplicaciones de programación dinámica probabilística
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.
A continuación se presentará una de estas aplicaciones.
Tabla 3.
Las políticas alternativas óptimas empezando en el año 1 son (R, K, K, R) y
(R, R, K, K). El costo total es de 55,300 dólares.
PROGRAMACIÓN DINÁMICA 18
Un juego aleatorio
Es una variación del juego de la ruleta rusa, se hace girar una rueda con marcas de n
números consecutivos: 1 a n, en su superficie. La probabilidad de que la rueda se detenga
en el número i después de un giro es pi. Un jugador paga $x por el privilegio de hacer girar
la rueda un máximo de m giros. La recompensa para el jugador es el doble de la cantidad
obtenida en el último giro. Suponiendo que le jugador se repite (hasta con m giros cada
vez) una cantidad razonablemente grande de veces, propone una estrategia optima para el
jugador.
Se puede formular el problema como un modelo de programación dinámica con las
siguientes definiciones:
1 La etapa i corresponde a la i-ésima vuelta de la rueda, i = 1, 2, …, m
2 En cada etapa hay dos alternativas: se gira la rueda una vez más o se termina el
juego
3 El estado j del sistema en la etapa i es el número que se obtuvo la última vez que se
giró la rueda, el cual está entre 1 y n
Sea
fi(j) = Ingreso máximo esperado cuando el juego está en la etapa i (el giro) y que el
resultado del último giro fue j
En este caso se tiene que
 
 
1
1
2 , si termina
max
, si continúa
n
i
k i
k
j
f j
p f k



 
 
Entonces, la ecuación recursiva se puede escribir como sigue:
PROGRAMACIÓN DINÁMICA 19
 
1 0
n
R f x
 
Los cálculos comienzan con fm+1 y terminan con f1, de
modo que hay m+1 etapas. Como f1(0) representa el rendimiento esperado de las m
vueltas, así que el rendimiento esperado neto, Rn, es:
Ejemplo:
Supongamos que la ruleta está marcada con los números 1 a 5 y que las probabilidades de
que se detenga en cada número son p1 = 0.30, p2 = 0.25, p3 = 0.20, p4 = 0.15, p5 = 0.10.
El jugador paga $5 por un máximo de cuatro vueltas. Determine la estrategia óptima para
cada una de las cuatro vueltas y encuentre el rendimiento esperado neto asociado.
Etapa 4
f4(j) = máx.{2j,∑(pkf5(k))}
= máx.{2j, p1f5 (1)+ p2f5(2)+ p3f5 (3)+ p4f5 (4)+ p5f5
(5)}
= máx.{2j,0.3x2 + 0.25x4 + 0.2x6 + 0.15x8 +
0.1x10}
= máx.{2j,5}
Resultado
de la vuelta
4
Rendimiento esperado
Solución óptima
j Terminar Girar f4(j) Decisión
1 2 5 5 Girar
2 4 5 5 Girar
Etapa 5 f5(j) = 2j
Resultado de
la vuelta 4 Solución óptima
j f5(j) Decisión
1 2 Terminar
2 4 Terminar
3 6 Terminar
4 8 Terminar
5 10 Terminar
PROGRAMACIÓN DINÁMICA 20
3 6 5 6 Terminar
4 8 5 8 Terminar
5 10 5 10 Terminar
Etapa 2
f2(j) = máx.{2j, ∑ (pkf3(k))}
= máx.{2j, p1f3 (1)+ p2f3(2)+ p3f3 (3)+ p4f3 (4)+ p5f3 (5)}
= máx.{2j,0.3x6.15 + 0.25x6.15 + 0.2x6.15 + 0.15x8 +
0.1x10}
PROGRAMACIÓN DINÁMICA 21
= máx.{2j,6.8125}
Resultado
de la vuelta
3 Rendimiento esperado Solución óptima
j Terminar Girar f4(j) Decisión
1 2 6.8125 6.8125 Girar
2 4 6.8125 6.8125 Girar
3 6 6.8125 6.8125 Girar
4 8 6.8125 8 Terminar
5 10 6.8125 10 Terminar
Etapa 1
La única opción disponible al iniciar el juego es girar.
De acuerdo con los cuadros anteriores, la solución óptima es:
Vuelta número
Estrategia óptima
1 Comienza el juego. Gire
2
Continúe si la vuelta 1 produce 1,2, o 3; de otra
forma, termine el juego
3 Continúe si la vuelta 2 produce 1, 2 o 3; de otra
f1(0) = máx.{2j, ∑ (pkf2(k))}
= máx.{2j, p1f2 (1)+ p2f2(2)+ p3f2 (3)+ p4f2 (4)+ p5f2 (5)}
= máx.{2j, 0.3x6.8125+ 0.25x6.8125 + 0.2x6.8125 + 0.15x8 + 0.1x10
= máx.{2j,7.31}
PROGRAMACIÓN DINÁMICA 22
forma, termine el juego
4
Continúe si la vuelta 3 produce 1 o 2. De otra
forma, termine el juego
Ingreso neto esperado= $7.31-$5.00= $2.31
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
Posteriormente se irán incorporando otros programas de computación específicos para
cada caso y cuyo uso será descrito mediante ejemplos en la Clase.
Uso del programa Solver de Excel (Microsoft)
Para conocer la aplicación del método SOLVER de EXCEL (Microsoft), se utilizará un
ejemplo práctico:
Max Z= 10 X1 + 8 X2
Sujeto a:
30X1 +20X2 <= 120
PROGRAMACIÓN DINÁMICA 23
2X1 + 2X2 <= 9
4X1 + 6X2 <= 24
X1,X2 >=0
La única dificultad que tenemos es el de modelar el programa dentro del Excel, y eso, es
muy fácil. Por supuesto, hay infinidad de maneras de hacerlo, aquí propongo una.
Se activa Excel y en una hoja:
Se ubican las celdas que se corresponderán con el valor de las variables de decisión; en
éste caso, las celdas B6 y C6, se les da un formato para diferenciarlas de las demás, aquí
azul oscuro (ver captura abajo). Se ubica también, las celdas que contendrán los
coeficientes de las variables de decisión, B4 y C4, y se llenan con sus respectivos valores,
10 y 8. Aunque éste último paso, se podría omitir y dejar los coeficientes definidos en la
celda de la función objetivo, así es mejor para los análisis de sensibilidad y para que la
hoja quede portable para otro programa.
Se ubica la celda que se corresponderá con la función objetivo (celda objetivo), la B3. En
ella se escribe la función que sea, en éste caso, será el coeficiente de X1 (en B4) por el
valor actual de X1 (en B6) mas el coeficiente de X2 (en C4) por el valor actual de X2 (en
C6) O sea: =$B$4*$B$6+$C$6*$C$4
Coeficientes para la primera restricción: los podemos escribir en la misma columna de las
variables de decisión; en las celdas B7 y C7, con los valores 30 y 20, seguido del sentido
de la desigualdad (<=) y de su correspondiente RHS: 120. A la derecha ubicaremos el valor
actual de consumo de la restricción, ella se escribirá en función de las variables de
decisión y de los coeficientes de la restricción. Esta celda, la utilizará Solver como la real
restricción, cuando le digamos que el valor de ésta celda no pueda sobrepasar la de su
correspondiente RHS. De nuevo será el valor del coeficiente por el de la
variable:=B7*$B$6+C7*$C$6.
Nótese que ahora B7 y C7 no tienen el signo $. Pues es que luego que se haya escrito
ésta celda, se podrá arrastrar hacia abajo para que Excel escriba la fórmula por nosotros
(la pereza!), pero tome los valores relativos a los coeficientes que le corresponda a los
mismos valores de las variables de decisión. Se repite los pasos anteriores para las otras
restricciones, pero ahora la fórmula será: =B8*$B$6+C8*$C$6 y =B9*$B$6+C9*$C$6.
PROGRAMACIÓN DINÁMICA 24
El resto del formato es para darle una presentación más bonita a la hoja. Ahora a
resoverlo. Al hacer click en Herramientas, Solver se tendrá una pantalla como la siguiente.
Lo primero que hay que hacer es especificar la celda objetivo y el propósito: maximizar. Se
escribe B3 (o $B3 ó B$3 ó $B$3 como sea, da igual), en el recuadro "cambiando las
celdas", se hace un click en la flechita roja, para poder barrer las celdas B6 y C6; lo mismo
da si se escriben directamente los nombres.
Y ahora para las restricciones: se hace click en agregar...
En F7 está la primera restricción, como se puede ver en la captura. Se especifica el sentido
de la restricción <=, >= ó =. Aquí también se puede especificar el tipo de variable, por
defecto es continua, pero se puede escoger "Int" para entera o "Bin" para binaria. En el
recuadro de la derecha establecemos la cota. Aquí podemos escribir 120 pero mejor
escribimos $E$7 para que quede direccionado a la celda que contiene el 120, y después lo
podríamos cambiar y volver a encontrar la respuesta a manera de análisis de sensibilidad.
Se repite éste paso para las otras dos restricciones.
La condición de no negatividad hay que incluirla manualmente, así:
PROGRAMACIÓN DINÁMICA 25
El cuadro de diálogo debe lucir así:
Y finalmente, se hace click en resolver y ya. Parece un poco largo en comparación con los
otros paquetes de programación lineal, pero esto se hará sólo una vez, para los próximos
programas se podrá utilizar la misma hoja cambiando los coeficientes. Sin embargo, como
se puede notar, la flexibilidad de modelar es muy grande, y se puede introducir
directamente en una hoja donde se haga el análisis de Planeación Agregada, Transporte,
Inventario, Secuencias, balanceo, etc.
PROGRAMACIÓN DINÁMICA 26
BIBLIOGRAFÍA
Domínguez, A. (2000). Programación dinámica
http://www.slideshare.net/Alexdfar/programacin-dinmica-6588350.
Hillier, F.S. (1991). Introducción a la Investigación de Operaciones (3ra.
Edición). México: McGraw-Hill.
Taha, H.A. (2004). Investigación de Operaciones (7ª. Edición). México:
PEARSON EDUCATION.
Goic F., Marcel. Programación Dinámica. Facultad de Ciencias Físicas y
Matemáticas-Departamento de Ingeniería Industrial: Universidad de Chile
Sauré, Denis V. (Julio 2003). Programación Dinámica Determinística. Facultad
de Ciencias Físicas y Matemáticas-Departamento de Ingeniería Industrial:
Universidad de Chile
http://www.investigacion-operaciones.com/Metodos_computacionales.htm

Más contenido relacionado

La actualidad más candente

Programac..
Programac..Programac..
Programac..g_joselo
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación DinámicaXavi2701
 
Programacion dinamica final
Programacion dinamica finalProgramacion dinamica final
Programacion dinamica finalWalter Toledo
 
Programacion Dinamica Intro
Programacion Dinamica IntroProgramacion Dinamica Intro
Programacion Dinamica Introfolken22
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámicaliisab04
 
Programación dinamica (ea)
Programación dinamica (ea)Programación dinamica (ea)
Programación dinamica (ea)emalmeida23
 
Dynamic programming 01
Dynamic programming 01Dynamic programming 01
Dynamic programming 01Edgar Mata
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamicaRCOP
 
Presentación: Programación Dinámica
Presentación: Programación DinámicaPresentación: Programación Dinámica
Presentación: Programación DinámicaWilliam Snow
 
Presentacion programacion dinamica
Presentacion programacion dinamicaPresentacion programacion dinamica
Presentacion programacion dinamicaVINAYOCANDO13
 
Condiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeCondiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeAndreina Arteaga
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamicaNairolys Arsz
 
Programacion Dinamica
Programacion DinamicaProgramacion Dinamica
Programacion DinamicaLuisCabanerio
 
Condiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeCondiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeDanny Quintero
 

La actualidad más candente (19)

Programac..
Programac..Programac..
Programac..
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Programacion dinamica final
Programacion dinamica finalProgramacion dinamica final
Programacion dinamica final
 
Programacion Dinamica Intro
Programacion Dinamica IntroProgramacion Dinamica Intro
Programacion Dinamica Intro
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Programación dinámica
Programación dinámicaProgramación dinámica
Programación dinámica
 
Programación dinamica (ea)
Programación dinamica (ea)Programación dinamica (ea)
Programación dinamica (ea)
 
Dynamic programming 01
Dynamic programming 01Dynamic programming 01
Dynamic programming 01
 
Presentación de investigación de operaciones II
Presentación de investigación de operaciones IIPresentación de investigación de operaciones II
Presentación de investigación de operaciones II
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamica
 
Presentación: Programación Dinámica
Presentación: Programación DinámicaPresentación: Programación Dinámica
Presentación: Programación Dinámica
 
0208
02080208
0208
 
Presentacion programacion dinamica
Presentacion programacion dinamicaPresentacion programacion dinamica
Presentacion programacion dinamica
 
Programación dinámica
Programación dinámica Programación dinámica
Programación dinámica
 
Condiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeCondiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrange
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamica
 
Programacion Dinamica
Programacion DinamicaProgramacion Dinamica
Programacion Dinamica
 
Condiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeCondiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrange
 
Toma de decisiones
Toma de decisionesToma de decisiones
Toma de decisiones
 

Similar a Baixardoc.com unidad-1-programacion-dinamica

Similar a Baixardoc.com unidad-1-programacion-dinamica (20)

Sesion6_IdaliaFlores_20abr15 (1).pdf
Sesion6_IdaliaFlores_20abr15 (1).pdfSesion6_IdaliaFlores_20abr15 (1).pdf
Sesion6_IdaliaFlores_20abr15 (1).pdf
 
Programacion
ProgramacionProgramacion
Programacion
 
PROGRAMACIÓN DINÁMICA Oscar guarimata 27455059
PROGRAMACIÓN DINÁMICA Oscar guarimata 27455059PROGRAMACIÓN DINÁMICA Oscar guarimata 27455059
PROGRAMACIÓN DINÁMICA Oscar guarimata 27455059
 
Clase 7 IO Programación Dinamica_MÓNICA.pdf
Clase 7 IO Programación Dinamica_MÓNICA.pdfClase 7 IO Programación Dinamica_MÓNICA.pdf
Clase 7 IO Programación Dinamica_MÓNICA.pdf
 
PROGRAMACION DINAMICA
PROGRAMACION DINAMICAPROGRAMACION DINAMICA
PROGRAMACION DINAMICA
 
Capitulo 9
Capitulo 9Capitulo 9
Capitulo 9
 
Programación Dinamica
Programación DinamicaProgramación Dinamica
Programación Dinamica
 
I semana sesion ii
I semana   sesion iiI semana   sesion ii
I semana sesion ii
 
Prog dinamica
Prog dinamicaProg dinamica
Prog dinamica
 
Programacion dinamica jesus plaza
Programacion dinamica jesus plazaProgramacion dinamica jesus plaza
Programacion dinamica jesus plaza
 
Pro no num Prog dinamica
Pro no num Prog dinamicaPro no num Prog dinamica
Pro no num Prog dinamica
 
Programacion no lineal
Programacion no linealProgramacion no lineal
Programacion no lineal
 
Programación dinámica
Programación dinámicaProgramación dinámica
Programación dinámica
 
Unidad 3. Programación dinámica
Unidad 3. Programación dinámicaUnidad 3. Programación dinámica
Unidad 3. Programación dinámica
 
Unidad 3. Programación dinámica
Unidad 3. Programación dinámicaUnidad 3. Programación dinámica
Unidad 3. Programación dinámica
 
Programación lineal y pert. do
Programación lineal y pert. doProgramación lineal y pert. do
Programación lineal y pert. do
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Trabajo dualidad sensibilidad
Trabajo dualidad sensibilidadTrabajo dualidad sensibilidad
Trabajo dualidad sensibilidad
 
Teoría de la decisión.pdf
Teoría de la decisión.pdfTeoría de la decisión.pdf
Teoría de la decisión.pdf
 
Documents.mx 13 enfoque-en-la-toma-de-decisiones
Documents.mx 13 enfoque-en-la-toma-de-decisionesDocuments.mx 13 enfoque-en-la-toma-de-decisiones
Documents.mx 13 enfoque-en-la-toma-de-decisiones
 

Más de ManuelStreck

Baixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamicaBaixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamicaManuelStreck
 
Baixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamicaBaixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamicaManuelStreck
 
2 do avance del proyecto
2 do avance del proyecto2 do avance del proyecto
2 do avance del proyectoManuelStreck
 
2 do avance del proyecto
2 do avance del proyecto2 do avance del proyecto
2 do avance del proyectoManuelStreck
 
T1 gestión táctica de operaciones
T1 gestión táctica de operacionesT1 gestión táctica de operaciones
T1 gestión táctica de operacionesManuelStreck
 
Ejemplo de trabajo de final de curso gestion tactica 2
Ejemplo de trabajo de final de curso gestion tactica 2Ejemplo de trabajo de final de curso gestion tactica 2
Ejemplo de trabajo de final de curso gestion tactica 2ManuelStreck
 
T3 gestion de tactica de operaciones (medio)(1) (1)
T3 gestion de tactica de operaciones (medio)(1) (1)T3 gestion de tactica de operaciones (medio)(1) (1)
T3 gestion de tactica de operaciones (medio)(1) (1)ManuelStreck
 
Proyecto final mecánica y res. materiales. (1)
Proyecto final mecánica y res. materiales. (1)Proyecto final mecánica y res. materiales. (1)
Proyecto final mecánica y res. materiales. (1)ManuelStreck
 

Más de ManuelStreck (8)

Baixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamicaBaixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamica
 
Baixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamicaBaixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamica
 
2 do avance del proyecto
2 do avance del proyecto2 do avance del proyecto
2 do avance del proyecto
 
2 do avance del proyecto
2 do avance del proyecto2 do avance del proyecto
2 do avance del proyecto
 
T1 gestión táctica de operaciones
T1 gestión táctica de operacionesT1 gestión táctica de operaciones
T1 gestión táctica de operaciones
 
Ejemplo de trabajo de final de curso gestion tactica 2
Ejemplo de trabajo de final de curso gestion tactica 2Ejemplo de trabajo de final de curso gestion tactica 2
Ejemplo de trabajo de final de curso gestion tactica 2
 
T3 gestion de tactica de operaciones (medio)(1) (1)
T3 gestion de tactica de operaciones (medio)(1) (1)T3 gestion de tactica de operaciones (medio)(1) (1)
T3 gestion de tactica de operaciones (medio)(1) (1)
 
Proyecto final mecánica y res. materiales. (1)
Proyecto final mecánica y res. materiales. (1)Proyecto final mecánica y res. materiales. (1)
Proyecto final mecánica y res. materiales. (1)
 

Último

bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria deCalet Cáceres Vergara
 
HABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfHABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfGEINER22
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresamerca6
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicaciónJonathanAntonioMaldo
 
2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptxccordovato
 
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docxmarthaarroyo16
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechojuliosabino1
 
que son los planes de ordenamiento predial POP.pptx
que son los planes de ordenamiento predial  POP.pptxque son los planes de ordenamiento predial  POP.pptx
que son los planes de ordenamiento predial POP.pptxSergiothaine2
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosssuser948499
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfluisccollana
 
CAPACITACION_higiene_industrial (1).ppt...
CAPACITACION_higiene_industrial (1).ppt...CAPACITACION_higiene_industrial (1).ppt...
CAPACITACION_higiene_industrial (1).ppt...jhoecabanillas12
 
El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)estebancitoherrera
 
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfCUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfEDUARDO MAMANI MAMANI
 
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfIrapuatoCmovamos
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfIrapuatoCmovamos
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitariachayananazcosimeon
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,juberrodasflores
 

Último (17)

bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria de
 
HABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfHABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdf
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresa
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicación
 
2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx
 
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derecho
 
que son los planes de ordenamiento predial POP.pptx
que son los planes de ordenamiento predial  POP.pptxque son los planes de ordenamiento predial  POP.pptx
que son los planes de ordenamiento predial POP.pptx
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datos
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
 
CAPACITACION_higiene_industrial (1).ppt...
CAPACITACION_higiene_industrial (1).ppt...CAPACITACION_higiene_industrial (1).ppt...
CAPACITACION_higiene_industrial (1).ppt...
 
El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)
 
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfCUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
 
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
 

Baixardoc.com unidad-1-programacion-dinamica

  • 2. PROGRAMACIÓN DINÁMICA 1 CONTENIDO Introducción……………………………………………………………………………………………2 Programación Dinámica……………………………………………………………………………….3 1.1 Características de los problemas de programación dinámica……………………………………...3 1.2 Ejemplos de programación dinámica……………………………………………………………...4 El problema de la diligencia…………………………………………………………………………...4 1.3 Programación dinámica determinista……………………………………………………………...8 Aplicaciones de programación dinámica determinística………………………………………………8 Modelo del tamaño de la fuerza de trabajo……………………………………………………………9 Modelo de reposición de equipo……………………………………………………………………..11 1.4 Programación dinámica probabilista……………………………………………………………..15 Aplicaciones de programación dinámica probabilísticas…………………………………………….15 Un juego aleatorio……………………………………………………………………………………16 1.5 Uso de programas de computación………………………………………………………………19 Bibliografía…………………………………………………………………………………………...24
  • 3. PROGRAMACIÓN DINÁMICA 2 Introducción La PD fue desarrollada por Richard Bellman y G B Dantzing. Sus importantes contribuciones sobre esta técnica cuantitativa de toma de decisiones se publicaron en 1957 en un libro del primer autor denominado “Dynamic Programming” (Princeton University Press. Princeton, New Jersey) (Domínguez, 2000).Inicialmente a la PD se le denominó programación lineal estocástica ó problemas de programación lineal con incertidumbre. La programación dinámica (PD) determina la solución óptima de un problema de n variables descomponiéndola en n etapas, con cada etapa incluyendo un sub problema 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 sub políticas óptimas, un marco de referencia para descomponer el problema en etapas. La programación dinámica es una técnica que se puede aplicar para resolver muchos problemas de optimización. La mayor parte de las veces, la programación dinámica obtiene soluciones con un avance en reversa, desde el final de un problema hacia el principio con lo que un problema grande y engorroso se convierte en una serie de problemas más pequeños y más tratables. Así, la programación dinámica se puede definir como una técnica matemática útil que resuelve una serie de decisiones secuenciales, cada una de las cuales afecta las decisiones futuras. Proporciona un procedimiento sistemático para determinar la combinación de decisiones que maximiza la efectividad total (Taha, 2004). En contraste para el problema de programación dinámica, trata de un enfoque de tipo parcial para la solución de problemas y las ecuaciones específicas que se usan se deben desarrollar para que represente cada situación individual.
  • 4. PROGRAMACIÓN DINÁMICA 3 PROGRAMACIÓN DINÁMICA 1.1 Características de los problemas de programación dinámica Las características de la programación dinámica se emplean para formular e identificar la estructura de los problemas de este tipo. A continuación se presentarán estas características básicas que distinguen a los problemas de programación dinámica. 1. El problema se puede dividir en etapas que requieren una política de decisión en cada una de ellas. En muchos problemas de programación dinámica, la etapa es la cantidad de tiempo que pasa desde el inicio del problema, en ciertos casos no se necesitan decisiones en cada etapa. 2. Cada etapa tiene un cierto número de estados asociados a ella. Por estado se entiende la información que se necesita en cualquier etapa para tomar una decisión óptima. 3. 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 (tal vez de acuerdo a una distribución de probabilidad). 4. El procedimiento de solución está diseñado para encontrar una política óptima para el problema completo, es decir, una receta para las decisiones de la política óptima en cada etapa para cada uno de los estados posibles. 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 óptimalidad para la programación dinámica). En general en los problemas de PD, el conocimiento del estado actual del sistema expresa toda la información sobre su comportamiento anterior, y esta información es necesario para determinar la política óptima de ahí en adelante. 6. El procedimiento de solución se inicia al encontrar la política óptima para la última etapa. La política óptima para la última etapa prescribe la política óptima de decisión para cada estado posible en esa etapa. 7. Se dispone de una relación recursiva que indica la política óptima para la etapa dada la política optima para la etapa (n+1) A pesar de esta característica, los problemas que pueden ser atacados con la PD tienen otras dos propiedades adicionales:  Sólo un número reducido de variables se debe conocer en cualquier etapa con el fin de describir al problema. En efecto, los problemas de la PD se caracterizan por la dependencia de los resultados derivados de decisiones sobre un número reducido de variables.  El resultado de una decisión en cualquier etapa altera los valores numéricos de un número reducido de variables relevantes al problema. La decisión actual ni
  • 5. PROGRAMACIÓN DINÁMICA 4 incrementa ni decrementa el número de factores sobre los cuales depende el resultado. Así, para la siguiente decisión en la secuencia, el mismo número de variables se considera (Hillier, 1991). En un problema de PD una serie de decisiones se deben tomar en una secuencia dada. Cuando esto se cumple, una política óptima se debe perseguir. No importa cuáles fueron los estados y decisiones iniciales, las decisiones restantes constituirán una política óptima con respecto al estado resultante de la primera decisión. 1.2 Ejemplos de Modelo de Programación Dinámica. El problema de la diligencia. Un problema construido especialmente por el Profesor H M Wagner de la Universidad de Stanford para ilustrar las características e introducir la terminología de la PD es el problema de la diligencia. Este problema se refiere a un vendedor mítico que tuvo que viajar hacia el oeste utilizando como medio de transporte una diligencia, a través de tierras hostiles, en el último cuarto del siglo XIX. Aún cuando su punto de partida y destino eran fijos, tenía un número considerable de opciones para elegir qué estados (o territorios que posteriormente se convirtieron en estados) recorrer en su ruta. En la figura 1 se muestran las rutas posibles, en donde cada estado se representa por un bloque numerado. Figura 1. Sistema de caminos para el problema de la diligencia.
  • 6. PROGRAMACIÓN DINÁMICA 5 De la ilustración se puede observar que el viaje se puede realizar en 4 etapas, partiendo del estado 1 hasta su destino en el estado 10:  Primera etapa: estados 1 y (2, 3, 4)  Segunda etapa: estados (2, 3,4) y (5, 6, 7)  Tercera etapa: estados (5,6,7) y (8, 9)  Cuarta etapa: estado (8,9) y10 Puesto que se ofrecían seguros de vida a los pasajeros de las diligencias, este vendedor no quiso dejar pasar la oportunidad y se propuso determinar la ruta más segura. Como el costo de cada póliza se basaba en una evaluación cuidadosa de la seguridad de ese recorrido, la ruta más segura debía ser aquella con la póliza de seguro de vida más barata. El costo de la póliza estándar para el viaje en diligencia del estado i al j se muestra en figura 1 como una etiqueta en los caminos (flechas) para ir de un estado a otro. Así la pregunta central es: ¿cuál ruta (conjunto de caminos) minimiza el costo total de la póliza?, para contestar esta pregunta es necesario hacer notar que, el procedimiento poco inteligente de seleccionar el camino más barato ofrecido en cada etapa sucesiva no necesariamente conduce a una decisión óptima global. La PD parte de una pequeña porción del problema y encuentra la solución óptima para ese problema más pequeño. Entonces gradualmente agranda el problema, hallando la solución óptima en curso a partir de la anterior, hasta que se resuelve por completo el problema original. A continuación se explican los detalles involucrados en la implementación de esta filosofía general. La idea es calcular el costo mínimo (acumulativo) de la póliza de seguros entre los dos estados de cada etapa y después utilizar esos costos como datos de entrada para la etapa inmediata siguiente. CÁLCULOS PARA LA ETAPA 1 Considerando los estados asociados con la etapa 1, se puede ver que los estados 2, 3 y 4 están conectados cada uno con el estado inicial 1 por una sola flecha como se puede apreciar en la figura 2. Por consiguiente, para la etapa 1 se tiene Figura 2 etapa 1: estados 2, 3,4 conectados con el estado inicial 1
  • 7. PROGRAMACIÓN DINÁMICA 6 Costo mínimo al estado 2 = 2 (desde el estado 1) Costo mínimo al estado 3 = 4 (desde el estado 1) Costo mínimo al estado 4 = 3 (desde el estado 1) CÁLCULOS PARA LA ETAPA 2 Después se avanza a la etapa 2 para determinar los costos mínimos (Acumulativos) para los estados 5, 6 y 7 como se aprecia en la figura 3. Considerando primero al estado 5, se ve que existen tres alternativas; a saber (2,5), (3,5), (4,5). Esta información, junto con los costos mínimos de los estados 2, 3 y 4 (figura 4) determinan el costo mínimo (acumulativo) para el estado 5 como: De forma similar para el estado 6 (figura 5), se tiene: Figura 3 Etapa 2: estados 5, 6, 7 conectados con los estados 2, 3, Figura 4 Etapa 2: Estados 5 conectado con los estados 2, 3, 4. Figura 5 Etapa 2: Estados 6 conectado con los estados
  • 8. PROGRAMACIÓN DINÁMICA 7 Finalmente para el estado 7 (figura 6), se tiene: CÁLCULOS PARA LA ETAPA 3 Para los cálculos se toman los datos de la figura 5.7 Figura 6 Etapa 2: Estados 7 conectados con los estados 2, 3, 4.
  • 9. PROGRAMACIÓN DINÁMICA 8 CÁLCULOS PARA LA ETAPA 4 Para los cálculos se toman los datos de la figura yuttty|5558 En resumen, el costo mínimo total desde el estado 1 al estado 10 es de 11. El estado 10 se puede alcanzar desde los estados 8 y 9. Figura 7 Etapa 3: estados 8, 9 conectados con los estados 5, 6, 7. Figura 8 Etapa 4: Estados 10 conectados con los estados 8, 9
  • 10. PROGRAMACIÓN DINÁMICA 9 Si se elige el estado 9, este proviene de haber elegido el estado 6, el cual a su vez de haber elegido el estado 4 y finalmente el estado 1.  Es decir la ruta óptima es: 1, 4, 6, 9,10 Si se elige el estado 8, este proviene de haber elegido el estado 5, el cual a su vez de haber elegido el estado 4 o el 3.  Si se elige el estado 4, la ruta óptima es: 1, 4, 5, 8,10.  Si se elige el estado 3, la ruta óptima es: 1, 3, 5, 8,10 Por lo tanto existen 3 rutas óptimas a elegir ya que la tres implican el costo mínimo total que es 11. 1.3 Programación Dinámica Determinística (PDD) 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.
  • 11. PROGRAMACIÓN DINÁMICA 10 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. Sin embargo, a medida que se presente cada aplicación, resultará útil considerar las siguientes preguntas:  ¿Qué relaciones unen las etapas?  ¿Qué información se necesita para tomar decisiones factibles en la etapa actual, sin reexaminar las decisiones que se tomaron en las etapas anteriores? La experiencia indica que la comprensión del concepto de estado se puede mejorar cuestionando la “validez” de la forma que dicta la intuición. Se sugiere intentar una definición de estado diferente que pueda parecer “más lógica” y utilizarla en los cálculos recursivos. Con el tiempo, se descubrirá que las definiciones que se presentan en las siguientes aplicaciones proporcionan la forma correcta para resolver el problema. Mientras tanto, el proceso mental propuesto deberá mejorar la comprensión del concepto de estado. Modelo del tamaño de la fuerza de trabajo En algunos proyectos de construcción, las contrataciones y los despidos se ejercen para mantener un número de empleados que satisfaga las necesidades del proyecto. Debido a que las actividades tanto de contratación como de despido incurren en costos adicionales, ¿cómo se debe mantener el número de empleados a todo lo largo de la vida del proyecto? Supóngase que el proyecto se ejecutara durante el lapso de n semanas, y que la fuerza de trabajo mínima requiere en la semana i es bi . Sin embargo, de acuerdo con los parámetros de costos, podría ser más económico dejar que fluctué el tamaño de la fuerza de trabajo. Como xi es la cantidad de trabajadores empleados en la semana i, en esa semana i se puede incurrir en dos costos: C1(xi−b1) , el costo de mantener el exceso de personal; xi−bi yC2(xi−xi−1) , el costo de contratar, xi−xi−1 trabajadores adicionales. Los elementos del modelo de programación dinámica se definen como sigue:
  • 12. PROGRAMACIÓN DINÁMICA 11 Ejemplo: Un contratista constructor estima que la fuerza de trabajo necesaria durante las próximas 5 semanas será de 5, 7, 8, 4 y 6 trabajadores, respectivamente. La mano de obra en exceso que se conserve le costara $300 por trabajador semanalmente, y la nueva contratación en cualquiera semana tendrá un costo fijo de $400 más $200 por trabajador y por semana. Los datos del problema se resumen como sigue:
  • 14. PROGRAMACIÓN DINÁMICA 13 Modelo de reposición de equipo Mientras más tiempo este en servicio una máquina, su costo de mantenimiento es mayor y su productividad menor. Cuando la máquina llegue a cierta antigüedad será más económico reemplazarla. Es así que entonces el problema se reduce a determinación de la antigüedad más económica de una máquina. Supóngase que se estudia el problema de reposición de la máquina durante un lapso de n años. Al inicio de cada año, se debe decidir si mantener la maquina en servicio por un año más o reemplazarla por una nueva. Sean r(t), c(t), los ingresos y el costos de operación anuales, y s(t) el valor de recuperación de una maquina con t años de antigüedad. El costo de adquisición de una máquina nueva en cualquier año es I. Los elementos del modelo de programación dinámica son: Ejemplo:
  • 15. PROGRAMACIÓN DINÁMICA 14 Una empresa debe determinar la política óptima, durante los próximos 4 años (n=4), de reemplazo de una máquina, que en la actualidad tiene 3 años. La tabla 1 muestra los datos del problema. La empresa establece que toda máquina que tenga 6 años de edad debe reemplazarse. El costo de una maquina nueva es $100,000. La determinación de los valores factibles de la edad de la máquina en cada etapa requiere de algo de ingenio. En la Tabla 2 se resume la red que representa el problema. Al iniciar el año 1 se tiene una máquina de 3 años de antigüedad. Se puede reemplazarla (R) o conservarla (k) durante otro año. Al inicia el año 2, si hay reemplazo, la maquina nueva tendrá 1 año de edad; en caso contrario, la máquina actual tendrá 4 años de antigüedad. Los mismos razonamientos se aplican al iniciar los años 2 o 4. Si se reemplaza una maquina con 1 año de antigüedad al iniciar los años 2 y 3, su reposición tendrá 1 año de antigüedad al inicio del año siguiente. También, al iniciar el año 4, se debe reemplazar una máquina con 6 años de servicio, y al final del año 4 se desechan las máquinas, con recuperación S. Tabla 1. Años con relación a sus utilidades, costos y valor de
  • 16. PROGRAMACIÓN DINÁMICA 15 La red indica que al comenzar el año 2, las edades posibles de las maquinas son de 1 4 años. Para el comienzo del año 3, las antigüedades posibles son 1, 2 y 5 años, y para el comienzo del año 4, las antigüedades posibles son 1, 2, 3 y 6 años. La solución de la red de la Tabla 2 equivale a determinar la ruta más larga, del inicio del año 1 al final del año 4. Se iniciara la forma tabular para resolver el problema. Todos los valores son en miles de $. Nótese que si se reemplaza una máquina en el año 4 (es decir, al final del horizonte de planeación) los ingresos incluirán el valor de recuperación, s(t), de la máquina reemplazada y el valor de recuperación, s(1) de la máquina de repuesto. Tabla 2 Representación de la edad de la maquina en función del año de decisión.
  • 17. PROGRAMACIÓN DINÁMICA 16 La Tabla 3 se resume el orden en el cual se obtiene la solución óptima. Al iniciar el año 1, la decisión óptima para t=3 es reemplazar la máquina. Así, la máquina nueva tendrá 1 año al iniciar el año 2, y t=1 al iniciar el año 2 determina conservarla o reemplazarla. Si se reemplaza, la nueva máquina tendrá 1 año al inicial el año 3; en caso contrario, la maquina conservada tendrá 2 años. El proceso se continúa de esta forma hasta llegar al año 4.
  • 18. PROGRAMACIÓN DINÁMICA 17 1.4 Programación Dinámica Probabilística (PDP) 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. En este apartado se presentará algunos ejemplos generales, con objeto de hacer resaltar la naturaleza estocástica de la programación dinámica. Aplicaciones de programación dinámica probabilística 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. A continuación se presentará una de estas aplicaciones. Tabla 3. Las políticas alternativas óptimas empezando en el año 1 son (R, K, K, R) y (R, R, K, K). El costo total es de 55,300 dólares.
  • 19. PROGRAMACIÓN DINÁMICA 18 Un juego aleatorio Es una variación del juego de la ruleta rusa, se hace girar una rueda con marcas de n números consecutivos: 1 a n, en su superficie. La probabilidad de que la rueda se detenga en el número i después de un giro es pi. Un jugador paga $x por el privilegio de hacer girar la rueda un máximo de m giros. La recompensa para el jugador es el doble de la cantidad obtenida en el último giro. Suponiendo que le jugador se repite (hasta con m giros cada vez) una cantidad razonablemente grande de veces, propone una estrategia optima para el jugador. Se puede formular el problema como un modelo de programación dinámica con las siguientes definiciones: 1 La etapa i corresponde a la i-ésima vuelta de la rueda, i = 1, 2, …, m 2 En cada etapa hay dos alternativas: se gira la rueda una vez más o se termina el juego 3 El estado j del sistema en la etapa i es el número que se obtuvo la última vez que se giró la rueda, el cual está entre 1 y n Sea fi(j) = Ingreso máximo esperado cuando el juego está en la etapa i (el giro) y que el resultado del último giro fue j En este caso se tiene que     1 1 2 , si termina max , si continúa n i k i k j f j p f k        Entonces, la ecuación recursiva se puede escribir como sigue:
  • 20. PROGRAMACIÓN DINÁMICA 19   1 0 n R f x   Los cálculos comienzan con fm+1 y terminan con f1, de modo que hay m+1 etapas. Como f1(0) representa el rendimiento esperado de las m vueltas, así que el rendimiento esperado neto, Rn, es: Ejemplo: Supongamos que la ruleta está marcada con los números 1 a 5 y que las probabilidades de que se detenga en cada número son p1 = 0.30, p2 = 0.25, p3 = 0.20, p4 = 0.15, p5 = 0.10. El jugador paga $5 por un máximo de cuatro vueltas. Determine la estrategia óptima para cada una de las cuatro vueltas y encuentre el rendimiento esperado neto asociado. Etapa 4 f4(j) = máx.{2j,∑(pkf5(k))} = máx.{2j, p1f5 (1)+ p2f5(2)+ p3f5 (3)+ p4f5 (4)+ p5f5 (5)} = máx.{2j,0.3x2 + 0.25x4 + 0.2x6 + 0.15x8 + 0.1x10} = máx.{2j,5} Resultado de la vuelta 4 Rendimiento esperado Solución óptima j Terminar Girar f4(j) Decisión 1 2 5 5 Girar 2 4 5 5 Girar Etapa 5 f5(j) = 2j Resultado de la vuelta 4 Solución óptima j f5(j) Decisión 1 2 Terminar 2 4 Terminar 3 6 Terminar 4 8 Terminar 5 10 Terminar
  • 21. PROGRAMACIÓN DINÁMICA 20 3 6 5 6 Terminar 4 8 5 8 Terminar 5 10 5 10 Terminar Etapa 2 f2(j) = máx.{2j, ∑ (pkf3(k))} = máx.{2j, p1f3 (1)+ p2f3(2)+ p3f3 (3)+ p4f3 (4)+ p5f3 (5)} = máx.{2j,0.3x6.15 + 0.25x6.15 + 0.2x6.15 + 0.15x8 + 0.1x10}
  • 22. PROGRAMACIÓN DINÁMICA 21 = máx.{2j,6.8125} Resultado de la vuelta 3 Rendimiento esperado Solución óptima j Terminar Girar f4(j) Decisión 1 2 6.8125 6.8125 Girar 2 4 6.8125 6.8125 Girar 3 6 6.8125 6.8125 Girar 4 8 6.8125 8 Terminar 5 10 6.8125 10 Terminar Etapa 1 La única opción disponible al iniciar el juego es girar. De acuerdo con los cuadros anteriores, la solución óptima es: Vuelta número Estrategia óptima 1 Comienza el juego. Gire 2 Continúe si la vuelta 1 produce 1,2, o 3; de otra forma, termine el juego 3 Continúe si la vuelta 2 produce 1, 2 o 3; de otra f1(0) = máx.{2j, ∑ (pkf2(k))} = máx.{2j, p1f2 (1)+ p2f2(2)+ p3f2 (3)+ p4f2 (4)+ p5f2 (5)} = máx.{2j, 0.3x6.8125+ 0.25x6.8125 + 0.2x6.8125 + 0.15x8 + 0.1x10 = máx.{2j,7.31}
  • 23. PROGRAMACIÓN DINÁMICA 22 forma, termine el juego 4 Continúe si la vuelta 3 produce 1 o 2. De otra forma, termine el juego Ingreso neto esperado= $7.31-$5.00= $2.31 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 Posteriormente se irán incorporando otros programas de computación específicos para cada caso y cuyo uso será descrito mediante ejemplos en la Clase. Uso del programa Solver de Excel (Microsoft) Para conocer la aplicación del método SOLVER de EXCEL (Microsoft), se utilizará un ejemplo práctico: Max Z= 10 X1 + 8 X2 Sujeto a: 30X1 +20X2 <= 120
  • 24. PROGRAMACIÓN DINÁMICA 23 2X1 + 2X2 <= 9 4X1 + 6X2 <= 24 X1,X2 >=0 La única dificultad que tenemos es el de modelar el programa dentro del Excel, y eso, es muy fácil. Por supuesto, hay infinidad de maneras de hacerlo, aquí propongo una. Se activa Excel y en una hoja: Se ubican las celdas que se corresponderán con el valor de las variables de decisión; en éste caso, las celdas B6 y C6, se les da un formato para diferenciarlas de las demás, aquí azul oscuro (ver captura abajo). Se ubica también, las celdas que contendrán los coeficientes de las variables de decisión, B4 y C4, y se llenan con sus respectivos valores, 10 y 8. Aunque éste último paso, se podría omitir y dejar los coeficientes definidos en la celda de la función objetivo, así es mejor para los análisis de sensibilidad y para que la hoja quede portable para otro programa. Se ubica la celda que se corresponderá con la función objetivo (celda objetivo), la B3. En ella se escribe la función que sea, en éste caso, será el coeficiente de X1 (en B4) por el valor actual de X1 (en B6) mas el coeficiente de X2 (en C4) por el valor actual de X2 (en C6) O sea: =$B$4*$B$6+$C$6*$C$4 Coeficientes para la primera restricción: los podemos escribir en la misma columna de las variables de decisión; en las celdas B7 y C7, con los valores 30 y 20, seguido del sentido de la desigualdad (<=) y de su correspondiente RHS: 120. A la derecha ubicaremos el valor actual de consumo de la restricción, ella se escribirá en función de las variables de decisión y de los coeficientes de la restricción. Esta celda, la utilizará Solver como la real restricción, cuando le digamos que el valor de ésta celda no pueda sobrepasar la de su correspondiente RHS. De nuevo será el valor del coeficiente por el de la variable:=B7*$B$6+C7*$C$6. Nótese que ahora B7 y C7 no tienen el signo $. Pues es que luego que se haya escrito ésta celda, se podrá arrastrar hacia abajo para que Excel escriba la fórmula por nosotros (la pereza!), pero tome los valores relativos a los coeficientes que le corresponda a los mismos valores de las variables de decisión. Se repite los pasos anteriores para las otras restricciones, pero ahora la fórmula será: =B8*$B$6+C8*$C$6 y =B9*$B$6+C9*$C$6.
  • 25. PROGRAMACIÓN DINÁMICA 24 El resto del formato es para darle una presentación más bonita a la hoja. Ahora a resoverlo. Al hacer click en Herramientas, Solver se tendrá una pantalla como la siguiente. Lo primero que hay que hacer es especificar la celda objetivo y el propósito: maximizar. Se escribe B3 (o $B3 ó B$3 ó $B$3 como sea, da igual), en el recuadro "cambiando las celdas", se hace un click en la flechita roja, para poder barrer las celdas B6 y C6; lo mismo da si se escriben directamente los nombres. Y ahora para las restricciones: se hace click en agregar... En F7 está la primera restricción, como se puede ver en la captura. Se especifica el sentido de la restricción <=, >= ó =. Aquí también se puede especificar el tipo de variable, por defecto es continua, pero se puede escoger "Int" para entera o "Bin" para binaria. En el recuadro de la derecha establecemos la cota. Aquí podemos escribir 120 pero mejor escribimos $E$7 para que quede direccionado a la celda que contiene el 120, y después lo podríamos cambiar y volver a encontrar la respuesta a manera de análisis de sensibilidad. Se repite éste paso para las otras dos restricciones. La condición de no negatividad hay que incluirla manualmente, así:
  • 26. PROGRAMACIÓN DINÁMICA 25 El cuadro de diálogo debe lucir así: Y finalmente, se hace click en resolver y ya. Parece un poco largo en comparación con los otros paquetes de programación lineal, pero esto se hará sólo una vez, para los próximos programas se podrá utilizar la misma hoja cambiando los coeficientes. Sin embargo, como se puede notar, la flexibilidad de modelar es muy grande, y se puede introducir directamente en una hoja donde se haga el análisis de Planeación Agregada, Transporte, Inventario, Secuencias, balanceo, etc.
  • 27. PROGRAMACIÓN DINÁMICA 26 BIBLIOGRAFÍA Domínguez, A. (2000). Programación dinámica http://www.slideshare.net/Alexdfar/programacin-dinmica-6588350. Hillier, F.S. (1991). Introducción a la Investigación de Operaciones (3ra. Edición). México: McGraw-Hill. Taha, H.A. (2004). Investigación de Operaciones (7ª. Edición). México: PEARSON EDUCATION. Goic F., Marcel. Programación Dinámica. Facultad de Ciencias Físicas y Matemáticas-Departamento de Ingeniería Industrial: Universidad de Chile Sauré, Denis V. (Julio 2003). Programación Dinámica Determinística. Facultad de Ciencias Físicas y Matemáticas-Departamento de Ingeniería Industrial: Universidad de Chile http://www.investigacion-operaciones.com/Metodos_computacionales.htm