Grasshopper

algorithmic modeling for Rhino

Distributed Parallel Solver System for Genetic Optimization of structures

Genetic Algorithm is a very powerful tool for optimization of various problems. However, until now, applying genetic algorithm onto optimization of structure...

Views: 744

Comment

You need to be a member of Grasshopper to add comments!

Comment by Oliver Green on March 24, 2023 at 12:42am

I would like to recommend seo optimization sydney https://www.shtudio.com.au/services/seo/ to all business owners for the fastest and most successful promotion. I am sure that an integrated approach to SEO will provide your business with a significant increase in customers and partners. I recommend that you go to the site and get a marketing analysis of your business and further promotion services. I wish you all success in business!

Comment by Sangsu Lee on September 19, 2012 at 8:44pm

Comment by phillip on July 21, 2012 at 6:40am
Impressive! Is there a way to test StrAuto?
Comment by Benjamin Golder on May 18, 2012 at 7:06am

wow!

Comment by Daniel Hambleton on May 17, 2012 at 7:19am

Very cool!

Comment by Sangsu Lee on May 16, 2012 at 7:17pm

Jon/ I totally agree with you. In the movie I used only 8 sliders, and the sample building is not so big one, and these are only for test and sample use. Usually in a real project, we have 20~50 or more parameters and more massive and complex geometry. Even if we use multi solvers approach, these can not be optimized at the same time. So, we use many techniques to narrow down the problem size within our capacity. We also have to pay much attention to parametric model itself, solver settings, analysis settings, fittness functions, etc. Even with our multi solver system, sometimes we have to run the optimizer over night. However, without it, it would take weeks...:-) So, this system was developed from our experience with optimization of some real structures.

Comment by Jon Mirtschin on May 16, 2012 at 2:02pm

Thanks for the reply.

Of course there are some important aspects to consider.  I'm not sure how many sliders you have, but there is some sort of compromise likely to do with defining the inputs as sliders (not always easy), capable of representing a wide enough range of inputs to produce an optimal answer, without creating a massive model that's not practical to manage.  Also effectively optimizing section design (or akin to stress equalization) using a genetic algorithm using initial random permutations will test a lot of poor answers that are ignored in a lot of other search procedures.

But the farming aspect of this is really impressive to permit simultaneous computation instead of sequential time consuming processes.  Look forward to seeing further and keep up the great work. 

Comment by Sangsu Lee on May 16, 2012 at 9:47am

Jon/ thanks, of course frame topology can be altered, and anything in the parametric structural model can be changed as in usual grasshopper models.

        Generally, galapagos and grasshopper are intended for single-thread execution. However, as you know, you can spawn multi-threads in the component. But if you want to run galapagos asynchronously with solvers, you have to modify some actions of galapagos engine.

Angel Linares/ thanks, your guess is generally right. It works like thread-pool. Adding and removing of solvers during optimization process is very simple.

It is still under development, so the problem you mentioned is expected and handled basically, but more sophisticated method for more robust execution is being developed.

Comment by Arthur Mamou-Mani on May 16, 2012 at 8:01am

Amazing! Thank you very much Sangsu Lee.

Comment by Ángel Linares on May 16, 2012 at 7:51am

Amazing development! I suppose that they've coded a event trigger that runs when all necesary data was collected from every SAP2000 instance. Then they create a list with the next values to send to every SAP2000 instance and send one by one to the bots. When all the values are evaluated and stored properly, next data list is sended. Very complicated process to code properly, and lot of stuff to coordinate...

Have you solved the problem that you get when one instance stops calculating because an error in the process? Are the values sended again to a free thread? 

Best.

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service