snopt based optimization in opensees

22
SNOPT Based Optimization in OpenSees Quan Gu Joel P. Conte Michele Barbato (LSU) by UCSD team

Upload: others

Post on 03-Feb-2022

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SNOPT Based Optimization in OpenSees

SNOPT Based Optimization in

OpenSees

Quan GuJoel P. ConteMichele Barbato (LSU)

by

UCSD team

Page 2: SNOPT Based Optimization in OpenSees

Needs for Integrating Optimization Software

Package with OpenSees

� Deterministic (standalone or general-purpose) structural optimization

• Optimization based seismic design

� Automatic FE model calibration & updating

� Reliability analysis

� Reliability-based optimization

• Reliability-based seismic design optimization

Page 3: SNOPT Based Optimization in OpenSees

Needs & Challenges

� Optimization needed for different purposes at various levels:

• Optimization is called for deterministic structural optimization and finite element model updating problems

• Optimization for design point search is called inside the reliability module

• Optimization needs to be called at two different levels for reliability-based optimization

� Interface (objective function: OF, constraint functions: CFs, design variables: DVs) must be sufficiently flexible to accommodate users’ needs:

• Any input for OpenSees can be used as DVs

• Any output from OpenSees can be used in OF and/or CFs

� Need to integrate DDM-based sensitivity, reliability module and parameterization framework with optimization framework:• Need to couple Optimization with DDM in order to use analytical gradient

computation

• Reliability module needs to be compatible with parameterization framework

• Need to develop and maintain up-to-date user’s manuals for optimization, sensitivity and reliability analyses

• Need for reliable demonstration examples

Page 4: SNOPT Based Optimization in OpenSees

SNOPT

A Fortran software package for solving large-scale nonlinear optimization

problems (by Philip Gill, Walter Murray and Michael Saunders)

� What is SNOPT ?

• Suitable for large-scale applications

• Requiring relatively few evaluations of OF and CFs and their gradients

• Able to tolerate discontinuities in the gradients of OF and CFs

• Able to by-pass points where the OF and CFs cannot be evaluated

numerically

• Very flexible and easy to customize

• Open source available for academic purposes

� Why SNOPT ?

Page 5: SNOPT Based Optimization in OpenSees

Software Architecture

Page 6: SNOPT Based Optimization in OpenSees

Optimization framework in OpenSees

SNOPTClass

+ solve ()

+ userFunction( )

DesignVariable(DV)

ObjectiveFunction

ConstraintFunction

SNOPTClass

+ solve ()

+ userFunction( )

DesignVariable(DV)

ObjectiveFunction

ConstraintFunction

SNOPTReliability

+ findDesignPoint()

+ userFunction()

ReliabilityDomain

GFunEvaluator

GradGEvaluator

ProbabilityTransformation

SNOPTReliability

+ findDesignPoint()

+ userFunction()

ReliabilityDomain

GFunEvaluator

GradGEvaluator

ProbabilityTransformation

SNOPTOptimization

+ runOptAnalysis()

+ updateXFG()

+ userFunction()

Domain

ObjectiveFunction

ConstraintFunction

SNOPTOptimization

+ runOptAnalysis()

+ updateXFG()

+ userFunction()

Domain

ObjectiveFunction

ConstraintFunction

ClassName

+ function()

variable

ClassName

+ function()

variable

Updated DV X

F and G

(+ gradients)

Inheritance or

polymorphism

Sending data

Function Details

OptimizationOptimization

userFunction()

Class name

Member function

Member variable

DV: design variable

F: objective function

G: constraint function

Page 7: SNOPT Based Optimization in OpenSees

Structural reliability analysis in OpenSees

MeritFunctionCheckMeritFunctionCheck

SearchDirectionSearchDirection StepSizeRuleStepSizeRule

ConvergenceCheckConvergenceCheck

SNOPT

Class

……

New RV X

F and G

(+ gradients)

