Desarrollo de un paquete extensible en Python para modelar y resolver problemas de programación de la producción

Autores/as

  • Araceli Sarina Universidad Tecnológica Nacional, Argentina
  • Pablo A. Marchetti Universidad Nacional del Litoral, Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET), Argentina https://orcid.org/0000-0003-1660-2180

Palabras clave:

programación de la producción, optimización matemática, paquete de software, Pyomo

Resumen

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

Los datos de descarga aún no están disponibles.

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

2026-09-27

Cómo citar

Sarina, A., & Marchetti, P. A. (2026). Desarrollo de un paquete extensible en Python para modelar y resolver problemas de programación de la producción. JAIIO, Jornadas Argentinas De Informática, 12(15), 262-275. https://revistas.unlp.edu.ar/JAIIO/article/view/22049