Kaihes 1 Report post Posted October 19, 2017 Hi, I'm working on a complicated size optimization with many different beams. This script https://connect.altair.com/CP/kb-view.html?kb=41128 seems to be really useful for the problem. Unfortunately, the values of the design variables doesn't reduce during the iterations, which leads to the soft convergence. If I change the initial value near the lower bound value, the optimization works. Of course this isn't an acceptable solution for bigger models. I attached the example file. The initial values are set equal to the upper bound values, so that the problem becomes clear. Could you help me with this problem? Best regards, Kai example1.hm Quote Share this post Link to post Share on other sites
Kaihes 1 Report post Posted October 20, 2017 So it seems that the problem is based on the equations, but I cannot find the problem. The solutions of the equations are correct, but somehow the optimization cannot lower the desvar value... Quote Share this post Link to post Share on other sites
Guest Report post Posted October 23, 2017 Hi @Kaihes Sorry for a late reply. We will check and get back to you soon. Quote Share this post Link to post Share on other sites
Jan Grasmannsdorf 13 Report post Posted October 24, 2017 Hello, it seems that your optimization setup has a high chance to be "caught" in a local optimum. When you start with 9.0 as your initial design variable, optistruct doesn't find a way to leave the local optimum and therefore converges in 1 iteration. The initial value of 1.0 however hurts the design constraint of displacement > 0,00012mm and forces the solver to "react" to this constraint violation - and leads to another (local) optimum. To overcome the effect of local optima, you can use the DGLOBAL search function and start your optimization with multiple starting points to find a global optimum. I see that this card is already included in your setup but hasn't been activated. Activate the DGLOBAL entry and you will get a solution with an optimum and the best setup for starting values of your Design Variable. Best Regards Jan Quote Share this post Link to post Share on other sites
Kaihes 1 Report post Posted October 24, 2017 Hi @Jan Grasmannsdorf, thank you for your reply. But why does it work, with my own linear function? I attached the file. The DGlobal function works well for this small example, but unfortunately my real optimization is much bigger, which make it necessary to use a high number of starting points. Best regards, Kai example1_linearfunction.hm Quote Share this post Link to post Share on other sites
Guest Report post Posted October 24, 2017 @Kaihes How about with DGLOBAL with NGROUP and NPOINT set to AUTO? Quote Share this post Link to post Share on other sites
Jan Grasmannsdorf 13 Report post Posted October 24, 2017 Hello, to answer the question on linear vs. other functions: A linear function is less likely to have local minimums or maximums, as opposed to more complex functions as shown below: You also asked via mail about the Global Search Option: This is documented in the help of OptiStruct under the Keyword "GSO" or "GLOBAL SEARCH OPTION". I think the comments section on the DGLOBAL Bulk Data Entry is also quite useful for additional information on how the parameters NGROUP etc. are defined? Jan Quote Share this post Link to post Share on other sites
Kaihes 1 Report post Posted October 26, 2017 Thank you all for your replies. I understand the problem now. It's more complex than I thought to optimize the cross sections of >80 beams based on a catalogue with >300 cross section possibilities. Best regards, Kai Quote Share this post Link to post Share on other sites