SlideShare una empresa de Scribd logo
1 de 19
REPUBLICA BOLIVARIANA DE VENEZUELA
M INISTERIO DEL PODER POPULAR PAR A LA EDUCACIÓN SUPERIOR
I.U.P SANTIAGO M ARIÑO
CATEDRA: PROGRAM ACIÓN NO NUM ÉRICA II
Ing. Docente: José Castillo Alumno: Rafael Brito
C.I: 25.286.285
Barcelona, Febrero 2020
INTRODUCCION
Muchos programas en ciencias de la computación se escriben
para optimizar algún valor; por ejemplo, encontrar el camino más
corto entre dos puntos, encontrar la línea que mejor se ajusta a un
conjunto de puntos, o encontrar el conjunto más pequeño de
objetos que satisface algunos criterios. hay muchas estrategias que
usan los científicos de la computación para resolver estos
problemas. uno de los objetivos de esta presentación es mostrar
varias estrategias de solución de problemas diferentes. la
programación dinámica es una estrategia para estos tipos de
problemas de optimizació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 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.
Es la parte del problema que
posee un conjunto de alternativas
mutuamente excluyentes, de las
cuales se seleccionará la mejor
alternativa.
Etapa
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.
Estado
Esquema de una Etapa
FORMULACIÓN Y SOLUCIÓN DE PROBLEMAS
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). La teoría unificadora
fundamental de la programación dinámica es el Principio de Optimalidad, que nos
indica básicamente como se puede resolver un problema adecuadamente
descompuesto en etapas utilizando cálculos recursivos.
“Una política óptima tiene la propiedad de que, independientemente de las
decisiones tomadas para llegar a un estado particular, en una etapa particular, las
decisiones restantes deben constituir una política óptima para abandonar ese
estado”,
PARA RESOLVER PROBLEMAS DE PROGRAMACIÓN
DINÁMICA SE NECESITA...
 Un grado de creatividad
 Un buen conocimiento de la estructura
general de los problemas de programación
dinámica para reconocer cuando un
problema se puede resolver por medio de
estos procedimientos y como esto se
puede llevar a cabo.
CARACTERÍSTICAS DE LOS PROBLEMAS DE
PROGRAMACIÓN DINÁMICA
 El problema se puede
dividir en etapas que
requieren una política de
decisión en cada una.
 Cada etapa tiene
cierto número de
estados asociados a
ella.
 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.
CARACTERÍSTICAS DE LOS PROBLEMAS DE
PROGRAMACIÓN DINÁMICA
 El procedimiento de
solución esta diseñado
para encontrar una
política óptima para el
problema completo.
 Dado un estado actual, una
política óptima para las
etapas restantes es
independiente de la política
adoptada en las etapas
anteriores (principio de
optimalidad).
 El procedimiento
de solución se
inicia al encontrar
la política optima
para la ultima
etapa.
Se dispone de una relación recursiva que identifica la política optima par la etapa n
dada la política optima para la etapa (n+1)
RECURSIVIDAD
Existen dos formas de plantear la fórmula de recursividad en los
problemas de programación dinámica:
Recursividad de Retroceso:
el problema se resuelva
partiendo de la última etapa
hacia la primera.
Recursividad de Avance: el
problema se resuelve partiendo
de la primera etapa hacia la última.
Las formulaciones de avance y
retroceso son en realidad
equivalentes en términos de
cálculo. Sin embargo, hay
situaciones donde habría
alguna diferencia, en la
eficiencia del cálculo, según la
formulación que se utilice.
Esto sucede en particular en
problemas donde intervine la
toma de decisiones conforme
transcurre el tiempo. En esto
caso las etapas se designan
con base en el estricto orden
cronológico de los periodos
que ellas representan y la
eficiencia de los cálculos
dependerá de si se utiliza
formulación de avance o
retroceso.
RECURSIVIDAD
EL PROBLEMA DE LA DILIGENCIA
Un caza fortunas de Missouri decide irse al oeste a unirse a la fiebre del oro en
California . Tiene que hacer el viaje en diligencia a través de territorios sin ley
donde existían serios peligros de ser atacados por merodeadores. Aún cuando su
punto de partida y destino eran fijos, tenia muchas opciones en cuanto a que
estados debía elegir como puntos intermedios. Se desea estimar la ruta mas
segura , como el costo de la póliza para cualquier jornada de la diligencia esta
basada en una evaluación de seguridad del recorrido, la ruta mas segura debe ser
aquella que tenga el costo total mas barato.
¿Cuál es la ruta que minimiza el costo total de la póliza ?
sistema de caminos y los costos del problema de la diligencia:
SOLUCIÓN:
 Los cálculos se realizan en etapas dividiendo el problema en subproblemas.
 Después, se considera por separado cada subproblema con el fin de reducir el
