Multi Objective Optimization - LB+HB+Galapagos

Greetings everyone,

My name is Nita and I am working on my masters thesis using LB and HB to optimize parametric external shades(integrated to the facade) for an apartment tower in Germany.

Most of the sources and papers I found are using either GenOpt or GenerativeComponents etc. for Multi-objective optimizations, but few of them use Grasshopper to find the optimum values for multiple parameters combination.

I used Galapagos so far only for simple solutions, mostly connected to solar radiation, PVs, external fixed shades etc.But I always used it with one value and never connected it with Energy Plus, Diva or LB at the same time.

The Galapagos fitness input when contain multiple parameters is uses the average, this however doesn’t lead to the best or optimum solution I believe.

The approach I was planning to use was to conduct parametric study, combine parameters one by one and then ‘find’ the optimal solution(s) by combining best cases.Considering the large number and range of iterations I assumed the process will be time consuming and decided to try the MOO.

What I aim to include several parameters and variations which are most crucial when designing(optimizing) an energy efficient facade while optimizing the geometry of the shades!

And I am aware of the problems on various scales a design optimization might raise…and its scary :slight_smile:

The results I want to achieve are to fulfill a certain criteria for energy use(in kWa/sqm/a), visual comfort(in DF) and thermal comfort(in PMv and tempratures).

  • My question is does anyone of you know how can I link and design this definition and the GA optimization framework ?

Thank you for reading :smiley:

your help will be very much appreciated…



p.s. So far I have geometries and all definitions needed for energy simulation, comfort and daylighting…I also have no idea if gene pool, or goat optimizer can be used somehow :(.


You should have a look at Octopus. This is a Multi-Objective optimization in GH. Since i see you started to use some other optimization plugins i suppose you’ll manage with Octopus.



As I understand it, Galapagos requires a single number input to guide the optimization. The trick is developing a fitness function that balances the multiple objective parameters into one value. I have found that this is tough because energy , glare, view quality, daylight autonomy and aesthetics cannot be directly compared. How many units of view are worth a 10% reduction in energy? Somewhere along the line the user needs to make a subjective call on how to balance these objectives, which throws off the accuracy of any optimization.

As far as the GH code in concerned, I think you would needs to weigh each objective with coefficients and sum them into one final number. This would be a custom script that normalizes all outputs, multiplies by a weighting factor, then sums them all together.

I’m curious how others get past the inability of optimization scripts to truly balance dissimilar objectives. I think the solution lies in avoiding optimization altogether. I ran into the idea of Pareto efficiencies while exploring a similar question. Take a look here:

If you iterate through a variety of options (possibly using Galapagos to run fewer options) and then review the entire landscape of solutions, you may be able to find a Pareto frontier that identifies many solutions that maximize most of your objectives. You can also use something like Pollinator to better navigate the solution landscape.…

I’ve struggled with this issue for a while and was hoping someone would have a better answer. I’m all ears.


1 Like

Many thanks Abraham.

I was not informed that such a plugin exist (blushing face).Will definitely try it asap,and possibly return back with more questions :frowning:


Not giving a better answer, but without saying this is the best, Octopus creates a pareto front rather than giving a “best” solution. So it allows the personal flavors for choosing solutions, granting it is in the front.



I didn’t see your post when I wrote mine. Octopus sounds like what I’ve been looking for. Thanks for sharing!


It is not multi-objective but nice to start with it :slight_smile:

Thank you Igor.

Thank you Leland.

Seems Octopus will serve us well.



Has anyone experimented with Opossum? See attached article.

Opposum grasshopper model optimizer.pdf (9.1 MB)

1 Like

Just released a new version of Opossum that includes both RBFOpt and CMA-ES: According to this paper, RBFOpt is the best algorithm for building energy optimization when only a small number of simulations is possible, and CMA-ES is the best when thousands of simulations are possible.

Btw, I’m also working on a prototypical multi-objective version. Let me know if you want to try ;-).