Este documento presenta una introducción a la programación lineal, entera y no lineal. Explica conceptos como el método gráfico, método simplex, dualidad, análisis de sensibilidad y métodos para resolver problemas de programación entera y no lineal como branch and bound y gradiente descendente. También incluye ejemplos y referencias bibliográficas sobre estos temas.