• Non ci sono risultati.

Soluzione del problema di identificazione mediante l’applicazione

Quando il problema di identificazione si basa su un modello con decine o centi- naia di gradi di libert`a, il problema di minimizzazione (3.93) pu`o risultare com- putazionalmente proibitivo da poter essere risolto con le tecniche classiche di ottimizzazione, e per tale motivo si ricorre alla tecnica degli algoritmi genetici. Tutta la procedura di implementazione del modello agli elementi finiti e di minimizzazione della (3.93) `e stata implementata in un codice di calcolo in ambiente MatLab (vedasi Appendice 1).

Nel presente lavoro il modello agli elementi finiti viene utilizzato anche per simulare il set di misurazioni: dopo aver implementato il modello, si fissano delle rigidezze residue in alcuni elementi in maniera dasimulare lo stato danneggiato della struttura. Dopo aver lanciato il programma, le ampiezze degli spostamenti ottenute dalla simulazione vengono reutilizzate come set di misure effettuate.

Una procedura di condensazione (basata sul metodo di eliminazione di Gauss) della matrice di recettanza e del vettore dei carichi esterni viene applicata per tutti i gradi di libert`a per i quali non vengono simulate le misurazioni.

Una volta effettuata la simulazione delle misure per la struttura nello stato danneggiato, pu`o essere lanciata la procedura di identificazione del vettore dei coefficienti di riduzione di rigidezza α, consistente nella minimizzazione del- la (3.93) utilizzando gli algoritmi genetici. La procedura implementata nel programma si compone delle seguenti fasi:

• Si genera inizialmente una popolazione di individui (cromosomi) in manie- ra casuale, ognuno dei quali rappresenta una possibile soluzione del prob- lema. Ogni elemento di un singolo cromosoma (gene) costituisce un coef- ficiente di riduzione della rigidezza per l’elemento afferente alla posizione occupata dal gene all’interno del cromosoma. L’utente pu`o scegliere anche un valore iniziale da assegnare alla soluzione: vale a dire che all’interno della popolazione vi sar`a un cromosoma assunto come soluzione iniziale i cui geni possono essere fissati a priori dall’utente.

In ogni applicazione dei GAs, quando la popolazione iniziale viene formata, `e necessario specificare anche eventuali vincoli del problema, specialmente per quanto riguarda i limiti del dominio in cui si vuole cercare la soluzione.

Identificazione di danneggiamenti in strutture piane mediante metodi dinamici

Per il problema di ottimizzazione (3.93) infatti `e facile notare che i limiti del dominio per ogni elemento (gene) del cromosoma sono 0 per quanto riguarda il limite inferiore e 1 per il limite superiore; vale a dire che ogni αi deve essere compreso nel range [0, 1].

`

E importante rilevare che `e in questa fase che assume molta importanza la tipologia di encoding scelto per i cromosomi che costituiscono la popo- lazione: in generale, per quanto detto nel Capitolo 1, l’encoding classico a stringa binaria risulta meno efficiente dell’encoding di tipo a virgola mobile. Il programma consente in tutto tre diverse tipologie di encoding (bitstring, custom e doublevector, quest’ultima gi`a utilizzata di default)

• Per ogni individuo della popolazione viene calcolato il valore di fitness, ovvero viene valutata la

J (α) = nd X i=1 dc j(α) − dmj dm j !2

Il valore di fitness conseguito da ogni cromosoma costituisce la base sul quale si fondano i processi successivi di riproduzione ed elitismo.

• Come appena accennato, la fase che segue `e quella della riproduzione, che racchiude in se il concetto di selezione naturale. Gli individui da accoppi- are possono venire scelti in diversi modi: la scelta pu`o essere totalmente casuale, oppure pu`o essere proporzionale al valore di fitness degli individui della popolazione, cos`ı come pu`o essere basata sul metodo della roulette wheel. Questa operazione viene fatta dal tool interno del software Mat- Lab secondo parametri prefissati che comunque possono essere modificati dall’utente. Nel codice di calcolo realizzato viene utilizzata la funzione di riproduzione gi`a implementata di default nel tool interno del software.

• Dopo la fase riproduzione seguono le fasi di incrocio e mutazione. Anche in questo caso il software lascia amplia possibilit`a di scelta all’utente: tra le tipologie di incrocio vengono infatti implementate le gi`a citate crossover one-point e crossover two-point, nonch`e altre tipologie (scattered, utilizza- ta di default, heuristic etc.). La percentuale di popolazione che viene sot- toposta a crossover per passare alla generazione successiva pu`o essere fis- sata dall’utente. In generale viene quasi sempre assunta pari all’80%. Tra gli individui soggetti a crossover non rientrano gli elite-members, ovvero

quegli individui che vengono direttamente clonati (copiati) per la gener- azione successiva, in modo da preservare comunque il miglior valore di fitness ottenuto fino alla generazione corrente. In genere la percentuale di elitismo si aggira attorno ai 5%, ma dipende anche dalla numerosit`a della popolazione che costituisce ogni generazione, la quale deve essere fissata ad inizio procedura dall’utente (in maniera diversa il programma fissa una popolazione di 20 individui per ogni generazione). Per quanto riguarda la mutazione, anche in questo caso il programma lascia decidere all’utente sia la percentuale che il tipo di mutazione. In generale si assume una percentuale dell’1%; tra le diverse funzioni disponibili vi sono quella della mutazione uniforme e quella basata su un’inferenza gaussiana.

• A questo punto, effettuati i processi di riproduzione, crossover e mu- tazione, la nuova popolazione `e pronta per costituire la generazione suc- cessiva. Per ogni individuo generato viene valutata la funzione di fitness ed il processo si ripete fin quando un individuo (vincitore, che andr`a a rappresentare la soluzione finale) raggiunge un valore minimo prefissato di fitness o non si hanno significativi miglioramenti almeno nel 95% della popolazione per un certo numero di generazioni.

Identificazione di danneggiamenti in strutture piane mediante metodi dinamici

Documenti correlati