Programa Analítico Extendido Nombre del Curso: ___Optimización y programación lineal_______________________ Clave: __TC3001________ C _3_ L _0_ U _8_ 1. Intención del curso en el contexto general del plan de estudios. Este curso pretende contribuir a que los alumnos puedan: - Integrar los conocimientos adquiridos a lo largo de la carrera para la solución de problemas reales. - Identificar, modelar y resolver problemas reales que pueden ser modelados mediante técnicas de optimización. - Desarrollar la habilidad de plantear y resolver problemas usando modelos matemáticos en lo general y en lo particular de modelos propios a técnicas de optimización. - Desarrollar la habilidad de aprender por cuenta propia mediante la lectura individual y crítica de materiales programados. - Desarrollar la cultura de trabajo y compromiso al emprender, desarrollar y terminar las actividades encargadas a lo largo del curso. 2. Objetivo general del curso. - Aplicar las herramientas de programación lineal, programación entera, redes de transporte, optimización clásica y métodos heurísticos para la solución de problemas reales. Utilizar las herramientas computacionales para la solución de problemas de optimización. Implementar herramientas computacionales para la solución de problemas de optimización. 3. Competencias del curso. Identifica, modela y resuelve problemas reales que pueden ser modelados mediante técnicas de optimización. Integración y uso de tecnologías para la solución de problemas de optimización. 1 4.Contenidos: Temas y subtemas. 1. Programación Lineal 1.1.Definición del problema de programación lineal y su forma estandar 1.2. Construcción de modelos 1.3. Método simplex 1.3.1. Método simplex, 1.3.2. Método de la M grande 1.3.3. Método de las dos fases 1.4. LINDO y LINGO 1.5. Análisis de sensibilidad y dualidad 2. Análisis de redes y algoritmos de ruteo 2.1. Problemas de transportación 2.1.1. Formulación del problema de transporte 2.1.2. El método simplex para el problema de transporte 2.1.3. El problema de asignación 2.1.4. Algoritmos del método simplex aplicados al método de transporte 2.2. Flujo de redes 2.2.1. Conceptos 2.2.2. Flujo Máximo 2.2.3. CPM y PERT 2.2.4. Aplicaciones 2.2.5. Análisis de algoritmos para problemas de transporte y de redes 3.Programación entera 3.1. Formulación de problemas de programación entera 3.2. Método de acotamiento y ramificación 3.3 Uso de software 3.3.Aplicaciones 4. Programación no lineal 4.1 Optimización clásica sin restricciones 4.1.1 Gradiente de una función 4.1.2 Matriz Hessiana de una función 4.1.3 Puntos críticos y criterio para máximos o mínimos relativos 4.2. Optimización clásica con restricciones 4.2.1 Multiplicadores de Lagrange 4.2.2 Condiciones de Kuhn-Tucker 4.3 Métodos numéricos 5. Optimización combinatoria 5.1 Apareamiento 5.1 .1 Apareamiento de máxima cardinalidad 5.1.2 Apareamiento de máximo peso 5.2 Aplicaciones 2 6. Programación heurística 6.1. Algoritmos genéticos 6.1.1. Algoritmo básico para el desarrollo de algoritmos genéticos 6.2. Recocido simulado 6.3. Redes neuronales 5. Objetivos específicos de aprendizaje por tema asociados a los contenidos. - Conocer la formulación estándar de un problema de programación lineal. Modelar problemas reales mediante programación lineal. Conocer y aplicar el método simples. Utilizar aplicaciones computacionales para resolver problemas de programación lineal. Identificar posibles errores en la aplicación de los métodos numéricos. Conocer y aplicar el método simplex al problema de transporte. Utilizar los modelos específicos de red y los casos especiales a problemas reales. Conocer y ser capaz de aplicar el método de ramificación y acotamiento para resolver un problema de programación lineal entera. Conocer y ser capaz de utilizar aplicaciones computacionales para resolver problemas de programación lineal entera. Aplicar programación lineal entera para resolver problemas de reales. Calcular e Interpretar el gradiente de una función. Calcula la matriz Hessiana de una función. Aplicar el criterio para determinar si un punto crítico es máximo, mínimo o punto silla. Determinar los puntos críticos de una función con restricciones de igualdad: aplicar el criterio para determinar si corresponden a máximos o mínimos. Aplicar las condiciones de KKT para determinar los máximos y mínimos. Implementar algoritmos numéricos para determinar mínimos de una función. Conocer el problema de apareamiento. Conocer el algoritmo de apareamiento de máxima cardinalidad. Conocer el algoritmo de apareamiento de máximo peso. Realizar aplicaciones donde se requiera un modelo del problema de apareamiento. Utiliza y desarrolla herramientas de software de programación heurística para la solución de problemas de programación lineal. 3 6. Tiempo estimado por tema. Temas 1. Programación Lineal 2. Análisis de redes y algoritmos de ruteo 3. Programación entera 4. Programación no lineal 5. Optimización combinatoria 6. Programación heurística Total 10 horas 13 horas 5 horas 8 horas 7 horas 5 horas 48 horas 7. Metodología de Enseñanza. Las actividades son: Exposición del profesor Solución de problemas Investigación Aprendizaje colaborativo 8. Técnica Didáctica. Las técnica didácticas sugeridas son: solución de problemas, aprendizaje colaborativo y casos. 9. Evidencias por competencias. - Documento donde se demuestre la construcción y simulación de modelos reales utilizando programación lineal. Programa que implementa un algoritmo para la solución de problemas de transporte. Documento con la solución de problemas de transporte y de flujo de redes Documento donde se resuelvan problemas reales usando problemas de programación lineal entera. Documento donde se resuelvan problemas matemáticos usando optimización clásica. Programa computacional donde se implemente alguna técnica numérica de optimización no lineal. Documento donde se resuelvan problemas reales usando un modelo de apareamiento de nodos en un grafo. Programa donde se implementa el algoritmo de apareamiento. Documento donde desarrolle y utilice herramientas de programación heuristica para la solución de problemas de programación lineal. 4 10. Políticas de Evaluación sugeridas. Exámenes parciales Actividades de aprendizaje: casos, prácticas, autoestudio Examen final 60% 20% 20% 11. Libros de Texto (máximo 3). - Wayne L. Winston, Munirpallam Venkataramanan (2003). Introduction to Mathematical Programming, Operations Research: Volume One. 4th edition, CA, Brooks/Cole-Thomson Learning, Thomson. - Taha Hamdy A (1995). Investigación de Operaciones. 7a edición, México, Prentice Hall. - Winston W (2005). Investigación de Operaciones, aplicaciones y algoritmos, 4a edición, María Bruna Anzures y Francisco Sánchez, México, Thomson. 12. Perfil del Profesor. Profesor con doctorado en computación, informática y/o matemáticas . 13. Frases Temáticas. - Programación Lineal Análisis de redes y algoritmos de ruteo Programación entera Programación no lineal Optimización combinatoria Programación heurística Instituto Tecnológico y de Estudios Superiores de Monterrey / Derechos Reservados 2006 5