Transcript
Page 1: Fondamenti Numerici della

Fondamenti Numerici dellaProgettazione

Valentino [email protected]: 040 558 3231

Page 2: Fondamenti Numerici della

• 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

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

Introduzione

Page 5: Fondamenti Numerici della

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

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

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

CAO (Computer Aided Optimisation)

nx

xx

2

1

CAD MESH SOLVER PRESTAZIONI

CAO

(algoritmi di ottimizzazione)

Page 9: Fondamenti Numerici della

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

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

Parametrizzazione numerica

Page 12: Fondamenti Numerici della

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

)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

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

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

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

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

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

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

)(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

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

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

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

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

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

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

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

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

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

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

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

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)


Top Related