1 / 42

Tutorial 3, Part 1: Optimization of a linear truss structure

Tutorial 3, Part 1: Optimization of a linear truss structure. Truss structure. Optimization goal is to minimize the mass of the structure (initial mass is 8393 lbs) Maximum stress is 25000 psi (limit stress=40166/global safety factor=1.6) Maximum displacement is 20 in

nusa
Download Presentation

Tutorial 3, Part 1: Optimization of a linear truss structure

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tutorial 3, Part 1: Optimization of a linear truss structure

  2. Truss structure • Optimization goal is to minimize the mass of the structure (initial mass is 8393 lbs) • Maximum stress is 25000 psi (limit stress=40166/global safety factor=1.6) • Maximum displacement is 20 in • Design variables: cross section areas of trusses 0.1 in² ≤ Xi=ai ≤ 20 in² • Load parameters: F=100000 lbf • Material parameters: E=107 psi, =0.2, =0.1 lbs/in³ • Element length: L=360 in • Responses from linear finite element analysis are mass, displacements at loading points and stresses for each element Tutorial 3, Part 1: Optimization

  3. Task description • Parameterization of the problem • Definition and evaluation of DOE scheme • Definition and evaluation of MOP • Single objective, constraint optimization • Gradient based optimization • Adaptive response surface method • Evolutionary algorithm • Multi objective optimization • Pareto optimization with evolutionary algorithm Tutorial 3, Part 1: Optimization

  4. Project manager 1. 2. 3. • Open the project manager • Define project name • Create a new project directory • Copy optiSLang Examples/10bar_truss into project directory Tutorial 3, Part 1: Optimization

  5. Parameterization of the problem 1. 2. 3. 4. 5. • Start a new parametrize workflow • Define workflow name • Create a new problem specification • Enter problem file name • Start parametrize editor Tutorial 3, Part 1: Optimization

  6. Parameterization of the problem 1. 2. 3. • Click “open file” icon in parametrize editor • Browse for the SLang input file 10bar_truss.s • Choose file type as INPUT Tutorial 3, Part 1: Optimization

  7. Parameterization of the problem 2. 1. 3. • Mark value of a1 in the input file • Define a1 as input parameter • Define parameter name Tutorial 3, Part 1: Optimization

  8. Parameterization of the problem 1. 2. • Open parameter in parameter tree • Enter lower and upper bounds (0.1 … 20.0) • Set settings as default for other parameters 3. Tutorial 3, Part 1: Optimization

  9. Parameterization of the problem • Repeat the procedure for the other cross section areas • Lower and upper bounds are automatically set to 0.1 … 20.0 Tutorial 3, Part 1: Optimization

  10. Parameterization of the problem 3a. 2. 1a. 1b. 3b. • Open output file of solver 10bar_response.out • Mark output value in editor • Define mass as output parameter • Repeat for displacements and stress values (take care of sign) Tutorial 3, Part 1: Optimization

  11. Parameterization of the problem 2. 1. • Mark final string • Define it as success string Tutorial 3, Part 1: Optimization

  12. Parameterization of the problem 3. 1. 2. • Open objective section (double click) • Create new objective function • Define mass as objective Tutorial 3, Part 1: Optimization

  13. Parameterization of the problem 2. 3. 1. • Open constraint section (double click) • Create inequality constraint equation for each displacement value 1-|disp_node/20| (scaled to one) • Create inequality constraint equation for each stress value 1-|stress_element/25000| (scaled to one) Tutorial 3, Part 1: Optimization

  14. Parameterization of the problem • Close parametrization editor • Check overview for inputs • Check overview for outputs Tutorial 3, Part 1: Optimization

  15. Parameterization of the problem • Check overview for objectives • Check overview for constraints Tutorial 3, Part 1: Optimization

  16. Design Of Experiments (DOE) 2. 1. 2. 3. • Start a new DOE workflow • Define workflow name and workflow identifier • Enter problem file name Tutorial 3, Part 1: Optimization

  17. Design Of Experiments (DOE) 1. 3. • Enter solver call (slang –b 10bar_truss.s) • Start DOE evaluation • Generate 100 Latin Hypercube samples Tutorial 3, Part 1: Optimization

  18. Design Of Experiments (DOE) 2. 1. 4. 3. 1. 2. • Check input samples • Check input distributions • Check input correlations • Continue to evaluate response values Tutorial 3, Part 1: Optimization

  19. Design Of Experiments (DOE) • Reload file in optimization mode to find best design from DOE samples as possible start value for optimization task • Best design with valid constraints: mass = 3285 (39% of initial mass) Tutorial 3, Part 1: Optimization

  20. Meta-Model of Optimal Prognosis (MOP) 2. 1. 3. 4. 5. • Start a new MOP workflow • Define workflow name • Define workflow identifier • Choose DOE result file • Choose optional problem file Tutorial 3, Part 1: Optimization

  21. Meta-Model of Optimal Prognosis (MOP) 1. 4. 2. 3. 5. • CoP settings (sample splitting or cross validation) • Investigated approximation models • DCoP - accepted reduction in prediction quality to simplify model • Filter settings • Selection of inputs and outputs Tutorial 3, Part 1: Optimization

  22. Meta-Model of Optimal Prognosis (MOP) • MOP indicates only a1, a3, a8 as important variables for maximum stress and displacements,but all inputs are important for objective function Tutorial 3, Part 1: Optimization

  23. Meta-Model of Optimal Prognosis (MOP) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 max_stress max_disp stress10 stress9 stress8 stress8 stress6 stress5 stress4 stress3 stress2 stress1 disp4 disp2 mass MOP filter • For single stress values used in constraint equations, each input variable occurs at least twice as important parameter • Reduction of number of inputs seems not possible Tutorial 3, Part 1: Optimization

  24. Gradient-based optimization 2. 1. 2. 3. 4. • Start a new Gradient-based workflow • Define workflow name and workflow identifier • Enter problem file name • Choose optimization method • Enter solver call (slang –b 10bar_truss.s) • Start gradient workflow Tutorial 3, Part 1: Optimization

  25. Gradient-based optimization 3. 1. 2. • Decrease size of diffentiation interval • Choose single sided differences to reduce number of solver calls • Choose best valid sample from DOE workflow as start value 3. Tutorial 3, Part 1: Optimization

  26. Gradient-based optimization • Best design with valid constraints: mass = 1595 (19% of initial mass) • Elements 2,5,6 and 10 are set to minimum • Stresses in remaining elements reach maximum value • 153 solver calls (+100 from DOE) Tutorial 3, Part 1: Optimization

  27. Adaptive response surface 2. 1. 2. 3. • Start a new ARSM workflow • Define workflow name and workflow identifier • Enter problem file name • Enter solver call (slang –b 10bar_truss.s) • Start ARSM workflow Tutorial 3, Part 1: Optimization

  28. Adaptive response surface 2. 1. 2. 3. • GA & NLPQL as optimization method • Approximation settings: keep polynomial regression • Advanced settings: no recycle of previous support points Tutorial 3, Part 1: Optimization

  29. Adaptive response surface • Best design with valid constraints: mass = 1613 (19% of initial mass) • Elements 2,6 and are set to minimum, 5 and 10 are close to minimum • 360 solver calls Tutorial 3, Part 1: Optimization

  30. Evolutionary algorithm (global search) 2. 1. 2. 3. 4. • Start a new NOA workflow • Define workflow name and workflow identifier • Enter problem file name • Choose optimization algorithm (EA with global search as default) • Enter solver call (slang –b 10bar_truss.s) and start workflow Tutorial 3, Part 1: Optimization

  31. Evolutionary algorithm (global search) 1. • Choose start population size • Keep defaults for Selection, Crossover and Mutation Tutorial 3, Part 1: Optimization

  32. Evolutionary algorithm (global search) • Best design with valid constraints: mass = 2087 (25% of initial mass) • 392 solver calls Tutorial 3, Part 1: Optimization

  33. Evolutionary algorithm (local search) 1. 2a. 2b. • Keep defaults for Start population, Selection, Crossover and Mutation • Choose start design from global EA optimization Tutorial 3, Part 1: Optimization

  34. Evolutionary algorithm (local search) • Best design with valid constraints: mass = 2049 (24% of initial mass) • 216 solver calls (+392 from global search) Tutorial 3, Part 1: Optimization

  35. Overview optimization results • NLPQL with small differentiation interval with best DOE as start design is most efficient • Local ARSM gives similar parameter set • EA/GA/PSO with default settings come close to global optimum • GA with adaptive mutation has minimum constraint violation Tutorial 3, Part 1: Optimization

  36. Parameterization of second objective 1. 2. 3. 4. • Start a new parametrize workflow • Define workflow name • Create a copy and modify it • Open truss.pro and enter new problem file name Tutorial 3, Part 1: Optimization

  37. Parameterization of second objective 2. 1. 4. 3. • Create a new objective • Enter name, activate and enter function obj2= max_stress • Delete stress constraints • Close editor and check objectives Tutorial 3, Part 1: Optimization

  38. Pareto optimization with EA 2. 1. 2. 3. 4. • Start a new Pareto workflow • Define workflow name and workflow identifier • Enter problem file name • Choose EA as optimization algorithm • Enter solver call (slang –b 10bar_truss.s) and start workflow Tutorial 3, Part 1: Optimization

  39. Pareto optimization with EA 1. Find optimal designs for start population: • Open ARSM optimization results in statistic mode • Select anthill plot mass vs. max_stress • Select some designs around the optimum which seem to be Pareto optimal • Remember the design numbers Tutorial 3, Part 1: Optimization

  40. Pareto optimization with EA 1. 2. • Select “specify start population” • Increase minimum and maximum number of generations • Keep defaults for Selection, Crossover and Mutation Tutorial 3, Part 1: Optimization

  41. Pareto optimization with EA 2. 1. 1. • Import design from ARSM optimization • Choose 20 designs (preferred designs from anthill plot and the remaining from the designs with minimal mass) Tutorial 3, Part 1: Optimization

  42. Pareto optimization with EA Pareto front Tutorial 3, Part 1: Optimization

More Related