Programación lineal. Programa del curso. 1. M Primavera, 2012. Introducción A El método simplex inventado por Dantzig a fines de la década de los 40 está considerado entre los diez algoritmos más importantes producidos en el siglo pasado. Comparte esta distinción con la transformada rápida de Fourier, el algoritmo QR y los métodos basados en subespacios de Krylov. El método simplex dominó el campo de la programación lineal durante más de cuatro décadas. Sin embargo, el trabajo de Khachiyan produjo una revolución a mediados de la década de los 80. Esencialmente, el método simplex (de complejidad exponencial), comenzó a experimentar una enorme competencia por los métodos de puntos interiores (de complejidad polinomial) derivados del método de Khachiyan. En la actualidad tanto el método simplex como los métodos de puntos interiores se utilizan en diversas aplicaciones sin que exista un claro predominio por parte de alguno de ellos. El problema fundamental de la PL, llamado un programa lineal, es el siguiente: IT minimizar sujeta a f (x) = cT x Ax = b, x ≥ 0, (1) en donde c y x son vectores n-dimensionales; A es una matriz de m × n con m < n; b es un vector m-dimensional. El vector x es llamado el vector de variables de decisión y la función f es conocida como la función objetivo. El conjunto determinado por Ax = b y x ≥ 0 es llamado la zona factible. Los datos del problema son A, b y c. Un aspecto fundamental de la programación lineal es que la metodologı́a, basada el método simplex o en los métodos de puntos interiores, se puede extender para resolver otros problemas relacionados tales como la programación entera y la programación no lineal. 2. Objetivos Es difı́cil concebir a los métodos utilizados en programación lineal sin pensar en las aplicaciones que les dieron origen. En consecuencia, el enfoque del curso establece un balance entre teorı́a y práctica. Los objetivos se pueden resumir de la siguiente manera Estudiar diversos problemas prácticos y cientı́ficos que se pueden formular como (1). 1 Estudiar las condiciones teóricas que aseguran la existencia de una solución de (1). Utilizar las condiciones de optimalidad para diseñar algoritmos prácticos que resuelvan eficientemente (1). Escribir versiones prototipo del método simplex y de los métodos de puntos interiores. Formular y resolver problemas utilizando el lenguaje de modelacion AMPL. 3. Condiciones del curso M Los aspectos prácticos juegan un papel determinante en el diseño del curso. Las actividades prácticas están concebidas para: a) motivar el estudio de diversos aspectos teóricos fundamentales de la programación lineal; b) verificar que la teorı́a matemática cumple con las expectativas demandadas por la práctica. Para poder obtener un rendimiento adecuado en el curso, el estudiante necesita cumplir con los puntos siguientes: A Tener un dominio aceptable de los prerrequisitos del curso: a) cálculo en varias variables; b) álgebra lineal; c) cálculo numérico; d) un lenguaje de programación de alto nivel (C, C++, Matlab). Trabajar individualmente fuera del curso realizando tareas y proyectos, lo cual exige conocer y manejar la literatura sugerida en el curso. Por lo tanto, escribir apuntes con gran detalle durante la clase está fuera de las recomendaciones de este curso. 4. Evaluación del curso IT El curso se evaluará de la siguiente manera: 2 exámenes parciales 50 % laboratorio 30 % examen final 20 % Los exámenes parciales se realizarán en las horas de clase en las fechas siguientes: 1er examen 2o examen jueves 1 de marzo jueves 19 de abril Para aprobar el curso es necesario: a) tener promedio aprobatorio en los exámenes parciales; b) aprobar el examen final; c) aprobar el laboratorio. Los estudiantes realizarán todas las tareas y/o proyectos en forma individual. Reglamento de alumnos de estudios profesionales. Capı́tulo III DE LAS BAJAS Artı́culo 39o. Un alumno causará baja definitiva y dejará de pertenecer al Instituto: 2 1. Por propia voluntad, expresándolo por escrito ante la Dirección Escolar. 2. Por haber efectuado en dos ocasiones lo que en la práctica académica se califica como copia fraudulenta, durante la presentación de un examen parcial o de fin de cursos o al desarrollar algún trabajo de investigación. 3. Por suplantación 5. Contenido del curso M 4. Por faltas de probidad o respeto en contra de cualquier miembro de la comunidad o por otras faltas graves. 1. Introducción. Motivación. Problemas prácticos. 2. Propiedades de un programa lineal. Soluciones básicas. El teorema fundamental de la PL. 3. Dualidad. Teorema de dualidad. Condiciones de Karush-Kuhn-Tucker. 4. Método simplex I. Teorı́a. A 5. Método simplex II. Aspectos numéricos. Aplicaciones. 6. Métodos de puntos interiores I. Aspectos básicos. La trayectoria central. Complejidad polinomial. 7. Métodos de puntos interiores II. Aspectos numéricos. El algoritmo de Mehrotra. Convergencia superlineal. Aplicaciones. IT 8. Programación cuadrática convexa. Aplicaciones. Referencias [1] J. Nocedal and S.J. Wright, Numerical Optimization, Springer Verlag, New York, second ed., 2006. [2] S.J. Wright, Primal-Dual Interior Point Methods, SIAM Philadelphia, 1997. [3] D.G. Luenberger, Linear and Nonlinear Programming, Addisson-Wesley, Reading, Massachusetts, second ed., 1984. [4] R. Fletcher, Practical Methods of Optimization, John Wiley & Sons, Chichester, UK, 1987. [5] R. Fourer, D.M. Gay, and B.W. Kernighan, AMPL, A Modeling Language for Mathematical Programming, Duxbury Press / Brooks/Cole Publishing Company, second ed., 2002. 3