número de operaciones de cálculo.
 Se comienza con una pequeña porción del problema original y se encuentra la
solución optima.
 Luego, se agranda gradualmente el problema y se encuentra la solución óptima
actual a partir de la que le precede, hasta resolver el problema original completo.
 En cada problema aumentado se puede encontrar la solución óptima tomando
en cuenta los resultados obtenidos en la interacción anterior.
PROCEDIMIENTO DE SOLUCIÓN:
Para este caso se empleará el
desarrollo del problema con un
recorrido hacia atrás. Cuando el
cazafortunas tiene una sola etapa por
recorrer (n=4), su ruta de ahí en
adelante esta perfectamente
determinada por su estado actual (ya
sea H o I) y su destino final, x 4 = J , de
manera que la ruta para esta ultima
jornada en diligencias es s J
La solución al problema es:
f * 4 (H) = 3
f * 4 (I) = 4
Cuando se tienen dos etapas por
recorrer (n=3), se analiza de la
siguiente manera: Supóngase que
se encuentra en el estado F,
entonces como se ve en la figura,
se debe ir al estado H ó al estado I.
a un costo de CF,H = 6 ó CF,I =3. Si
se elige el estado H, el costo
adicional mínimo al llegar ahí es 3,
por tanto el costo de decisión es
6+3=9, de igual manera si se elige
el estado I, el costo total es 3+4=7
que es menor por lo tanto se
escogerá el estado I.
Se trabaja de manera similar con los
otros dos estados posibles s=E y s=G,
cuando quedan dos jornadas por viajar,
los resultados son:
• f*3 (E) = 4
• f*3 (F) = 7
• f*3 (G) = 6
La solución para el problema de tres
etapas (n=2) se obtiene en forma
parecida. Por ejemplo supóngase que
el agente se encuentra en el estado C,
como se muestra el diagrama. Ahora
deberá ir al estado E, F ó G con un
costo inmediato de CC,E =3 ó CC,F =2
ó CC,G=4, respectivamente.
PROCEDIMIENTO DE SOLUCIÓN:
Al llegar aquí el costo adicional
mínimo hasta llegar a su destino
esta dado de la siguiente manera:
x2 = E f2(C,E) = cC,E + f*3(E) = 3 + 4 = 7
x2 = F f2(C,F) = cC,F + f*3(F) = 2 + 7 = 9
x2 = G f2(C,G) = cC,G + f*3(G) = 4 + 6 = 10
PROCEDIMIENTO DE SOLUCIÓN:
El mínimo de estos tres números es 7,
por lo que el costo mínimo desde el
estado C al final es f*2(C) = 7, y el
destino inmediato debe ser x*2 = E.
Se realizan cálculos similares cuando se
comienza desde el estado B ó D. Los
resultados son:
f*2 (B) = 11 f*2 (C) = 7 f*2 (D) = 8
Si se pasa al problema de cuatro etapas
(n=1), los cálculos son parecidos a los
que se acaban de mostrar para el
problema de tres etapas (n=2) , excepto
que ahora hay solo un inicio posible, s=A
, como se muestra el diagrama.
Los resultados se resumen de la siguiente
manera :
x1 = B f1(A,B) = cA,B + f*2(B) = 2 + 11 =
13
x1 = C f1(A,C) = cA,C + f*2(C) = 4 + 7 =
11
x1 = D f1(A,D) = cA,D + f*2(D) = 3 + 8 =
11
Como el mínimo costo es 11, por tanto los
caminos pueden ser C ó D. En este punto
se puede identificar la solución óptima.
Los resultados indican los caminos
óptimos a seguir: A D E H J ó A D F I J,
las dos tienen un costo total de 11
El Problema del Vendedor Viajero
El Problema del Vendedor Viajero (conocido también como Travelling Salesman
Problem o simplemente TSP) consiste en encontrar el circuito óptimo (en términos
del viaje más corto) que deberá seguir un vendedor en un caso con n ciudades, en
el que cada ciudad se visita exactamente una vez. Básicamente es una adaptación
del Problema de Asignación que considera restricciones adicionales que garantiza
la exclusión de subcircuitos en la solución óptima.
Específicamente en el caso de n ciudades se define las variables de decisión de la
siguiente forma:
Sea la distancia de la ciudad i a la ciudad j, donde, el modelo del
agente o vendedor viajero corresponde a:
El conjunto de restricciones (1) y (2) definen un modelo de asignación tradicional.
Lamentablemente en general, el problema de asignación producirá soluciones de
subcircuito más que circuitos completos que abarque las n ciudades.
Para ilustrar los conceptos de circuito y subcircuito en el contexto del Problema
del Vendedor Viajero, consideremos un agente de venta que vive en la ciudad
1. Miami (Florida) en Estados Unidos y debe visitar a importantes clientes en las
siguientes ciudades: 2. Chicago (Illinois), 3. Houston (Texas), 4. Las Vegas
(Nevada) y 5. San Francisco (California). Para mayor claridad se han destacado
los estados mencionados anteriormente con un color distintivo.
Un circuito factible sería viajar en el siguiente orden: Miami (FL), Chicago (IL),
Houston (TX), Las Vegas (NV), San Francisco (CA), Miami (FL). Es decir,
Por otra parte un subcircuito correspondería, por ejemplo, a Miami (FL), San
Francisco (CA), Las Vegas (NV), Miami (FL), junto a Houston (TX), Chicago
(IL), Houston (TX). Es decir,
lo que naturalmente no es una solución factible para el problema que se busca
resolver.
El modelo del vendedor viajero se caracteriza por su versatilidad para
representar otros casos prácticos en optimización. Uno de ellos es el Problema
de Secuenciamiento de la Producción como el que se presenta a continuación:
El programa de producción diaria de una empresa de pinturas incluye lotes de
color Blanco (B), Amarillo (A), Negro (N) y Rojo (R). Como la empresa utiliza
las mismas instalaciones en las cuatro clases de pintura, es necesario hacer una
limpieza entre los lotes. La siguiente tabla resume el tiempo de limpieza, en
minutos, donde al color de la fila sigue el color de la columna. Por ejemplo,
cuando después de la pintura Blanca sigue la Amarilla, el tiempo de limpieza en
10 minutos. Como un color no puede seguir a sí mismo, a los elementos
correspondientes se les asigna un tiempo de setup infinito. Se desea determinar
la secuencia óptima para la producción diaria de los cuatro colores, que
minimice el tiempo total de limpieza necesario.
Se puede hacer una analogía con el problema del vendedor viajero, asumiendo
que cada pintura es una “ciudad” y que las “distancias” representan el tiempo
de limpieza necesario para cambiar de un lote de pintura al siguiente. En
consecuencia, el problema se reduce a determinar el circuito más corto que se
inicie en un lote de pintura y pase exactamente una vez por cada uno de los tres
lotes restantes, para regresar al punto de partida.
En este contexto dada la cantidad de pinturas, la secuencia óptima se puede
encontrar por enumeración exhaustiva de los 6 circuitos posibles , es decir, . En
el ejemplo dicha secuencia óptima corresponde a Blanco, Amarillo, Rojo, Negro,
Blanco, con un tiempo total de setup de 98 minutos. Naturalmente esta
estrategia no es eficiente y queda limitada a problemas muy pequeños.
Alternativamente se puede utilizar implementar en Solver el modelo de
asignación presentado anteriormente, haciendo uso de los parámetros
descritos en el ejemplo del secuenciamiento de la producción de pinturas. A
continuación un extracto de los resultados donde se observa que no se
alcanza una solución de circuito.
Conclusión
Un problema de optimización que se pueda dividir en
etapas y que sea dinámico en el tiempo puede resolverse por
programación dinámica. Las soluciones se pueden ver de
manera parcial.
Si es posible se validan los resultados usando otros
métodos de solución como programación lineal, no lineal,
entera o teoría de redes.
Programación dinámica es una técnica muy útil para tomar
una sucesión de decisiones interrelacionadas. Requiere la
formulación de una relación recursiva apropiada para cada
problema individual. Sin embargo, proporciona grandes ahorros
computacionales en comparación con la enumeración
exhaustiva para encontrar la mejor combinación de decisiones,
en especial cuando se trata de problemas grandes. Por
ejemplo, si un problema tiene 10 etapas con 10 estados y 10
decisiones posibles en cada etapa, la enumeración exhaustiva
tendría que considerar hasta 10^10 combinaciones, mientras
que la programación dinámica necesita hacer cuando mucho
10³ cálculos, (10 para cada estado en cada etapa).
BIBLIOGRAFIA
 Taha, h. a. “investigación de operaciones”. 2005.
 Hiller, F. S. “Introducción a la Investigación de Operaciones”.
