Desarrollo de un paquete extensible en Python para modelar y resolver problemas de programación de la producción
Palabras clave:
programación de la producción, optimización matemática, paquete de software, PyomoResumen
Este trabajo describe el diseño y la implementación inicial de un paquete en Python cuya meta es facilitar la construcción y resolución de modelos de optimización para problemas de programación de la producción. La motivación surge de la diversidad de problemas de scheduling y del esfuerzo requerido para implementar formulaciones matemáticas específicas para cada caso. La herramienta se apoya en Pyomo y utiliza un diseño orientado a objetos basado en componentes reutilizables, separando la denición del problema, las características operativas, los objetivos, las formulaciones, la carga de datos y la presentación de resultados. Esta organización permite construir instancias, incorporar capacidades adicionales y seleccionar modelos compatibles dentro de un ujo común de trabajo. Se describe la arquitectura del paquete, sus principales clases abstractas y concretas, y los mecanismos de extensión implementados. Como resultados preliminares, se presentan algunos componentes disponibles en problemas monoetapa y multietapa, junto con un ejemplo de uso. Finalmente, se discuten líneas futuras vinculadas con transformaciones entre representaciones, descomposición de problemas e integración con estrategias algorítmicas de resolución.
Descargas
Referencias
AIMMS. (s.f.). AIMMS Documentation. Consultado el 26 de junio de 2026, desde https://documentation.aimms.com/
Bynum, M. L., Hackebeil, G. A., Hart, W. E., Laird, C. D., Nicholson, B. L., Siirola, J. D., Watson, J.-P., & Woodruti, D. L. (2021). Pyomo & Optimization Modeling in Python (3.a ed.). Springer.
CPLEX. (s.f.). IBM ILOG CPLEX Optimizer. Consultado el 26 de junio de 2026, desde https://www.ibm.com/products/ilog-cplex-optimization-studio
Fourer, R., Gay, D. M., & Kernighan, B. W. (2003). AMPL: A Modeling Language for Mathematical Programming (2.a ed.). Duxbury Press.
GAMS Development Corporation. (s.f.). General Algebraic Modeling System (GAMS). Consultado el 26 de junio de 2026, desde https://www.gams.com/
Google OR-Tools. (2024, 28 de agosto). Scheduling Overview. Consultado el 26 de junio de 2026, desde https://developers.google.com/optimization/scheduling
Gurobi Optimization, LLC. (2026). Gurobi Optimizer Reference Manual. Consultado el 26 de junio de 2026, desde https://docs.gurobi.com/current/
Harjunkoski, I., Maravelias, C. T., Bongers, P., Castro, P. M., Engell, S., Grossmann, I. E., Hooker, J., Méndez, C., Sand, G., & Wassick, J. (2014). Scope for industrial applications of production scheduling models and solution methods. Computers & Chemical Engineering, 62, 161-193.
Lan, L., & Berkhout, J. (2025). PyJobShop: Solving Scheduling Problems with Constraint Programming in Python. https://doi.org/10.48550/arXiv.2502.13483
Maravelias, C. T. (2021). Chemical Production Scheduling: Mixed-Integer Programming Models and Methods. Cambridge University Press.
Méndez, C. A., Cerdá, J., Grossmann, I. E., Harjunkoski, I., & Fahl, M. (2006). State-of-the-art review of optimization methods for short-term scheduling of batch processes. Computers & Chemical Engineering, 30, 913-946.
OptaPlanner. (s.f.). OptaPlanner. Consultado el 26 de junio de 2026, desde https://www.optaplanner.org/
OptaPy. (s.f.). OptaPy: An AI Constraint Solver for Python. Consultado el 26 de junio de 2026, desde https://github.com/optapy/optapy
Pinedo, M. L. (2008). Scheduling: Theory, Algorithms, and Systems (3.a ed.). Springer. pyschedule. (s.f.). pyschedule: Resource Scheduling in Python. Consultado el 26 de junio de 2026, desde https://github.com/timnon/pyschedule
Sarina, A. (2025). Desarrollo y Resultados Preliminares de un Paquete de Optimización de la Producción en Python. AJEA (Actas de Jornadas y Eventos Académicos de UTN). JIT 2024. Jóvenes Investigadores Tecnológicos, (AJEA 55), 372-378. https://doi.org/10.33414/ajea.1941.2025
Timefold. (s.f.). Timefold Solver Documentation. Consultado el 26 de junio de 2026, desde https://docs.timefold. ai/timefold-solver/latest /introduction
Descargas
Publicado
Número
Sección
Licencia
Derechos de autor 2026 Araceli Sarina, Pablo A. Marchetti

Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial-CompartirIgual 4.0.
Acorde a estos términos, el material se puede compartir (copiar y redistribuir en cualquier medio o formato) y adaptar (remezclar, transformar y crear a partir del material otra obra), siempre que a) se cite la autoría y la fuente original de su publicación (revista y URL de la obra), b) no se use para fines comerciales y c) se mantengan los mismos términos de la licencia.














