Optimization Algorithms (Opossum) for Daylight Modeling

There are many design problems in architecture that lend themselves to parametric modeling. If a design can be defined by a few parameters (such as the height and depth of a light shelf), and evaluated with a few performance criteria (such as the useful daylight index of the room), then the design may be a good candidate for a parametric model. When these parameters are changed, the model instantly updates. A benefit of this setup is that a designer can use an optimization algorithm to discover the best possible combination of parameters to achieve a performance goal.

In this case, the parameters are the height and depth of both an interior light shelf and an external shade for a few different classrooms in a school in Houston. The performance criteria is an average of continuous daylight autonomy (cDA: the percentage of time the room is above 300 lux) and useful daylight index (UDI: the percentage of time the room is between 200 and 2,000 lux). This is a good balance of getting enough light to work with, while mitigating glare.

There are several types of optimization algorithms, such as genetic algorithms, simulated annealing, CMA-ES, and RBFOpt. Different types of algorithms have their own benefits. In this process, we are using the RBFOpt algorithm, because it is best at arriving at a good result with as few iterations as possible. This is important because each iteration of a daylight model may take several minutes. To find a reasonable solution quickly, we only have time to run about 20 or 30 iterations for each problem. I’m using DIVA for daylight modeling and Opossum 2.0; a Grasshopper component that runs RBFOpt and CMA-ES optimization algorithms.

Read More