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 tT k K ( i , j ) A t t cijk xijk k K ( i , j ) A '' dijk xijk subject to jN :( i , j ) A zikt gijk yijk hik zik mei zei k K ( i , j ) A'''' jN :( i , j ) A t xijk jN :( j ,i ) A t xijk t k K iS tjik xtjik bikt jN :( 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) eE iR t ijk t ijk t ik tT k K jN :( 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