Saltar al contenido
← Proyectos
  • Big Data e ingeniería de datos
  • Automatización de procesos

Planificación de la red de media tensión: de Excel a Python

La planificación de la red eléctrica de media tensión dependía de una cadena de 14 libros de Excel con macros, lentos y difíciles de mantener. Los estoy reescribiendo en Python, comprobando que den exactamente los mismos resultados, para que el proceso sea más rápido, verificable y fácil de mejorar.

Migración a Python de 14 libros .xlsm encadenados (más de 9 500 líneas de VBA solo en el motor de traslados), con réplica 1:1 y pruebas de equivalencia celda a celda; Pasos 0–4 validados e indicadores SAIDI, SAIFI y ENS reimplementados.

La historia

lds-planificacion-red-mt.exe

  1. 01 / 04

    El problema

    Para decidir cómo crece y se opera la red eléctrica de media tensión, el equipo usaba una cadena de 14 libros de Excel con macros.

    Planificación MT en Pasos 0–13: libros .xlsm encadenados desde la exportación de la red hasta los traslados de carga y la matriz de calidad de suministro.

  2. 02 / 04

    Por qué es difícil

    Era lenta, difícil de mantener y casi imposible de revisar: si algo fallaba en un libro, todo lo que venía después quedaba en duda.

    Más de 9 500 líneas de VBA en 127 hojas solo en el motor de traslados; lógica repartida entre macros, fórmulas y dependencias implícitas entre libros.

  3. 03 / 04

    La idea clave

    Reescribir cada paso en Python para que haga exactamente lo mismo que el Excel, y comprobarlo automáticamente, celda por celda.

    Extracción automática de VBA, fórmulas y estructura; réplica 1:1 por Paso; pruebas de equivalencia contra las salidas de Excel.

  4. 04 / 04

    El resultado

    Los primeros pasos ya dan los mismos resultados que el Excel. Al final será un solo programa: más rápido, verificable y fácil de mejorar.

    Pasos 0–4 validados celda a celda; SAIDI, SAIFI y ENS reimplementados con simulación de mejoras; las mejoras van detrás de flags de configuración.

  5. Qué sigue

    En curso: seguir migrando los Pasos restantes hasta unir toda la cadena en un solo programa.

Impacto

  • 14«Pasos» de la cadena, de la exportación de la red a los traslados de carga, migrándose por etapas a un solo programa
  • 0–4Pasos replicados y validados celda a celda contra los resultados de Excel
  • +9 500líneas de VBA en 127 hojas documentadas para el motor de traslados de carga
  • Indicadores de calidad de suministro (SAIDI, SAIFI, ENS) reimplementados con simulación de mejoras

Cómo funciona

  1. Extraer y entender. Scripts que extraen el código VBA, las fórmulas y la estructura de cada libro, y documentación detallada de qué hace cada macro.
  2. Replicar 1:1. Cada Paso se reescribe en Python para que haga exactamente lo mismo que el Excel.
  3. Validar. Se comparan automáticamente los resultados de Python y de Excel, celda por celda.
  4. Unificar y mejorar. Los Pasos se unen en un solo programa. Las mejoras se implementan desactivadas por configuración para no romper la equivalencia.

Detalles técnicos

  • Cubre tramos, dobles ternas, transformadores MT/MT, auxiliares y rutas, trasladabilidad, cálculo de auxiliares, traslados de carga (a qué alimentador transferir y con qué maniobras) y la matriz de calidad de suministro (SAIDI, SAIFI, ENS y compensaciones).