TRACCIA RELAZIONE LECCO

Transcript

TRACCIA RELAZIONE LECCO
Progetto D.E.E. - Distretti Energetici Efficienti
“Sviluppo di una metodologia di progettazione
integrata per distretti energetici ad alta efficienza”
MANUALE SOFTWARE - BOZZA
Responsabili scientifici
Prof. Giancarlo Chiesa, Prof. Niccolò Aste
Aprile 2012
Politecnico di Milano
Dipartimento di Scienza e Tecnologie dell'Ambiente Costruito
Via Bonardi, 3
20133 Milano
Tel. 02 2399 5161
Fax 02 2399 5130
www. polimi.it/best
Partita Iva: 04376620151
Codice fiscale: 80057930150
INDICE
1 INTRODUZIONE ...................................................................................................................... 3
2 MODELLAZIONE NUMERICA PER LA GESTIONE DINAMICA DELL’ENERGIA
A SCALA DI DISTRETTO ............................................................................................................ 3
2.1
DESCRIZIONE DEL MODELLO ......................................................................................................................4
2.2
RISOLUZIONE DEL MODELLO DI OTTIMIZZAZIONE ...........................................................................6
2.3
INSTALLAZIONE DELL’OTTIMIZZATORE ................................................................................................7
2.4
INSERIMENTO DELLE CONDIZIONI DEL MODELLO .............................................................................9
2.5
VISUALIZZAZIONE DEL MODELLO ..........................................................................................................11
2.6
MODELLIZZAZIONE AUTOMATICA ..........................................................................................................11
2
1
INTRODUZIONE
Nel presente documento viene illustrato il modello di ottimizzazione per la gestione dinamica
dell’energia a scala di distretto, oggetto del Progetto di ricerca D.E.E. - Distretti Energetici
Efficienti “Sviluppo di una metodologia di progettazione integrata per distretti energetici ad alta
efficienza”. Il modello, del tipo mixed integer linear programming (MILP) viene risolto con un
solutore numerico dedicato, utilizzando come piattaforma per l’input dei dati MS Excel. Il
software di modellazione utilizzato viene illustrato nelle sue componenti essenziali per permettere
la comprensione del passaggio dalla teoria del modello numerico proposto alla sua
implementazione pratica.
2
MODELLAZIONE NUMERICA PER LA GESTIONE
DINAMICA DELL’ENERGIA A SCALA DI DISTRETTO
Come risultato della ricerca descritta nei capitoli precedenti emerge la necessità di disporre di un
modello numerico per la gestione dinamica dell’energia a scala di distretto. Tale modello deve
essere in grado di risolvere un problema strutturato nella maniera esposta di seguito.
La funzione obiettivo da minimizzare riguarda il costo dei servizi energetici a differenti intervalli
temporali, quali ad esempio, giorno, mese, ora. Il costo totale dei servizi energetici è determinato
dalla somma delle seguenti componenti:
 costo dei combustibili e dei vettori energetici;
 costo di gestione e manutenzione degli impianti e delle componenti tecnologiche;
 ammortamento dei costi legati alle componenti tecnologiche.
I vincoli numerici e tecnici al quale il modello deve sottostare nella ricerca delle strategie
operative migliori sono le seguenti:
 rispetto del bilancio energetico tra energia acquistata, convertita, consumata localmente
e venduta alla rete;
 rispetto delle condizioni limite operative delle macchine (cogeneratori, caldaie, pompe
di calore, ecc.);
 rispetto delle condizioni limite operative degli stoccaggi;
 rispetto delle condizioni limite operative per la gestione del carico;
 rispetto dei vincoli normativi rispetto all’efficienza energetica;
 rispetto dei vincoli normativi rispetto alle emissioni;
 rispetto dei limiti imposti dalla capacità d’investimento (ad es. tempo di ritorno
dell’investimento o valore attuale netto).
Il problema risultante è pertanto un problema di notevoli dimensioni, che richiede la definizioni di
una strategia di risoluzione appropriata.
I modelli presentati in precedenza, sebbene consentano di svolgere un numero notevole di
operazioni e possano costituire strumenti di supporto per la grande varietà di azioni necessarie
nella progettazione di distretti ad alta efficienza, non ci permettono di svolgere una gestione
3
dinamica dell’energia con strumenti di tipo aperto, modificabili, aggiornabili ed open source, con
la possibilità di pieno e libero accesso al codice di calcolo.
In sintesi lo scopo fondamentale della modellistica proposta è la:
 gestione dei flussi energetici;
 gestione dei livelli di carico;
 gestione ed allocazione delle risorse (scheduling, matching).
