Un’ora con meno energia può chiedere più potenza
Un piano suggerito dall’AI riduce l’energia totale di un processo. È sufficiente per concludere che ridurrà anche il picco elettrico? No: concentrare il lavoro può diminuire i chilowattora e aumentare la potenza richiesta in una finestra di misura. Vogliamo separare questi obiettivi con profili sintetici semplici, calcolabili interamente. Non analizziamo una tariffa reale né promettiamo risparmi a un cliente; il punto è definire correttamente la quantità che il sistema deve ottimizzare.
Energia e potenza hanno unità diverse
La potenza P è una velocità di uso dell’energia, misurata qui in kW; l’energia E è il suo integrale nel tempo, in kWh se il tempo è in ore. Consideriamo sessanta intervalli di un minuto, ciascuno a potenza costante. L’energia è la somma delle sessanta potenze moltiplicata per 1/60 di ora. Poiché la durata totale è un’ora, il valore numerico dell’energia coincide con la potenza media: coincidono i numeri in questo caso, non le unità né i concetti.
Il profilo A mantiene 100 kW per tutta l’ora: energia 100 kWh. B usa 180 kW per i primi dieci minuti e 60 kW per i restanti cinquanta: energia (180·10+60·50)/60=80 kWh. B consuma meno, ma il suo picco istantaneo è 180 kW contro 100. Non abbiamo cambiato carichi fisici reali o verificato che i due processi producano lo stesso bene: il confronto isola la distinzione matematica fra metriche, non dimostra un’ottimizzazione industriale già fattibile.
Il picco misurato dipende dalla finestra
Supponiamo ora che interessi il massimo delle medie su blocchi fissi di quindici minuti, allineati a 0, 15, 30 e 45. Per A ogni blocco vale 100 kW. Nel primo blocco B combina dieci minuti a 180 e cinque a 60: (10·180+5·60)/15=140 kW; gli altri valgono 60. Il massimo medio di B supera quindi quello di A pur avendo minore energia totale. Una previsione della sola energia non contiene questo vincolo temporale.
Le parentesi indicano l’ordine delle operazioni: prima media dentro ogni blocco, poi massimo fra blocchi. Il risultato è ancora in kW, non in kWh. Con un limite ipotetico di 120 kW sulla media di blocco, A lo rispetta e B no. Cambiare una funzione obiettivo non elimina la necessità di verificare tutti i vincoli: un sistema può proporre un buon consumo totale e una richiesta di potenza non ammessa nello stesso momento.
Spostare il picco non equivale a ridurlo
C ha gli stessi dieci minuti a 180 kW di B, ma fra il minuto 10 incluso e il 20 escluso; altrove resta a 60. Energia e massimo istantaneo non cambiano. Ogni tratto elevato viene però diviso fra due blocchi fissi: ciascuno contiene cinque minuti a 180 e dieci a 60, media 100 kW. Il massimo fisso scende a 100. Una finestra mobile di quindici minuti può invece contenere tutti i dieci minuti elevati e cinque minuti bassi: il suo massimo resta 140.
| Profilo | Energia (kWh) | Picco fisso (kW) | Picco mobile (kW) |
|---|---|---|---|
| A | 100.0 | 100.0 | 100.0 |
| B | 80.0 | 140.0 | 140.0 |
| C | 80.0 | 100.0 | 140.0 |

Il codice enumera tutte le 46 finestre mobili complete del nostro orizzonte e confronta i quattro blocchi fissi. Non aggiunge campioni fuori dall’ora e non mescola granularità temporali. Allineamento, durata e regola di aggregazione fanno dunque parte della specifica del problema. Se il dato disponibile fosse soltanto una media oraria, molti profili diversi sarebbero indistinguibili: non potremmo ricostruire da quella media il picco a quindici minuti senza nuove ipotesi.
Dalla metrica alla decisione, con confini espliciti
La documentazione EIA distingue energia, domanda massima e intervallo di domanda; il nostro esperimento non estende quelle definizioni a una tariffa italiana specifica. Eventuali costi dipendono dal contratto reale e possono comprendere altre componenti. Non simuliamo fatture, batterie o transitori elettrici. Anche l’equivalenza produttiva dei profili, le rampe, le potenze reattive e i limiti dell’impianto restano fuori dal modello. Una soluzione ammissibile sul grafico non è una validazione elettrica.
Per un sistema AI di pianificazione, la conseguenza è chiedere previsioni e decisioni alla granularità dell’obiettivo: energia per il bilancio, profilo di potenza per i picchi, vincoli separati per la fattibilità. L’enumerazione diretta delle finestre costa lavoro proporzionale al numero di finestre per la loro lunghezza; una somma mobile può ridurlo, ma non cambia il significato della misura. Non riportiamo benchmark hardware né risparmi ottenuti da EL-AI.
Consumare meno può dunque aumentare il picco, e spostare un tratto può migliorare una metrica senza migliorarne un’altra. Non è un paradosso dell’AI: è una differenza fra le domande poste ai dati. Scrivere prima unità, finestre e vincoli permette di riconoscere se stiamo riducendo un consumo, un picco misurato o soltanto il valore di un indicatore scelto male.
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')
Codice, dati e istruzioni · JSON. Calcoli didattici eseguiti con Python 3.14.0; figure con Matplotlib 3.11.2. Analisi con assistenza AI, senza dichiarare peer review o revisione umana. Copertina originale ImageGen, illustrativa: non documenta persone, sedi o installazioni EL-AI. Fonti consultate il 25 ottobre 2026.

