https://github.com/Daniel-Humberto/Production-Optimization-Linear-Programming
Dashboard de Optimización de Producción con Programcion Lineal echo en Python con SciPy Plotly.js, TypeScript, Next.js, React, Tailwind CSS, Shadcn/ui
https://github.com/Daniel-Humberto/Production-Optimization-Linear-Programming
nextjs plotlyjs python react scipy shadcn-ui tailwind-css typescript
Last synced: 12 days ago
JSON representation
Dashboard de Optimización de Producción con Programcion Lineal echo en Python con SciPy Plotly.js, TypeScript, Next.js, React, Tailwind CSS, Shadcn/ui
- Host: GitHub
- URL: https://github.com/Daniel-Humberto/Production-Optimization-Linear-Programming
- Owner: Daniel-Humberto
- License: gpl-3.0
- Created: 2025-02-15T00:42:37.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-03-25T05:50:28.000Z (10 months ago)
- Last Synced: 2025-03-25T06:28:31.752Z (10 months ago)
- Topics: nextjs, plotlyjs, python, react, scipy, shadcn-ui, tailwind-css, typescript
- Language: JavaScript
- Homepage:
- Size: 18.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Production Optimization With Linear Programming

Este proyecto forma parte de la propuesta para el **Genius Arena Hackathon 2025** de **Talent Land**, en el track **"Production Planning: Linear Programming and automation through Python"** presentado por **Micron**. La propuesta consiste en:
> **System in Python that automates the necessary calculations to balance production with demand, allowing more precise and efficient planning and reducing costs, using linear programming modeling.**
---
## 📌 Características Principales
Esta propuesta consta de un sistema en Python que automatizara los cálculos necesarios para equilibrar la producción con la demanda mediante programación lineal, y Machine Learning, lo que permitira automatizar la planificación de producción. Se estructuraria en tres áreas clave: Data, BackEnd, y FrontEnd.
El área de **Data** consta de la limpieza, preprocesamiento, y generacion de Data Sets, mediante EDA. El área de **BackEnd** consta de algoritmos en Python de Machine Learning como Random Forest para estimar la demanda futura, y programación lineal para para optimizar la planificación de la producción. Mientras que el área de **FrontEnd** consta de un Dashboard interactivo con Next.js, React, Shadcn/ui, Tailwind CSS, y Plotly, con un diseño elegante y minimalista, que permite una visualización interactiva y dinámica de los resultados.
Para garantizar un desarrollo modular, iterativo, y eficiente, utilizaremos como metodología principal SCRUM para la gestión del equipo, y CRISP-DM para estructurar el análisis de datos, Machine Learning, y optimización, asegurando una integración efectiva entre las áreas técnicas y analíticas del proyecto.
---
### 🏗️ Metodologias de Desarrollo
Dado que el proyecto abarca desde la planificación de producción, hasta la optimización con programación lineal y machine learning, **SCRUM + CRISP-DM** es la mejor opción. Ya que permite manejar un desarrollo modular con SCRUM, y estructurar la parte de Data Science de manera iterativa y adaptable con CRISP-DM.
- SCRUM
- CRISP-DM
---
### 📦 Data
El área de Data se encargara de la limpieza, el preprocesamiento, y la generación de Data Sets, que alimentarán los modelos analíticos y de optimización, mediante EDA (Análisis Exploratorio de Datos). Dado que aún no se definen las fuentes de datos, se plantea trabajar con al menos una de estas fuentes de datos:
- Bases de Datos SQL
- Archivos JSON
- Archivos CSV
---
### 🔙 BackEnd
El BackEnd se desarrollaria en Python y estaría enfocado principalmente en **programación lineal**. Se contempla el uso de otras tecnicas de Data Science y Machine Learning en caso de ser posible y necesario:
1. **Random Forest** : Con los datos ya depurados y comprendidos, se entrena y valida un modelo para estimar la demanda futura.
2. **Programación Lineal**: Utilizando los datos depurados y comprendidos, y las predicciones de demanda, se aplica programación lineal para automatizar los cálculos necesarios para equilibrar la producción conforme la demanda.
3. **Bootstrapping** (Opcional): Medición de la estabilidad del modelo.
---
### 🧮 Modelo de Programación Lineal
El modelo de programación lineal propuesto estaría desarrollado en **Python**, utilizando las librerías **SciPy**, **PuLP**, y **Scikit-Learn**, entre otras. El modelo buscara equilibrar la producción con la demanda, respetando todas las restricciones, necesidades, y objetivos, que se planteen. Por ejemplo:
- Restricciones de recursos (silicio, mano de obra, energía, equipamiento y logística).
- Costos de producción asociados a cada tipo de semiconductor.
- Beneficios por unidad producida.
- Demanda máxima por producto.
---
### 🎨 FrontEnd
Interfaz moderna, elegante, e interactiva, para la visualización de resultados:
- **React y Next.js**: Estructura y funcionalidad del FrontEnd.
- **Tailwind CSS**: Diseño y estilo visual.
- **Shadcn/ui**: Componentes de interfaz modernos.
- **Plotly.js**: Creación de visualizaciones interactivas.
---
### 📊 Beneficios del Dashboard
- **Planificación Estratégica**: Permitiría comparar la demanda con la capacidad productiva, mejorando la toma de decisiones a largo plazo.
- **Decisiones Informadas**: Mostraría el impacto de diferentes estrategias de optimización de forma clara.
- **Optimización de Recursos**: Se podria identificar la mejor distribución de recursos en la producción.
- **Visualización Intuitiva**: Facilitaría la comprensión y análisis de datos complejos.
---
## 📐 Diagrama de la aplicación
---
# 📊 Propuesta de Dashboard






---