2008.
 Isabel Plaza. Teoría de colas y programación dinámica
 Ortega Yolanda. Estructuras de datos y métodos algorítmicos:
ejercicios resueltos (2003). Madrid: Prentice Hall.
 Manuel Maurette e Ignacio Ojeda, Programación Dinámica,
Junio de 2006.
 Ramos, Andres, Programación dinámica (DP), Universidad
Pontificia Comillas.

Más contenido relacionado

La actualidad más candente

Presentacion optimizacion CONDICIONES kkt
Presentacion optimizacion CONDICIONES kktPresentacion optimizacion CONDICIONES kkt
Presentacion optimizacion CONDICIONES kkt
Hugo Guzmán Tello
 
Modulo 1: Análisis Matemático de la Optimización
Modulo 1: Análisis Matemático de la OptimizaciónModulo 1: Análisis Matemático de la Optimización
Modulo 1: Análisis Matemático de la Optimización
Horacio Santander
 
Optimización sin restricciones
Optimización sin restriccionesOptimización sin restricciones
Optimización sin restricciones
Diego Gomez
 
Método Kuhn Tucker y Lagrange
Método Kuhn Tucker y LagrangeMétodo Kuhn Tucker y Lagrange
Método Kuhn Tucker y Lagrange
gilfrennys9208
 
Condiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeCondiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrange
Andreina Arteaga
 
Programacion no lineaL
Programacion no lineaLProgramacion no lineaL
Programacion no lineaL
LuiS YmAY
 

La actualidad más candente (20)

Programacionnolineal
Programacionnolineal Programacionnolineal
Programacionnolineal
 
metodos de optimizacion
metodos de optimizacionmetodos de optimizacion
metodos de optimizacion
 
Operativa 1
Operativa  1Operativa  1
Operativa 1
 
Presentacion optimizacion CONDICIONES kkt
Presentacion optimizacion CONDICIONES kktPresentacion optimizacion CONDICIONES kkt
Presentacion optimizacion CONDICIONES kkt
 
Modulo 1: Análisis Matemático de la Optimización
Modulo 1: Análisis Matemático de la OptimizaciónModulo 1: Análisis Matemático de la Optimización
Modulo 1: Análisis Matemático de la Optimización
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Programación no lineal
Programación no linealProgramación no lineal
Programación no lineal
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamica
 
Programacion no lineal
Programacion no linealProgramacion no lineal
Programacion no lineal
 
Programacion no lineal
Programacion no linealProgramacion no lineal
Programacion no lineal
 
Condiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeCondiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrange
 
Optimización sin restricciones
Optimización sin restriccionesOptimización sin restricciones
Optimización sin restricciones
 
Introducción a la Programación No Lineal
Introducción a la Programación No LinealIntroducción a la Programación No Lineal
Introducción a la Programación No Lineal
 
Algoritmos aproximados - El problema de la mochila 0-1
Algoritmos aproximados - El problema de la mochila 0-1Algoritmos aproximados - El problema de la mochila 0-1
Algoritmos aproximados - El problema de la mochila 0-1
 
Método Kuhn Tucker y Lagrange
Método Kuhn Tucker y LagrangeMétodo Kuhn Tucker y Lagrange
Método Kuhn Tucker y Lagrange
 
Condiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeCondiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrange
 
Multiplicadores de lagrange
Multiplicadores de lagrangeMultiplicadores de lagrange
Multiplicadores de lagrange
 
Programacion no lineal
Programacion no linealProgramacion no lineal
Programacion no lineal
 
Programacion no lineaL
Programacion no lineaLProgramacion no lineaL
Programacion no lineaL
 
Trabajo maria romero
Trabajo maria romeroTrabajo maria romero
Trabajo maria romero
 

Similar a Programación Dinamica

Programación lineal
Programación linealProgramación lineal
Programación lineal
danile889_l
 

Similar a Programación Dinamica (20)

Sesion6_IdaliaFlores_20abr15 (1).pdf
Sesion6_IdaliaFlores_20abr15 (1).pdfSesion6_IdaliaFlores_20abr15 (1).pdf
Sesion6_IdaliaFlores_20abr15 (1).pdf
 
