Sistemi Evolutivi - (Particle Swarm Optimization, PSO)

24 downloads 1072 Views 352KB Size Report
L'algoritmo originale di Kennedy-Eberhart prevede due equazioni ad ogni .... parametriche dei veicoli elettrici (o ibridi) presenti all'interno del parcheggio nell'  ...

Sistemi Evolutivi - (Particle Swarm Optimization, PSO) Introdotta da James Kennedy e Russell Eberhart nel 1995(1) e sviluppata ampiamente nel 2001(2) come metodo per l’ottimizzazione di funzioni nonlineari continue, si ispira alla simulazione di un modello sociale semplificato (lo stormo = flock, o meglio ancora lo sciame = swarm).

Il modello di sciame “artificiale” deve aderire a cinque principi fondamentali per aderire ai dettami della “swarm intelligence”: 1. Principio di prossimità: ogni individuo della popolazione deve essere in grado di compiere semplici calcoli spazio-temporali; 2. Principio di qualità: ogni individuo della popolazione deve essere in grado di rispondere a determinati fattori di qualità relativi all’ambiente in cui si muove; 3. Principio della risposta differenziata: ogni individuo della popolazione deve evitare di restringere la propria attività all’interno di percorsi troppo ristretti; 4. Principio di stabilità: ogni individuo della popolazione non deve cambiare il proprio comportamento ogni volta che l’ambiente in cui si muove subisce delle modifiche; 5. Principio di adattabilità: ogni individuo della popolazione deve essere in grado di cambiare il proprio comportamento quando ciò giovi al costo computazionale. (1)J. (2)J.

Kennedy, R. Eberhart “Particle Swarm Optimization“, Proc. of IEEE Int. Conference on Neural Networks, Vol. 4, pp. 1942-1948, Piscataway, 1995. Kennedy, R. Eberhart “Swarm Intelligence“, Morgan Kaufmann of Academic Press, New York, 2001.

Sistemi Evolutivi - PSO

Sistemi Evolutivi - (Particle Swarm Optimization, PSO)

Ad ogni individuo i-simo dello sciame (o “particella” = particle) associamo: • • •

vi(t) = la sua velocità all’istante t-simo xi(t) = la sua posizione all’istante t-simo pi(t) = la posizione “migliore” fra quelle assunte fino all’istante t-simo



Inoltre sia pg(t) = la posizione “migliore” fra tutte quelle assunte fino all’istante t-simo dagli individui che appartengono al suo “vicinato” (neighborhood).

A. Luchetta – Complementi di elettrotecnica – Sistemi Evolutivi

Sistemi Evolutivi - (Particle Swarm Optimization, PSO) L’algoritmo originale di Kennedy-Eberhart prevede due equazioni ad ogni iterazione per correggere posizione e velocità di ogni individuo: vi(t+1) = ω·vi(t) + φ1⊗(pi(t) − xi(t)) + φ2⊗(pg(t) − xi(t))

(1)

xi(t+1) = xi(t) + vi(t)

(2)

dove φ1 = c1·R1 e φ2 = c2·R2 con c1 e c2 coefficienti di accelerazione e R1 e R2 vettori di valori casuali uniformemente distribuiti nell’intervallo [0, 1]. ⊗ è un moltiplicatore vettoriale. Il termine ω·vi(t), chiamato “momentum” o “inertia”, mantiene la continuità del moto della particella, il termine φ1⊗(pi(t) − xi(t)), chiamato “cognitive component” rappresenta la tendenza della particella a ritornare nella posizione “migliore” fra quelle visitate, il termine φ2⊗(pg(t) − xi(t)), chiamato “social component” rappresenta la tendenza della particella ad essere attratta nella posizione “migliore” fra tutte quelle visitate da tutte le particelle dello sciame. La scelta della componente “sociale” consente delle variazioni topologiche; i due paradigmi più diffusi sono quello lbest, dove pg viene scelto in una cerchia ristretta di individui (il vicinato o neighborhood, appunto, secondo una tipologia ad anello, a stella, di Von Neumann) e quello gbest, dove invece pg viene scelto senza alcuna restrizione all’interno dell’intero sciame. Inoltre vengono adottati solitamente dei metodi di contenimento della velocità, che viene limitata da un valore massimo Vmax.

Sistemi Evolutivi - PSO

Sistemi Evolutivi - (Particle Swarm Optimization, PSO) Poiché i parametri R1 e R2 sono valori casuali, il sistema assume un comportamento stocastico e le particelle che formano lo sciame si muovono nello spazio delle soluzioni in modo semi-casuale, ma sempre inseguendo la soluzione migliore (“ottima”), influenzate da pi e pg. Il sistema aderisce inoltre ai requisiti generali della “swarm intelligence”: 1. 2. 3. 4. 5.

Principio di prossimità: ogni individuo è in grado di compiere semplici calcoli spazio-temporali; Principio di qualità: ogni individuo della popolazione risponde a pi e pg ; Principio della risposta differenziata: collocando la sua risposta fra pi e pg garantisce una diversificazione della risposta; Principio di stabilità: la popolazione modifica il proprio comportamento solo quando cambia pg; Principio di adattabilità: la popolazione si comporta in modo adattivo poiché modifica il proprio comportamento quando cambia pg;

Sistemi Evolutivi - PSO

Sistemi Evolutivi - (Particle Swarm Optimization, PSO)

Algoritmo --------------------------------------------------Generazione casual di uno sciame iniziale repeat for ciascuna particella i do if f(xi) > f(pi) then pi ← xi pg = max(pneighbours) Update velocity (see Eq. (1)) Update position (see Eq. (2)) end for until criterio di stop

