§ 2 AMES, il modello e le ipotesi sottostanti
2.1 Caratteristiche principali
La progettazione del software AMES non è ancora giunta al termine, tuttavia l'estrema estendibilità del framework utilizzato garantiscono già dall'attuale versione AMESMarket v1.31 di avere a disposizione un programma pienamente funzionante che incorpora alcuni elementi chiave di un mercato elettrico, la licenza open source garantisce, inoltre, la possibilità di soggiungere nuovi moduli che simulino ulteriori caratteristiche del mercato oggetto di analisi.
Tesfatsion e Sun [2007a] sottolineano 8 "core elements" correntemente implementati in AMES:
1) Lo spazio in cui operano gli agenti è una griglia di trasmissione elettrica a corrente alternata, modellata con un network costituito da un numero di nodi e di link decisi dall'utilizzatore del programma. I link sono dei collegamenti senza verso fra nodi differenti, mentre i nodi possono essere considerati come quei punti della rete di trasmissione in cui l'energia elettrica è o "iniettata", perché prodotta da un impianto di produzione di energia che si trova in quel nodo, o "prelevata" da un acquirente di energia che successivamente rivenderà ai suoi clienti finali.
2) Il tempo scorre in modo discreto fino ad un periodo massimo pari a DMax, che è scelto dall'utilizzatore in fase di inserimento dei dati della simulazione. Ogni giorno è costituito di 24 ore H, partendo dall'ora 00, giungendo all'ora 23.
3) Il mercato elettrico all'ingrosso modellato con AMES è costituito da 3 tipi di agenti. Il primo agente è il gestore del mercato elettrico, esso è indicato con l'abbreviazione "ISO", acronimo di Independent System Operator. L'ISO si assume primariamente la responsabilità di mantenere il sistema elettrico in completa sicurezza, evitando congestioni di sistema; si occupa della gestione delle aste fra acquirenti e venditori del mercato elettrico ed è quindi necessario che la sua indipendenza sia garantita dall'assenza di conflitti di interessi con gli altri protagonisti del mercato. Ciascun nodo della griglia di trasmissione può essere occupato da uno o più agenti del secondo e del terzo tipo, questi agenti sono i traders, i quali possono acquistare o vendere energia. I Generators sono unità che producono e vendono energia all'ingrosso, mentre gli acquirenti di energia sono le Load-Serving Entities (LSEs), esse sono utilities che forniscono energia a clienti finali, siano essi imprese commerciali o utenti residenziali.
4) Le operazioni giornaliere intraprese dall'Independent System Operator concernono due sistemi di settlement, il primo è definito Real-Time Market, talvolta ci si riferisce ad esso con il termine Spot Market, il secondo è il mercato del giorno dopo, detto Day-Ahead Market. Entrambi fanno uso dei locational marginal prices, prezzi dell'energia elettrica in differenti nodi del network di trasmissione.
5) Per quanto concerne il mercato del giorno dopo, il gestore del mercato determina, nel giorno D, sia gli impegni di potenza elettrica per i generatori di energia, sia i prezzi zonali per il giorno successivo D+1. L'ISO basa le sue decisioni su domanda e offerta di forward financial contracting dei Generators e delle Load-Serving Entities sottoposte nel giorno D, durante le ore 00-11, avendo dei vincoli determinati dal dover evitare congestioni nella rete elettrica.
6) Al termine di ogni giorno D, l'Independent System Operator definisce una lista di tutti gli impegni orari per ciascun partecipante al mercato, per il giorno D+1
7) Il Real-Time market è necessario per saldare, ai prezzi zonali del mercato in real-time del giorno D+1, ogni eventuale differenza che dovesse sorgere fra le condizioni reali di domanda e offerta di energia nel giorno D+1 e quando preventivamente deciso dall'ISO nel giorno precedente D.
8) Il locational marginal pricing è un approccio efficiente alla gestione delle congestioni di rete, in quanto nei prezzi zonali è inclusa una componente che tiene conto della possibilità di congestioni.
Queste caratteristiche, sebbene necessarie per avviare delle simulazioni sul mercato elettrico, in realtà non esauriscono tutte le dinamiche presenti nel mercato reale. Ulteriori elementi saranno pertanto necessari per riflettere appieno il progetto di riforma del mercato proposto dalla Federal Energy Commission. Tra le caratteristiche in via di implementazione si possono ricordare [Tesfatsion, 2007a]:
1) Moderazione del potere di mercato degli attori del mercato.
2) Il Day-Ahead Market e il Real-Tim market non sono gli unici mercati su cui avvengono accordi fra i traders: spesso esistono contratti che impegnano acquirenti e venditori per lunghi periodi. Si rende pertanto necessaria l'implementazione de bilateral trading.
3) Nel mercato del giorno dopo i prezzi possono crescere a causa di costi dovuti alle congestioni nella rete di trasmissione, per ovviare a tale problema, Genetators e Load-Serving Entities possono stipulare degli ulteriori accordi, i financial transmission rights (FTRs), anch'essi non sono ancora inclusi nel progetto AMES. Considerati due nodi A e B, l'acquisto di un FTR sul link che va dal nodo A al nodo B dà all'acquirente il diritto ad ottenere un compenso nel caso in cui il prezzo al nodo B è superiore al prezzo presente al nodo A; in caso contrario, quando il prezzo zonale al nodo A è superiore al prezzo zonale in B, è l'acquirente del financial transmission right a dover effettuare il pagamento. Ulteriori informazioni su tale argomento possono essere reperite nel working paper "U.S. financial trasmission rights: Theory and practice", di J. Sun [2006].
4) Vincoli di sicurezza di rete da inserire nel problema di ottimizazione (optimal power flow) giornalmente risolto dall'Independent System Operator.
5) Seguendo l'architettura di mercato elettrico adottata dal Midwest Independent System Operator, in futuro il progetto AMES incorporerà un periodo di Re-Bid: tutti i produttori di energia elettrica che non vincolati da precedenti impegni di produzione (day-ahead schedule) hanno l'opportunità di modificare la loro offerta per il giorno D+1 entro le ore 18 di ciascun giorno D [PJM, 2005].
L'operatore indipendente del sistema di trasmissione (ISO) è responsabile del coordinamento dei flussi di potenza reattiva e dei profili di tensione, esso calcola gli impegni di produzione di energia di ciascun Generator e i prezzi zonali per ogni ora della giornata successiva, sia per il Day-Ahead Market, sia per il Real-Time Market, attraverso la risoluzione di un problema di gestione ottimale del trasporto di energia, dati i vincoli fisici, ciò significa che con il suo operato l'ISO si propone di realizzare 3 obiettivi [Chirico, 2002]:
(a) soddisfare la domanda di carico richiesta dalle Load-Serving Entities, considerando anche le perdite di potenza che si verificano nella griglia di trasmissione, data la quantità di energia che può essere fornita;
(b) minimizzare la funzione obiettivo di costo variabile totale costruita sulla base delle informazioni riferite dai Generators;
c) controllare che alcuni parametri si mantengano all'interno di un range prestabilito, ad esempio la potenza per ciascun impianto non deve superare la potenza massima erogabile.
Nel software AMES, l'ISO risolve un problema di DC Optimal Power Flow (DC OPF), il quale approssima il sottostante problema di Optimal Power Flow in corrente alternata (AC OPF). La modularità tipica della programmazione in Java ha permesso di sviluppare un efficiente modulo, a se stante, che si occupa della risoluzione vera e propria del problema di ottimizzazione, tale modulo è denominato QuadProgJ, esso è un risolutore valido per funzioni quadratiche strettamente convesse. Fondamentalmente la classe Java che modella l'Independent System Operator alle ore 11 richiama il modulo DCOPFJ, cui passa alcuni parametri strutturali e le varie offerte ricevute entro le ore 11 dai Generators e i profili orari di carico richiesti dalle LSEs; il modulo DCOPFJ è necessario poiché ha il compito di effettiare alcune riparametrizzazioni necessarie affinché QuadProgJ, da questi invocato, riceva gli input utili alla risoluzione del problema nella forma predefinita da esso richiesta. In apparenza tale sistema può risultare inutilmente complicato, la classe ISO potrebbe essere modellata in modo da avere al suo interno alcuni metodi atti alla risoluzione del DC OPF problem senza dover richiamare ulteriori moduli, in realtà tale soluzione tecnica garantisce ad ogni programmatore la possibilità di introdurre ulteriori e più efficienti moduli per la soluzione del problema, senza per questo dover stravolgere il codice già esistente.
Il framework di AMES include un modulo di apprendimento, denominato JReLM, che può essere utilizzato dagli attori del mercato; questo modulo, progettato da Gieseler [Gieseler, 2005], implementa una vasta serie di metodi di apprendimento con rinforzo, l'utente programmatore può inoltre introdurre ulteriori moduli di apprendimento da utilizzare in sostituzione di quelli esistenti, quali ad esempio social mimicry e belief learning, in tal modo AMES fornisce un'estrema flessibilità di scelta.