……RandomVariableRandomVariable LimitStateFunctionLimitStateFunction

GFunEvaluatorGFunEvaluatorProbabilityTransformationProbabilityTransformation……

SNOPT

Reliability

SNOPT

Reliability

GradGEvaluatorGradGEvaluator

ReliabilityDomainReliabilityDomain

FindDesignPoint

Algorithm

FindDesignPoint

Algorithm

Inheritance

Aggregation

Data transferring: sending data

RV: random variable

F : objective function

G : constraint functions

Calling analysis class

Communication with domain

class to get data or compute state

Reliability

Analysis

Reliability

Analysis

Page 8: SNOPT Based Optimization in OpenSees

Model updating or structural optimization/identification

MeritFunctionCheckMeritFunctionCheck

SearchDirectionSearchDirection StepSizeRuleStepSizeRule

ConvergenceCheckConvergenceCheck

SNOPT

Class

……

New DV X

F and G

(+ gradients)

……DesignVariableDesignVariable DesignVariablePositionerDesignVariablePositioner

ConstraintFunctionConstraintFunction ……

SNOPT

Optimization

SNOPT

Optimization

ObjectiveFunctionObjectiveFunction

DomainDomain

AnalysisAnalysis

Inheritance

Aggregation DV: design variable

F : objective function

G : constraint functions

Calling analysis class

Communication with domain

class to get data or compute state

Data transferring: sending data

Page 9: SNOPT Based Optimization in OpenSees

Reliability based optimization

……DesignVariableDesignVariable

DesignVariablePositionerDesignVariablePositioner

ConstraintFunctionConstraintFunction ……

SNOPT

Optimization

SNOPT

Optimization

ObjectiveFunctionObjectiveFunction

DomainDomain

AnalysisAnalysis

……RandomVariableRandomVariable

RandomVariablePositionerRandomVariablePositioner

Reliability

Domain

Reliability

Domain SNOPT

Reliability

SNOPT

Reliability

FindDesignPoint

Algorithm

FindDesignPoint

Algorithm

Reliability

Analysis

Reliability

Analysis

Page 10: SNOPT Based Optimization in OpenSees

Application example 1

Nonlinear Structural Optimization

Page 11: SNOPT Based Optimization in OpenSees

E

-0.01 -0.005 0 0.005 0.01-4

-2

0

2

4x 10