Questa gestione può avvenire sia a scala di edificio e di distretto, a patto che si provveda ad una
dettagliata acquizione dei dati di domanda di energia, tale da consentirne una efficace
rielaborazione ai fini modellistici. Come verrà illustrato nel paragrafo successivo attraverso la
formulazione matematica dettagliata, l’approccio proposto, basato sula teoria dei grafi e sui
modelli a rete, fornisce una struttura logica per la formulazione del problema e la sua risoluzione.
La risoluzione ottimale del problema ha ovviamente un impatto economico, energetico ed
ambientale non trascurabile, data la razionalizzazione dell’uso delle fonti fossili e la riduzione
delle emissioni. All’interno del paradigma proposto è possibile inoltre valutare l’interazione
dinamica tra i differenti elementi (ad es. lo scambio con la rete elettrica). Viene riportata nel
paragrafo successivo la documentazione matematica del modello.
2.1 DESCRIZIONE DEL MODELLO
Nel presente paragrafo viene introdotta la formulazione del modello per la risoluzione del
problema della gestione dinamica dell’energia a scala di edificio e distretto, così come descritta
nelle pubblicazioni internazionali realizzate nell’ambito del presente progetto di ricerca.
Nomenclature
Indices, subscripts and superscripts
i,j
nodes
e
emission type
k,r
commodities
t
time-step
Sets
A
A’, A’’
C
E
N
M
S
T
arcs
arcs with continuous decision variables for investment (subsets of A)
conversion nodes
emissions
nodes
transhipment nodes
storage nodes
time period
Decision variables
xtijk
continuous decision variable, flow on arc (i,j) of commodity k at time t
binary decision variable on arc (i,j) of commodity k at time t (connection
ytijk
status)
yijk
binary decision variable on arc (i,j) of commodity k (investment)
ztik
continuous decision variable, stored quantity on node i of commodity k at
4
ze,i
time t
continuous decision variable, emission of type e on node i
Parameters and coefficients
btik
external flow on node i of commodity k at time t
t
c ijk
variable cost of flow (per unit) on arc (i,j) of commodity k at time t
dijk
fixed cost of arc (i,j) of commodity k (continuous decision variables)
feijk
factor for type of emission on arc (i,j) for commodity k
gijk
fixed cost of arc (i,j) of commodity k (binary decision variables)
hijk
fixed cost of node i for commodity k (continuous decision variables)
ltijk
lower bound of flow on arc (i,j) of commodity k at time t
t
u ijk
upper bound of flow on arc (i,j) of commodity k at time t
µtijk
gain factor of flow on arc (i,j) of commodity k at time t
Δt
time-step
The problem of the minimization of the cost of energy services under technical and environmental
constraints is expressed as a general multi-commodity network flow problem in the following
form:
minimize
 
k K ( i , j ) A
cijk xijk
subject to conservation of flow constraints
side constraints
where xi,j,k denotes the flow of commodity k on the arc between nodes (i,j), and A is the set of arcs
in the network. The objective function ci,j,kxi,j,k represents the product of the cost of flow in arcs and
is a convex monotonically increasing function.
The network flow model consists of nodes and arcs, arcs are directed line segments (edges are undirected line segments, used in graph theory) connecting nodes (origin node, terminal node).
The arc flows are the decision variables for the network flow model. Flow is conserved at the
nodes (node balance), implying that the total flow entering a node must equal the total external
flow leaving the node; this property is expressed by conservation of flow constraints.
5
minimize
 
tT k K ( i , j ) A
t
t
cijk
xijk


k K ( i , j ) A ''
dijk xijk  

subject to
 jN :( i , j ) A
zikt 


