ELAI S.r.l.

Consumir menos no basta: por qué puede aumentar el pico eléctrico

Consumir menos no basta: por qué puede aumentar el pico eléctrico Un ejemplo explica método, supuestos y límites.

Consumir menos no basta: por qué puede aumentar el pico eléctrico

Una hora con menos energía puede exigir más potencia

Un plan de IA reduce energía total. ¿Reducirá también el pico eléctrico? Concentrar trabajo puede bajar kilovatios hora y elevar potencia en una ventana. Separamos objetivos con perfiles sintéticos calculables, sin analizar tarifas reales ni prometer ahorros. Primero hay que definir qué optimizar.

Energía y potencia tienen unidades distintas

Potencia P es tasa de uso de energía, en kW; E la integra, en kWh si el tiempo son horas. Usamos sesenta intervalos constantes de un minuto: energía es suma de potencias por 1/60 hora. Al durar una hora coincide el valor numérico con potencia media, no unidades ni concepto.

E = Σ_(t=0..59) P_t · (1/60 h); mean(P) = (1/60) Σ_t P_t

A mantiene 100 kW una hora: 100 kWh. B usa 180 kW diez minutos y 60 cincuenta: (180·10+60·50)/60=80 kWh. Menos energía, pero pico instantáneo 180 frente a 100 kW. No verificamos igual producción física: aislamos métricas, no demostramos una optimización industrial viable.

El pico medido depende de la ventana

Tomemos el máximo de medias de quince minutos alineadas en 0,15,30,45. A da siempre 100 kW. El primer bloque B da (10·180+5·60)/15=140 y los demás 60. Su pico medio aumenta aunque baje energía. Predecir energía total no incorpora esta restricción temporal.

fixed_peak = max_(j=0..3) (1/15) Σ_(t=15j..15j+14) P_t

Primero media por bloque y después máximo; sigue siendo kW, no kWh. Con límite hipotético de 120 kW por bloque A cumple y B no. Optimizar un objetivo no elimina restricciones: bajo consumo total puede coexistir con potencia inadmisible.

Mover el pico no es reducirlo

C mueve los diez minutos altos a [10,20), con 60 fuera. Energía y pico instantáneo no cambian. Dos bloques fijos contienen cada uno cinco minutos altos y diez bajos: media 100 kW. El pico fijo baja a 100, pero una ventana móvil incluye los diez altos y cinco bajos: sigue en 140.

PerfilEnergía (kWh)Pico fijo (kW)Pico móvil (kW)
A100.0100.0100.0
B80.0140.0140.0
C80.0100.0140.0
B y C tienen igual energía y pico instantáneo, con distinta posición en ventanas fijas. Perfiles sintéticos de un minuto.
B y C tienen igual energía y pico instantáneo, con distinta posición en ventanas fijas. Perfiles sintéticos de un minuto.

El código enumera 46 ventanas móviles completas y cuatro bloques fijos, sin muestras fuera de la hora ni granularidades mezcladas. Alineación, duración y agregación son parte de la especificación. Una media horaria no permite reconstruir picos de quince minutos sin supuestos nuevos.

De la métrica a la decisión, con límites explícitos

EIA distingue energía, demanda máxima e intervalo; no prescribimos una tarifa. Costes reales dependen del contrato y otros componentes. No simulamos facturas, baterías ni transitorios; quedan fuera producción equivalente, rampas, reactiva y límites de planta. Viabilidad gráfica no valida eléctricamente.

Planificar con IA exige resolución adecuada: energía para totales, perfil de potencia para picos y restricciones separadas. Enumerar cuesta número de ventanas por longitud; sumas móviles reducen trabajo sin cambiar la métrica. No atribuimos benchmarks ni ahorros a EL-AI.

Menos energía puede elevar picos y desplazar un tramo mejora una métrica sin otra. No es paradoja de IA, sino preguntas distintas. Definir unidades, ventanas y límites revela qué reducimos realmente.

U.S. EIA — Demand and demand interval.

import json,sys
from pathlib import Path
A=[100.]*60;B=[180.]*10+[60.]*50;C=[60.]*10+[180.]*10+[60.]*40
def stats(x):
 block=[sum(x[i:i+15])/15 for i in range(0,60,15)];rolling=[sum(x[i:i+15])/15 for i in range(46)]
 return dict(energyKWh=sum(x)/60,meanKW=sum(x)/60,instantPeakKW=max(x),fixed15KW=block,fixedPeakKW=max(block),rollingPeakKW=max(rolling),traceKW=x)
r=dict(python=sys.version.split()[0],seed=None,scope='Constructed one-minute piecewise-constant profiles, not tariff advice or measured factory data',profiles={k:stats(v) for k,v in [('A',A),('B',B),('C',C)]})
assert r['profiles']['B']['energyKWh']<r['profiles']['A']['energyKWh'];assert r['profiles']['B']['fixedPeakKW']==140 and r['profiles']['C']['fixedPeakKW']==100 and r['profiles']['C']['rollingPeakKW']==140
Path(__file__).with_name('results.json').write_text(json.dumps(r,indent=2),encoding='utf8')

Código, datos e instrucciones · JSON. Cálculos didácticos ejecutados con Python 3.14.0; figuras con Matplotlib 3.11.2. Análisis asistido por IA, sin afirmar revisión por pares ni humana. Portada original ImageGen ilustrativa: no documenta personas, sedes ni instalaciones de EL-AI. Fuentes consultadas el 25 de octubre de 2026.