Marionomics: Escribe un paper de economía

Marionomics: Escribe un paper de economía

Share this post

Marionomics: Escribe un paper de economía
Marionomics: Escribe un paper de economía
Tutorial para hacer Programación Lineal en Python con PuLP

Tutorial para hacer Programación Lineal en Python con PuLP

Formulación de problemas, soluciones y ejemplos usando python

Avatar de Mario A. García Meza
Mario A. García Meza
nov 02, 2024
∙ De pago

Share this post

Marionomics: Escribe un paper de economía
Marionomics: Escribe un paper de economía
Tutorial para hacer Programación Lineal en Python con PuLP
Compartir

¿Alguna vez te has preguntado cómo las empresas determinan la cantidad óptima de productos a fabricar para maximizar sus ganancias?

La programación lineal es una herramienta matemática que permite resolver este tipo de problemas de optimización. Y gracias a Python, podemos implementarla de manera sencilla utilizando una biblioteca llamada PuLP.

En esta guía, te llevaré paso a paso para que entiendas cómo utilizar PuLP, incluso si no tienes experiencia previa en programación. Al final, serás capaz de modelar y resolver problemas que son fundamentales en economía y muchas aplicaciones de negocios.

Este es un tutorial que hice para mis alumnos de la clase de Investigación de Operaciones. En la clase nos hemos enfocado mucho en el planteamiento de los problemas y en su solución usando la computadora. Previamente ya hice un tutorial para resolver problemas de PL con el método simplex usando Solver de Excel.

Si quieres verlo, puedes entrar aquí:

Tutorial de Simplex

¿Qué es PuLP y por qué deberías conocerlo?

PuLP es una biblioteca de Python que facilita la formulación y resolución de problemas de programación lineal (LP) y programación entera mixta (MILP). En términos sencillos, te permite:

  • Definir variables de decisión: las incógnitas que quieres determinar.

  • Establecer funciones objetivo: lo que deseas maximizar o minimizar (por ejemplo, ganancias o costos).

  • Agregar restricciones: limitaciones o condiciones que deben cumplirse (como recursos disponibles).

  • Resolver el problema: encontrar la mejor solución posible dentro de las restricciones.

¿Por qué es importante? Porque la optimización es clave para mejorar la eficiencia y rentabilidad en cualquier negocio. Con PuLP, puedes tomar decisiones informadas basadas en datos y modelos matemáticos.


Paso 1: Instalación de PuLP

Antes de comenzar, necesitamos instalar PuLP en tu sistema. No te preocupes, es más sencillo de lo que parece.

  1. Abre tu terminal o línea de comandos.

  2. Verifica que la instalación fue exitosa.No debería aparecer ningún mensaje de error. Si todo salió bien, ¡ya estás listo para usar PuLP!

Escribe el siguiente comando y presiona Enter:

pip install pulp

Si estás utilizando Jupyter Notebook o un entorno similar, puedes instalarlo directamente en una celda:

!pip install pulp

Nota: PuLP incluye el solucionador CBC por defecto. Para problemas más complejos o requerimientos específicos, podrías considerar instalar solucionadores adicionales como Gurobi o CPLEX, aunque estos pueden requerir licencias separadas.


Paso 2: Entendiendo la Programación Lineal

Antes de sumergirnos en el código, es fundamental comprender qué es la programación lineal y cómo se aplica en economía y negocios.

La programación lineal es una técnica matemática que busca optimizar (maximizar o minimizar) una función objetivo, sujeta a ciertas restricciones lineales. Estas restricciones representan limitaciones en recursos como tiempo, dinero o materiales.

Ejemplo práctico:

Imagina que eres el gerente de producción de una fábrica que produce dos productos. Quieres saber cuántas unidades de cada producto debes fabricar para maximizar tus ganancias, considerando las limitaciones en materia prima y horas de trabajo.


Paso 3: Formulando un Problema de Programación Lineal

Veamos un problema sencillo para ilustrar los conceptos básicos.

Escenario:

Una empresa produce dos productos: Producto A y Producto B.

  • Producto A:

  • Beneficio por unidad: $3

    • Consumo de recursos:

    • Recurso 1: 2 unidades por producto

      • Recurso 2: 1 unidad por producto

  • Producto B:

  • Beneficio por unidad: $2

    • Consumo de recursos:

    • Recurso 1: 1 unidad por producto

      • Recurso 2: 1 unidad por producto

Disponibilidad de recursos:

  • Recurso 1: 100 unidades

  • Recurso 2: 80 unidades

Objetivo:

Determinar cuántas unidades de cada producto deben fabricarse para maximizar el beneficio total, sin exceder la disponibilidad de recursos.

Formulación matemática:

  1. Variables de decisión:

  2. $x$: Número de unidades del Producto A a producir.

    • $y$: Número de unidades del Producto B a producir.

  3. Función objetivo:

  4. Maximizar \( Z = 3x + 2y \)

  5. Restricciones:

  6. Recurso 1: \( 2x + y \leq 100 \)

    • Recurso 2: \( x + y \leq 80 \)

    • No negatividad: \( x \geq 0 \), \( y \geq 0 \)


Paso 4: Implementando el Problema con PuLP

Ahora, traduciremos este problema matemático al lenguaje de programación usando PuLP.

Continúa leyendo con una prueba gratuita de 7 días

Suscríbete a Marionomics: Escribe un paper de economía para seguir leyendo este post y obtener 7 días de acceso gratis al archivo completo de posts.

Already a paid subscriber? Iniciar sesión
© 2025 Mario A. García-Meza
Privacidad ∙ Términos ∙ Aviso de recolección
Empieza a escribirDescargar la app
Substack es el hogar de la gran cultura

Compartir