Sistemi Evolutivi - PSO

Particle Swarm Optimization, un esempio - Un metodo per la pianificazione ottimale dell’energia scambiata con veicoli elettrici in un parcheggio(1),1 Il metodo si propone di ottenere lo scheduling (la pianificazione) ottimale degli scambi energetici in un parcheggio per veicoli elettrici, in cui ogni postazione è anche una stazione di ricarica bidirezionale. I veicoli sono collocati in postazioni e dotati di batterie bidirezionali rispetto alla rete (V2G = Vehicle to Grid; oppure il viceversa). I parametri che caratterizzano ogni veicolo sono: Parameter

Minimum

Maximum

Battery Capacity (kWh)

10

25

Available Capacity (%)

50

100

Arrive Time

1st hour

23rd hour

Departure Time

2nd hour

24th hour

Inverter Discharge Eff. (%)

80

95

Battery Charge Eff. (%)

80

95

Il sistema deve automaticamente implementare la pianificazione degli scambi energetici, in modo da ottimizzare i guadagni, in relazione alle curve giornaliere dei prezzi di vendita dell’energia (in questo caso della California), al numero e alle caratteristiche parametriche dei veicoli elettrici (o ibridi) presenti all’interno del parcheggio nell’arco della giornata, senza mai scendere al disotto di un SoC (State of Charge) del 60% per ogni veicolo. In sostanza l’ottimizzatore (in questo caso la PSO) deve dire se in un certo momento, il veicolo deve acquistare, vendere, oppure non svolgere scambio. (1)C.Hutson,

G.K.Veneyagamoorthy, K.A.Corzine, “Intelligent Scheduling of Hybrid and Electric Vehicle Storage Capacity in a Parking Lot for Profit Maximization in Grid Power Transactions“, in Proceedings of IEEE Energy2030, Atlanta, GA, USA, Nov. 2008.

Sistemi Evolutivi - PSO

Particle Swarm Optimization, un esempio - Un metodo per la pianificazione ottimale dell’energia scambiata con veicoli elettrici in un parcheggio, 2 Poiché le uscite del sistema sono quindi binarie (in realtà ternarie -1, 0, +1), si utilizza una BPSO (Binary PSO), dove la velocità è aggiornata secondo la formula già vista: vi(t+1) = ω·vi(t) + φ1⊗(pi(t) − xi(t)) + φ2⊗(pg(t) − xi(t))

(1)

ma da questa viene calcolata una velocità normalizzata applicandovi una sigmoide: vˆ i (t + 1) = sig ( v i (t + 1)) =

1 1+ e

− v i ( t +1)

e infine viene aggiornata la posizione (binaria!): 1 if rand < vˆ i (t + 1) x i (t + 1) =  0 otherwise

(2)

Algorithm 1. Initialize a population of particles, each representing a possible solution, by assigning random solutions within the given solution space to the problem’s variables. 2. Evaluate fitness function assigned to the problem. In this application equation Fitnessi in the following is used with better solutions having a higher result when the fitness function is evaluated. 3. For each particle, compare the fitness at the current iteration with the particle’s best previous fitness. The best previous solution for a particle is known as its personal best or pi solution. 4. Select the best solution of all the pi solutions to be the global best or pg solution. 5. Update of every particle velocity using (1) and normalized velocity, and position using (2). 6. Repeat steps 2-5 until a global solution is found within a predefined number of iterations (In this work is 100). Sistemi Evolutivi - PSO

Particle Swarm Optimization, un esempio - Un metodo per la pianificazione ottimale dell’energia scambiata con veicoli elettrici in un parcheggio, 3 Caso Studio 1 Nel primo caso ogni veicolo compie una sola transazione di energia al giorno, nell’ora di massima convenienza in relazione al suo SoC previsto dopo la permanenza nel parcheggio; il costo e il ricavo sono quindi determinati con le due relazioni seguenti

C=

C = the resulting cost of charging that vehicle R = the revenue made by selling from that vehicle P(k) = the price at instant k k = the optimal buy/sell time instant kWHAvailable = Kilowatt*Hrs in the battery kWHMax = maximum battery capacity SoC = desired departure battery state of charge EffCharge = charging efficiency EffDischarge = inverter efficiency

P(t ) ⋅ ( SoC ⋅ KWhMax − KWh Avail ) Eff Ch arg e

R = P (t ) ⋅ ( KWhAvail − SoC ⋅ KWhMax ) ⋅ Eff Disch arg e NON OCCORRE PSO

Caso Studio 2 Nel secondo caso sono consentite transazioni multiple di energia nell’arco della giornata; in questo caso la PSO viene usata per determinare la soluzione migliore per ogni veicolo, codificando i tre possibili stati: 00 = “vendita energia”; 11 = “acquisto energia”; 01 e 10 = “stato di riposo”. Questi stati sono definiti per ogni veicolo e per ogni ora dell’intervallo in cui il veicolo è presente nel parcheggio. L’algoritmo PSO in questo caso determina la combinazione migliore. Per tenere in conto lo stato della carica delle batterie si usa ora:

if (buying more than once) KWhMax KWh Avail =  SoC ⋅ KWhMax if (buying only once or selling) e

Fitnessi =

Hours

∑ (R j =1

ij

− Cij ) i = 1,..., NVehicles

Sistemi Evolutivi

Particle Swarm Optimization, un esempio - Un metodo per la pianificazione ottimale dell’energia scambiata con veicoli elettrici in un parcheggio, 4

Risultati

Sistemi Evolutivi - PSO