Fondamenti Numerici della
Transcript of Fondamenti Numerici della
![Page 2: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/2.jpg)
• Parametrizzazione geometrica– Curve di Bezier– B-spline quadratiche e cubiche– B-spline di grado n– Bezier e B-Spline razionali (Nurbs)– Cenni su superfici parametriche
• DOE (Design of experiment)– Random, Sobol– Fattoriale, fattoriale ridotto– Box-Benker, Latin Square– Taguchi– Analisi statistica dei dati (t-Student)
• ALGORITMI DI OTTIMIZZAZIONE– Metodologie mono obiettivo (Cauchy, Conjugate Gradient, Newton, Quasi Newton, BFGS, SQP)– Simplex– Simulated Annealing– Metodologie multi obiettivo (Algoritmo genetico)– Teoria dei giochi (Nash, Stackelberg, Pareto)– MCDM (Multi Criteria Decision Making)
• SUPERFICI DI RISPOSTA– Superfici lineari, quadratiche, serie Taylor– Kriging– Reti neurali– Processi gaussiani– Support Vector Machines
• ROBUST DESIGN• VISUALIZZAZIONE DI DATI IN SPAZI n-D
– Self Organizing Maps– Clustering
![Page 3: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/3.jpg)
Libri consigliati
• Curves and surfaces for CAGD, Gerald Farin, Rheinbolt, Academic Press, 1997
• Design of Experiments, R. J. Del Vecchio, Hanser Publishers, 1997
• Engineering Optimization, Singiresu Rao, Wiley 1996
• Neural Networks, R. Rojas, Springer, 1996
![Page 4: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/4.jpg)
Introduzione
![Page 5: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/5.jpg)
Ogni problema ingegneristico che coinvolga un progetto si avvale più o meno esplicitamente di un processo di ottimizzazione.
Soprattutto in questi ultimi anni, con il crescente impiego del computer e della progettazione assistita, si è particolarmente sentita la necessità di integrare le tecniche quali il CAD, CAE, CFD con metodi di ottimizzazione numerica sempre più efficienti.
![Page 6: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/6.jpg)
La progettazione di qualunque sistema ingegneristico può essere vista come una successione di decisioni da prendersi in determinati momenti dello sviluppo. Il fine ultimo di queste decisioni è sempre la possibilità di aumentare i benefici prodotto o di diminuire gli inconvenienti indotti; si nota quindi come nello sviluppo di un progetto ci si trova sempre diffronte ad una successione di ottimizzazioni, viste come il mezzo per ottenere il migliore risultato possibile.
Quindi l’ottimizzazione può essere vista come la ricerca del massimo o minimo di una funzione.
![Page 7: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/7.jpg)
Progettazionevariabili ⇒⇒⇒⇒ sistema ⇒⇒⇒⇒ prestazioni
Ottimizzazione (numerica)x1,x2,…,xn ⇒⇒⇒⇒ solver ⇒⇒⇒⇒ f1,f2,…,fm
obiettivo funzione: mnf ℜ⇒ℜ
Esempio progettazione motore :
Variabili: geometria cilindro, numero giri, Ciclo Otto-Diesel, numero tempi, etc
Funzione obiettivo: potenza, rendimento, peso, etc.
![Page 8: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/8.jpg)
CAO (Computer Aided Optimisation)
nx
xx
�
2
1
CAD MESH SOLVER PRESTAZIONI
CAO
(algoritmi di ottimizzazione)
![Page 9: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/9.jpg)
Esempio motore:
Max Potenza
Min Consumo
Min Peso
Come si osserva non sempre è possibile determinare un’unica funzione obiettivo ⇒⇒⇒⇒ PROBLEMA MULTI OBIETTIVO (Teoria Dei Giochi)
Obj 1
Obj 2 12
3
4
5
MAX Obj1
MAX Obj2
La soluzione non è unica!
Algoritmi Multi Criteria DecisionMaking: permettono di trovare la migliore soluzione di compromesso.
![Page 10: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/10.jpg)
Molte volte in ingegneria il solver in termini di tempo è molto costoso (calcoli fluidodinamici, strutturali non lineari, sperimentali): l’ottimizzazione numerica potrebbe non diventare interessante in termini industriali)
Superficie di risposta : creare un numerico modello approssimato del modello da studiare (pochi secondi contro ore)
Da un punto di vista numerico significa creare una approssimazione numerica delle funzioni (obiettivo) che stiamo studiando.
fRS ≈ fREALE
Robust design: metodologia numerica che prende in considerazione non solo le prestazioni della configurazione, ma anche la stabilità al variare dei parametri in gioco (condizioni di progetto, tolleranze costruttive)
![Page 11: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/11.jpg)
Parametrizzazione numerica
![Page 12: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/12.jpg)
Curve di BezierBasta definire i punti di controllo della curva e modificando tali punti si potrà modificare l’intera geometria.
Esempio 3 punti di controllo: parabola (la sua generalizzazione ci darà la curva di Bezier)
1t0 :parametro,,:punti 3 210
≤≤bbb
b0
b1
b2
b01(t)
b11(t)
b02(t)
0 1 t
![Page 13: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/13.jpg)
)quadratica forma()1(2)1(
)()()1()(
)1()(
)1()(ricorsiva) (formulaCasteljan DeAlgoritmo
22
102
11
10
20
211
1
101
0
btbttbttbttbttb
btbttbbtbttb
+−+−=
=+−=
+−=
+−=
Ne consegue che……
22
002
0 )1()0( bbbb == La curva passa per il primo e l’ultimo punto di controllo
La curva è contenuta nel triangolo formato dai punti di controllo
( )( )
( )( )
( )( ) t
tbbbtb
tbtbtbtb
bbbtb
−===
1,),(
)(),()(),(
,),(
12
111
10
11
10
20
01
010
I rapporti tra i segmenti rimangono costanti (parametrizzati da t)
![Page 14: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/14.jpg)
La precedente costruzione di una parabola può essere generalizzata per costruire una curva polinomiale di grado n
b0, b1, b2, …, bn (grado curva n ⇒⇒⇒⇒ n+1 punti di controllo)
rninrbtb
ttbttb
ii
ri
ri
−==
=
≤≤−= −
,,0,,1
controllo di punto)(
10)()1()(0
1
�
�
b0
b1
b3
b2
b01
b11
b21
b02
b03
b12
Esempio curva di Bezier di terzo grado (4 punti di controllo)
![Page 15: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/15.jpg)
L’algoritmo de Casteljan formula la curva di Bezier in modo ricorsiva, meglio se forma esplicita ⇒ FORMA DI BERNSTEIN
niini
nin
tttin
tB inini
≤≤−
=
≤≤−
= −
0)!(!
!
10)1()(
BERNSTEIN DI POLINOMI
B04
B14
B24
B34
B44
∑=
−−
−
=
+−=n
j
nj
ni
ni
ni
tB
tBtBttB
0
11
1
pesata funzione1)(
)()()1()(polinomideiproprietà Importanti
![Page 16: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/16.jpg)
Qualsiasi curva di Bezier rappresentata mediante l’algoritmo di De Casteljanpuò essere rappresentata mediante polinomi di Bernstein in forma esplicita.
∑
∑
=
=+
=
=
=
n
j
njj
n
r
j
rjji
ri
n
tBbtb
tBbtb
bb
0
0
0
)()(
nr è teinteressanpiù caso il
)()(
n gradobezier ,,�
Curva di Bezier
Poligono di Bezier
![Page 17: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/17.jpg)
Proprietà
1. La curva passa per il primo e ultimo punto di controllo;
2.La curva è tangente al primo e ultimo segmento del poligono di Bezier (controllo sulla tangente iniziale e finale);
3. I punti della Bezier si accumulano dove la curvatura è maggiore
![Page 18: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/18.jpg)
Dimostrazione punto 2)
[ ]
[ ]
( )
∆=∂
∂
∆=∂
∂
−=
−=
=
−=
−−−
−−−−−
−=
−−
−−−−
=
−
−
=
−+
=
−−−
=
−−−
−−−−
−−−−
∑
∑
∑
11
10
1
0
11
0
111
0
111
11
11
)(
)(
)()()(
)()(
che ricordando)()(
)1()!1(!
)!1()1()!()!1(
)!1(
)1()!(!!)()1(
)!(!!)(
n
n
n
n
j
njjj
j
n
j
ni
ni
n
n
j
njj
n
ni
ni
iniini
iniinini
bnttb
bnttb
Bbbn
btBtBntbdtd
tBbtb
tBtBn
ttini
nnttini
nn
ttininintt
iniintB
dtd
Tangente al primo ed ultimo segmento
![Page 19: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/19.jpg)
Degree elevation:
Una curva di Bezier di grado n può essere rappresentata da una curva di grado n+1 senza nessuna deformazione geometrica.
Esempio: passaggio da curva di grado 3 a curva di grado 4
Uso:
1. Creazioni di superfici (tutte le curve di contorno devono avere lo stesso grado)
2. CAD diversi (passaggio dati senza perdita di accuratezza)
3. Migliore accuratezza locale (ottimizzazione)
b3=b41
b0=b01
b11
b21
b31
b1b2
![Page 20: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/20.jpg)
)(11)(
11)()3
)(11)()2
)(1
1)()1()1
Bernstein polinomi Proprietà
11
1
11
1
tBnitB
nintB
tBnittB
tBn
intBt
ni
ni
ni
ni
ni
ni
ni
++
+
++
+
+++
+−+=
++=
+−+=−
1) 2)
3)
ni
nii
n
i
nii
n
i
nii
n
t
n
i
nii
nii
bnib
nib
BbniBb
nin
BbniBb
nin
ttxtxttx
+−+
+=⇒
++
+−+=
=+++
+−+=
+−=
−+
+
=
+−
+
=
+
= =
++
+
∑∑
∑ ∑
11
1
111
11
11
)()()1()(Elevation Degree oneDimostrazi
11n
1
0
11
1
0
1
0 0
11
1
I nuovi punti sono un’interpolazione lineare dei precedenti
![Page 21: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/21.jpg)
Importante:
Aumentare il grado di una curva di Bezier è sempre possibile;
Viceversa non sempre è possibile diminuire il grado di una curva di Bezier senza perdere di accuratezza; ciò è possibile se la curva di partenza è data da un degree elevation.
Esistono metodologie per la degree reduction, ma portano approssimazioni geometriche, il più delle volte non accettabili.
![Page 22: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/22.jpg)
Le curve di Bezier sono sicuramente molto interessanti ed utilizzate, ma hanno limiti quando la geometria è molto complessa; in questi casi bisognerebbe aumentare notevolmente il grado della curva.
Problemi: mancanza di controllo locale (modificando un punto di controllo si modifica TUTTA la curva)
Normalmente si utilizzano le curve di Bezier fino a grado 4.
Per geometrie più complesse:
Curve di Bezier composite ( B-SPLINE)
![Page 23: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/23.jpg)
u0
u1
u2
u3
u0 u1 u2u3
0 1 t
u0<…<uL nodi
t ∈ [ui,ui+1]i
i
ii
i uuuuuut
∆−=
−−=
+1
Tra gli intervalli dei nodi viene definita una curva di Bezier ⇒ pezzi di curve polinomiali
![Page 24: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/24.jpg)
u0
u1
u2
Bezier 1 Bezier 2
Le diverse tipologie di B-Spline si diversificano per la condizione di continuità nei nodi di connessione ui
B-Spline C1 : i punti di controllo immediatamente prima e dopo del nodo di connessione devono stare sulla stessa retta (stessa derivate destra e sinistra)
u0
u1≡ bn
u2
Bezier 1 Bezier 2
bn-1bn+1
![Page 25: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/25.jpg)
B-Spline di grado C2
u0
bn
u2
Bezier 1
Bezier 2
bn-1
bn-2
bn+1
bn+2
d
∆1
∆1
∆1 ∆0
∆0∆0
u0 bn u2
∆0 ∆1
locali coordinatein u parametro il è cioè
)1(
)1(che taled puntoun esistere Deve
102
01
2111
1211
uut
btdtbdtbtb
nn
nn
−∆=
+−=
+−=
++
−−
![Page 26: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/26.jpg)
Si nota che la condizione per il punto d porta ad avere determinate condizioni non solo ai punti d controllo bn+1 e bn-1 ma anche ai punti bn+2 e bn-2.
Attenzione: è importante la condizione di unicità del punto d, perché solo le condizioni di proporzionalità tra i punti con le dimensioni ∆0 e ∆1 portano alla creazione di un flesso.
B-Spline quadratiche C1
I punti “fondamentali” sono:
b0,b1,b3,…,b2i+1,…,b2L-1,b2L
Si vede come in tutti i casi abbiamo
il controllo sulla tangenza in ingresso e
uscita della curva.
b1
b2
b3
b4
b5
b6
b7
b8
b9
![Page 27: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/27.jpg)
121
112
12 +
−
−−
− ∆+∆∆+
∆−∆∆= i
ii
ii
ii
ii bbb
I punti pari (che basta siano sulla stessa retta) possono essere calcolati con la seguente relazione:
Importante
CONTROLLO LOCALE: con le B-spline muovendo un punto di controllo si muovono al massimo 3 segmenti di curva (precedente, appartenente al punto, seguente); questo al contrario delle curva di Bezier globali dove muovendo un punto si muove tutta la curva.
![Page 28: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/28.jpg)
CUBIC SPLINE INTERPOLATION IN B-SPLINE (NURBS)(cenni)
In questo caso la curva, a differenza delle Bezier o B-splinegeneriche) passano per i punti dati
ioneinterpolaz)(nodi,,,punti,,,
10
10
ii
L
L
xusuuuxxx
=�
�
B-SPLINE razionali (cenni)
nnn
nn
nnnn
nn
BwBwBwBbwBbwBbwtx
++++++=
�
�
1100
111000)(
Oltre alla definizione dei punti di controllo bi c’è la presenza associata dei pesi wi ⇒ concetto di tensione
![Page 29: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/29.jpg)
0
1
2
w1
Aumentando il peso w1 la curva si tende verso il punto di controllo 1 (concetto presente in CATIA V5)
![Page 30: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/30.jpg)
Superfici (Cenni)
Come la curva lineare è la più semplice curva tra 2 punti, così la superficie bilineare è la più semplice superficie tra 4 punti.
[ ]
−
−=
=∑∑= =
vv
bbbb
uuvux
B
vBuBbvux
bbbb
ij
jiji
11),(
matriciale formain lineari funzioni
)()(),(
controllo di Punti,,,
1,10,1
1,00,0
1
0
11
0
1,
1,10,11,00,0
![Page 31: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/31.jpg)
E’ possibile utilizzare l’algoritmo de Casteljan per la creazione di superfici di Bezier
[ ]
−
−= −−
++−−
+
−−+
−−
vv
bbbb
uub rrji
rrji
rrji
rrjirr
ji
11 1,1
1,11,1
,1
1,11,
1,1,,
,
Come nel caso del curve di Bezier è più utilizzata la forma esplicita (matriciale)
[ ]
−=
−=
=
=
−
−
= =∑∑
ij
jn
n
ij
jm
m
v
vN
bb
bbMuu
vBuBbvub
jji
jji
nnmm
nTm
m
i
n
j
nj
miji
nm
1,
1,
0
,0,
,00,00
0 0,
,
)1(
)1(
)()(),(
�
�
���
�
�
![Page 32: Fondamenti Numerici della](https://reader030.fdocuments.co/reader030/viewer/2022012410/616a587411a7b741a3517c96/html5/thumbnails/32.jpg)
Come si nota ci può essere un numero di punti di controllo diverso nelle 2 direzioni (m≠n)
−−
−−
==
==
10003300
36301331
3
NM
nm
Per le superfici di Bezier rimangono valide tutte le considerazioni fatte per le curve (controllo pendenza ingresso = controllo delle derivate parziali all’ingresso; degree elevation: indipendente nelle due direzioni u,v)