Presentación: Programación Dinámica
Presentación: Programación DinámicaPresentación: Programación Dinámica
Presentación: Programación Dinámica
 
Programacion
ProgramacionProgramacion
Programacion
 
PROGRAMACION DINAMICA
PROGRAMACION DINAMICAPROGRAMACION DINAMICA
PROGRAMACION DINAMICA
 
Programacion dinamica jesus plaza
Programacion dinamica jesus plazaProgramacion dinamica jesus plaza
Programacion dinamica jesus plaza
 
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
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
ProgDinamica.docx
ProgDinamica.docxProgDinamica.docx
ProgDinamica.docx
 
Presentacion programacion dinamica
Presentacion programacion dinamicaPresentacion programacion dinamica
Presentacion programacion dinamica
 
Pro no num Prog dinamica
Pro no num Prog dinamicaPro no num Prog dinamica
Pro no num Prog dinamica
 
Presentación2
Presentación2Presentación2
Presentación2
 
0208
02080208
0208
 
Programación lineal
Programación linealProgramación lineal
Programación lineal
 
Programación Lineal
Programación Lineal Programación Lineal
Programación Lineal
 
Capitulo 9
Capitulo 9Capitulo 9
Capitulo 9
 
Programación deterministica
Programación deterministicaProgramación deterministica
Programación deterministica
 
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
 
Programación dinámica
Programación dinámicaProgramación dinámica
Programación dinámica
 

Más de Rafael Brito

Más de Rafael Brito (15)

Auditoria informatica
Auditoria informaticaAuditoria informatica
Auditoria informatica
 
Administracion de sistemas
Administracion de sistemasAdministracion de sistemas
Administracion de sistemas
 
Definición y Caracteristicas de los diferentes tipos de SI
Definición y Caracteristicas de los diferentes tipos de SIDefinición y Caracteristicas de los diferentes tipos de SI
Definición y Caracteristicas de los diferentes tipos de SI
 
Metodologías de Diseño y Desarrollo de Sistemas de Información
Metodologías de Diseño y Desarrollo de Sistemas de InformaciónMetodologías de Diseño y Desarrollo de Sistemas de Información
Metodologías de Diseño y Desarrollo de Sistemas de Información
 
Organizacion de datos
Organizacion de datosOrganizacion de datos
Organizacion de datos
 
Int. sistemas de informacion
Int. sistemas de informacion Int. sistemas de informacion
Int. sistemas de informacion
 
Teoría de la Información
Teoría de la InformaciónTeoría de la Información
Teoría de la Información
 
Lanzamiento de Producto, Marketing en el área de Sistemas, Estudio de Mercado...
Lanzamiento de Producto, Marketing en el área de Sistemas, Estudio de Mercado...Lanzamiento de Producto, Marketing en el área de Sistemas, Estudio de Mercado...
Lanzamiento de Producto, Marketing en el área de Sistemas, Estudio de Mercado...
 
Redes man, wan y pan
Redes man, wan y panRedes man, wan y pan
Redes man, wan y pan
 
Memorias
MemoriasMemorias
Memorias
 
Evolución de Procesadores
Evolución de ProcesadoresEvolución de Procesadores
Evolución de Procesadores
 
Limite y continuidad de funciones de varias variables.
Limite y continuidad de funciones de varias variables.Limite y continuidad de funciones de varias variables.
Limite y continuidad de funciones de varias variables.
 
Medidas de Dispersion
Medidas de DispersionMedidas de Dispersion
Medidas de Dispersion
 
Términos Básicos en Estadística
Términos Básicos en EstadísticaTérminos Básicos en Estadística
Términos Básicos en Estadística
 
Puntos - Vectores en el Espacio
Puntos - Vectores en el EspacioPuntos - Vectores en el Espacio
Puntos - Vectores en el Espacio
 

Último

Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
NancyLoaa
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
MiNeyi1
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
MiNeyi1
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 

Último (20)

Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 

