Parte III – Dimensionamento rete di distribuzione

Slides:



Advertisements
Presentazioni simili
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Advertisements

MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare,
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Metodi numerici per equazioni lineari iperboliche Gabriella Puppo.
Algoritmi Genetici Alessandro Bollini
ESERCIZI.
Rete di Hopfield applicata al problema del TSP Federica Bazzano
ESERCITAZIONE DUE Parte III – Dimensionamento rete di distribuzione Si dimensioni la rete di distribuzione idrica schematizzata in figura al fine di minimizzare.
Esercitazione 1 Sistema acquedottistico di adduzione Corso di Costruzioni Idrauliche ing. Stefano Alvisi
ALMA MATER STUDIORUM – UNIVERSITA’ DI BOLOGNA Presentazione del corso A.A Produzione dell’energia elettrica L.
ESERCITAZIONE DUE Sistema acquedottistico di distribuzione Prima parte Si consideri il sistema acquedottistico di distribuzione schematizzato in figura.
La seguente matrice è una matrice delle distanze di un’istanza del problema del Commesso Viaggiatore. Calcolare un lower bound per il valore del ciclo.
Huffman Canonico: approfondimento. Come abbiamo visto, Huffman canonico ci permette di ottenere una decompressione più veloce e con un uso più efficiente.
Sorgente Thomson, ultimi risultati. Calcoli storici Linea semplificata:
Progetto - Campus (POR FESR ) Sistema Integrato per il Monitoraggio del Ciclo delle Acque Scenari per la protezione degli impianti di gestione.
Product Quantization for Nearest Neighbor search.
Genetica delle Popolazioni a.a prof S. Presciuttini DIMENSIONE EFFETTIVA DELLA POPOLAZIONE Questo documento è pubblicato sotto licenza Creative.
IMPIEGO IN AMBIENTE INDUSTRIALE
© 2007 SEI-Società Editrice Internazionale, Apogeo
Varianti e mutazioni ALBERI GENEALOGICI
PROGETTO DI UNA RETE DI ACQUEDOTTI Corso di Costruzioni Idrauliche
(Codice identificativo progetto: PON03PE_00159_1)
laboratorio evoluzione Marcello Sala
Branch and Bound Lezione n°19 Prof.ssa Rossella Petreschi
Sistema acquedottistico di adduzione
hin=1 m K=0.01*(2)2 = 4x10-2 m/s hout=0.5 m Ve=Q/A*ne = Ki/ne
FINANZA AZIENDALE ESERCITAZIONE 3.
Branch and Bound Lezione n°14 Prof.ssa Rossella Petreschi
Metodi Quantitativi per Economia, Finanza e Management Lezione n°12 Regressione Logistica: Le ipotesi del modello, la stima del modello.
13/11/
ESERCITAZIONE DUE Parte I - EPANET
Lavori in corso su ordinazione
Lezione n°17 Prof.ssa Rossella Petreschi
Sistema acquedottistico di adduzione
Job Application Monitoring (JAM)
Esercitazione n° 4 FONDERIA
Event dissemination over wide-area networks exploiting Network Coding and distributed gossip-based recovery: a mathematical model and some results Roberto.
Programmazione strutturata
Informatica per Scienze Geologiche LT a.a
 1 mm Q2 40 l/s Q3 20 l/s L 500 m D 250 mm L 400 m H0 40 m D 150 mm
Informatica per l’Ingegneria
Università degli Studi di Ferrara Dipartimento di Ingegneria
La Statistica Istituto Comprensivo “ M. G. Cutuli”
Process synchronization
Classe III A A.s – 2012 Programma di Informatica
Un esempio Una casa farmaceutica dichiara che un nuovo antidolorifico che sta per immettere sul mercato fa effetto mediamente in un tempo pari a 12,75.
Statistica descrittiva
Riorganizzazione processi corrispondenza Posta retail in J+1
ESERCITAZIONE DUE Sistema acquedottistico di distribuzione Prima parte
IL PROGRAMMA STEMEC. IL PROGRAMMA STEMEC STEMEC Lo STEMEC è un software per la progettazione meccanica di scambiatori di calore a fascio tubiero secondo.
Branch and Bound Lezione n°18 Prof.ssa Rossella Petreschi
Cammini di costo minimo su un grafo pesato
Laboratorio di Circuiti Elettrici
 1 mm Q2 40 l/s Q3 20 l/s L 500 m D 250 mm L 400 m H0 40 m D 150 mm
Laboratorio di Circuiti Elettrici
Sistema acquedottistico di adduzione
APPUNTI SUL LINGUAGGIO C
 1 mm Q2 40 l/s Q3 20 l/s L 500 m D 250 mm L 400 m H0 40 m D 150 mm
APPUNTI SUL LINGUAGGIO C Esercizi sugli array e strutture
COSTO STANDARD – CHI SI RIVEDE
Sistema acquedottistico di adduzione
APPUNTI SUL LINGUAGGIO C
APPUNTI SUL LINGUAGGIO C
Università degli Studi di Ferrara Dipartimento di Ingegneria
Corso di Fondamenti di Informatica
Algoritmi di ordinamento
Script su vettori Realizza uno script che chiede in input una dimensione d e crea un vettore di d numeri interi casuali. Poi calcola la somma dei due numeri.
Corso di Fondamenti di Informatica
Transcript della presentazione:

Parte III – Dimensionamento rete di distribuzione ESERCITAZIONE DUE   Parte III – Dimensionamento rete di distribuzione Si dimensioni la rete di distribuzione idrica schematizzata in figura al fine di minimizzare i costi garantendo un carico minimo di 25 m in tutti i nodi. A tal fine si implementi in ambiente Matlab un codice per il progetto ottimale a minimo costo con vincolo sul rispetto dei carichi minimi nodali basato sull’accoppiamento di un algoritmo genetico con il metodo del gradiente implementato nell’ambito della Parte II della Esercitazione 2. Si riporti: il codice l’andamento della funzione obiettivo i diametri di progetto i carichi in tutti i nodi ottenuti utilizzando i diametri di progetto

I diametri utilizzabili e i relativi costi sono La rete è alimentata da un serbatoio (Serb) a carico imposto pari a 30 m. Le caratteristiche della rete, quote e richieste idriche dei nodi a carico incognito e lunghezze e scabrezze delle condotte sono riportate nel file Dati_rete_dimensionamento.xlsx I diametri utilizzabili e i relativi costi sono D [mm] 75 100 150 200 250 300 350 400 500 600 Costo [€/m] 227 231 272 299 328 360 399 439 503 581

Programma main clear all close all clc global NT NN q H0 A10 A12 A21 L ks N n global costi Hmin Dprog global H Q %-------------------------------------------------------------------------% %Dati Dprog=[75 100 150 200 250 300 350 400 500 600]; nDprog=length(Dprog); %costi al m in € %Dprog=[ 75 100 150 200 250 300 350 400 500 600]; costi= [227 231 272 299 328 360 399 439 503 581]; Hmin=25; load tronchi.txt load nodi.txt %ricostruisco la matrice topologica della rete …. %Parametri Algoritmo genetico nind=200; ngen=500; npar=NT; Pmut=0.05; % prob del 5% %Range parametri par_min=ones(1,NT); par_max=ones(1,NT)*nDprog;

%-------------------------------------------------------------------------% %Popolazione iniziale for i=1:nind for j=1:npar Chrom(i,j)=round(par_min(j)+rand*(par_max(j)-par_min(j))); end %Valuto ciascun individuo della popolazione iniziale ValFO(i)=FO(Chrom(i,:)); ChromFO=[Chrom, ValFO']; for g=1:ngen %associo a ciascun individuo fitness=1/FO FIT=1./ChromFO(:,npar+1); ChromFO(:,npar+2)=FIT; %associo a ciascun individuo una probabilità P ChromFO=sortrows(ChromFO, npar+2); %riordina le righe in base alla colonna npar+2 (fitness) in senso crescente Prob=2/nind*([1:nind]-1)/(nind-1); Probcum=[cumsum(Prob)]; %Genero la nuova popolazione ChromNEW=[];

for i=1:(nind/2); %seleziono una coppia di genitori x1=rand; posg1=max(find(Probcum<x1)); g1=ChromFO(posg1,1:npar); x2=rand; … %Cross-over pettine=round(rand(1,npar)); f(1,:)=g1.*pettine+g2.*(1-pettine); f(2,:)=g2.*pettine+g1.*(1-pettine); %Mutazione for k=1:2 %ciclo sui due figli mut=rand; if mut<=Pmut genedamut=round(1+rand*(npar-1)); f(k,genedamut)=round(par_min(genedamut)+rand*(par_max(genedamut)-par_min(genedamut))); end end %Chiusura ciclo generazione nuova popolazione

%Valuto ciascun individuo della nuova popolazione for i=1:nind ValFO(i)=FO(ChromNEW(i,:)); end ChromNEWFO=[ChromNEW, ValFO']; %Elitismo if min(ChromNEWFO(:,npar+1))>min(ChromFO(:,npar+1)) [val,pos_pegg]=max(ChromNEWFO(:,npar+1)); [val,pos_migl]=min(ChromFO(:,npar+1)); %ChromNEWFO(pos_pegg,:)=ChromFO(pos_migl,:); ChromNEWFO(pos_pegg,1:npar+1)=ChromFO(pos_migl,1:npar+1); ChromFO=ChromNEWFO; bestFO(g)=min(ChromNEWFO(:,npar+1)); end %Chiusura ciclo sulle generazioni par_ott=ChromFO(pos_migl,1:npar) %-------------------------------------------------------------------------% %Simulazioni di verifica CostoBest=FO(par_ott); figure(1) plot(bestFO)

function costTot=FO(xD) global NT NN q H0 A10 A12 A21 L ks N n global costi Hmin Dprog global H Q D(:,1)=Dprog(xD)/1000; costo=sum(costi(xD).*L'); %-------------------------------------------------------------------------% %metodo gradiente ….. violazioni=find(H<Hmin); violTot=sum(Hmin-H(violazioni)); costTot=costo*(1+violTot);

costo generazione