Grasshopper Optimization Plug-ins

From TOI-Pedia
Related Tutorials

Extension:DynamicPageList (DPL), version 2.02 : Warning: No results.


Optimization software

Optimization is defined as the process of finding the best parameters in order to make a design as effective and functional as possible in relation to some specific performance indicator(s). The optimization can be set to minimize or maximize these indicators, which may be related to various aspects of the design such as structural or climatic (energy & daylight) performance.

The indicators should be directly linked to the design vision for the building, so that, in total, the optimization is aligned to the main architectural concept and serves to improve the design in the best way possible according to the main intentions.

There are several optimization software ranging from optimization platforms, such as modeFrontier provided by ESTECO (see tutorials on brightspace), to plug-ins related to Grasshopper, such as Galapagos, Opossum, Optimus, Wallacei and Octopus.

Setting up the Optimization Problem

Diagram of optimization problem setup

Before starting using the different plugins, the main strategy of the optimization should be defined. This includes making decisions regarding:

Design variables (Genomes)

They refer to the parameter values which you want to optimize and they can be related either to specific geometric properties (e.g. the width of a shade) or to components that investigate the overall shape, such as the coordinates of some point attractors for the volume massing.


These are the performance indicators according to which you want to optimize the design variables. They may refer to the minimization or maximization of different design aspects, such as structural, energy or daylight performance and they should be aligned to the overall design concept. It is important to highlight that you can connect the optimization with any type of simulation software you want. Some characteristic plug-ins in Grasshopper are:




Important to note: One indicator can appear more than one time in the same script if it needs to serve different objectives (e.g. the solar radiation inside a room can be set to minimize during the summer months and maximize during the winter). In this case, different components should be added in order to calculate the performance for each time period.


The results of the optimization process usually need to lie inside a specific range in order to simultaneously fulfill criteria that are related either to practical limitations of the project or to other spatial qualities that are desirable to be achieved. In this regard, we can identify two main constraint categories:

- Lower & Upper limits of the parameters under optimization

While deciding about the variables which are going to be optimized, it is also important to decide about the range of values that could be assigned to them (e.g. for practical reasons the length of a shade may range between 0.05-0.60m). This can also be combined with results already gained from other simulations, such as the wind simulation, that have run separately or in previous phases.

- Constraints related to other design aspects (quantitative/qualitative)

These constraints are related to factors that cannot be directly translated into a numeric limitation for the design variables. For example, it may refer to visual parameters (e.g. percentage of blocking of visual connection from one space to another), design conflicts (e.g. overlapping of contradictory design components) or performance indicator values that should not exceed an allowable limit.

Evaluating the results

After running the optimization script - which in the case of a more detailed simulation can even take several hours - you will get several resulting variations as an outcome. There are different techniques for the selection of the final variations mainly based on if the optimization has one or multiple objectives.

Overall, it needs to be highlighted that it is almost never the case that one best solution will come out directly from the optimization process. The resulting variation - or combination of variations - that you are going to select can be also based on subjective criteria, such as which objective performance you think is more important for your concept (in the case of multi-objective optimization) or even aesthetics. The variation(s) that you select can also be modified in a post-processing phase according to these criteria. You should remember that the aim of the tool is to assist the design process with offering the possibility of exploring a considerably larger number of design variations and give insight into new forms that could not be explored intuitively.


According to the number of objectives that have been set, two different categories of optimization plugins can be defined; single-objective and multi-objective plugins. You can see their main characteristics and differences, as well as how to download them in Optimization Plug-in Categories & How to download.

You can see how to run the optimization simulations in the following tutorials.

Single-Objective Optimization

Galapagos Optimization

Ladybug Optimization using Galapagos

Multi-Objective Optimization

Multi-Objective Optimization with Wallacei

Personal tools