gijk yijk    hik zik    mei zei
k K ( i , j ) A''''
 jN :( i , j ) A
t
xijk


 jN :( j ,i ) A
t
xijk
t 
k K iS
 tjik xtjik  bikt

 jN :( j ,i ) A
 tjik xtjik t  bikt t
t
t
t
xijr
 ijk
xijk
0
t 1
ik
t
ijk
t
ijk
t
ik
z
 z 0
t t
ik ik
t
t
ijk
ijk
t
t
ijk
ijk
t
t
ik
ik
l  x u
k  K , i  ( M  R), t  T
(2)
k  K , i  S , t  T
(3)
k  K , r  K , i  R, t  T
(4)
k  K , i  S , t  T
(5)
k  K , (i, j )  A , t  T
(6)
k  K , (i, j )  A''' , t  T
(7)
l  z u
k  K , i  S , t  T
(8)
x  xijk
k  K , (i, j )  A , t  T
(9)
y  yijk
k  K , (i, j )  A , t  T
(10)
z  zik
k  K , i  S , t  T
(11)
k  K , i  R, e  E , t  T
(12)
'
t
t
lijk
y  x  u yijk

(1)
eE iR

t
ijk
t
ijk
t
ik
tT k K  jN :( j ,i ) A
''
''''
f e jik  x
t
jik
t
jik
 zei
The function to be minimized is (1), which represents the sum of fixed and variables cost of energy
vectors, emission, etc. The constraints of the model are as follows:
1. conservation of flow constraints on energy transshipment nodes, Eq.(2);
2. conservation of flow constraints on energy storage nodes, Eq.(3);
3. conservation of flow constraints on energy conversion nodes, Eq.(4);
4. conservation of flow constraints on energy storage nodes over different time-steps, Eq.(5);
5. upper and lower bounds of flow in arcs, Eq.(6);
6. upper and lower bounds of flow in arcs with on/off status, Eq.(7);
7. upper and lower bound of level in storage nodes, Eq.(8);
8. side constraints related with arc investment cost (continuos decision variables), Eq.(9);
9. side constraints related with arc investment cost (binary decision variables), Eq.(10);
10. side constraints related with node investment cost (continuos decision variables), Eq.(11);
11. side constraints related with node investment cost (continuos decision variables), Eq.(12).
The resolution strategy for the problem described is to adopt a mixed integer linear programming
formulation (MILP) in order to be able to solve it to proven global optimality (primal-dual
algorithm) in reasonable time.
2.2 RISOLUZIONE DEL MODELLO DI OTTIMIZZAZIONE
La piattaforma scelta per l’input dei dati al modello di ottimizzazione è MS Excel, uno strumento
di calcolo largamente diffuso ed accessibile. Nella prima fase di sviluppo si è puntato sulla libreria
di Python PuLP e sull’ambiente di sviluppo Python xy per riuscire a risolvere il problema
attraverso l’uso del software di calcolo COIN-OR (Computational Infrastructure for Operations
Research) CBC, un’applicazione open source estremamente performante per la soluzione di
problemi del tipo mixed integer linear programming (MILP) come quello del modello proposto
all’interno della presente ricerca.
Lo sviluppo nello stesso periodo di tempo di un’interfaccia open source per COIN-OR CBC,
denominata OpenSolver e direttamente utilizzabile da MS Excel ha permesso di sviluppare
rendere molto più agevole l’accesso alle pratiche di modellazione.
É opportune ricordare che lo stesso MS Excel dispone di un solutore, denominato Solver, il quale
può essere utilizzato per la risoluzione di problemi di ottimizzazione. Qualora questi problemi
6
tuttavia superino le 200 variabili (cosa assolutamente normale nei problemi di ottimizzazione
operativa reali) attualmente ammesse dal solutore già presente all’interno della piattaforma, è
necessario ricorrere a soluzioni professionali a pagamento.
Lo scopo di OpenSolver è quello di fornire una valida e affidabile alternativa, limitata a problemi
di tipo LP e MILP, senza porre virtualmente limiti di variabili. Il software COIN-OR CBC è infatti
testato per problemi con oltre 1.000.000 di variabili e, nella versione accessibile attraverso
OpenSolver può risolvere problemi nell’ordine delle decine di migliaia di variabili.
É pertanto accessibile all’utente, attraverso un’interfaccia analoga a quella del Solver di Microsoft
un grande potenziale di calcolo, non eguagliato in termini di facilità d’uso e potenza da nessuna
altra soluzione open source e superiore, in alcuni casi, anche a soluzioni a pagamento.
Questo software ha valso ai suoi sviluppatori, Andrew Mason e Ian Dunning del Dipartimento di
Science dell’Ingegneria dell’Università di Auckland, il primo premio della COIN-OR INFORMS
Cup del 2011, patrocinato da IBM.
Vengono riassunte in breve le caratteristiche del software utilizzato:
 OpenSolver permette la risoluzione di problemi del tipo LP e MILP di grandi
dimensioni, generalmente risolvibili sono con software a pagamento e ricorso alla
programmazione;
 attraverso OpenSolver è possibile inserire funzioni obiettivo, equazioni e disequazioni
per la costruzione dei modelli in maniera del tutto analoga con quanto avviene per il
Solver di MS Excel;
 è possibile agire anche sulla modalità di calcolo inserendo due colonne con appositi
parametri “OpenSolver_CBCParameters”;
 è possibile accedere al solutore COIN-OR CBC anche attraverso la riga di comando,
sfruttando l’output in formato standard .lp per modelli di ottimizzazione lineare fornito
da OpenSolver;
 il solutore è sostituibile ed aggiornabile ogniqualvolta vengano apportati dei
miglioramenti, visto il continuo sviluppo con licenza open source;
 i risultati ottenuti successivamente alla risoluzione dal parte del solutore COIN-OR
CBC del problema nel formato standard .lp vengono ricaricati direttamente nel foglio
di MS Excel;
 gli errori nei risultati di output vengono riportati attraverso opportune finestre di
dialogo.
Nei paragrafi successive verranno date le indicazioni per l’installazione e l’inserimento dei dati nel
software ai fini della modellazione ed ottimizzazione.
2.3 INSTALLAZIONE DELL’OTTIMIZZATORE
L’installazione dell’Add-In OpenSolver avviene scaricando la cartella contenente tutti i
componenti software del pacchetto e facendo doppio click su OpenSolver.xla, accettando in
seguito la richiesta d’installazione. Alternativamente è possibile andare nelle Opzioni di Excel e
caricare
7
Figura 2.1 – Selezione dell’Add-In all’interno delle Opzioni di MS Excel
Figura 2.2 – Menu di OpenSolver caricato nel ribbon di MS Excel
Figura 2.3 – Schermata con le principali opzioni del software
8
Figura 2.4 – Schermata per l’inserimento del modello di ottimizzazione
2.4 INSERIMENTO DELLE CONDIZIONI DEL MODELLO
Nel presente paragrafo vengono illustrate le opzioni fondamentali per la costruzione del modello:
 inserimento delle funzione obiettivo;
 definizione delle variabili;
 inserimento delle condizioni costituite da uguaglianze;
 inserimento delle condizioni costituite da disuguaglianze.
Figura 2.5 – Inserimento della funzione obiettivo
9
Figura 2.6 – Definizione delle variabili
Figura 2.7 – Inserimento dei vincoli – uguaglianze
Figura 2.8 – Inserimento dei vincoli - disuguaglianze
10
2.5 VISUALIZZAZIONE DEL MODELLO
É presente uno strumento per la visualizzazione automatica degli elementi costituenti il modello di
ottimizzazione. Tale opzione viene richiamata attraverso il menu a tendina con le principali
opzioni software.
Figura 2.9 – Visualizzazione delle condizioni presenti nel modello
2.6 MODELLIZZAZIONE AUTOMATICA
É presente una funzione molto avanzata per la modellizzazione automatica accessibile attraverso
un bottone nella schermata principale di dialogo.
Figura 2.10 – Schermata di inserimento del modello – opzione AutoModel
Per riuscire a modellizzare in maniera automatica il problema è necessario fornire nel foglio di
calcolo di MS Excel i dati essenziali in modo che l’interfaccia possa riconoscerli in automatico.
11
Questo avviene utilizzando la stessa simbologia grafica evidenziata con la visualizzazione
automatica del problema.
E’ presente la possibilità di inserire opzioni personalizzate di calcolo, nominando all’interno del
foglio di calcolo una tabella opportuna con “OpenSolver_CBCParameters”, in modo tale che i
parametri siano passati direttamente al solutore COIN-OR CBC.
Figura 2.11 – Opzioni personalizzate di risoluzione
12