Università degli studi di Napoli Federico II
Scuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Navale
Classe di laurea LM-34
Ottimizzazione multi-obiettivo in Python delle
forme di carena: efficienza idrodinamica e comfort
II
a bordo:PARTE
Anno Accademico 2024-2025
INDICE
Sommario .............................................................................................. 7
Abstract................................................................................................. 9
CAPITOLO I - RESISTENZA AL MOTO
1.1 Introduzione ............................................................................... 11
1.2 Evoluzione e classificazione dei mezzi navali .............................. 12
1.3 Componenti della resistenza ...................................................... 17
CAPITOLO II - PROBLEMA DINAMICO
2.1 Introduzione ............................................................................... 21
2.2 Forze agenti sulla nave ............................................................... 22
2.3 Modello dinamico nave-onda ..................................................... 24
2.4 Funzioni di trasferimento ............................................................ 26
2.5 Moti nave in onde regolari di prora .............................................. 28
2.6 Moti nave in onde regolari di poppa ............................................. 30
2.7 Moti nave in onde regolari oblique .............................................. 32
2.8 Moti nave in onde regolari al traverso .......................................... 34
2.9 Fenomeni critici associati ai moti nave ....................................... 36
CAPITOLO III - ARCHITETTURA DEL FRAMEWORK DI CALCOLO
3.1 Introduzione ............................................................................... 38
3.2 Panoramica dei moduli principali ............................................... 39
3.3 Mesh poligonale ......................................................................... 42
3.4 Tecniche di deformazione della mesh ......................................... 47
3.5 Calcolo della resistenza al moto ................................................. 52
INDICE
3.6 Calcolo dei Response Amplitude Operators (RAO) ...................... 55
3.7 Calcolo del braccio di stabilità (GZ) ............................................ 57
3.8 Algoritmi genetici e ottimizzazione evolutiva ............................... 60
CAPITOLO IV - EVOLUZIONE DEL FRAMEWORK E ANALISI DEI RISULTATI
4.1 Introduzione ............................................................................... 65
4.2 Framework v1.0: Struttura e analisi dei risultati dell’ottimizzazione
mono-obiettivo .................................................................................... 66
4.3 Framework v2.0: Evoluzione multi-obiettivo e risultati ottenuti .... 70
4.4 Confronto tra framework v1.0 e v2.0 ........................................... 74
4.5 Valutazione del comfort: Motion Sickness Incidence (MSI) .......... 76
CAPITOLO V - ANALISI POST-OTTIMIZZAZIONE
5.1 Introduzione ............................................................................... 78
5.2 Riduzione dimensionale con PCA ............................................... 79
5.3 Clustering con algoritmo K-Means .............................................. 81
5.4 Analisi predittiva con modello Random-Forest ............................ 84
Conclusioni ......................................................................................... 88
Bibliografia .......................................................................................... 90
CAPITOLO III – ARCHITETTURA DEL FRAMEWORK DI CALCOLO
3.8 Algoritmi genetici e ottimizzazione evolutiva
Nel contesto dell’ottimizzazione ingegneristica, e in particolare nella
progettazione navale, risolvere problemi con più obiettivi contrastanti e
vincoli non lineari rappresenta una sfida significativa. In questi casi, gli
approcci deterministici tradizionali risultano spesso inefficaci, spingendo
verso l’adozione di metodi alternativi ispirati ai processi naturali. Tra
questi, gli algoritmi evolutivi (Evolutionary Algorithms – EA) si sono
affermati come strumenti potenti e flessibili per l’esplorazione di spazi di
progetto complessi.
Principi dell’ottimizzazione evolutiva
▪
L’ottimizzazione evolutiva si basa sull’analogia biologica dell’evoluzione
darwiniana, dove una popolazione di soluzioni candidate evolve nel
tempo per adattarsi a un ambiente attraverso operatori di selezione,
crossover (ricombinazione) e mutazione. Ogni individuo rappresenta una
possibile soluzione, descritta attraverso un insieme di parametri, detti
geni, codificati in una struttura detta cromosoma.
Figura 3.8.1 - Esempio di selezione
Figura 3.8.2 - Esempio di crossover
Figura 3.8.3 - Esempio di mutazione 60
CAPITOLO III – ARCHITETTURA DEL FRAMEWORK DI CALCOLO
L’adattamento è guidato da una funzione obiettivo, o più funzioni nel caso
di ottimizzazione multi-obiettivo, che valuta la qualità delle soluzioni. Le
soluzioni migliori vengono selezionate per contribuire alla generazione
successiva, trasmettendo le proprie “caratteristiche genetiche”.
Gli algoritmi genetici (GA)
▪
Tra le varianti più note degli algoritmi evolutivi, gli algoritmi genetici
(Genetic Algorithms – GA) rappresentano una classe particolarmente
efficace. Un GA segue i seguenti passaggi principali:
Inizializzazione: si genera casualmente una popolazione iniziale di
- individui.
Valutazione: ogni individuo viene valutato attraverso le funzioni
- obiettivo.
Selezione: gli individui migliori vengono scelti per la riproduzione.
- Crossover: si combinano coppie di genitori per generare nuovi figli,
- mescolando le caratteristiche genetiche.
Mutazione: si applicano modifiche casuali a piccoli tratti dei figli,
- per favorire l’esplorazione dello spazio delle soluzioni.
Sostituzione: la nuova generazione sostituisce (totalmente o
- parzialmente) la precedente.
Questo processo viene ripetuto per un numero finito di generazioni o fino
al raggiungimento di una soglia di convergenza.
Ottimizzazione mono e multi-obiettivo
▪
Nel caso di ottimizzazione mono-obiettivo, il criterio di selezione è
univoco: si cerca la soluzione che minimizzi (o massimizzi) una singola
funzione obiettivo. Tuttavia, molti problemi reali, come quelli che
coinvolgono prestazioni idrodinamiche, stabilità e comfort a bordo,
richiedono una ottimizzazione multi-obiettivo, dove più criteri devono
essere ottimizzati simultaneamente.
In questi scenari si ricorre al concetto di Fronte di Pareto, che rappresenta
l’insieme delle soluzioni non dominate: soluzioni per cui non è possibile
migliorare un obiettivo senza peggiorarne un altro. L’obiettivo
dell’algoritmo è quindi identificare un insieme di soluzioni ottimali tra cui
scegliere secondo priorità progettuali. 61
CAPITOLO III – ARCHITETTURA DEL FRAMEWORK DI CALCOLO
Figura 3.8.4 - Fronte di pareto multi-obiettivo
Algoritmo NSGA-II
▪
L’NSGA-II (Non-dominated Sorting Genetic Algorithm II) è uno degli
algoritmi multi-obiettivo più utilizzati, grazie alla sua efficienza e
semplicità. Le sue caratteristiche principali includono:
ordinamento non-dominato per classificare le soluzioni in fronti
- successivi;
elitismo, che garantisce la conservazione delle migliori soluzioni
- trovate;
crowding distance, un meccanismo per promuovere la diversità
- lungo il fronte di Pareto evitando la convergenza prematura.
L’obiettivo finale è costruire una popolazione di soluzioni che rappresenti
in modo distribuito ed equilibrato l’intero fronte di Pareto, offrendo così al
progettista un ventaglio ampio e diversificato di alternative ottimali tra cui
selezionare quella più adatta alle specifiche esigenze progettuali o
operative. 62
CAPITOLO III – ARCHITETTURA DEL FRAMEWORK DI CALCOLO
Algoritmo NSGA-III
▪
Con l’aumentare del numero di obiettivi (tipicamente ≥ 2), NSGA-II può
diventare meno efficiente nel mantenere un’equa distribuzione delle
soluzioni. Per affrontare questo limite è stato sviluppato NSGA-III,
un’estensione dell’algoritmo basata sull’introduzione di un set di punti di
riferimento (reference directions) nello spazio degli obiettivi.
Questi punti guidano la selezione delle soluzioni in modo che esse si
distribuiscano uniformemente lungo il fronte di Pareto, anche in spazi ad
alta dimensionalità. Questo rende NSGA-III particolarmente adatto per
problemi con molti obiettivi.
Adimensionalizzazione e normalizzazione
▪
Per permettere una comparazione coerente tra obiettivi di diversa natura
e unità di misura, tutte le funzioni obiettivo vengono adimensionalizzate
attraverso un processo di normalizzazione. Questa operazione è
essenziale per garantire che ogni obiettivo contribuisca equamente al
processo di selezione, evitando che grandezze con valori numericamente
elevati dominino l’ottimizzazione, distorcendo la valutazione complessiva
delle soluzioni.
Nel contesto del presente framework, la normalizzazione dei valori è
effettuata secondo la seguente espressione:
=
dove: P è il punteggio adimensionale associato all’individuo i per
- ij
l’obiettivo j;
Y rappresenta il valore assoluto dell’obiettivo j per l’individuo i;
- ij
Y è il valore massimo osservato per l’obiettivo j all’interno della
- jmax
popolazione.
Questo tipo di trasformazione lineare porta tutti i valori all’interno
dell’intervallo [0,1], dove un valore di P prossimo a 1 indica una
ij
prestazione peggiore, mentre un valore vicino a 0 denota una prestazione
migliore. 63
CAPITOLO III – ARCHITETTURA DEL FRAMEWORK DI CALCOLO
Oltre a favorire una rappresentazione bilanciata degli obiettivi, la
normalizzazione migliora anche la stabilità numerica del processo
evolutivo, specialmente nelle fasi di selezione e calcolo della dominanza
all’interno del fronte di Pareto. Ciò risulta particolarmente utile nei
contesti multi-obiettivo ad alta dimensionalità, come quelli affrontati con
NSGA-III, dove l’equilibrio tra gli obiettivi è determinante per ottenere
soluzioni ben distribuite ed efficaci.
Vantaggi degli algoritmi evolutivi
▪
Gli algoritmi evolutivi offrono numerosi vantaggi:
non richiedono derivazione analitica della funzione obiettivo;
- operano su problemi non lineari e con vincoli complessi;
- sono naturalmente parallellizzabili;
- consentono una esplorazione globale dello spazio di progetto,
- evitando facilmente i minimi locali.
Queste caratteristiche li rendono ideali in ambiti ingegneristici, dove la
simulazione dei fenomeni fisici richiede valutazioni computazionalmente
costose e modelli spesso non derivabili in forma chiusa. 64
CAPITOLO IV
Evoluzione del Framework e Analisi
Comparativa dei Risultati
4.1 Introduzione
Nel presente capitolo si riportano i risultati ottenuti dall’applicazione del
framework di calcolo in due diverse configurazioni: versione 1.0,
focalizzata sulla sola minimizzazione della resistenza al moto, e la
versione 2.0, in grado di considerare simultaneamente molteplici criteri
progettuali mediante un approccio di ottimizzazione multi-obiettivo.
L’obiettivo principale di questa sezione è confrontare in modo sistematico
le prestazioni delle carene generate nei due casi, evidenziando i
miglioramenti introdotti dalla nuova architettura. In particolare, si intende
valutare l’impatto delle seguenti innovazioni:
l’adozione dell’algoritmo evolutivo NSGA-III, che ha sostituito il
- precedente NSGA-II per consentire l’ottimizzazione simultanea di
più funzioni
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Ottimizzazione multi-obiettivo in python delle forme di carena: efficienza idrodinamica e comfort a board, parte I
-
Ottimizzazione
-
Ottimizzazione
-
Ottimizzazione non lineare