Proyectos

Planificación de producción · Investigación operativa

Planificador de fabricación de conjuntos de alta variabilidad

Google Apps ScriptJavaScriptSVGHTML

Problema

La fabricación de determinados conjuntos encadena múltiples operaciones sucesivas que compiten por un número limitado de máquinas y operarios compartidos. La planificación era manual, y eso hacía muy costoso responder a preguntas básicas: si cambio esta precedencia, ¿sigo cumpliendo el plazo? ¿Cuál es el recurso que realmente me está limitando?

Solución

Herramienta con un motor de programación de tareas que resuelve el caso como un RCPSP (Resource-Constrained Project Scheduling Problem): secuenciación de actividades con relaciones de precedencia bajo restricción de recursos finitos.

Detalle técnico

  • Motor de planificación RCPSP con recursos renovables de tipo máquina, cada uno con su propia lógica de capacidad, ocupación y liberación.
  • Editor gráfico de red de precedencias en SVG: nodos arrastrables, creación visual de dependencias y detección automática de ciclos en el grafo, que impide definir precedencias circulares imposibles de programar.
  • Diagrama de Gantt generado en tiempo real conforme se modifica la red.
  • Lógica de asignación de operarios con priorización configurable entre varias fuentes de asignación.
  • Sistema de estado del plan con indicadores de cumplimiento de plazo.
  • Exportación a PDF por secciones para distribución en planta.

Mi aportación

Análisis del proceso productivo y de las reglas reales de asignación de recursos. Identificación de que el problema era un RCPSP y no una simple secuenciación lineal. Definición de la semántica de cada tipo de recurso, de las reglas de prioridad y de los criterios de cumplimiento de plazo. Diseño de la interfaz para que la usara personal de planificación sin formación técnica. Validación del resultado contra planificaciones reales.

Conocimientos aplicados

Programación de proyectos con recursos restringidos. Teoría de grafos. Formalización de reglas operativas en lógica de cálculo. Diseño de interfaz para usuario no técnico.