Programación Dinamica

  • 1. REPUBLICA BOLIVARIANA DE VENEZUELA M INISTERIO DEL PODER POPULAR PAR A LA EDUCACIÓN SUPERIOR I.U.P SANTIAGO M ARIÑO CATEDRA: PROGRAM ACIÓN NO NUM ÉRICA II Ing. Docente: José Castillo Alumno: Rafael Brito C.I: 25.286.285 Barcelona, Febrero 2020
  • 2. INTRODUCCION Muchos programas en ciencias de la computación se escriben para optimizar algún valor; por ejemplo, encontrar el camino más corto entre dos puntos, encontrar la línea que mejor se ajusta a un conjunto de puntos, o encontrar el conjunto más pequeño de objetos que satisface algunos criterios. hay muchas estrategias que usan los científicos de la computación para resolver estos problemas. uno de los objetivos de esta presentación es mostrar varias estrategias de solución de problemas diferentes. la programación dinámica es una estrategia para estos tipos de problemas de optimización.
  • 3. 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. Es la parte del problema que posee un conjunto de alternativas mutuamente excluyentes, de las cuales se seleccionará la mejor alternativa. Etapa 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. Estado Esquema de una Etapa
  • 4. FORMULACIÓN Y SOLUCIÓN DE PROBLEMAS 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). La teoría unificadora fundamental de la programación dinámica es el Principio de Optimalidad, que nos indica básicamente como se puede resolver un problema adecuadamente descompuesto en etapas utilizando cálculos recursivos. “Una política óptima tiene la propiedad de que, independientemente de las decisiones tomadas para llegar a un estado particular, en una etapa particular, las decisiones restantes deben constituir una política óptima para abandonar ese estado”,
  • 5. PARA RESOLVER PROBLEMAS DE PROGRAMACIÓN DINÁMICA SE NECESITA...  Un grado de creatividad  Un buen conocimiento de la estructura general de los problemas de programación dinámica para reconocer cuando un problema se puede resolver por medio de estos procedimientos y como esto se puede llevar a cabo. CARACTERÍSTICAS DE LOS PROBLEMAS DE PROGRAMACIÓN DINÁMICA  El problema se puede dividir en etapas que requieren una política de decisión en cada una.  Cada etapa tiene cierto número de estados asociados a ella.  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.
  • 6. CARACTERÍSTICAS DE LOS PROBLEMAS DE PROGRAMACIÓN DINÁMICA  El procedimiento de solución esta diseñado para encontrar una política óptima para el problema completo.  Dado un estado actual, una política óptima para las etapas restantes es independiente de la política adoptada en las etapas anteriores (principio de optimalidad).  El procedimiento de solución se inicia al encontrar la política optima para la ultima etapa. Se dispone de una relación recursiva que identifica la política optima par la etapa n dada la política optima para la etapa (n+1) RECURSIVIDAD Existen dos formas de plantear la fórmula de recursividad en los problemas de programación dinámica: Recursividad de Retroceso: el problema se resuelva partiendo de la última etapa hacia la primera. Recursividad de Avance: el problema se resuelve partiendo de la primera etapa hacia la última.
  • 7. Las formulaciones de avance y retroceso son en realidad equivalentes en términos de cálculo. Sin embargo, hay situaciones donde habría alguna diferencia, en la eficiencia del cálculo, según la formulación que se utilice. Esto sucede en particular en problemas donde intervine la toma de decisiones conforme transcurre el tiempo. En esto caso las etapas se designan con base en el estricto orden cronológico de los periodos que ellas representan y la eficiencia de los cálculos dependerá de si se utiliza formulación de avance o retroceso. RECURSIVIDAD
  • 8. EL PROBLEMA DE LA DILIGENCIA Un caza fortunas de Missouri decide irse al oeste a unirse a la fiebre del oro en California . Tiene que hacer el viaje en diligencia a través de territorios sin ley donde existían serios peligros de ser atacados por merodeadores. Aún cuando su punto de partida y destino eran fijos, tenia muchas opciones en cuanto a que estados debía elegir como puntos intermedios. Se desea estimar la ruta mas segura , como el costo de la póliza para cualquier jornada de la diligencia esta basada en una evaluación de seguridad del recorrido, la ruta mas segura debe ser aquella que tenga el costo total mas barato. ¿Cuál es la ruta que minimiza el costo total de la póliza ? sistema de caminos y los costos del problema de la diligencia:
  • 9. SOLUCIÓN:  Los cálculos se realizan en etapas dividiendo el problema en subproblemas.  Después, se considera por separado cada subproblema con el fin de reducir el número de operaciones de cálculo.  Se comienza con una pequeña porción del problema original y se encuentra la solución optima.  Luego, se agranda gradualmente el problema y se encuentra la solución óptima actual a partir de la que le precede, hasta resolver el problema original completo.  En cada problema aumentado se puede encontrar la solución óptima tomando en cuenta los resultados obtenidos en la interacción anterior.
  • 10. PROCEDIMIENTO DE SOLUCIÓN: Para este caso se empleará el desarrollo del problema con un recorrido hacia atrás. Cuando el cazafortunas tiene una sola etapa por recorrer (n=4), su ruta de ahí en adelante esta perfectamente determinada por su estado actual (ya sea H o I) y su destino final, x 4 = J , de manera que la ruta para esta ultima jornada en diligencias es s J La solución al problema es: f * 4 (H) = 3 f * 4 (I) = 4 Cuando se tienen dos etapas por recorrer (n=3), se analiza de la siguiente manera: Supóngase que se encuentra en el estado F, entonces como se ve en la figura, se debe ir al estado H ó al estado I. a un costo de CF,H = 6 ó CF,I =3. Si se elige el estado H, el costo adicional mínimo al llegar ahí es 3, por tanto el costo de decisión es 6+3=9, de igual manera si se elige el estado I, el costo total es 3+4=7 que es menor por lo tanto se escogerá el estado I.
  • 11. Se trabaja de manera similar con los otros dos estados posibles s=E y s=G, cuando quedan dos jornadas por viajar, los resultados son: • f*3 (E) = 4 • f*3 (F) = 7 • f*3 (G) = 6 La solución para el problema de tres etapas (n=2) se obtiene en forma parecida. Por ejemplo supóngase que el agente se encuentra en el estado C, como se muestra el diagrama. Ahora deberá ir al estado E, F ó G con un costo inmediato de CC,E =3 ó CC,F =2 ó CC,G=4, respectivamente. PROCEDIMIENTO DE SOLUCIÓN: Al llegar aquí el costo adicional mínimo hasta llegar a su destino esta dado de la siguiente manera:
  • 12. x2 = E f2(C,E) = cC,E + f*3(E) = 3 + 4 = 7 x2 = F f2(C,F) = cC,F + f*3(F) = 2 + 7 = 9 x2 = G f2(C,G) = cC,G + f*3(G) = 4 + 6 = 10 PROCEDIMIENTO DE SOLUCIÓN: El mínimo de estos tres números es 7, por lo que el costo mínimo desde el estado C al final es f*2(C) = 7, y el destino inmediato debe ser x*2 = E. Se realizan cálculos similares cuando se comienza desde el estado B ó D. Los resultados son: f*2 (B) = 11 f*2 (C) = 7 f*2 (D) = 8 Si se pasa al problema de cuatro etapas (n=1), los cálculos son parecidos a los que se acaban de mostrar para el problema de tres etapas (n=2) , excepto que ahora hay solo un inicio posible, s=A , como se muestra el diagrama. Los resultados se resumen de la siguiente manera : x1 = B f1(A,B) = cA,B + f*2(B) = 2 + 11 = 13 x1 = C f1(A,C) = cA,C + f*2(C) = 4 + 7 = 11 x1 = D f1(A,D) = cA,D + f*2(D) = 3 + 8 = 11 Como el mínimo costo es 11, por tanto los caminos pueden ser C ó D. En este punto se puede identificar la solución óptima. Los resultados indican los caminos óptimos a seguir: A D E H J ó A D F I J, las dos tienen un costo total de 11
  • 13. El Problema del Vendedor Viajero El Problema del Vendedor Viajero (conocido también como Travelling Salesman Problem o simplemente TSP) consiste en encontrar el circuito óptimo (en términos del viaje más corto) que deberá seguir un vendedor en un caso con n ciudades, en el que cada ciudad se visita exactamente una vez. Básicamente es una adaptación del Problema de Asignación que considera restricciones adicionales que garantiza la exclusión de subcircuitos en la solución óptima. Específicamente en el caso de n ciudades se define las variables de decisión de la siguiente forma: Sea la distancia de la ciudad i a la ciudad j, donde, el modelo del agente o vendedor viajero corresponde a:
  • 14. El conjunto de restricciones (1) y (2) definen un modelo de asignación tradicional. Lamentablemente en general, el problema de asignación producirá soluciones de subcircuito más que circuitos completos que abarque las n ciudades. Para ilustrar los conceptos de circuito y subcircuito en el contexto del Problema del Vendedor Viajero, consideremos un agente de venta que vive en la ciudad 1. Miami (Florida) en Estados Unidos y debe visitar a importantes clientes en las siguientes ciudades: 2. Chicago (Illinois), 3. Houston (Texas), 4. Las Vegas (Nevada) y 5. San Francisco (California). Para mayor claridad se han destacado los estados mencionados anteriormente con un color distintivo.
  • 15. Un circuito factible sería viajar en el siguiente orden: Miami (FL), Chicago (IL), Houston (TX), Las Vegas (NV), San Francisco (CA), Miami (FL). Es decir, Por otra parte un subcircuito correspondería, por ejemplo, a Miami (FL), San Francisco (CA), Las Vegas (NV), Miami (FL), junto a Houston (TX), Chicago (IL), Houston (TX). Es decir, lo que naturalmente no es una solución factible para el problema que se busca resolver. El modelo del vendedor viajero se caracteriza por su versatilidad para representar otros casos prácticos en optimización. Uno de ellos es el Problema de Secuenciamiento de la Producción como el que se presenta a continuación:
  • 16. El programa de producción diaria de una empresa de pinturas incluye lotes de color Blanco (B), Amarillo (A), Negro (N) y Rojo (R). Como la empresa utiliza las mismas instalaciones en las cuatro clases de pintura, es necesario hacer una limpieza entre los lotes. La siguiente tabla resume el tiempo de limpieza, en minutos, donde al color de la fila sigue el color de la columna. Por ejemplo, cuando después de la pintura Blanca sigue la Amarilla, el tiempo de limpieza en 10 minutos. Como un color no puede seguir a sí mismo, a los elementos correspondientes se les asigna un tiempo de setup infinito. Se desea determinar la secuencia óptima para la producción diaria de los cuatro colores, que minimice el tiempo total de limpieza necesario. Se puede hacer una analogía con el problema del vendedor viajero, asumiendo que cada pintura es una “ciudad” y que las “distancias” representan el tiempo de limpieza necesario para cambiar de un lote de pintura al siguiente. En consecuencia, el problema se reduce a determinar el circuito más corto que se inicie en un lote de pintura y pase exactamente una vez por cada uno de los tres lotes restantes, para regresar al punto de partida.
  • 17. En este contexto dada la cantidad de pinturas, la secuencia óptima se puede encontrar por enumeración exhaustiva de los 6 circuitos posibles , es decir, . En el ejemplo dicha secuencia óptima corresponde a Blanco, Amarillo, Rojo, Negro, Blanco, con un tiempo total de setup de 98 minutos. Naturalmente esta estrategia no es eficiente y queda limitada a problemas muy pequeños. Alternativamente se puede utilizar implementar en Solver el modelo de asignación presentado anteriormente, haciendo uso de los parámetros descritos en el ejemplo del secuenciamiento de la producción de pinturas. A continuación un extracto de los resultados donde se observa que no se alcanza una solución de circuito.
  • 18. Conclusión Un problema de optimización que se pueda dividir en etapas y que sea dinámico en el tiempo puede resolverse por programación dinámica. Las soluciones se pueden ver de manera parcial. Si es posible se validan los resultados usando otros métodos de solución como programación lineal, no lineal, entera o teoría de redes. Programación dinámica es una técnica muy útil para tomar una sucesión de decisiones interrelacionadas. Requiere la formulación de una relación recursiva apropiada para cada problema individual. Sin embargo, proporciona grandes ahorros computacionales en comparación con la enumeración exhaustiva para encontrar la mejor combinación de decisiones, en especial cuando se trata de problemas grandes. Por ejemplo, si un problema tiene 10 etapas con 10 estados y 10 decisiones posibles en cada etapa, la enumeración exhaustiva tendría que considerar hasta 10^10 combinaciones, mientras que la programación dinámica necesita hacer cuando mucho 10³ cálculos, (10 para cada estado en cada etapa).
  • 19. BIBLIOGRAFIA  Taha, h. a. “investigación de operaciones”. 2005.  Hiller, F. S. “Introducción a la Investigación de Operaciones”. 2008.  Isabel Plaza. Teoría de colas y programación dinámica  Ortega Yolanda. Estructuras de datos y métodos algorítmicos: ejercicios resueltos (2003). Madrid: Prentice Hall.  Manuel Maurette e Ignacio Ojeda, Programación Dinámica, Junio de 2006.  Ramos, Andres, Programación dinámica (DP), Universidad Pontificia Comillas.