Resumen: La programación de tareas consiste en la asignación de diferentes tareas en un periodo determinado de tiempo a un conjunto de máquinas siguiendo una determinada secuencia con el propósito de optimizar alguna función objetivo. En esta memoria se introduce en qué consiste la programación de tareas, así como la notación relacionada más importante. En este trabajo se estudia en particular el problema de programación de tareas con una única máquina. Para este problema se estudian cuatro modelos con distintos objetivos. Para los cuatro problemas se presentan dos formulaciones del modelo de optimización entera mixta que se distinguen por el tipo de variables utilizadas. Por otra parte, se estudian los modelos basándonos en sus propiedades combinatorias para el desarrollo de algoritmos polinomiales que proporcionan una solución óptima. Por último, se realiza un estudio computacional para evaluar y comparar las dos aproximaciones al problema a través de la implementación en CPLEX Studio y C++ de los modelos de optimización entera y los algoritmos polinomiales, respectivamente.