5]kPa[σ

Fy,ext

Fy,comp

E

][−ε-0.01 -0.005 0 0.005 0.01-4

-2

0

2

4x 10

5

-0.01 -0.005 0 0.005 0.01-4

-2

0

2

4x 10

5

-0.01 -0.005 0 0.005 0.01-4

-2

0

2

4x 10

5]kPa[σ

Fy,ext

Fy,comp

E

][−ε

x

z

2.0m2.0m

6.0m 6.0m

2.0m

2.5m

3.0m

3.5m

4.0my

G

A

C

B

x

z

2.0m2.0m

6.0m 6.0m

2.0m

2.5m

3.0m

3.5m

4.0my

G

A

C

B

F30o

G

F F

F

x

y

F30o

G

F F

F

x

y

30o

G

F F

F

x

y

Page 12: SNOPT Based Optimization in OpenSees

(1) when F = 25 kN, the top umax < 1.50cm

(2) when F = 100 kN, the top umax < 15.0cm

� Minimize the total cost (or volume) such that

� Design variables

(1) Cross-section Area A: in range [8.0e-4, 1.6e-2] m2 , initial 8e-3 m2

(2) Cross-section Area B: in range [3.0e-4, 1.6e-3] m2 , initial 3e-3 m2

(3) Cross-section Area C: in range [2.0e-4, 4.0e-3] m2 , initial 2e-3 m2

(1) A = 3.17e-3 m2, B = 3.51e-4 m2, C = 2.00e-4 m2

(2) Total volume = 0.274 m3 (compared with initial volume

of 1.20m3)

� Optimal design

Page 13: SNOPT Based Optimization in OpenSees

0 0.05 0.1 0.150

100

200

300

400

Initial Design: 1.20 [m3]

Iteration #20: 0.333 [m3]

Optimal Design (itn #40): 0.274 [m3]

Maximum top displacement [m]

Tota

l F

orc

e [k

N]

0 10 20 30 400.2

0.4

0.6

0.8

1

1.2

iteration #

Volu

me

[m

3]

Page 14: SNOPT Based Optimization in OpenSees

Application example 2

Nonlinear FE Model Updating

Page 15: SNOPT Based Optimization in OpenSees

0 5 10 15 20-2

0

2

u0 (surface)

u6 (6m from surface)

u11(11m from surface)

(17m from surface)

Mat. #1

Mat. #2

Mat. #3

Max accel. = 186 cm/s2

-1 0 1 2

x 10-3

-20

0

20

40

-1 0 1 2

x 10-3

-20

0

20

40

[ ]kNxzτ

]/[ 2smug

��

][sec Time

gu��

xzε xzε

Page 16: SNOPT Based Optimization in OpenSees

� Objective function and its gradients:

� Design variables, their true (and initial) values [kPa]:

(1) Material #1: G1, τ1. 28800 (init: 30000), 31 (init:30)

(2) Material #2: G2, τ2 . 39200 (init: 30000), 33 (init:30)

(3) Material #3: G3, τ3 . 57800 (init: 30000), 34 (init:30)

� Parameters obtained by SNOPT: true values

20000 iG< < ∞ 20i

τ< < ∞ ( i = 1, 2, 3 ) Range:

( )( )time step#stations

2

j 1 n 1

1( )

2�� ��

Exp

j n j nF u t u t

= =

= −

∑ ∑

( )( )time step#stations

j 1 n 1

( )( )

���� ��

j nExp

j n j n

u tFu t u t

θ θ= =

∂ ∂= −

∂ ∂ ∑ ∑

Page 17: SNOPT Based Optimization in OpenSees

0 5 10 15-2

0

2

Actual response

Simulated response

0 5 10 15-2

0

2

Time[sec]

]/[ 2smu g

��

(a)

(b)

� Comparison between measured (actual) and predicted ground surface accelerations:

(a) before model updating

(b) after model updating

Page 18: SNOPT Based Optimization in OpenSees

0 20 40 60 80 1000

50

100

150

200

250

300

350

400FFDDDM

Convergence process (FFD vs DDM)

( )

−= ∑∑

==

2

,,

steps#

1

points#

1 2

1 EXP

tjtj

ijii

uuF ����

Algorithm using DDM converges MUCH FASTER than FFD !

Iteration Step #

F

Page 19: SNOPT Based Optimization in OpenSees

Application example 3

Structural Reliability Analysis

Page 20: SNOPT Based Optimization in OpenSees

30 25

y

20

25

A

7.0 7.0

CC

CC

B

B

B

B

A

A

P

P/2

(unit: m)

3.6

7.2

z20 25

y

20

25

B

z20 20

25

C

z

y

20

(unit: cm)30 25

y

20

25

A

7.0 7.0

CC

CC

B

B

B

B

A

A

P

P/2

(unit: m)

3.6

7.2

z20 25

y

20

25

B

z20 20

25

C

z

y

20

(unit: cm)

Page 21: SNOPT Based Optimization in OpenSees

� Marginal PDFs, mean, c.o.v. and DP values of RVs

� Objective function and constraint

1

2y yT

F =top0.144m 0G u= − >

, FORM 0.0181fP = FORM 2.094β =� Reliability:

Page 22: SNOPT Based Optimization in OpenSees

0 0.05 0.1 0.150

50

100

150

200

250

u1 at DP

u1 at mean point

uroof

at DP

uroof

at mean point

u [m]

P[kN]

� Base shear-horizontal floor displacements with RVs

at mean point and at the DP